Skip to content

TUI and CLI workflows

User docs

This page is part of the unreleased 0.2.0 operating guide.

Run Plato Agent from a registered Git workspace:

Terminal window
plato

Bare plato in a terminal ensures the host server, asks before admitting a durable root thread, and attaches the TUI to it. The thread keeps its server-minted ID and authority after the TUI exits.

Write in the composer and press Enter to submit. Use Shift+Enter, Alt+Enter, Ctrl+J, or Ctrl+M for a newline. Bracketed paste is inserted literally as one undoable edit.

The default conversation view keeps the human and assistant messages concise. Press v with an empty composer to switch to the complete ordered audit view. Press ? for the controls implemented by the running client.

Open the picker with /threads. /sessions is a compatibility alias for the same picker.

  1. Type any case-insensitive subsequence of a thread ID or its active, loaded, or unloaded state.
  2. Move with Up and Down or Ctrl+P and Ctrl+N.
  3. Press Enter to attach the selected thread, or Esc to close the picker.

From another terminal on the same host, attach directly:

Terminal window
plato --remote THREAD_ID

Attachment does not mint a thread or change its model, toolset, paths, network grant, or approval policy. Multiple clients can observe a thread; the server still enforces active-turn controller rules.

The ordinary plato TUI is attached to a durable thread, so /new is unavailable there. In an unattached standalone TUI session, /new clears the selected session so the next message starts fresh.

Run one question without opening the TUI:

Terminal window
plato "summarize the current Git status"

The client ensures the same host server and streams the answer. On success it prints the run ID, ledger path, and an offline replay command.

Stable one-shot completion shape Underlined values vary by run and registered workspace.
run_id: <run-id>
ledger_path: <ledger-path>
replay: plato replay --db='<ledger-path>' --run <run-id>

Continue the latest workspace session with:

Terminal window
plato -c "explain the most important change"

Use one-shot mode for a bounded request and the TUI when you want live audit, thread switching, status, or approval controls. Both paths use the server’s run implementation and ledger.

In the TUI, /status opens a read-only snapshot for the selected session. It distinguishes the configured model or alias from the provider-reported served model; a provider that omits that identity appears as served unknown.

Status overlay separating the configured model, daemon, selected session, usage, and approval profile.

The read-only snapshot keeps requested model, daemon, session, usage, and trust facts separate.

The audit view includes the exact ordered events already available to the client. It does not replace the offline durable record. Use replay when the client or server is not running.

q with an empty composer, Esc from the idle main view, /quit, and /exit close the TUI. Closing it leaves the server and durable thread available.

plato thread stop THREAD_ID is different: it cancels any active child, runs the server-owned repository integration and cleanup path, and writes a durable stop record. Do not use it merely to close a client.

For exact syntax and context-sensitive controls, use the command reference and TUI reference.