slack-api-cli
v0.1.1
Published
A local Slack CLI that reuses a signed-in browser session for search, read, and dry-run-safe message workflows.
Readme
Slack API CLI
A local Slack CLI for fast terminal workflows against the Slack workspace you already use.
This project does not create a Slack app and does not use Slack OAuth. It opens a local browser profile, lets you sign in to Slack normally, extracts the browser session token and cookies, and stores them in a private local auth cache.
Quick Start
Requirement:
- Node.js 20 or newer
Install the CLI:
npm install -g slack-api-cliCheck that the binary is available:
slack-api --helpRun first-time setup:
slack-api setupWhen prompted, enter your Slack workspace URL and complete sign-in in the browser:
Tip: In the Slack desktop app, click the workspace name in the top-left menu to find the workspace URL.
Slack workspace URL: https://example.slack.com
Opening Slack in a browser profile...
Authenticated as: alexValidate the cached session:
slack-api whoamiSearch recent messages:
slack-api search --query "customer escalation" --since 5mRead your 1:1 DM history with a person:
slack-api dm history --user "Alice Smith" --include-textRead a message or thread by permalink:
slack-api read --link 'https://example.slack.com/archives/C0123456789/p1778784641394639'Privacy Defaults
Search and read commands redact message text by default. Add --include-snippets or --include-text only when you intentionally want message text in terminal output or saved JSON.
Mutating commands are dry-run by default. Commands such as send, reply, react, and draft validate what would happen, then require an explicit flag such as --send, --add, --remove, --create, or --delete.
More Docs
Notes
This CLI depends on Slack's browser behavior and private web API endpoints. It may break when Slack changes its web client, and some workspace policies may restrict specific endpoints.
