Why twi
Built for people who already live in a terminal
Every surface is keyboard-reachable, resize-aware, and designed to stay readable when chat is moving fast.
🎨
57 built-in themes
Claude, Catppuccin, Dracula, Gruvbox, Nord, Tokyo Night, Kanagawa, Everforest, Ayu, Solarized and more, plus 24 vibrant near-black presets authored for twi (Neon Tokyo, Cyberpunk, Matrix, Hotline, Plasma, Ruby, Bullion, Obsidian and friends) — 52 dark, 5 light, plus a custom hex palette. Preview them live with a full-screen picker.
🧩
Three message layouts
Grouped blocks with an author header, dense inline rows, or a stripped-back compact view. Swap between them at runtime with ctrl+g.
🌈
Per-user color, everywhere
Each chatter gets a stable hash-derived color that carries into their name, the message surface, and the gutter rail — so you recognize regulars at a glance.
💬
@mention autocomplete
Type @ and a prefix to complete from people actually in chat, ranked by who spoke most recently. tab accepts.
🏅
Glyph badges & user context
Broadcaster, mod, VIP and sub badges render as compact icons, alongside sub tenure, follow age, and how long you have seen someone in chat.
⚡
Live activity feed
Raids, subs, cheers, follows, and join/leave events land in a dedicated column with per-kind glyphs — noisy reconnect bursts collapse automatically.
🔐
Secrets stay redacted
OAuth tokens, refresh tokens, client secrets, and callback values are kept out of normal output, debug logs, and diagnostics by design.
🧪
Mock mode, zero setup
Run the whole UI with no credentials and no network. Great for trying twi, taking screenshots, or debugging your terminal setup.
🩺
A doctor that tells the truth
twi doctor checks config, credentials, scopes, terminal capability, and API reachability — and reports what it could not verify.