The Cognithor CLI is what you use to install, start, inspect, and control the daemon. It has two surfaces: the top-level cognithor binary you run from a shell, and the slash commands (/audit, /memory, /channel, /skill, ...) you type inside a running session. Both are documented here.
Top-level commands
cognithor init
Run once after install. Creates ~/.jarvis/, generates the default config, initializes the vault, probes the available Ollama models, generates the per-session API token.
Flags:
--config <path>— use a non-default config file path--force— overwrite an existing~/.jarvis/(dangerous; backs up the old directory as~/.jarvis.bak-<timestamp>)--model <name>— skip the model probe and use the named model
cognithor (no subcommand)
Start the daemon in interactive CLI mode. This is the default — equivalent to cognithor run.
Flags:
--config <path>— config file (default:~/.jarvis/config.yaml)--log-level <level>— one ofdebug,info,warn,error(default:info)--no-cli— start the daemon without an interactive prompt (useful with--api-portfor headless service mode)--api-port <port>— REST API port (default: 8741)--lite— load only the core modules, skip slow-start features (Evolution, ARC, etc.)--init-only— run the bootstrap and exit without starting the daemon
cognithor stop
Ask a running daemon to flush and exit. Equivalent to Ctrl+C once inside the interactive CLI. If no daemon is running, this is a no-op.
cognithor version
Print the version and exit. Also available as --version.
cognithor model list
List the LLM models the daemon can see. Shows which model is assigned to each role (planner, gatekeeper, executor, router) and how much RAM each one loads.
cognithor model set <role> <model>
Assign a model to a role. Example: cognithor model set planner qwen3:7b.
Persists to the config file. Takes effect the next time the daemon starts — or immediately if run inside a running session via /model set.
cognithor skill list
Print every installed skill with its source (builtin, generated, community, user), version, and enabled/disabled state.
cognithor skill enable <name> / disable <name>
Toggle a skill on or off. Disabled skills remain installed but do not enter the Planner's context. Useful when a community skill regresses and you want to keep using an older version.
cognithor vault list
List files indexed in the vault tier, with paths relative to the vault root.
cognithor vault ingest <path>
Add a file or directory to the vault index. Supports .md, .txt, .pdf, .docx, .html, and plain text with common source-code extensions.
cognithor update
Explicitly check for a new Cognithor release and upgrade the binary. There is no automatic background check — this command runs only when you invoke it. The upgrade path preserves your ~/.jarvis/ directory.
Slash commands (inside the running daemon)
Slash commands work in any channel that supports them — CLI, Telegram, Discord, Slack, WebUI. The syntax is identical across channels.
/help
Print the available slash commands for the current context.
/audit last / /audit tail <n> / /audit search <query>
Inspect the Gatekeeper's audit log. last shows the most recent entry with full reasoning. tail 10 shows the last 10 entries as a compact list. search <query> filters by rule name, tool name, or classification.
/memory status
Print per-tier memory counts and disk usage.
/memory tier <name> show [<n>]
Show the last n entries in a specific tier (default 20). Tier names: chat, episode, vault, identity, tactical, entity.
/memory tier <name> delete <id>
Delete a specific memory entry. Requires confirmation. Used mainly for curating the Identity tier — removing outdated preferences or accidentally captured facts.
/channel list
List every channel, its enabled/disabled state, and its connection status.
/channel enable <name> / disable <name>
Toggle a channel. Enabling walks you through whatever setup the channel needs (token, OAuth, pairing code).
/channel status <name>
Per-channel details — recent messages, errors, rate-limit state.
/skill list / enable / disable
Same as the top-level cognithor skill commands, inside a running session.
/skill use <name>
Activate a skill for the current conversation. The skill's prompt is added to the Planner's context and the Tool Enforcer applies the skill's allowlist.
/skill test <name> "<prompt>"
Run a skill against a synthetic prompt and print the PGE trace without committing any tool calls. See Writing a Skill.
/model list / /model set <role> <model>
Slash equivalents of cognithor model list / set. Takes effect immediately.
/config get <key> / /config set <key> <value>
Read or write config values. Writes are persisted to ~/.jarvis/config.yaml.
/quit / /exit
Flush memory tiers to disk and exit the daemon cleanly. Equivalent to one Ctrl+C.
Environment variables
A handful of env vars override or supplement the config file. Use these for per-invocation tweaks or in service-mode deployments.
| Variable | Default | Purpose |
|---|---|---|
COGNITHOR_HOME |
~/.cognithor |
Where Cognithor stores state |
COGNITHOR_CONFIG |
$COGNITHOR_HOME/config.yaml |
Config file path |
COGNITHOR_LOG_LEVEL |
info |
Log verbosity |
COGNITHOR_API_TOKEN |
(auto-generated) | REST API bearer token |
COGNITHOR_LANGUAGE |
de |
Locale for user-facing strings |
OLLAMA_HOST |
http://localhost:11434 |
Ollama endpoint override |
OLLAMA_CONTEXT_LENGTH |
8192 |
Context window size — do not increase blindly, large values blow up the KV cache |
Setting any of these in the shell before cognithor takes precedence over the config file for that invocation.
Backward compatibility: the pre-v0.87.0 JARVIS_* names (e.g. JARVIS_HOME, JARVIS_CONFIG) are still accepted as aliases and are read if the COGNITHOR_* variant is not set. New setups should use the COGNITHOR_* names.
Exit codes
| Code | Meaning |
|---|---|
| 0 | Clean exit |
| 1 | Generic error |
| 2 | Invalid arguments |
| 3 | Config file error |
| 4 | Ollama unreachable |
| 5 | Vault corruption |
| 130 | Interrupted (Ctrl+C) |
A non-zero exit in service mode is a crash and should trigger whatever supervisor you use (systemd, launchd, Windows Service Manager) to restart the daemon.
What's next
- Install — if you haven't yet
- First Run — the 10-minute tour
- Architecture Overview — what each subsystem does