Cremind
Using CremindCLI

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

CommandAliasesWhat it does
cremind chatOpen an interactive full-screen chat REPL that streams the agent's thinking, text, and tool output.
cremind convconversationList, create, fetch, rename, and delete conversations; send messages, stream or attach to runs, and cancel them.
cremind profileList, create, inspect, and delete profiles; read and edit each profile's persona text and skill mode.
cremind meDecode the current token and print the profile, expiry, and working directories it authorizes.
cremind toolstoolList and configure the tools the agent can call (built-in, intrinsic, A2A, MCP, skill).
cremind agentsagentRegister and manage external A2A peer agents and MCP servers.
cremind llmConfigure LLM providers, browse their models, assign the high/low model groups, and run device-code auth.
cremind configInspect, override, and reset per-profile reasoning-agent settings.
cremind channelsList, add, pair, and delete external messaging channels, and dump the channel catalog.
cremind file-watchersfile-watcher, fwRegister filesystem watches that trigger agent actions, list and delete them, and tail watcher events.
cremind skill-eventseventsManage skill event subscriptions, simulate events, tail notifications, and control listener daemons.
cremind procprocessList, inspect, and control long-running processes, and manage autostart registrations.
cremind setupHeadless 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:

VariableDefaultPurpose
CREMIND_TOKEN(none)The JWT the CLI authenticates with. Determines which profile your commands act as.
CREMIND_SERVERhttp://localhost:1112The 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 me

A 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.

On this page