Sophon CLI
Your assistant. Full screen. In the terminal.
A purpose-built terminal client on a custom cell compositor — Sophon owns every cell of the screen. Live transcript, approval cards with countdowns, themes, and dialogs, all without leaving your prompt.
The full-screen surface
Built like a real TUI.
Not a prompt with colors on it. Every band on the screen is drawn, diffed, and owned by the client.
Scrollback that belongs to the app
Wheel, PgUp, PgDn scroll an app-managed transcript. Scroll up and a '↓ latest' chip marks where live streaming continues; text selection works with ⇧-drag or F2. Resumed sessions seed the last messages behind a 'resumed ·' divider.
Approvals that can't be missed
Risky actions surface as bottom-stack attention cards: a risk-colored rail, the exact parameters, single-key Approve/Reject, and a live countdown. Cards arm after a beat and never steal keys mid-typing.
Dialogs, not detours
/theme previews the whole frame live before you commit. /resume opens a native session picker. /plan overlays the full plan, windowed around the running step — and a '◆ plan 2/5' row keeps progress visible while it runs.
Fast because it's honest
Repaints only what changed — under 4 KB per frame while streaming, capped at 30 fps, zero idle CPU. Tool output folds at 10 lines so an all-day session stays readable.
In-session commands
One keystroke away.
Beyond the transcript
Fits your terminal. And your scripts.
Four themes, one brand
Indigo Core by default; Deep Void for OLED true black; Graphite for muted neutral; Daylight for light terminals. Switch live with /theme, pin one with SOPHON_THEME or cli.json.
Degrades gracefully
Full screen needs a 70×18 window; anything less falls back to a pinned input, then a classic prompt — nothing to configure. Opt out any layer with an env var, and sophon doctor --reset-terminal un-sticks a stranded terminal. Exiting prints a resume card so no session is ever lost.
The whole product is a subcommand
Chat is the front door, but every Dashboard surface ships as a sophon subcommand — sessions, agents, models, approvals, workflows, memory, nodes — with --output json for scripting.
Open a terminal. Meet your assistant.
Install the CLI, point it at your Gateway, and type. The full-screen chat is on by default wherever your terminal can carry it.