Skip to content

SlackCLI Documentation

SlackCLI is an unofficial command-line interface for Slack workspaces, built with TypeScript and Bun. It talks to Slack either through a standard Slack app token or through the tokens a signed-in browser session already holds — so you can automate Slack without creating a Slack app.

Disclaimer: not affiliated with, endorsed by, or supported by Slack Technologies. Slack has an official CLI.

Start here if you want to use SlackCLI.

Page What it covers
Installation Homebrew, pre-built binaries, from source, updating
Authentication The four ways to sign in, and which one to pick
Workspaces and profiles Several workspaces, several identities per workspace
Slack links and timestamps Paste a Slack URL anywhere an ID is expected
Conversations List channels and DMs, read history, threads, unreads
Messages Send, reply, edit, react, draft, attach files, Block Kit
Search Search messages, channels, and people
Team Read the workspace’s own name, domain, and ID
User groups List and read user groups, and manage them behind --yes
Saved items Read your “saved for later” list
Canvas List canvases and read them as Markdown
Files Inspect, read, and download Slack-hosted files
Emoji List a workspace’s custom emoji and inspect one
Scripting and JSON output Piping into jq, exit codes, automation patterns
Claude Code plugin The /slackcli skill, so an agent can drive Slack
Troubleshooting Auth failures, permissions, update problems

Start here if you want to work on SlackCLI.

Page What it covers
Development setup Toolchain, pre-commit hooks, the everyday loop
Architecture How the pieces fit: commands, client, auth, storage
Project structure What each file in src/ is responsible for
Testing Test layout, conventions, and how to write a good one
Build and release Version injection, CI, tagging, Homebrew tap
Adding a command A worked example, end to end
Website The Astro site in web/, and how docs become pages

Read CONTRIBUTING.md before opening a pull request. In short: every PR needs a linked GitHub issue, and that issue must carry the ready-for-pr label. The full policy — which is binding on human and AI contributors alike — lives in CLAUDE.md.

For security reports, follow SECURITY.md.

Cookies