CLI overview
Every cremind subcommand at a glance, plus the CREMIND_TOKEN and CREMIND_SERVER environment variables and the global --json flag.
The cremind command-line tool is the terminal-side counterpart to the web UI. cremind chat opens a streamed full-screen chat REPL; the rest of the command groups give you full administrative control over profiles, conversations, tools, agents, LLM configuration, channels, processes, file watchers, skill events, and first-run setup. Almost every command mirrors a control on a web UI page, so you can switch between the two without losing your place.
Run cremind --help to list every command, or cremind <command> --help for a group's subcommands.
Commands
| Command | Aliases | What it does |
|---|---|---|
cremind chat | Open an interactive full-screen chat REPL that streams the agent's thinking, text, and tool output. | |
cremind conv | conversation | List, create, fetch, rename, and delete conversations; send messages, stream or attach to runs, and cancel them. |
cremind profile | List, create, inspect, and delete profiles; read and edit each profile's persona text and skill mode. | |
cremind me | Decode the current token and print the profile, expiry, and working directories it authorizes. | |
cremind tools | tool | List and configure the tools the agent can call (built-in, intrinsic, A2A, MCP, skill). |
cremind agents | agent | Register and manage external A2A peer agents and MCP servers. |
cremind llm | Configure LLM providers, browse their models, assign the high/low model groups, and run device-code auth. | |
cremind config | Inspect, override, and reset per-profile reasoning-agent settings. | |
cremind channels | List, add, pair, and delete external messaging channels, and dump the channel catalog. | |
cremind file-watchers | file-watcher, fw | Register filesystem watches that trigger agent actions, list and delete them, and tail watcher events. |
cremind skill-events | events | Manage skill event subscriptions, simulate events, tail notifications, and control listener daemons. |
cremind proc | process | List, inspect, and control long-running processes, and manage autostart registrations. |
cremind setup | Headless first-run setup — check status, mint the first admin token, and read/write server-wide config. |
Authentication and server
Most commands talk to the server as a profile, identified by a JWT in an environment variable:
| Variable | Default | Purpose |
|---|---|---|
CREMIND_TOKEN | (none) | The JWT the CLI authenticates with. Determines which profile your commands act as. |
CREMIND_SERVER | http://localhost:1112 | The Cremind server the CLI connects to. |
You obtain your first token through setup. On a fresh server, cremind setup complete is the only unauthenticated way to mint a token; it prints the JWT and the recommended export line:
export CREMIND_TOKEN=$(cremind setup complete --json-file bootstrap.json --json | jq -r .token)After that, confirm which profile you are acting as at any time with:
cremind meA handful of cremind setup subcommands (status, complete, reset-orphaned) are deliberately unauthenticated — they are how you obtain a token in the first place. Every other command in the CLI requires a valid CREMIND_TOKEN.
The global --json flag
Every command accepts a root-level --json flag. Without it, commands render human-friendly tables and key/value output. With it, they emit the server's raw JSON, ready to pipe into a tool like jq:
cremind llm providers list --json | jq -r '.[] | select(.configured==false) | .name'A few commands treat --json as a no-op because they are inherently interactive — cremind chat, for example, always renders its TUI. For machine-readable streaming use cremind conv send --json or cremind conv attach --json instead.