Skip to content
Preview. This site is a preview of cli.quox.ai and is not indexed. Some pages describe work that is not released yet.

The conversation

quox with no arguments opens the conversation.

Terminal window
quox
quox -p staging -n release-checks
quox --verbose full
OptionWhat it does
-p, --profile <name>Use a signed-in profile. A profile that does not exist is an error, never created on the fly.
-n, --name <name>Name this session. See Sessions and agents.
--verbose off|on|fullHow much protocol detail to show. Bare --verbose means on.
--demoPlay a simulated journey. No server, nothing real runs.
--no-clearDo not clear the screen on start.
--service-keyAllow an ambient QUOX_SERVICE_KEY when the profile has no login. Never used without this flag.

Type a message and press Enter. CommanderQ, the default agent, routes it to the right specialist. Type /help for the list your version supports, or /help esc for detail on one key.

These tables are generated from the client’s own /help registry, so they match what your terminal shows at this version.

Talk

KeyWhat it does
just typeask Quox anything; CommanderQ routes it to the right agent
Entersend; while Quox works, steer the running turn if this server supports it, else queue it

Idle: sends. During a turn: steers when the server supports it (shown here once known), delivered at the next model boundary (never kills a running tool). If the server cannot steer, or the turn already finished, it is queued instead and you are told.

Tabqueue your message to run after this turn

Queued messages show above the composer. Up (empty composer) pulls the last one back to edit. After an interrupt they wait; press Enter on an empty composer to send the next one.

Escask the server to stop the turn (idle: Esc Esc clears the draft to history)

Asks the server to stop before the next model call or tool; you see "stopping" until the server confirms. A tool already dispatched finishes and is reported, never hidden. Until the server route exists the stream is aborted locally and you are told work already sent may still finish.

Shift+Enter / Ctrl+Jnew line in the composer (a trailing \ then Enter also works)
Ctrl+Gedit the draft in $EDITOR
Ctrl+Sstash the draft; on an empty composer, restore it
Ctrl+_undo in the composer
pastelong pastes collapse to [Pasted text #N +L lines] and expand on send
Ctrl+Cclear the draft; during a turn interrupt; twice when idle quits

Context

KeyWhat it does
status lineprofile · org · agent · model · mode, under the composer

Generated from the quox client registry at 733dffb78 (quoxcli 0.3.0).

Enter while Quox is working. It steers the running turn when your server supports steering, delivered at the next model boundary, and never kills a running tool. When the server cannot steer, or the turn has already finished, your message is queued instead and Quox tells you so.

Esc. It asks the server to stop. You see “stopping” until the server confirms. A tool already dispatched finishes and is reported, never hidden.

After each turn a grey summary line shows how long it took, how many tools ran and how many approvals it raised.

/quit (or /exit) leaves. Work already sent to the server keeps going.

Approvals

CommandWhat it does
/approvalslist what is waiting for you
/approve Napprove item N from the list

Run /approvals first. Mid-turn approval cards also take a (approve), d (deny), o (open); they arm after 300 ms and never default to approve.

/deny Ndeny item N from the list

Skills

CommandWhat it does
/skills [name]list your org's governed skills, or show one as a card

Lists your org skills (reusable procedures an agent follows; not Crystals, which are deterministic replays) with edition and one-line description. /skills <name> shows its card: purpose, version and review state, tests (results only when run-tests recorded them), the agents it is for, where it came from, recorded use, and how to run it.

/skill <name> [args]ask Quox to run a skill (governed: approvals still apply)

Sends "Run the skill <name> with: <args>" as a normal turn, so CommanderQ runs it through the usual governed path. Nothing is executed from here, and approval cards work as always.

/rules [files|off|on|N]which rules win: advisory QUOX.md, the dev pack, enforced server policy

/rules shows the precedence: QUOX.md and the dev pack only guide; armed governance policies on the server are enforced and win. /rules files shows the QUOX.md text. QUOX.md in this directory and parents up to the git root, plus ~/.quox/QUOX.md, are sent with each turn as your rules. World-writable files and symlinks leaving your home or repo are ignored. /rules N shows page N.

/workflow <name|id|run>the step flow of a workflow's latest run (or one run): state, timings, human gates

Steps come from the workflow definition and each state and duration from that run's recorded envelopes. A reached human gate shows amber. Enter on a workflow row in the roster shows the same flow.

/crystal <workflow>is this workflow eligible to become a Crystal? checked against the real gate

Computed from the workflow's recorded runs with quoxflow's crystalliser rule: at least 3 runs, at least 80% successful, one action sequence. Says how many more successful runs are needed.

Conversation

CommandWhat it does
/clear also /new, /resetfresh conversation and a clear screen; rules and memory kept, /resume goes back

Clears the screen and starts a new conversation. Your QUOX.md rules, attached agent, model choice and Quox memory stay as they are. The previous conversation is kept on the server: /resume lists it.

/resume [id|name]pick a recent conversation and carry on where it left off

Alone: a picker of your recent conversations (title, agent, age); Up/Down and Enter resume, Esc cancels. With an id (or the start of one) or a /rename name it resumes directly. The last turns are shown as history and your next message continues that conversation. Also at launch: quox --resume [id|name] or quox --conversation <id>.

/compact [show]summarise the conversation on the server, keeping decisions

The server summarises this conversation with your AI provider, keeping decisions, and the summary becomes the start of the conversation for later turns. Shows the token change and the first lines of the summary; /compact show prints all of it. Refused while a turn runs, and when the org has not given AI processing consent. Asking "compact this conversation" in words only suggests it.

/consent [grant [provider]]AI data sharing consent: see where you stand, or give your OK and carry on

Cloud AI providers (OpenAI and other hosted ones) receive your messages and tool results, so Quox needs your OK first; it is personal, not an admin setting. /consent shows where you stand. /consent grant [provider] records your OK (the same as quox consent grant --provider <name>, or Settings > Privacy in the dashboard) and, if a message just failed for lack of it, sends that message again. A local model (Ollama) never needs it.

/help [command]this reference, or detail for one command or key
/note <text>jot an observation for the dev observer (also: // text); not sent to Quox

Records your text in the dev transcript only: not sent to the model or the server, no turn, not in chat history. Needs dev transcripts on (touch ~/.config/quox/dev-transcripts). Up to 2000 characters.

/copy [N|code]copy the last answer (raw markdown) to the clipboard; N = Nth-last, code = last code block

Uses the OSC 52 terminal escape (works over SSH in most terminals; wrapped for tmux). Needs a terminal that allows OSC 52. Mouse selection is untouched: select and copy with your terminal as usual.

/dragon [explain|ask [question]|sleep|fly|hero|fire|classic]the Q comes alive; /dragon explain gives the simplest possible explanation of the last output, /dragon ask [question] answers one question just as simply, /dragon sleep is a katakana screensaver (any key wakes)

Plain /dragon plays the dragon (googly eyes, a talking smile, tail sway and whip, then fire from its mouth); classic and hero are the same show, /dragon fire is the breath alone. explain and ask are ordinary turns on whichever AI you have selected (tools and approvals still apply); the answer stays in the conversation as "Dragon explains" or "Dragon answers". With no AI connected you get the usual connect card. /dragon ask with no question waits for your next line. /dragon sleep hides the screen under katakana with the dragon asleep; any key wakes it and is not typed, an approval wakes it, Ctrl+C quits. It only changes what is drawn, never the conversation. Quiet motion or NO_COLOR shows a still screen.

/dragon-flythe dragon flies across the screen, wings beating (same as /dragon fly)

One 9 second pass of the dragon in flight, wings beating; Esc stops it early. It only changes what is drawn, never the conversation. Quiet motion or NO_COLOR shows a single still frame instead.

/sound [profile|test]earcons for approvals, failures and long turns: Silent | Minimal | Operational | Full

Same setting as the dashboard (your account's soundProfile). Minimal (default) sounds for approvals, critical alerts and failures; Operational adds a short tick when a turn over 20 s finishes or the terminal is in the background. Over SSH only the terminal bell rings, for approvals and critical alerts. QUOX_SOUND=off mutes this terminal; --print never makes sound.

/tipa "did you know" tip about something Quox can do on this install

Shows one tip at a time and rotates through all of them before repeating. Only features that are shipped (stable or beta) and ready on this server are offered, and things you already use are skipped. One tip also shows under the greeting on launch. /tip-settings off stops them.

/tip-settings [off|core|all]tips: off = none, core = free features only, all = everything shipped (default); saved on this profile

Alone shows the current setting. Saved to your CLI profile, so it survives restarts. core limits tips to the free tier; all includes plugin features your install can use.

/aboutwho we are, terms, privacy, licence and docs links
/quit also /exitleave; finished work is kept and /resume picks the conversation up

Idle: leaves at once; the conversation stays on the server for /resume (or quox --resume). During a turn it asks first, because leaving disconnects the turn and the server stops it before its next step (a tool already running finishes and is recorded). /quit again within 5 s leaves anyway.

/restartrestart into the latest installed quox and resume this conversation

Re-runs the quox on your PATH in this terminal with the same arguments and profile, plus --resume for this conversation. During a turn it asks first: restarting disconnects the turn and the server stops it before its next step (this server cannot reattach a running turn yet); /restart again within 5 s goes ahead. When a newer build is installed than the one running, a dim line says so (checked at most once a minute, no network).

/gripe <text> also /gripe!file a GitHub issue through the GRIPE agent; shows it first, /gripe! files at once

The same governed path as `quox gripe`: the GRIPE agent files the issue through your org's GitHub connector (default repo quoxai/quox). /gripe <text> shows what would be filed and asks; /gripe! (alone, within 2 minutes) files it, or /gripe! <text> files straight away. The issue link is shown when one comes back; with no link it says so and treats it as not filed.

/sessions [all]your recent conversations; /sessions all shows everything live in your org

/sessions all is the same overview as `quox sessions`: every live tmux session, conversation, held slot and running objective, loop or workflow in your org, grouped by agent, with how to attach. Bare /sessions lists recent conversations from the server. Names set with /rename are kept on this machine (~/.config/quox/sessions.json) because the server has no rename route yet.

/dashboard [page]open the web dashboard already signed in (one-time link); pages: sessions approvals agents lucid inbox seo settings

Creates a sign-in link for this profile that is valid for 10 minutes and works once, then opens it in your default browser. Over SSH it only prints the link (the browser would open on the wrong machine); terminals that support hyperlinks make it clickable. The link is a credential: it is shown on screen only and never written to the dev transcript or history. An older server without one-time links gets the plain dashboard URL and you sign in as usual. Also: quox dashboard [page].

/rename [name]name this session (shown in the top rule); alone shows the current name

Also settable at launch with quox -n <name>. The name is kept on this machine, keyed by conversation, and shown in /sessions.

/slot <name>give this session a slot address (checks out the slot)

Checks out the slot, creating it if needed, as `quox slot checkout <name> --create --session <session>` does; typing it is your consent. Discord replies are not relayed into this window yet (no slot wait loop here).

/attach [agent]send your turns to a specific agent; alone shows the current one

The agent name is checked against your org's agent list. Later turns go to that agent (the chat stream assistant field) until /detach.

/detachback to CommanderQ

Connect

CommandWhat it does
/loginsign in again without leaving quox (email, masked password, MFA code if asked)

Opens a card here: your email (prefilled with the last one this profile used), then a masked password, then your authenticator code if the server asks for one. It is the same sign-in as quox login, so status, approvals and the digest come back without a restart. The password is never echoed, logged or saved. CLI sign-ins last 30 days, unless your admin set a shorter limit in the session policy.

/connect [provider]see what is connected; /connect openai adds a key safely

Alone: AI providers (OpenAI, Claude API, Ollama) and the integrations in your org vault, with real status from the server; anything it cannot read shows ? unknown. /connect openai (or anthropic) opens a secure card: paste the key, Enter tests it with the provider and saves it to your org vault as the default; Esc cancels. Keys typed there never reach chat, history or transcripts. A key pasted into the composer is never sent.

/hosts addadd a host to your fleet (works without an AI); /hosts lists them

/hosts add prints the one command to run on the machine you want to add (the QuoxAgent installer served by your Quox, with a --host-id of your choice). /hosts lists the hosts your Quox knows, the same as quox fleet hosts. Neither needs an AI connected.

/capabilities [name]what this Quox can do here: ready, needs setup, not available, planned

Asks the server (GET /api/v1/capabilities), which checks real service health, your plan, plugin install state and connected providers. Each gap says why and how to set it up; /capabilities <name> gives the one-line offer for one. If the server cannot answer, nothing is assumed.

Verbose

CommandWhat it does
/verbose off|on|fullprotocol lines: off = receipts only, on = compact, full = adds thinking

on (default) shows compact AEE / AOCL / WARD lines as they happen. off collapses to the receipt line. full adds the thinking stream.

/proof [envelope]the evidence chain for the last tool call: AEE, AOCL, tool, WARD

Each link is read back from the server and drawn confirmed only when the read says so. WARD is the server-verified inclusion receipt; it can be slow on a large chain and is bounded, so a link may stay open.

/reconcilecheck tool calls that ended with effect unknown against the server's record

Context

CommandWhat it does
/org [switch <name|id>]list your orgs (current marked), or switch this session to another one

/org lists the orgs your login belongs to. /org switch <name or id> matches loosely, asks you to confirm with /org yes, then re-scopes the login (the same exchange as quox org switch) and starts a new conversation in that org; the status line shows the org. A switch only succeeds for orgs you are a member of; the server decides.

/statusprofile, org, server and its health, model, agent, slot, session, version

The provider and model shown are what the server last reported running (turn.started), not what was asked for. Server health is checked live. Asking "what is my status" in words prints the same panel as a tip.

/cost also /usagetokens and cost per model for this session, from real usage

Counts only what the server reported on turn.finished (input, output and cache tokens, cost when the provider gives one). Cost stays blank when the server did not report it, and says so; nothing is estimated. Asking "what is this costing" prints the same panel.

/contextmodel, conversation tokens, rules, skills, memory and the attached agent

Conversation tokens are the sum the server reported for this conversation in this session. Skills and memory are real calls to your server; anything it cannot answer shows ? with the reason. Asking "how much context have we used" prints the same panel.

/doctorthe quox doctor checks plus chat checks, as rows

Runs the same checks as `quox doctor` (services, auth token, CLI version) in this process, then chat checks: the chat routes answer, a provider is connected, the capability contract.

/serveryour self-hosted install: version, health per service, disk, ports, last update

The same read-only panel as `quox server status`, for the install Getting started recorded (or the one the running containers belong to). Changing the server is a terminal verb, never a chat action: quox server update (backup first, rolls back on failure), quox server rollback, quox server uninstall, quox server doctor, quox server diag. Each takes --dry-run to show the plan first.

/config also /settingssettings: theme, motion, verbose, model; saved on this profile

An interactive card: Up/Down pick a setting, Left/Right or Space change it (saved at once to this CLI profile), Enter on Model opens /model, Esc closes. Theme replaces the env-only QUOX_THEME; if QUOX_THEME is set in your shell it still wins and the card says so.

/model [provider [model] [compact|full]|auto]see what is connected and choose the provider/model for your next turns

Alone: auto, OpenAI, Claude API and Ollama with real status from your org vault (the same source as /connect). /model openai, /model openai gpt-5.4-mini, /model anthropic, /model auto (server policy). The choice is saved for this profile (no keys) and sent with each turn; the server decides, and the status line shows what it actually ran. A provider that is not connected is refused with a /connect offer; if the server runs something else, you are told once. quox --provider openai does the same for one run. A trailing compact or full picks the prompt profile: compact is a short system prompt for small or local models (the default on Ollama, LM Studio and vLLM), full is the default elsewhere; --prompt-profile does the same for one --print run.

Awareness

CommandWhat it does
/roster [all]show or hide the live roster under the status line; all includes background work

The roster lists what needs you: pending approvals, then work you started (objectives, loops, manual workflows). Scheduled and event-driven workflows are hidden; background failures show once per workflow in the bar below. /roster all shows everything. Refreshed every 15 s from the server. Down on an empty composer focuses it; Enter peeks, s asks to stop (y confirms), Esc returns. A source the server cannot answer shows nothing and is named here.

/agents <name>an agent's card: role, tools, slot, last action and its WARD witness
/memory <query>facts Quox remembers, each with where it came from, age, trust and conflicts
/sitrepthe situation now: approvals waiting, what needs you, running work, what Quox cannot see

Read from the server, no model call: approvals waiting (your Approvals inbox), what needs you from the LUCID situation (by urgency), work in motion, and the sources LUCID cannot see (silent, failing or not connected). A part the server cannot answer is named on the "Can't see" line, never shown as empty. Does not move your LUCID cursor. /away is the "since you were last here" digest. Asking "give me a sitrep" suggests it.

/away [since]what happened while you were away, and what Quox cannot see

A factual digest from the server since you last used quox on this profile (or since 90m, 3h, 2d, or an ISO time): approvals waiting and resolved, objectives and workflows finished or failed, LUCID alerts, new Qortex decisions, failed turns and agent activity, each with its source and time. Sources that could not be read or went silent are named on a "Can't see" line. Nothing is summarised by a model. At launch, after more than 2 h away, a short card shows the top 5. Asking "what did I miss" suggests it.

/observersLUCID situation, what changed since you last looked, what Quox records about its own learning

Facts only, read from persisted data: the LUCID situation (without moving your cursor), recent changes, lessons taught, and the reflect / learn / insight counters. Nothing is summarised by a model.

Generated from the quox client registry at 733dffb78 (quoxcli 0.3.0).

A few worth knowing by name:

  • /model shows which AI providers are connected and picks the one for your next turns. The server decides, and the status line shows what actually ran.
  • /capabilities asks your Quox what it can do here: ready, needs setup, not available, or planned, with how to set up each gap.
  • /copy puts the last answer (or its last code block) on your clipboard.
  • /sound sets the earcons for approvals, failures and long turns. It is the same setting as the dashboard.
  • /note jots an observation for the dev observer. It is not sent to Quox.
  • /dragon brings the Q to life for a few seconds, and /dragon fire breathes fire. /dragon-fly sends the dragon flying across your terminal.
  • /dashboard opens the web dashboard already signed in, through a one-time link that lasts 10 minutes. Over SSH it prints the link instead of opening a browser.

Managing the conversation:

  • /clear starts a fresh conversation on a clear screen. Your rules, agent, model choice and memory stay, and the old conversation is kept on the server.
  • /resume picks a recent conversation and carries on where it left off. Give it an id or a /rename name to go straight there.
  • /compact has the server summarise the conversation, keeping decisions, so later turns start from the summary. /compact show prints the whole summary.
  • /restart re-runs the latest installed quox in this terminal and resumes this conversation. During a turn it asks first.
  • /gripe <text> files a GitHub issue through the GRIPE agent, the same governed path as quox gripe. It shows what it would file and asks before filing.

Knowing where you stand:

  • /sitrep reads the situation from the server, with no model call: approvals waiting, what needs you by urgency, work in motion, and the sources Quox cannot see.
  • /away is a factual digest of what happened since you last used Quox on this profile (or since a time you give, like 3h), including what it could not see.
  • /server shows your self-hosted install: version, health per service, disk, ports and last update. It only reads; changing the server is a terminal command, never a chat action.
  • /status shows your profile, org, server and its health, model, agent and version. The model shown is what the server reported running, not what was asked for.
  • /cost counts tokens and cost per model for this session, only from what the server reported. When the server gives no cost, it stays blank and says so.
  • /context shows the model, conversation tokens, rules, skills, memory and the attached agent.
  • /doctor runs the quox doctor checks plus chat checks, as rows.
  • /login signs you in again without leaving quox: your email, a masked password, and your authenticator code if the server asks. It is the same sign-in as quox login, and the password is never echoed, logged or saved.
  • /consent shows whether you have given your OK for a cloud AI provider (such as OpenAI) to receive your messages and tool results. /consent grant <provider> records it, and resends a message that failed for lack of it. A local model (Ollama) never needs it.
  • /org lists the organisations your login belongs to. /org switch <name> moves this session to another one after you confirm with /org yes, and starts a new conversation there.
  • /config opens a settings card for theme, motion, verbose and model, saved on this profile.

Tips and hosts:

  • /tip shows a “did you know” tip about something Quox can do on this install. It only offers features that are shipped and ready on your server, skips the ones you already use, and rotates through them all before repeating.
  • /tip-settings sets which tips you get: off, core (free features only) or all (the default). It is saved on this profile.
  • /hosts add prints the one command to run on a machine you want to add to your fleet. /hosts lists the hosts your Quox knows. Neither needs an AI connected.

Agents, memory and workflows:

  • /agents <name> shows an agent’s card: role, tools, slot, and its last action with the WARD witness.
  • /memory <query> lists facts Quox remembers, each with where it came from, its age, trust and conflicts.
  • /workflow <name> draws the steps of a workflow’s latest run with state, timings and human gates.
  • /crystal <workflow> checks whether a workflow can become a Crystal, against the real rule: at least 3 runs, at least 80% successful, one action sequence.

Checking the evidence:

  • /proof walks the evidence chain for the last tool call (AEE, AOCL, the tool, WARD), reading each link back from the server. A link only shows as confirmed when the read says so.
  • /reconcile checks tool calls that ended with their effect unknown against the server’s record.

These are listed under “Coming” in /help and refuse to run until they are built.

Conversation

CommandWhat it does
/peek <id>look up an envelope, task or agent by id
/asidea read-only side question

Context

CommandWhat it does
/profileswitch profile or org without leaving

Generated from the quox client registry at 733dffb78 (quoxcli 0.3.0).

KeyWhat it does
@mentioncomplete agents, hosts, tasks and receipts

Generated from the quox client registry at 733dffb78 (quoxcli 0.3.0).

When an action needs a human, a card appears in the conversation with the action, its scope and its risk. Press a to approve, d to deny, o to open it in the dashboard.

These single keys act only when your draft is empty, or after you press Tab to focus the card, so a stray a in a sentence cannot approve anything. Keys arm after 300 ms, nothing defaults to approve, and Enter never approves.

You can also approve later with /approvals, then /approve N or /deny N. Pending approvals also come first in the roster.

Quox shows what the platform did, not only what the model said. Tool rows read as one line each: family, verb, result.

ModeShows
offCollapses to the receipt line.
on (default)Adds compact lines for the envelope (AEE), policy checks (AOCL) and the witness record (WARD) as they happen.
fullAdds the thinking stream.

Set it at start with --verbose, or during a session with /verbose.

Actions Quox takes end with a receipt line, which can show as pending until the witness record lands. The CLI has a verb to check one receipt against the witness chain, quox governance ward verify --envelope <id>. We have not recorded that flow for this site yet.