slack-term

Slack from your shell. Read, search and reply from a terminal or an agent script, and see exactly what will be sent before it goes.

npm install -g slack-term

Also with bun or pnpm, or as a native Rust build. Both give you the same slack command.

Nothing sends by accident

A write shows who you are, where it goes and what it says, then waits for a confirm code. Change the account or the text and the code stops working.

$ slack send "#general" "Deploy finished"
  From: @alice (U00000001) — Acme
  To:   #general
  Message: Deploy finished
Rerun with --code=10f6

$ slack send "#general" "Deploy finished" --code=10f6
✓ Sent

What it does

slack news
Your mentions, grouped by day.
slack read "#eng"
Channel and DM history, with threads marked. --unreplied shows what still needs you.
slack search "deploy"
Full-text search across the workspace.
slack tail "#eng"
New messages as they arrive, like tail -f.
slack react <link> eyes
Acknowledge without growing the thread.
slack ask "@bob" …
Ask a question with one-tap reaction choices, then collect the answer in a script.
slack dump
Export channel history as markdown.

Is it for you?

It suits scriptable conversations with a check before sending. The confirm step adds a second command, and you set up a token yourself. For a full-screen chat client or a dedicated archive, the comparison in the README points to tools built for that.