A blazingly fast Slack TUI. Keyboard-driven, beautifully themed, and under 20MB. One static binary. No Electron required.

slk is a daily-driver replacement for the official Slack desktop client, built in Go with bubbletea and lipgloss.
j/k, h/l, i, Esc.1–9 to instantly jump between them, with live unread badges in the rail.Full feature breakdown: Features
Homebrew (macOS and Linux):
brew install --cask gammons/tap/slk
Arch Linux (community-maintained AUR package):
yay -S slk
Go:
go install -ldflags="-s -w" -trimpath github.com/gammons/slk/cmd/slk@latest
For tarballs, .deb / .rpm / .apk packages, Windows, build-from-source, and the Homebrew formula→cask migration note, see the Installation wiki page.
slk reads your session directly from the Slack desktop app — no DevTools, no tokens to copy. Make sure you're signed in to the desktop app, then:
slk --add-workspace
slk lists the workspaces you're signed in to; pick the ones you want and you're done.
Full walkthrough: Setup wiki page.
Set SLK_DEBUG=1 to enable a comprehensive debug log written to
slk-debug.log in the current working directory. The file is
truncated each run, so reproduce the issue, quit slk, then copy
the file before relaunching. Log lines are categorized
([cache], [imgfetch], [imgrender], [ws], [general]) so
grep '\[cache\]' slk-debug.log slices to one focus area.
Everything lives in the wiki:
config.toml, custom themes, XDG pathsContributions are welcome. A few ground rules:
go vet ./... and
go test ./..., and be ready to explain your choices in review.slk is an independent, unofficial project. It is not affiliated with, endorsed by, or sponsored by Slack Technologies, LLC or Salesforce, Inc. "Slack" is a trademark of Slack Technologies, LLC; it is used here only to describe the service this client interoperates with.
slk talks to Slack via the same internal browser protocol the official web client uses. This is unofficial and not sanctioned by Slack — see Tradeoffs and Non-Goals for details.
MIT © Grant Ammons
Go
100.0%
A blazingly fast Slack TUI. Keyboard-driven, beautifully themed, and under 20MB. One static binary. No Electron required.

slk is a daily-driver replacement for the official Slack desktop client, built in Go with bubbletea and lipgloss.
j/k, h/l, i, Esc.1–9 to instantly jump between them, with live unread badges in the rail.Full feature breakdown: Features
Homebrew (macOS and Linux):
brew install --cask gammons/tap/slk
Arch Linux (community-maintained AUR package):
yay -S slk
Go:
go install -ldflags="-s -w" -trimpath github.com/gammons/slk/cmd/slk@latest
For tarballs, .deb / .rpm / .apk packages, Windows, build-from-source, and the Homebrew formula→cask migration note, see the Installation wiki page.
slk reads your session directly from the Slack desktop app — no DevTools, no tokens to copy. Make sure you're signed in to the desktop app, then:
slk --add-workspace
slk lists the workspaces you're signed in to; pick the ones you want and you're done.
Full walkthrough: Setup wiki page.
Set SLK_DEBUG=1 to enable a comprehensive debug log written to
slk-debug.log in the current working directory. The file is
truncated each run, so reproduce the issue, quit slk, then copy
the file before relaunching. Log lines are categorized
([cache], [imgfetch], [imgrender], [ws], [general]) so
grep '\[cache\]' slk-debug.log slices to one focus area.
Everything lives in the wiki:
config.toml, custom themes, XDG pathsContributions are welcome. A few ground rules:
go vet ./... and
go test ./..., and be ready to explain your choices in review.slk is an independent, unofficial project. It is not affiliated with, endorsed by, or sponsored by Slack Technologies, LLC or Salesforce, Inc. "Slack" is a trademark of Slack Technologies, LLC; it is used here only to describe the service this client interoperates with.
slk talks to Slack via the same internal browser protocol the official web client uses. This is unofficial and not sanctioned by Slack — see Tradeoffs and Non-Goals for details.
MIT © Grant Ammons
Go
100.0%