Internal Commands (/)
Interactive Command Palette
Commands that have subcommands, flags or values open a navigable palette when typed bare and confirmed with Enter — the same experience Claude Code users get. Instead of just printing a list, the palette lets you arrow through it and select.
Items come live from the same autocomplete engine the prompt uses — models, sessions, config sections, providers, files — so the palette and
<TAB> always show exactly the same set, with no drift.
Palette navigation:
“Run as-is” entry (
↵): every scoped picker leads with an entry that runs the command with no arguments, preserving the behavior of commands whose bare form already did something — e.g. /config shows the overview, /switch opens the provider picker. That entry’s description summarizes what the command does, so it never looks “empty”.
The palette is themed (it follows the active theme, see /config ui theme) and runs only in the interactive REPL — headless runs (scheduler, gateway, one-shot) execute the command as typed.
External subcommand chatcli daemon
chatcli daemon {start|stop|status|ping|install} [--detach] [--socket <path>] — controls the scheduler daemon in the background. Any interactive CLI detects the daemon and becomes a thin client over the UNIX socket. See Scheduler → Daemon mode.
External subcommands chatcli mcp-server and chatcli acp
chatcli mcp-server (alias mcp-serve) — runs ChatCLI as an MCP server over stdio, with the full ChatCLI experience: chat through the complete pipeline (ask_chatcli — memory, contexts, skills, knowledge), the real agent/coder loops (agent_task, coder_task), session management (manage_session), every built-in tool, skills as prompts, local state as chatcli:// resources and conversation-hub continuity. Use LLM_PROVIDER/LLM_MODEL to pick the backend. See MCP Server (ChatCLI as a server).
chatcli acp — runs ChatCLI over the Agent Client Protocol (stdio), for integration with editors that speak ACP.
/config security — mutable rules
/config security is now hierarchical: the bare form still shows the read-only panorama; the new subcommands mutate the PolicyManager live and persist to ~/.chatcli/coder_policy.json. Used by both interactive /coder and the scheduler preflight.
Patterns use prefix matching on
<toolName> <args> as the PolicyManager normalizes (@coder exec <cmd>). Deny always beats allow.
/channel — MCP channels inbox and triggers
Manages the MCP Channels inbox and the trigger engine (rules in ~/.chatcli/mcp/triggers.json). All subcommands support autocomplete (Tab after /channel ).
Full rule schema and examples: MCP Config — Trigger rules.
Harness/Quality Pipeline — At a Glance
ChatCLI ships seven LLM-agent patterns that can be toggled per session via slashes:
Full reference: Agent Harness/Quality Pipeline · Configuration
/reflect — subcommands
The durable Reflexion queue exposes observability and DLQ triage operations. All have Tab autocomplete:
/config — Panorama and Sections
/config (aliases: /status, /settings) has two modes: short panorama (no argument — default) and drill-down by section. /config <TAB> autocomplete lists the sections.
/config hub — mutable settings
Unlike bare /config hub (a read-only panorama), the subcommands change hub settings at runtime — persisted in hub.db and read live by the gateway daemon (cross-process, no restart):
Precedence: setting (db) > env var > default.
/config hub reprints immediately after each set/reset, showing the new value and its source. Mutation requires local hub mode or /connect.
/websearch — Web Search Provider
Supported providers are keyless:
duckduckgo (default, HTML scraping), searxng (self-hosted via SEARXNG_URL), brave and mojeek (independent indexes, HTML scraping). Default chain: duckduckgo → searxng → brave → mojeek. See Web Tools for details.
Provider and Model Switching (/switch)
The
/switch --model (and /model) autocomplete fetches models directly from the provider’s API using the active token/key. Each suggestion shows [API] (dynamic) or [catalog] (static). /model and /max-tokens delegate to /switch, so they share exactly the same validation and behavior.
/provider is the navigable counterpart to the provider picker: type /provider and Enter to open the palette with the active providers (the current one marked), pick one and the switch is applied — the same switch logic as /switch, just by name instead of a numeric index.
Context Commands (@)
LLM-callable plugins (@<tool>)
Tools the agent can invoke via <tool_call> (in /agent, /coder modes). Full catalog in Plugin System and Atomic Tools.
Partial list — the full catalog (32 native tools) is auto-generated: run/plugin listin ChatCLI, or ask an agent for@tools list. Curated highlights live in Agentic Plugins.
Agent Mode — Actions
Sessions (/session)
When connected to a remote server, sessions can be saved/loaded locally, remotely, or both.
Persistent Contexts (/context)
Skills (/skill)
Command-Line Flags (One-Shot)
Subcommands
- chatcli server
- chatcli connect
- chatcli watch
Starts as a gRPC server for remote access.
Memory
Compaction and Rewind
/compact accepts a natural language instruction. Example: /compact preserve file paths and decisions.Keyboard Shortcuts
- Editing
- Paste