AI Chat
cmdop chat (and bare cmdop) opens an interactive AI chat. Same Go core as the desktop. You can target a specific machine, anchor work to a Board issue, debug the rendered system prompt, or resume a previous session.
Start a chat
Bare cmdop opens chat. In a TTY: Bubble Tea TUI. With a pipe: line-based output. Force one or the other with flags:
cmdop # bare = chat (TUI in TTY)
cmdop chat
cmdop chat --plain # force line-based output
cmdop chat --tui # force TUI even outside a TTYExample session:
cmdop> list large files in /var/log on vps-audi
Finding large files on vps-audi:/var/log...
Found 3 files over 100MB:
- /var/log/syslog.1 (234 MB)
- /var/log/kern.log (156 MB)
- /var/log/auth.log.1 (112 MB)
cmdop> archive the oldest one to /backup
Archived /var/log/auth.log.1 → /backup/auth.log.1.gzSlash commands inside chat
| Inside chat | What it does |
|---|---|
/exit, /quit | Leave |
/clear | Clear screen |
/history | Show prompt history |
/help | Help registry |
/model <id> | Switch model mid-session |
/style <preset> | Switch personality preset |
@vps-audi <prompt> | Re-target the current turn at a specific machine |
—machine — target a specific host
cmdop chat --machine vps-audi enters chat where the agent’s context is biased toward that machine. The agent will reach for ask_agent vps-audi and connect exec vps-audi instead of touching the local filesystem.
cmdop chat --machine vps-audi
cmdop chat --machine prod-serverTwo execution paths exist depending on surface: desktop pipes the prompt directly to the remote agent; CLI runs the LLM locally but only allows tools that target the remote machine.
—issue — anchor to a Board issue
Pass --issue CMD-42 to anchor todo_write and delegate_task outputs under a specific Board issue. Subagent results land under the same issue. Use this for long-running multi-turn investigations.
cmdop chat --issue CMD-42
cmdop chat --machine vps-audi --issue CMD-42See ./issue for the Board CLI surface.
—debug-prompt — see the rendered system prompt
Prints the rendered system prompt — every section: identity, env, target machine, critical tools, etc. — to stderr, then continues. Useful for debugging “why did the agent answer wrong?” or for screenshotting.
cmdop chat --debug-prompt 2> /tmp/sysprompt.txt—resume — continue a previous session
Sessions persist to SQLite (cmdop.db). Resume with --resume <session-id>. List sessions with cmdop session list. The flag is a root flag — cmdop --resume <id> works without the chat keyword.
cmdop --resume 0193e2c1-7a8f-7b33-8c01
cmdop chat --resume 0193e2c1-7a8f-7b33-8c01Adjacent verbs
Cross-link to the dedicated pages. Quick reference:
| Verb | What it does |
|---|---|
cmdop run <skill> [prompt...] | Single-shot skill execution |
cmdop skills list | List installed skills |
cmdop instructions list | System prompt presets |
cmdop models | List available models |
cmdop style list | Personality presets |
cmdop highlight <file> | Syntax-highlighted file display |
See ./skills, ./instructions, ./models, ./style, ./highlight.
Custom LLM providers
You can route chat through any OpenAI-compatible provider (Z.AI, MiniMax, DeepSeek, Ollama, etc.) instead of the default SDKRouter:
cmdop provider # interactive manager
cmdop provider add
cmdop provider set <id> # activate
cmdop provider default # reset to SDKRouterWhen a custom provider is active, chat completions route through your provider; SDKRouter aliases (@code, @balanced) are substituted with the provider’s default model. Search, vision, and CDN stay on SDKRouter. See ./provider.
Safety & permissions
The local CLI chat bypasses the permission gate — the operator is driving their own agent, an extra modal would be friction. Permissions only apply to incoming remote-agent calls on this daemon.
If you run cmdop chat --machine vps-audi, the target machine’s permission rules apply to any tool call dispatched there. Local chat on this machine is unguarded; remote calls hit the remote gate.
See ./permissions for the gate’s CLI.