Skip to content

CLI REPL

Terminal window
talos repl

The CLI is a thin WS client. It auths to talosd with the bearer token from ~/.config/talos/daemon.token. All execution happens daemon-side — the CLI just renders streamed events.

Each agent run streams events:

You: what's my Aave health factor?
↳ retrieving from knowledge: 3 chunks
↳ calling aave_get_user_account_data { user: "0x13CD..." }
✓ healthFactor 1.74, ltv 0.40
↳ thinking...
Your Aave health factor is 1.74 (LTV 40%). You have ~$520 of borrowing
headroom before liquidation risk rises.

Every is a typed event from the runtime: tool_call, tool_result, text_delta, step_finished, run_finished. The CLI renderer maps each to a glyph.

Slash commands are handled client-side (no daemon roundtrip):

CommandEffect
/helpShow slash command list
/statusPrint daemon health, last cron sync, enabled MCPs
/thread newSwitch to a fresh thread (cross-thread recall still bridges)
/thread listShow recent threads
/thread switch <id>Resume an older thread
/quitDisconnect and exit (same as ^D)

^C sends an abort_run frame — the daemon cancels the in-flight run and returns. In-flight tool calls already submitted to KeeperHub keep their workflow IDs; you can resume by re-issuing the request.

CLI threads key as cli:{$USER}:default per process. The same $USER resumes the same thread across REPL restarts unless you /thread new.

See Architecture → Three-tier memory for what’s remembered.