The console
clankie with no arguments starts the service if it is not already running and opens the fullscreen operator console. The chat surface is pi's own: a scrollable transcript of messages and tool executions above an editor docked to the bottom of the terminal, with Clankie's chrome around it — the banner, slash-command typeahead, guided setup flows, and the Ctrl+/ command workbench. It runs in an ordinary terminal or inside a terminal multiplexer; Herdr is the supported fleet integration.
The console talks to one backend, the local service on 127.0.0.1:4310, over the same HTTP API every other surface uses. Plain prompts go through the operator-conversation contract; the slash commands below configure, observe, and navigate. Every configuration command is also a headless CLI command with JSON on stdout, so anything the console can set, an agent or script can set too.
Slash commands
Type / for the typeahead, Ctrl+/ for the workbench, or $ at a token boundary for the skill picker. /skill-name task invokes a loaded skill directly. This table is generated from the console's own command registry.
| Command | Aliases | Argument | What it does |
|---|---|---|---|
/activity |
/watch |
Show Clankie's current activity and live watch surface | |
/auth |
/login |
[status] |
Manage API keys, subscription OAuth, and harness logins |
/autonomy |
[on|off|clear] |
Show or switch Clankie's autonomous goal and wake runner | |
/board |
/herdr-lead, /herd-lead |
[focus|close] |
Open, focus, or close the herdr-lead companion board |
/btw |
/side |
[<question>] |
Ask an ephemeral side question on a fork of the current context |
/cancel |
Abort the setup flow or sign-in that is waiting | ||
/cd |
/workspace |
[<path>] |
Work in another directory — opens that workspace's conversation |
/clear |
Clear the screen (keeps model context) | ||
/connect |
/integrations |
[status|linear|email|discord] |
Connect Linear, email, and Discord so Clankie can use them |
/conversation |
/chat |
[<name-or-path>] |
Choose or switch persistent chat conversations |
/discord |
[status|invite] |
Configure Discord ids, allowlists, and the activity plane | |
/doctor |
Show this install's canonical doctor report | ||
/effort |
/reasoning |
[status] |
Configure reasoning effort for Clankie's current model |
/exit |
/quit |
Quit the console | |
/fleet |
[status|clear] |
Edit how Clankie routes work across the agents he leads | |
/games |
/gameplay |
[on|off] |
Configure Clankie's PokeAgent play |
/gateway |
[status] |
Connect this Mac to Clankie's public doorway | |
/goal |
[pause|resume|clear|--tokens <n> <objective>|<objective>] |
Show, start, pause, resume, or clear this conversation's goal | |
/help |
/h |
Show available commands | |
/herdr |
Choose the bundled runtime or an external Herdr session | ||
/image-model |
[openai|google|xai|status|unset] |
Choose the model Clankie makes pictures with | |
/jump |
/go |
<pane|agent> |
Focus a herdr agent by pane id or name (or click one he wrote) |
/layout |
/header, /banner |
[status|header on|header off|header toggle] |
Show or hide the Clankie header banner |
/memory |
/memories |
[status] |
Browse, edit, or forget Clankie's durable memory |
/model |
[status] |
Pick a model from the selected provider | |
/new |
[<title>] |
Start a fresh conversation in the current workspace | |
/pair |
[--review --days N] |
Pair a phone or tablet with this machine | |
/persona |
[status] |
Edit Clankie's character, names, and how readily he speaks | |
/provider |
[status] |
Choose which provider /model browses | |
/reset |
Archive this conversation and start with fresh model context | ||
/status |
Show console and clankie service status | ||
/trace |
[<lane>|<guild:channel>|all|off] |
Watch another lane's activity (Discord servers, voice, gameplay) | |
/video-model |
[xai|status|unset] |
Choose the model Clankie makes video with | |
/voice |
[status] |
Configure how Clankie sounds in Discord voice | |
/vt |
/voice-log, /voice-transcripts |
[off] |
Live tail of retained Discord voice transcripts |
Keys
| Key | What it does |
|---|---|
Ctrl+/ |
Open the command workbench |
Ctrl+O |
Toggle every tool and bash block between preview and full output |
Ctrl+Shift+F |
Search the transcript |
Ctrl+Shift+V |
Toggle the live voice-transcript overlay (same as /vt) |
Esc |
Interrupt the in-flight turn; the service aborts the model turn and settles the run as cancelled. A second Esc, or an older service, detaches the console instead and the turn continues |
Ctrl+C inside /btw |
Discard the side conversation and restore the main transcript |
Ctrl+X inside /btw |
Switch between the side conversation and the main thread, keeping both |
! on empty input |
Open the inline shell in the conversation's directory |
$ |
Open the skill picker |
| Click a tool or bash block | Toggle just that block |
| Click a herdr pane id | Jump the session to that pane (same as /jump) |
| Mouse wheel, drag | Scroll the transcript, select text |
Workspaces
Where clankie is typed decides the scope of the fresh room it creates
(ADR 0104). A
launch outside this repository creates a conversation for that project —
its checkout root, or the directory itself when it is not a checkout — and the
captain's session runs its tools there. A launch inside this repository opens
a fresh global conversation whose session works in this repository. Use
--chat <conversationId> to resume instead.
/cd <path> moves to the newest retained conversation for another project,
opening its first on first visit; /cd alone names the current one. The
console's own ! shell escape, path completion, footer, and /status follow the
same directory. The process keeps its selection in memory rather than
persisting a second session pointer.
The service retains recent inactive conversation directories for explicit resume: at most 64 conversations, 30 days of inactivity, and 256 MiB. A conversation's public replay log retains at most 500 events. Active, newly created, and default-global conversations are protected from automatic removal.
The service stays up when a console exits, so sibling Herdr panes do not
disconnect each other. Logs live under
${XDG_STATE_HOME:-~/.local/state}/clankie/ rather than entering the fullscreen
display.
Operator behavior
- Enter sends a prompt or steers Clankie's active Pi turn. Alt+Enter queues a
separate follow-up after the current turn and any earlier queued prompts.
The console keeps observing until all accepted inputs settle; Esc interrupts
the current turn. These choices also apply to
/skill-nameprompts. - Failed sends return the message to the editor, preserving any newer draft. A failure before sending says Message not sent. If the send loses its acknowledgement, Delivery unconfirmed asks you to check the conversation before retrying. Sends never retry automatically; an accepted turn's dropped observation reconnects without resending its message.
/conversationopens a searchable dialog for his own retained conversations — the global and workspace threads this console holds, never a fleet agent's DM thread or a channel;/conversation <name-or-path>switches directly, and--chat <conversationId>still addresses any conversation by id./chatremains an alias. Pressxto close the highlighted inactive conversation; active and default conversations stay protected. Switching rebuilds the visible transcript from the retained conversation log, then continues from the console's bounded replay cursor; it never creates a device-local session./new [title]starts and selects a conversation with fresh model context in the current workspace. The previous conversation remains available through/conversation./btw [question](alias/side) opens an ephemeral side conversation from the current Pi branch on a clean screen at the fork boundary. Its inherited history is reference-only. Ctrl+X switches between the fork and the main thread while both stay alive; Ctrl+C discards the fork and restores the main transcript. The footer names the open side conversation from either side./goalshows the selected conversation's durable goal./goal <objective>starts one;--tokens <n>gives it a hard model-token budget, andpause|resume|clearremain owner controls. Clankie proposes goals in chat; proposals do not activate themselves./autonomy on|offcontrols autonomous goal continuations and scheduled self-wakes globally./autonomy clearremoves the selected conversation's pending wake without changing its goal./cdopens the conversation for another directory and moves the console's shell escape and completion with it.- Type
/skill-namefor direct skill invocation or$at a token boundary for the skill picker. The transcript records a compactskill loadedreceipt. /activityshows the current goal, commentary, intent, observed outcome, and the loopback watch URL without controlling the body./gamesopens a toggle dialog for PokeAgent play; press Enter to enable or disable it./games on|offremains available for direct use. Restart Clankie to apply a change. Saves live with the world server, not here./memorybrowses and edits episodes and permitted Discord person facts through operator-only APIs./vt(aliases/voice-log,/voice-transcripts) opens a live overlay of retained Discord voice transcripts.Ctrl+Shift+Vtoggles the same view; Esc or/vt offcloses it. Exact speech appears only whendiscord.voiceTranscriptLoggingEnabledis on (ADR 0121); otherwise the overlay points at/discord. This is not/trace: voice lanes there are captain handoffs, not the Discord conversation./statusrendersclankie status, then adds console presence, conversation, workspace, model context, activity availability, and the Herdr pane roster./doctorrenders the same install report asclankie doctor./board,/board focus, and/board closemanage the herdr-lead companion board. A seated turn receives the current agent census./connectconfigures Linear and email and can open Discord setup; use direct/discordfor the complete lab-user opt-in flow and either body's non-secret ids (ADR 0093)./authwrites provider keys and OAuth credentials to the credential broker./auth statusmay also report compatibility provider environment fallbacks; Discord and body credentials remain broker-only except documented operator/captain test overrides./voiceselects OpenAI Realtime, Grok Voice, or OpenAI plus ElevenLabs and configures the active model, voice, xAI reasoning effort, and brokered API keys./voice statusshows the effective settings and environment overrides.- YouTube music is an ordinary prompt, not a slash command. Audible playback is on the active Discord body's Vox primary-voice role; see the Discord media guide.
/provider,/model, and/effortselect the captain through the launcher command modules. The header carries the effective Pi model and effort after subscription routing, effective-ref variant precedence, and model-supported clamping./image-modeland/video-modelselect generation models. Non-secret model configuration lives in~/.config/clankie/clankie.json./provider→ "add a local endpoint…" declares an OpenAI-compatible local runtime (ds4, Ollama, LM Studio, vLLM) by base URL, reads its model list fromGET {baseURL}/models, and needs no credential. The service picks the new provider up onclankie restart captain. Agents and scripts use the same write path throughclankie model add-local/clankie model set(JSON on stdout); do not editclankie.jsonby hand. Full contract:docs/cli.md./layoutshows or hides the header banner./jump <pane|agent>focuses a herdr agent (herdr agent focus), and any pane id in the transcript —w18:p1J, wherever Clankie or a tool wrote it — is clickable for the same jump. Only a refusal reaches the transcript; a working jump moves the session, which says it better./statuslists the pane ids to aim at.!on empty input opens the inline shell.Ctrl+Otoggles tool and bash output between preview and full; clicking a block toggles just that one. Esc interrupts an in-flight turn: the service aborts Clankie's live model turn and the run settles ascancelledin the durable log. When the run cannot be cancelled (an older service, or it already settled) — or on a second Esc — the console detaches instead and the service continues the turn.clankie healthreports operator credential source and env/store consistency without fingerprints or secret values. Remove an activeCLANKIE_OPERATOR_TOKENoverride before rotating the stored credential.
Headless
Everything that is not live console chrome is also a command: clankie status, clankie doctor, clankie model set, clankie persona set, clankie pair, and the rest print one JSON document and exit 0 or 1. The full contract, with every flag and payload, is the CLI reference. Secret entry stays interactive — /auth, /discord, /connect, /voice — because tokens never become flags.