Skip to main content

Control Slack from your command line

Project description

clacks

Control Slack from your command line

Installation

Recommended - run directly with uv (no installation needed):

uvx slack-clacks

Install globally with uv:

uv tool install slack-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 two OAuth modes:

clacks mode (default): Full workspace access

clacks auth login --mode clacks

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

clacks-lite mode: Secure, DM-focused access

clacks auth login --mode clacks-lite

Permissions: DMs, MPIMs, reactions only

Use clacks-lite for security-conscious environments where channel access isn't needed. Operations requiring unavailable scopes (e.g., reading channels in lite mode) 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.1.1.tar.gz (41.2 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.1.1-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: slack_clacks-0.1.1.tar.gz
  • Upload date:
  • Size: 41.2 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.1.1.tar.gz
Algorithm Hash digest
SHA256 c253d69574c87ce2737bf8dd39c0c1bdfd81c5031e79aa88333862319f9e861c
MD5 05f0db2f721d10c6933bb61d3a7d0c9c
BLAKE2b-256 eb7ec797d6501feed1fe55596f9be33d48f82137983b57bb5e710e2d305892a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: slack_clacks-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 22.1 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 12cf5ee30ef5a854be449ccfe448f5098cc02bfd73a6df9f9f90800c31d0ebe6
MD5 10c593ff79e9dbb43adfc2d4cd488493
BLAKE2b-256 28d0719e33fd885aed5f16359990ad0f1a7d80cb873bbdc7cf7fba739285005e

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