Skip to main content

Control Slack from your command line

Project description

clacks

Control Slack from your command line

Installation

Recommended - install globally with uv (best for use with coding agents like Claude Code, Cursor):

uv tool install slack-clacks

Alternative - run directly without installation:

uvx --from slack-clacks clacks

Alternative - works with pip, poetry, or any package manager:

pip install slack-clacks

Authentication

Authenticate via OAuth:

clacks auth login -c <context-name>

Authentication Modes

clacks supports three authentication modes:

clacks mode (default): Full workspace access via OAuth

clacks auth login --mode clacks

Permissions: channels, groups, DMs, MPIMs, files, search

clacks-lite mode: Secure, DM-focused access via OAuth

clacks auth login --mode clacks-lite

Permissions: DMs, MPIMs, reactions only

cookie mode: Browser session authentication

clacks auth login --mode cookie

Extract xoxc token and d cookie from browser. No OAuth app needed. See docs/cookie-auth.md for extraction instructions.

Use clacks-lite for security-conscious environments where channel access isn't needed. Use cookie mode for quick testing or when OAuth is impractical. Operations requiring unavailable scopes will fail with a clear error message and re-authentication instructions.

OAuth requires HTTPS. Generate a self-signed certificate:

clacks auth cert generate

View current authentication status:

clacks auth status

Revoke authentication:

clacks auth logout

Configuration

Multiple authentication contexts supported. Initialize configuration:

clacks config init

List available contexts:

clacks config contexts

Switch between contexts:

clacks config switch -C <context-name>

View current configuration:

clacks config info

Messaging

Send

Send 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

Read messages from channel:

clacks read -c "#general"
clacks read -c "#general" -l 50

Read 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"

Recent

View recent messages across all conversations:

clacks recent
clacks recent -l 50

Output

All commands output JSON to stdout. Redirect to file:

clacks auth status -o output.json

Requirements

  • Python >= 3.13
  • Slack workspace admin approval for OAuth app installation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slack_clacks-0.3.0.tar.gz (44.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slack_clacks-0.3.0-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file slack_clacks-0.3.0.tar.gz.

File metadata

  • Download URL: slack_clacks-0.3.0.tar.gz
  • Upload date:
  • Size: 44.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for slack_clacks-0.3.0.tar.gz
Algorithm Hash digest
SHA256 fd94fb2ca3faf8c609a1bab9669a11d1ceb522cbe829ee44e2f913e746d9b9d4
MD5 b5c0dee55e457a953008f1ff1e2e3a11
BLAKE2b-256 bb789ffa74b560116818b681476e9f0a1342ed9aba8dcc351e233c0e7b3fdeda

See more details on using hashes here.

File details

Details for the file slack_clacks-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: slack_clacks-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for slack_clacks-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d7dd0cbfbe7610639258adc5b77ae0588824abd8f91be3fe92b6fc4e768e93c
MD5 bb28e7caa6fc50ecbb0bded4c212f9e2
BLAKE2b-256 f44b505bad758c2b189d08f344a8bfd9ec054931efaaa5dabbe142ec8a362414

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page