Skip to content
DocumentationOne TUI
On this page

Page resources

Open Markdownllms.txtView source

Last updated

One TUI

The One TUI is the persistent full-screen workspace for project overview, first-run setup, authentication, agents, lifecycle navigation, and deliberate inspection. It presents the same owner operations as the CLI and does not own project, provider, authority, or lifecycle truth.

Open a workspace

Console
one tui --workspace .
one tui --view agent --workspace .

The second command starts on the governed Agent surface without creating a different runtime. The session remains in one alternate screen across views, model changes, browser authentication, recoverable failures, and setup; it closes only when you explicitly leave or the process cannot continue.

Complete first-run setup

When required local bindings are absent, the TUI guides you through provider, sign-in method, model, price snapshot, local model name, and access preference. Review the final consequences before provisioning.

Protected credential input is masked, bounded, and sent only to the CLI host for the selected OS keyring or proven private-file store. It is never written into project source, ordinary configuration, conversation text, or evidence. Browser authentication returns to the same TUI session after the protected account binding is ready.

Setup writes only machine-local execution configuration and protected-store bindings. It cannot add semantic dependencies, select a provider for a root, change one.lock, issue production authority, or turn an unavailable capability into a simulated one.

Use the Agent surface

The Agent works through the same governed tool contracts exposed by one agent and one mcp. Permission requests lead with the visible consequence, requested action, and access. Raw tool identity, arguments, revisions, and internal details stay in the explicitly opened Details view.

Required-input cards remain separate from the response composer. Unknown outcomes, pending approvals, unsupported operations, and recoverable errors remain distinct; the TUI does not convert them into a generic success or retry.

Lifecycle navigation and exact resume

Selecting a stage from the workspace overview runs the ordinary operation and shows its real consequence; the overview itself is only a summary. Every durable step leaves an exact plan:, operation:, release:, or invocation: reference; resume and inspection use that reference rather than the previous screen. The full command vocabulary is owned by the CLI reference.

Keep product state and presentation separate

Overview may summarize roots, work, and actionable lifecycle state, but an exact record remains authoritative. Inspect or resume with its opaque reference:

Console
one inspect plan:sha256:<hex> --workspace .
one reconcile operation:sha256:<hex> --workspace .

Terminal restoration covers raw mode, alternate screen, cursor, paste, and mouse state on normal close and unwinding. If a terminal is interrupted, restart the TUI and recover from exact project and operation references rather than reconstructing truth from its previous screen.

Relationship to Shell, editors, and the daemon

The TUI, One Shell, editors, MCP clients, and agents and automation all drive the same public operations. The optional local daemon may accelerate repeated project work, but it is revision-bound and disposable: it never becomes a second project model, cache authority, or grant source. Losing the daemon, the editor, or the TUI leaves the authored source and exact lock unchanged.

Honest status

The current TUI implementation is the one-tui crate, exercised by cargo test -p one-tui; it presents the operations the installed release actually exposes. Views that describe end-product lifecycle navigation are illustrative until the corresponding operation is available, and a TUI screen, badge, or cached value is never lifecycle evidence. Treat the exact owner reference as authoritative and recover from it. No daemon is required to run the TUI.

See One Shell, agents and automation, and inspect and operate.