# slack-term — Slack Client for Your Terminal > slack-term is a terminal-based Slack client written in Go that lets you browse channels, send messages, and manage conversations without leaving the command line. ## Install Save in your project root: # slack-term — Slack Client for Your Terminal ## Quick Use ```bash go install github.com/jpbruinsslot/slack-term@latest export SLACK_TOKEN=xoxp-your-token-here slack-term ``` ## Introduction slack-term brings the Slack experience into the terminal for developers who prefer keyboard-driven workflows. It provides a text-based UI for reading and sending messages across Slack channels and direct messages without switching to a browser or desktop app. ## What slack-term Does - Displays Slack channels and direct messages in a terminal UI - Sends and receives messages in real time via the Slack API - Supports switching between channels with keyboard shortcuts - Shows message history with timestamps and usernames - Handles message editing and thread navigation ## Architecture Overview slack-term connects to the Slack Real Time Messaging API using a WebSocket connection for live updates. The TUI is built with the termui library, rendering a split-pane layout with a channel list on the left and message history on the right. Authentication uses a legacy Slack token or a bot token. ## Self-Hosting & Configuration - Install via `go install` or download a prebuilt binary - Create a Slack app and obtain an OAuth token with required scopes - Set the token in the `SLACK_TOKEN` environment variable - Optionally configure a `~/.slack-term` JSON config file for defaults - Set `sidebar_width` and `notify` options in the config file ## Key Features - Lightweight terminal UI with minimal resource usage - Real-time message delivery via Slack WebSocket API - Keyboard-driven navigation between channels and threads - Works over SSH for remote server workflows - Single binary with no runtime dependencies ## Comparison with Similar Tools - **Weechat + wee-slack** — More feature-rich with multi-protocol support; slack-term is simpler and purpose-built - **Slack desktop app** — Full-featured but heavy; slack-term uses a fraction of the resources - **Matterbridge** — Bridges multiple chat platforms; slack-term is a dedicated Slack-only client - **Ripcord** — Lightweight desktop client for Slack and Discord; slack-term runs entirely in the terminal ## FAQ **Q: What Slack token do I need?** A: You need a user token (xoxp-*) or bot token (xoxb-*) with channels:history, channels:read, chat:write, and users:read scopes. **Q: Can I use slack-term with multiple Slack workspaces?** A: Not simultaneously. You can switch workspaces by changing the SLACK_TOKEN variable and restarting. **Q: Does slack-term support threads?** A: Basic thread viewing is supported. Thread replies appear inline in the message stream. **Q: Will slack-term work over SSH?** A: Yes. Since it runs entirely in the terminal, it works over any SSH connection without port forwarding. ## Sources - https://github.com/jpbruinsslot/slack-term - https://github.com/jpbruinsslot/slack-term#usage --- Source: https://tokrepo.com/en/workflows/asset-04d5dd47 Author: AI Open Source