Terminal TUI (zagens-tui)
zagens-tui is Zagens’ full-screen terminal UI — a ratatui three-column agent shell with the same Kernel V3 engine and SQLite session store as the desktop app.
Shipped in v0.8.0 for Windows, macOS, and Linux. Ideal when you want the full agent experience without the Tauri desktop, or on platforms where only CLI/TUI binaries are published today.
Not the same as the embedded xterm terminal inside the desktop Code workspace — that panel is WebView + PTY;
zagens-tuiis a standalone binary.
Layout
| Region | Role |
|---|---|
| Left rail | Session list — switch threads, --fresh for a clean workspace session |
| Center | Streaming transcript (assistant, thinking/THK blocks, tool cards) + composer + activity marquee |
| Right inspector | Files, diff, checklist, sub-agents, MCP — toggle with i |
| LHT lower pane | Objective, plan phases, checklist gates — toggle with l |
Themes (cool-blue, dracula-tint, high-contrast, …) persist in ~/.zagens/tui-layout.toml.
Install
Prebuilt (recommended): download zagens-tui for your OS from GitHub Releases alongside the desktop zip and zagens CLI.
From source (Rust toolchain):
cargo build -p zagens-cli --features tui --bin zagens-tui --release
./target/release/zagens-tui
First run walks through onboarding (welcome, API key, default task type) — same settings as desktop in ~/.zagens/settings.toml. Skip with --skip-onboarding.
Quick start
zagens-tui # resume last workspace session
zagens-tui --fresh # new session
zagens-tui --skip-onboarding
Configure API key via onboarding, /api-key, /login, or ~/.zagens/config.toml (shared with CLI).
Composer essentials
| Input | Behavior |
|---|---|
| Enter | While assistant streams → queue next message; during tool/wait gaps → steer (CodeWhale-style) |
| Ctrl+Enter | Force steer even when streaming |
| ↑ (empty composer) | Pull last queued message back for editing |
| Shift+Enter | New line in multiline prompt |
Slash commands: /model (/m), /lht, /locale / /language, /api-key, /key, /login, /logout.
Approval: modal + footer policy cycle (Ctrl+A). Same four-tier tool approval concept as desktop.
i18n: reads locale from ~/.zagens/settings.toml — auto, en, ja, zh-Hans, pt-BR. Switch at runtime with /locale.
vs desktop vs CLI
| Desktop | zagens-tui |
zagens CLI |
|
|---|---|---|---|
| UI | WebView panels, diff, replay | Full-screen TUI | Terminal text only |
| Runtime | Local sidecar | In-process | In-process |
| Engine | Kernel V3 | Kernel V3 | Kernel V3 |
| Office mode | Yes | Task type supported | Limited / headless |
| Best for | Daily Windows coding + Office | Terminal-first all OSes | CI one-shots, serve --http |
zagens-tui does not implement exec, serve, or doctor subcommands — use the zagens binary for those.
Limits
- Mouse wheel optional:
--mouse-capture - Debugging terminal embedding:
--no-alt-screen - Windows desktop installer still the only GUI installer; macOS/Linux users typically use TUI + CLI
Related: Kernel V3 · Headless CLI · Install guide · LHT overview