the default mode of degenerate communication.
Choose your preferred method:
With uv (no installation required):
uvx --from slack-clacks clacksWith uv (permanent installation):
uv tool install slack-clacksWith pip/pipx/poetry:
pip install slack-clacks
# or: pipx install slack-clacksExamples below use clacks directly. If using uvx, prefix commands with uvx --from slack-clacks.
With uvx: Updates happen automatically (always runs latest version).
With uv tool:
uv tool upgrade slack-clacksWith pip:
pip install --upgrade slack-clacksAuthenticate via OAuth:
clacks auth login -c <context-name>clacks supports three authentication modes:
Full workspace access via OAuth.
clacks auth login --mode clacksPermissions: channels, groups, DMs, MPIMs, files, search
Secure, DM-focused access via OAuth. Use for security-conscious environments where channel access isn't needed.
clacks auth login --mode clacks-litePermissions: DMs, MPIMs, reactions only
Browser session authentication. Use for quick testing or when OAuth is impractical.
clacks auth login --mode cookieExtract xoxc token and d cookie from browser. No OAuth app needed. See docs/cookie-auth.md for extraction instructions.
Warning: Cookie mode is known to cause logout issues on Slack Enterprise workspaces and may trigger security warnings about your account.
Operations requiring unavailable scopes will fail with a clear error message and re-authentication instructions.
OAuth requires HTTPS. clacks includes a bundled self-signed certificate, so no setup is required.
To generate your own certificate:
clacks auth cert generateView current authentication status:
clacks auth statusRevoke authentication:
clacks auth logoutMultiple authentication contexts supported. Initialize configuration:
clacks config initList available contexts:
clacks config contextsSwitch between contexts:
clacks config switch -C <context-name>View current configuration:
clacks config infoSend to channel:
clacks send -c "#general" -m "message text"
clacks send -c "C123456" -m "message text"Send direct message:
clacks send -u "@username" -m "message text"
clacks send -u "U123456" -m "message text"Reply to thread:
clacks send -c "#general" -m "reply text" -t "1234567890.123456"Read messages from channel:
clacks read -c "#general"
clacks read -c "#general" -l 50Read direct messages:
clacks read -u "@username"Read thread:
clacks read -c "#general" -t "1234567890.123456"Read specific message:
clacks read -c "#general" -m "1234567890.123456"View recent messages across all conversations:
clacks recent
clacks recent -l 50Manage aliases for users and channels. Aliases resolve to platform-specific IDs (e.g., Slack user IDs).
Sync from Slack API:
clacks rolodex syncAdd alias manually:
clacks rolodex add <alias> -t <target-id> -T <target-type>
clacks rolodex add kartik -t U03QPJ2KMJ6 -T user
clacks rolodex add dev-channel -t C08740LGAE6 -T channelList aliases:
clacks rolodex list
clacks rolodex list -T user
clacks rolodex list -p slackRemove alias:
clacks rolodex remove <alias> -T <target-type>Show valid target types for a platform:
clacks rolodex platforminfo -p slack
clacks rolodex platforminfo -p githubclacks supports the Agent Skills open standard for AI coding assistants.
Print SKILL.md to stdout:
clacks skillInstall for Claude Code (global):
clacks skill --mode claudeInstall for OpenAI Codex (global):
clacks skill --mode codexInstall for Cursor/Windsurf/Aider (global):
clacks skill --mode universalInstall for VS Code Copilot (project):
clacks skill --mode githubAll modes support -global and -project suffixes (e.g., claude-project, codex-global).
All commands output JSON to stdout. Redirect to file:
clacks auth status -o output.json- Python >= 3.13
- Slack workspace admin approval for OAuth app installation