Command reference
Command reference
All commands are invoked as subcommands of slackbuzz. Run slackbuzz --help for a summary, or slackbuzz <command> --help for details on any command.
activity
Show what needs your attention — mentions, DMs, and threads. Alias: inbox.
activity
Search your Slack workspace for mentions, DMs, and threads using the search.messages API (user token required). Detects ClickUp task IDs and GitHub PR URLs in messages and shows actionable hints.
# Show recent mentions (default)slackbuzz activity
# Show direct messagesslackbuzz activity --dms
# Show threads you're mentioned inslackbuzz activity --threads
# Everything from the last dayslackbuzz activity --all --since 1d
# Filter by channel or senderslackbuzz activity --channel #engineering --from @alice
# JSON outputslackbuzz activity --json| Flag | Description |
|---|---|
--dms | Show direct messages |
--threads | Show threads you’re mentioned in |
--all | Show mentions, DMs, and threads combined |
--since DURATION | How far back to search (e.g. 2h, 1d, 7d, 2w, or YYYY-MM-DD) |
--channel CHANNEL | Filter to a specific channel |
--from USER | Filter to a specific sender |
--limit N | Maximum number of results |
--json | Output as JSON |
--jq EXPR | Filter JSON output with a jq expression |
threads
threads
Show threads you’re participating in. Finds threads where you’ve posted using the search API.
# Recent threadsslackbuzz threads
# Threads from the last dayslackbuzz threads --since 1d
# JSON outputslackbuzz threads --json| Flag | Description |
|---|---|
--since DURATION | How far back to search (e.g. 2h, 1d, 7d) |
--limit N | Maximum number of results |
--json | Output as JSON |
--jq EXPR | Filter JSON output with a jq expression |
dm
Manage direct message conversations.
dm list
List DM conversations with recent activity, grouped by conversation partner.
slackbuzz dm listslackbuzz dm list --since 1dslackbuzz dm list --json| Flag | Description |
|---|---|
--since DURATION | How far back to search |
--limit N | Maximum number of conversations |
--json | Output as JSON |
--jq EXPR | Filter JSON output with a jq expression |
Each conversation is shown with the user, message count, and relative time on the first line, followed by a truncated preview of the last message. A quick-actions footer suggests next steps:
@sarah 3 messages 2 hours ago last: "truncated message preview..."
---Quick actions: Read: slackbuzz message list @<user> Reply: slackbuzz message send @<user> "text" Save: slackbuzz later add @<user> <ts>later
Save messages for follow-up (Slack’s “Later” / starred items).
later list
Show your saved/bookmarked messages.
slackbuzz later listslackbuzz later list --json| Flag | Description |
|---|---|
--json | Output as JSON |
--jq EXPR | Filter JSON output with a jq expression |
later add <channel> <timestamp>
Save a message for later.
slackbuzz later add #general 1706000000.000000later remove <channel> <timestamp>
Remove a saved message.
slackbuzz later remove #general 1706000000.000000digest
digest
Cross-tool morning briefing combining Slack mentions, ClickUp tasks, and GitHub PRs.
# Full briefingslackbuzz digest
# Only Slack sectionslackbuzz digest --slack-only
# Only ClickUp sectionslackbuzz digest --clickup-only
# Only GitHub sectionslackbuzz digest --github-only
# JSON outputslackbuzz digest --json| Flag | Description |
|---|---|
--since DURATION | How far back to search for Slack mentions |
--slack-only | Only show Slack section |
--clickup-only | Only show ClickUp section |
--github-only | Only show GitHub section |
--json | Output as JSON |
--jq EXPR | Filter JSON output with a jq expression |
Requires the ClickUp CLI and GitHub CLI for the respective sections. Missing CLIs are gracefully skipped.
message
Read, send, and search Slack messages.
message list <channel>
Read message history from a channel, DM, or thread.
# Read channel historyslackbuzz message list #general
# Read a DM conversationslackbuzz message list @sarah
# Read a threadslackbuzz message list #general --thread-ts 1706000000.000000
# Limit resultsslackbuzz message list #general --limit 10| Flag | Description |
|---|---|
--thread-ts TIMESTAMP | Read a specific thread |
--limit N | Maximum number of messages (default 20) |
--json | Output as JSON |
--jq EXPR | Filter JSON output with a jq expression |
Output includes a quick-actions footer with contextual commands:
---Quick actions: Reply: slackbuzz message send #general "text" --thread-ts <ts> React: slackbuzz react #general <ts> :emoji: Edit: slackbuzz message edit #general <ts> "new text"message send <channel|user> <text>
Send a message to a channel or DM. The first argument accepts a #channel-name, channel ID, @username, username, or user ID. When the target looks like a user, the CLI automatically opens a DM conversation via conversations.open.
@name mentions in the message body are resolved automatically to Slack’s <@USERID> format before posting. Usernames and display names are matched case-insensitively. Unrecognized names are left as-is. Resolved mentions are confirmed on stderr.
DM sending requires im:write and chat:write user token scopes. Apps created with slackbuzz app create include these scopes by default. For existing apps, add the scopes at api.slack.com/apps > OAuth & Permissions.
# Send to a channelslackbuzz message send #general "Hello from the terminal!"
# Send with @mentions (auto-resolved to <@USERID>)slackbuzz message send #general "@alice @bob please review this PR"
# Send a DM by @usernameslackbuzz message send @sarah "Quick question about the API"
# Send a DM by username (no @ needed)slackbuzz message send herman "Hey, got a minute?"
# Send a DM by user IDslackbuzz message send U02P3QC5H24 "Direct message by ID"
# Reply in a threadslackbuzz message send #general "Fixed!" --thread-ts 1706000000.000000| Flag | Description |
|---|---|
--thread-ts TIMESTAMP | Send as a thread reply |
--as-bot | Send as the bot instead of your user account |
message edit <channel> <timestamp> [new-text]
Edit an existing message. If new-text is omitted, reads from stdin.
slackbuzz message edit #general 1706000000.000000 "updated text"echo "corrected text" | slackbuzz message edit #general 1706000000.000000message delete <channel> <timestamp>
Delete a message. Prompts for confirmation in interactive mode.
slackbuzz message delete #general 1706000000.000000slackbuzz message delete #general 1706000000.000000 --confirm| Flag | Description |
|---|---|
--confirm | Skip confirmation prompt (required in non-interactive mode) |
message search <query>
Search messages across your workspace (user token required).
slackbuzz message search "deployment"slackbuzz message search "error" --channel #generalslackbuzz message search "fix" --from @alice --since 2026-01-01slackbuzz message search "deploy" --has :rocket:slackbuzz message search "bug" --is thread --during weekslackbuzz message search "deploy" --sort score --page 2| Flag | Description |
|---|---|
--channel CHANNEL | Filter by channel |
--from USER | Filter by user |
--since DATE | Only show messages after this date (YYYY-MM-DD) |
--until DATE | Only show messages before this date (YYYY-MM-DD) |
--has EMOJI | Filter by emoji reaction (e.g. :rocket:) |
--is TYPE | Filter by type: dm, thread, or starred |
--during PERIOD | Filter by time period: today, yesterday, week, or month |
--sort ORDER | Sort order: timestamp (default) or score |
--page N | Page number for pagination |
--limit N | Maximum number of results per page |
--json | Output as JSON |
--jq EXPR | Filter JSON output with a jq expression |
Results include pagination info and a quick-actions footer:
---Quick actions: Reply: slackbuzz message send <channel> "text" --thread-ts <ts> React: slackbuzz react <channel> <ts> :emoji: Save: slackbuzz later add <channel> <ts>file
Search files shared in Slack.
file search <query>
Search files across your workspace (user token required).
slackbuzz file search "design spec"slackbuzz file search "report" --type pdfslackbuzz file search "report" --channel #engineeringslackbuzz file search "diagram" --from @aliceslackbuzz file search "report" --page 2| Flag | Description |
|---|---|
--channel CHANNEL | Filter by channel |
--from USER | Filter by uploader |
--type FILETYPE | Filter by file type (e.g. pdf, png, zip) |
--limit N | Maximum number of results per page |
--page N | Page number for pagination |
--json | Output as JSON |
--jq EXPR | Filter JSON output with a jq expression |
react
react <channel> <timestamp> <emoji>
React to a message with an emoji.
slackbuzz react #general 1706000000.000000 :eyes:slackbuzz react #general 1706000000.000000 :white_check_mark:slackbuzz react #engineering 1706000000.000000 :thumbsup:react remove <channel> <timestamp> <emoji>
Remove a reaction from a message.
slackbuzz react remove #general 1706000000.000000 :eyes:slackbuzz react remove #general 1706000000.000000 thumbsupthread
thread <channel> <timestamp> <text>
Reply to a thread. Shorthand for message send --thread-ts.
slackbuzz thread #general 1706000000.000000 "Looks good, merging now"thread link <channel> <timestamp>
Generate a permalink for a thread.
slackbuzz thread link #general 1706000000.000000notify
notify <channel> <text>
Send a formatted Block Kit notification to a channel.
slackbuzz notify #alerts "Deployment complete: v1.2.3 is live"channel
channel list
List channels in the workspace.
slackbuzz channel listslackbuzz channel list --json| Flag | Description |
|---|---|
--json | Output as JSON |
--jq EXPR | Filter JSON output with a jq expression |
Output includes a quick-actions footer:
---Quick actions: Info: slackbuzz channel info <channel> Read: slackbuzz message list <channel> Send: slackbuzz message send <channel> "text"channel info <channel>
Show details about a channel.
slackbuzz channel info #general| Flag | Description |
|---|---|
--json | Output as JSON |
--jq EXPR | Filter JSON output with a jq expression |
user
user list
List workspace members.
slackbuzz user listslackbuzz user list --json| Flag | Description |
|---|---|
--json | Output as JSON |
--jq EXPR | Filter JSON output with a jq expression |
user info <user>
Show a user’s profile.
slackbuzz user info @alice| Flag | Description |
|---|---|
--json | Output as JSON |
--jq EXPR | Filter JSON output with a jq expression |
status
Manage your Slack status.
status
Show your current Slack status.
slackbuzz statusstatus set <text> <emoji>
Set your Slack status with an emoji and optional expiry.
# Set indefinitelyslackbuzz status set "In a meeting" :calendar:
# Set with expiryslackbuzz status set "Coding" :computer: --until 2h
# Set with a specific timeslackbuzz status set "OOO" :palm_tree: --until 2025-03-01| Flag | Description |
|---|---|
--until DURATION | Status expiry (e.g. 2h, 1d, or YYYY-MM-DD) |
status clear
Clear your Slack status.
slackbuzz status clearauth
Manage authentication credentials.
auth login
Authenticate with bot and user tokens. By default, prompts for tokens interactively. The tokens are validated against the Slack API and stored in the system keyring.
# Interactive token entry (default)slackbuzz auth login
# Pipe token for CIecho "$SLACK_BOT_TOKEN" | slackbuzz auth login --with-token| Flag | Description |
|---|---|
--with-token | Read token from standard input (for CI environments) |
auth logout
Remove stored credentials from the system keyring.
slackbuzz auth logoutauth status
Display the current authentication state, including the workspace and user info.
slackbuzz auth statusapp
app create
Create a Slack app with all required scopes for slackbuzz. Opens the Slack app creation page with a pre-configured manifest and prompts for the OAuth tokens.
slackbuzz app createThis is the recommended way to set up slackbuzz for the first time. The manifest includes all required bot and user token scopes.
Utility commands
version
Print the CLI version, commit SHA, and build date.
slackbuzz versioncompletion <SHELL>
Generate shell completion scripts. Supported shells: bash, zsh, fish, powershell.
slackbuzz completion bashslackbuzz completion zshslackbuzz completion fishslackbuzz completion powershellSee the Installation page for setup instructions.