Skip to main content
rkat is designed for three main workflows:
  • interactive terminal use
  • scripts and CI
  • Unix pipes and chained command composition
The default path is prompt-first:
rkat "summarize this repository"
You can also use subcommands explicitly:
rkat run "summarize this repository"
rkat resume last "keep going"
rkat mob pack ./mobs/release-triage -o dist/release-triage.mobpack

Global flags

All commands accept the same realm and convention-root flags:
rkat [--realm <id>] [--isolated] [--instance <id>] \
  [--realm-backend <sqlite|redb|jsonl>] \
  [--state-root <path>] \
  [--context-root <path>] \
  [--user-config-root <path>] \
  <command>

Common commands

CommandPurpose
rkat <PROMPT>Run a task directly from the terminal
rkat run <PROMPT>Explicit form of the default prompt command
rkat resume <SESSION_ID> <PROMPT>Continue a saved session
rkat continue <PROMPT>Shortcut for resume last
rkat sessions ...Inspect, delete, or interrupt sessions
rkat config ...Read or update CLI/runtime config
rkat mcp ...Manage local/project MCP server config
rkat mob ...Pack, inspect, validate, deploy, and build mob artifacts
rkat skills ...Inspect available skills
rkat models catalogList available models with provider profiles
rkat capabilitiesShow runtime capabilities
rkat doctorCheck local setup and common prerequisites
rkat initCreate project config from the global template

Prompt-first usage

rkat [OPTIONS] <PROMPT>
rkat run [OPTIONS] <PROMPT>
Examples:
rkat "summarize this repository"
cat story.txt | rkat "summarize the story"
git diff | rkat --json "review these changes"
tail -f app.log | rkat --stdin lines "watch for incidents"
rkat -t workspace "fix the failing test"
rkat --yolo --param temperature=0.2 "take the gloves off"

Common run flags

  • -m, --model <MODEL>
  • -p, --provider <anthropic|openai|gemini>
  • -o, --output <text|json>
  • --json
  • -s, --stream
  • --no-stream
  • -d, --max-duration <DURATION>
  • --max-tool-calls <N>
  • -t, --tools <safe|workspace|full|none>
  • --yolo
  • --param <KEY=VALUE> repeatable
  • --params-json <JSON>
  • --schema <FILE_OR_JSON>
  • --allow-tool <TOOL> repeatable
  • --block-tool <TOOL> repeatable
  • --stdin <auto|blob|lines|off>
  • --line-format <text|json>
  • --wait-for-mcp

Tool presets

rkat uses presets instead of many enable/disable booleans.
PresetMeaning
safeBuiltins, skills, configured MCP, delegated-work-safe tools; no shell
workspacesafe plus shell access
fullAll CLI-side capabilities, including memory and mob tools
noneNo tools
--yolo is an alias for --tools full.

Provider and structured output controls

Use --param for common tuning and --params-json as the escape hatch:
rkat -m claude-sonnet-4-5 \
  --param temperature=0.2 \
  --param max_output_tokens=4000 \
  "triage this incident"
Structured output is file-friendly:
rkat --schema ./triage.schema.json "extract issues from this diff"
--json is a convenience alias for --output json.

Streaming defaults

  • In a TTY, text output streams by default.
  • In pipes and scripts, streaming is off by default.
  • JSON output stays non-streaming by default so stdout remains valid JSON unless --stream is explicitly requested.

Stdin modes and Unix pipes

rkat treats piped stdin as a first-class interface:
  • auto default: if stdin is piped, read it as one blob of context
  • blob: always read full stdin to EOF before running
  • lines: keep stdin open and process one line at a time
  • off: ignore stdin even if something is piped in
Batch blob mode:
cat story.txt | rkat "summarize the story"
git diff | rkat "review these changes"
cat notes.txt | rkat "extract action items" | rkat "group these by owner"
Live line mode:
tail -f app.log | rkat --stdin lines "watch for incidents and call them out"
--line-format json treats each incoming line as JSON instead of plain text.

resume

rkat resume [OPTIONS] <SESSION_ID> <PROMPT>
Examples:
rkat resume last "keep going"
rkat resume ~2 "pick this thread back up"
cat notes.txt | rkat resume last "merge these notes into the plan"
tail -f app.log | rkat resume last --stdin lines "watch for new incidents"
SESSION_ID accepts:
  • a full UUID
  • a short prefix
  • last
  • ~N
Resume supports the same stdin model as run, plus per-turn tool overlays and provider params.

continue

rkat continue [OPTIONS] <PROMPT>
rkat c [OPTIONS] <PROMPT>
Shortcut for rkat resume last <PROMPT>.

sessions

rkat sessions list [--limit <N>] [--label <KEY=VALUE>]
rkat sessions show <SESSION_ID>
rkat sessions delete <SESSION_ID>
rkat sessions interrupt <SESSION_ID>
This is the human/operator session surface. CLI-internal control-plane session APIs are not exposed here.

config

rkat config get [--format toml|json]
rkat config set <FILE>
rkat config patch <JSON_OR_FILE>
Examples:
rkat config get --format toml
rkat config set ./.rkat/config.toml
rkat config patch '{"agent":{"model":"gpt-5.2"}}'

mcp

rkat mcp is for local and project configuration only.
rkat mcp add <NAME> [--transport stdio|http|sse] [--scope project|user] [-H KEY:VALUE...] [-e KEY=VALUE...] (--url <URL> | -- <CMD...>)
rkat mcp remove <NAME> [--scope project|user]
rkat mcp list [--scope project|user|all] [--json]
rkat mcp get <NAME> [--scope project|user|all] [--json]
Examples:
rkat mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem .
rkat mcp add linear --transport http --url https://mcp.example.com
rkat mcp list --scope all
rkat mcp get filesystem --scope project

mob

rkat mob is the artifact and deployment surface, not a manual runtime-control console.
rkat mob pack <DIR> -o <OUT.mobpack> [--sign <KEY_FILE>]
rkat mob inspect <PACK.mobpack>
rkat mob validate <PACK.mobpack>
rkat mob deploy <PACK.mobpack> <PROMPT> [--trust-policy <permissive|strict>] [--surface <cli|rpc>]
rkat mob web build <PACK.mobpack> -o <OUT_DIR>
rkat mob run-flow <MOB_ID> --flow <FLOW_ID> [--params <JSON>] [--stream]
rkat mob flow-status <MOB_ID> <RUN_ID>
rkat mob spawn-helper <MOB_ID> <PROFILE_ID> [--model <MODEL>]
rkat mob fork-helper <MOB_ID> <SOURCE_MEMBER_ID> [--fork-context <full|last-n>]
rkat mob member-status <MOB_ID> <MEERKAT_ID>
rkat mob force-cancel <MOB_ID> <MEERKAT_ID>
rkat mob respawn <MOB_ID> <MEERKAT_ID>
Examples:
rkat mob pack ./mobs/release-triage -o dist/release-triage.mobpack
rkat mob inspect dist/release-triage.mobpack
rkat mob validate dist/release-triage.mobpack
rkat mob deploy dist/release-triage.mobpack "triage the latest release regressions"
rkat mob web build dist/release-triage.mobpack -o dist/release-triage-web

Trust policy

  • --trust-policy strict rejects unsigned packs and unknown signers
  • --trust-policy permissive allows unsigned packs with warnings but still rejects invalid signatures

Web build prerequisites

cargo install wasm-pack
wasm-pack --version
Optional overrides:
  • RKAT_WASM_PACK_BIN
  • RKAT_WEB_RUNTIME_CRATE_DIR

skills

rkat skills list [--json]
rkat skills inspect <ID> [--source <SOURCE>] [--json]

models

rkat models catalog [--json]
Lists all available models grouped by provider, including display name, tier, context window, max output tokens, and profile capabilities (temperature, thinking, reasoning support). Data is compiled from the meerkat-models catalog.

capabilities

rkat capabilities
Shows status for compiled/runtime capabilities.

doctor

rkat doctor
Checks:
  • config readability
  • common provider API keys
  • MCP config loading
  • wasm-pack availability for mob web build

init

rkat init
Creates .rkat/config.toml from the global template.