Every kirocrew subcommand, grouped by what it does. Run kirocrew <cmd> --help for the authoritative flag list on your installed version — this page reflects the current shape.
Applies to every subcommand.
| Flag | Purpose |
|---|---|
--port <n> | Override the gateway port (default: KIROCREW_PORT or 5476) |
--home <path> | Override the data home (default: KIROCREW_HOME or ~/.kiro/crew) |
--verbose | Increase logging verbosity |
--help | Show help for the subcommand |
--version | Print kirocrew version and exit |
Environment variables the CLI respects:
| Variable | Default | Purpose |
|---|---|---|
KIROCREW_HOME | ~/.kiro/crew | Data directory |
KIROCREW_PORT | 5476 | Gateway port |
KIROCREW_EMBED_MODEL_URL | (CDN) | Override embedding-model download URL |
KIROCREW_ALLOW_UNSANDBOXED | (unset) | In Docker, explicitly allow agent exec without the inner sandbox |
Interactive wizard. Prompts for data directory, agent backend, and (optionally) Slack tokens. Skip Slack tokens to run in dashboard-only mode.
kirocrew setup kirocrew setup --agent-only # only redo the agent config kirocrew setup --agent-only --clean # nuke and rebuild MCP config
Health check. Reports the status of every subsystem:
kiro-cli binary discovery and loginStart the server. Blocks in the foreground until Ctrl+C.
kirocrew gateway # → http://localhost:5476 kirocrew gateway --port auto # OS-assigned port; prints KIROCREW_READY:{...} kirocrew gateway --port 6777 # custom port kirocrew gateway --no-crons # skip the cron scheduler (multi-instance setups) kirocrew gateway --test-mode # ephemeral port + json-ready + reads-only approval kirocrew gateway --approval reads # auto-approve read-only tools kirocrew gateway --approval yolo # auto-approve ALL tools (requires non-default KIROCREW_HOME)
Stop or restart the running gateway. Atomic on systemd; unload + load on launchd.
Tail live gateway logs.
kirocrew logs # last 200 lines kirocrew logs -f # follow kirocrew logs -n 500 # last 500 lines
Register as a system service so the gateway survives SSH disconnects and auto-restarts on crash.
kirocrew service install # systemd (Linux) or launchd (macOS) kirocrew service status kirocrew service uninstall
Self-update. git pull + rebuild + pip install -e . + execv restart.
Mint a short-lived dashboard login link. Print the URL.
kirocrew token --ttl 2h # 2-hour token kirocrew token --port 6777 # for a specific gateway port
Interactive REPL or one-shot.
kirocrew chat # REPL kirocrew chat "one-shot query" # one-shot; prints response kirocrew chat --agent reviewer # use a named agent kirocrew chat --json # machine-readable output echo "prompt" | kirocrew chat # headless stdin
Slash commands inside the REPL: /compact, /model, /incognito, /clear, /help, /exit.
Run a task from a spec file.
kirocrew run TASK.md # auto-resume from checkpoint kirocrew run TASK.md --fresh # ignore checkpoint, start over kirocrew run TASK.md --no-test # skip test verification kirocrew run TASK.md --timeout 3600 # global timeout kirocrew run TASK.md --agent <name> # use a named agent
Show status of active task runs.
Cancel a task run.
kirocrew run cancel <task_id> # specific task kirocrew run cancel # all running tasks
Create a scheduled job.
kirocrew cron add "name" "prompt" --cron "0 9 * * 1-5" kirocrew cron add "name" "prompt" --every 300
Flags:
| Flag | Purpose |
|---|---|
--cron "<expr>" | Standard cron expression (mutually exclusive with --every) |
--every <secs> | Interval in seconds |
--timezone "<tz>" | Per-job timezone (IANA name; defaults to UTC) |
--skip-dates "YYYY-MM-DD,..." | Exclude specific dates |
--timeout-secs <n> | Per-job timeout (default 1800) |
--agent <name> | Agent to run under |
--persistent-session | Reuse the same session across runs |
--silent | No notification unless the agent sends one |
--strict-schedule | Disable execution jitter |
kirocrew cron list kirocrew cron remove <job_id> kirocrew cron remove-all kirocrew cron pause <job_id> kirocrew cron resume <job_id> kirocrew cron trigger <job_id> # run once manually kirocrew cron update <job_id> --cron "0 10 * * *"
Spawn a background subagent.
kirocrew spawn run "check my open CRs" # blocking kirocrew spawn run --async "check CRs" # fire-and-forget kirocrew spawn run --agent reviewer "review X" kirocrew spawn run --cwd /path/to/project "..." # subagent runs in a specific dir
List active subagents with IDs, status, and elapsed time.
Add a lesson injected into every future session.
kirocrew learn add "always use TypeScript over JavaScript" kirocrew learn add "prefer pytest over unittest" --category tool kirocrew learn add "use exact-match on strings" --scope workspace
Categories: general, tool, style, workflow. Scopes: global (default), workspace.
kirocrew learn list kirocrew learn list --category tool kirocrew learn remove "prefer pytest"
Create a tarball backup of all state.
kirocrew snapshot # → ~/.kiro/crew/snapshots/ kirocrew snapshot ~/my-snapshots # custom dir kirocrew snapshot ~/my-snapshots --keep 3 # prune to 3 most recent kirocrew snapshot --list # list existing snapshots
Restore from a tarball.
kirocrew restore snapshot.tar.gz # auto-detect replace vs merge kirocrew restore snapshot.tar.gz --mode replace kirocrew restore snapshot.tar.gz --components memory,crons kirocrew restore snapshot.tar.gz --dry-run kirocrew restore --list-components # show valid components
kirocrew config get # print full config kirocrew config get agent.sandbox # print one key kirocrew config set dashboard.bot_name "X" # set a key kirocrew config unset dashboard.bot_name # remove a key kirocrew config edit # open in $EDITOR
Setting a value auto-triggers a session pool restart so the change takes effect immediately.
Toggle live-reload dev mode for an installed app.
kirocrew app dev my-app # turn on kirocrew app dev my-app --off # turn off
In dev mode, the gateway watches the app's ui/ directory and broadcasts an app_reload WebSocket event on any file change. The dashboard reloads the app immediately.
Generate a Slack app manifest.
kirocrew manifest # print YAML manifest to stdout kirocrew manifest --url # print a Slack "Create New App from manifest" URL kirocrew manifest -o slack.yaml # write manifest to a file
Runtime stats summary — message counts, tool calls, session metrics, subagent spawns.
kirocrew status kirocrew status --json
Run the multi-session evaluation harness.
kirocrew eval # smoke test kirocrew eval --all # every scenario kirocrew eval --scenario <name> # single scenario
Requires kirocrew gateway --test-mode running in another shell.
List apps addressable by the computer-use MCP tools (macOS only).
Human debug harness for computer-use tools. Runs the ten computer_* MCP tools through the same gated chokepoint. Not intended for LLM callers.
kirocrew computer call computer_list_apps kirocrew computer call --calls '[{"tool":"computer_click","args":{...}}]'
Inside a running Docker container:
docker exec kirocrew kirocrew token --ttl 2h # mint a login link docker exec -it kirocrew kiro-cli login # log in the agent runtime docker exec -u 0 kirocrew chown kirocrew:kirocrew <path> # fix ownership after docker cp
Invalidate the current dashboard token.
kirocrew setup && kirocrew doctor && kirocrew gateway
kirocrew setup --agent-only --clean
# on source kirocrew snapshot ~/migrate # copy tarball to new machine, then: kirocrew restore ~/migrate/snapshot-*.tar.gz kirocrew doctor
kirocrew service install kirocrew token --ttl 20h # open the printed URL on your local machine (via SSH tunnel or reverse proxy)
| Code | Meaning |
|---|---|
0 | Success |
1 | Generic error |
2 | Invalid arguments |
3 | Gateway not running (for CLI commands that need it) |
10 | Health-check failure (kirocrew doctor) |
kirocrew --help — top-level command listkirocrew <cmd> --help — subcommand-specific helpkirocrew doctor --verbose — full diagnostic output
CLI reference