forumcmdhub adapter
Slack CLI
for cmdhub.
Channels, conversations, messages, threads, reactions, and users.
lock
Auth: OAuth2
Quick Install
cmdhub get slack
terminal Command Reference
Generated from source. Global flags apply to all commands.
Global Flags
--config
string
Config path override--cursor
string
Continuation cursor--debug
bool
Enable debug diagnostics--json
bool
Alias for --output json--jsonl
bool
Alias for --output jsonl--limit
int = 50
Maximum items to emit--no-paginate
bool
Fetch only one page--output, -o
string = human
Output mode: human|json|jsonl--page-size
int = 50
Requested upstream page size--profile
string = default
Config/auth profile--quiet, -q
bool
Suppress non-essential diagnostics--trace-id
string
Trace identifier--view
string = summary
View mode: summary|fullslack auth — Manage Slack authentication
slack auth login
Start Slack OAuth login$ slack auth login
$ slack --profile work auth login
slack auth logout
Clear auth state$ slack auth logout
$ slack --profile work auth logout
slack auth refresh
Validate stored Slack token$ slack auth refresh
$ slack auth refresh --output json
slack auth status
Show auth status$ slack auth status
$ slack auth status --output json
$ slack auth whoami
slack auth whoami
Show the authenticated Slack user$ slack auth whoami
$ slack auth whoami --output json
slack capabilities
Describe Slack adapter capabilitiesslack channel — Work with channels
slack channel get
Get one channel by id or name--id
string
Channel id or name$ slack channel get general
$ slack channel get cmdhub-evals-a
$ slack channel get c1
$ slack channel list --limit 1 --output jsonl | slack channel get
slack channel join
Join a public channel--id
string
Channel id or name$ slack channel join general
$ slack channel join c1
slack channel leave
Leave a channel--id
string
Channel id or name$ slack channel leave general
$ slack channel leave c1
slack channel list
List channels$ slack channel list --limit 10
$ slack channel get cmdhub-evals-a
$ slack channel list --limit 1 --output jsonl | slack channel get
slack conversation — Work with Slack conversations
slack conversation get
Get one conversation by id or name--id
string
Conversation id or name$ slack conversation get general
$ slack conversation get v1
slack conversation list
List conversations visible to the current user--types
string = public_channel,private_channel,im,mpim
Conversation types$ slack conversation list --limit 10
$ slack conversation list --types public_channel,private_channel --limit 10
slack doctor
Run Slack adapter diagnosticsslack message — Work with Slack messages
slack message create
Create a message in a channel--channel
string
Target channel id or name--text
string
Message text$ slack message create --channel general --text 'hello'
$ slack message create --channel c1 --text 'hello'
slack message delete
Delete one of your messages--channel
string
Channel id or name--ts
string
Message timestamp$ slack message delete --channel general --ts 171.0001
$ slack message delete m1
slack message get
Get one message by timestamp--channel
string
Channel id or name--ts
string
Slack message timestamp$ slack message get --channel general --ts 171.0001
$ slack message get m1
$ slack message list --channel general --limit 1 --output jsonl | slack message get
$ slack message list --channel cmdhub-evals-a --limit 1 --output jsonl | slack message get
slack message list
List recent messages from a channel--channel
string
Channel id or name--query
string
Text query to match message text$ slack message list --channel cmdhub-evals-a --limit 10
$ slack message list --channel cmdhub-evals-a --query eval-slack-msg-123
$ slack message list --channel general --limit 10
$ slack message list --channel general --limit 1 --output jsonl | slack message get
$ slack message list --channel general --limit 1 --output jsonl | slack reaction add --name eyes
slack message reply
Reply in a thread--channel
string
Channel id or name--text
string
Reply text--ts
string
Root message timestamp$ slack message reply --channel general --ts 171.0001 --text 'Following up here.'
$ slack message reply m1 --text 'Following up here.'
$ slack message list --channel general --limit 1 --output jsonl | slack message reply --text 'Following up here.'
slack message update
Update one of your messages--channel
string
Channel id or name--text
string
Updated text--ts
string
Message timestamp$ slack message update --channel general --ts 171.0001 --text 'Updated text'
$ slack message update m1 --text 'Updated text'
slack reaction — Work with message reactions
slack reaction add
Add a reaction to a message--channel
string
Channel id or name--name
string
Emoji name without colons--ts
string
Message timestamp$ slack reaction add --channel general --ts 171.0001 --name eyes
$ slack reaction add m1 --name eyes
$ slack message list --channel general --limit 1 --output jsonl | slack reaction add --name eyes
slack reaction list
List reactions on a message--channel
string
Channel id or name--ts
string
Message timestamp$ slack reaction list --channel general --ts 171.0001
$ slack reaction list m1
slack reaction remove
Remove your reaction from a message--channel
string
Channel id or name--name
string
Emoji name without colons--ts
string
Message timestamp$ slack reaction remove --channel general --ts 171.0001 --name eyes
$ slack reaction remove m1 --name eyes
slack resolve
Resolve a Slack local marker or stored short referenceslack schema
Emit Slack adapter schema hints--in
bool
Show input schema--out
bool
Show output schemaslack search — Search Slack resources
slack search message
Search Slack messages--query
string
Search query$ slack search message --query 'from:me release'
$ slack search message --query 'has:link incident' --limit 20
$ slack message list --channel cmdhub-evals-a --limit 10
slack thread — Work with Slack threads
slack thread get
Get a thread and its replies--channel
string
Channel id or name--ts
string
Root message timestamp$ slack thread get --channel general --ts 171.0001
$ slack thread get m1
$ slack message list --channel general --limit 1 --output jsonl | slack thread get
slack user — Work with Slack users
slack user get
Get one user by id or name--id
string
User id or name$ slack user get p1
$ slack user get alice
slack user list
List users$ slack user list --limit 20
$ slack user list --output json
slack user me
Show the current authenticated user$ slack user me
$ slack user me --output json
slack version
Show slack version informationplay_circle Live Examples
Output captured from a real workspace. Regenerate with
scripts/gen-docs.sh --update.
auth
Check current identity
$ slack auth whoami
Configured: <nil> Authenticated: true Team: Stochastic Consulting User: @philip Stuck? Try `slack auth whoami`
channels
List channels
$ slack channel list --limit 5
c1 C2HT8B… #general [2 members, updated 11d ago] c2 C2HTE5… #random [archived] c3 C2HTK6… #announcements [12 members, updated 2mo ago] c4 C3XCUH… #friendscompete [4 members, updated 2mo ago] c5 C6CHFT… #africanbank [3 members, updated 2mo ago] Stuck? Try `slack message list --channel general`
Get a channel
$ slack channel get c1
Channel #general Ref: C2HT8B… ID: C2HT8B5FA State: member Updated: 11d ago Stuck? Try `slack message list --channel general`
messages
List channel messages
$ slack message list --channel cmdhub-evals-a --limit 3
Channel: C0AV7AZLLF6 -- m1: @philip joined the channel [@philip | 16h ago | system] Stuck? Try `slack thread get m1`
Get a message
$ slack message get m1
Message C0AV7AZLLF6/17770… Ref: C0AV7AZLLF6/17770… Channel: C0AV7AZLLF6 From: @philip Time: 2026-04-24 14:32 UTC Meta: system @philip joined the channel
search
Search messages
$ slack search message --query eval
No search results. Stuck? Try `slack channel list`
users
Get current user
$ slack user me
{
"team": {
"id": "T2HTJBWMD",
"name": "Stochastic Consulting"
},
"user": {
"id": "U2HT4JGS0",
"name": "philip",
"real_name": "Philip Sterne",
"display_name": "philip",
"email": "sterne@gmail.com"
}
}List workspace members
$ slack user list --limit 5
p1 USLACK… Slackbot [@slackbot] p2 U2HT4J… philip [@philip] p3 U2HTJJ… avine [@avine] p4 U2HU4P… carlscheffler [@carlscheffler] p5 U3TLQJ… tiffler [@tiffler] Stuck? Try `slack user get slackbot`
alt_route Composition Patterns
Bridge your ecosystem with zero middleware.
# Pull one recent message and inspect the whole thread
slack message list --channel general --limit 1 --output jsonl \
| slack thread get