Skip to main content
Quick reference for all ChatCLI commands and flags.

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:
Tab on /reflect retry or /reflect purge queries the live DLQ and shows IDs with task preview + last error.

/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.
The panorama shows a numeric summary (“MCP servers: 2 (6 tools)”, “Hooks: 3”, “Web search chain: duckduckgo → searxng”) and lists the available sections in the footer. Use /config <section> for full detail.

/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.
The /model, /provider and /max-tokens shorthands appear in the command menu (<TAB> after /) and have their own autocomplete — /model <TAB> suggests the active provider’s models, /provider <TAB> lists the providers and /max-tokens <TAB> offers presets (0, 1024, 4096, 8192, 16384, 32768).

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 list in 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

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