Commands
Every orion command, from the same text orion help prints. How the commands fit together is on the architecture page.
Configurationβ
orion config interactive setup for Jira, Slack and webhooks
orion config show what is set, where it came from, secrets masked
orion config path print the config file location
orion config agents interactive: name, model and effort per agent, by menu
(global -- one roster, shared by every project)
orion config agents --reset [id...] reset one, some, or every agent to shipped defaults
orion config limits show the circuit breakers and where each value came from
orion config limits KEY N set one, e.g. limits max_concurrent_tickets 3
orion config collect show how work lands, and what each switch costs
orion config collect K B set one, e.g. collect batch_integration true
Adopt an existing repoβ
orion init [--plan-gate] config, artifact dirs and hooks, idempotent
Starting something newβ
orion new "<idea>" interview you about the idea, then create the
tracker project that orion plan designs from
(interactive; creates no workspace)
Workspacesβ
orion answer <id> resolve the open questions blocking a workspace
orion ls list workspaces
orion open <id> print a workspace path (use with cd)
orion rm <id> remove a workspace
Runningβ
orion provision <id> create the remote repo, branches, and tracker
orion plan <KEY> the planning chain: toolkit, intent, constitution,
spec, plan, analyze, scaffold, remote, decompose,
release, clone -- resumes where it stopped
(--from STEP re-runs from a step, --org NAME,
--release vX.Y.Z, --dry-run says what would run;
--yes runs the whole chain with no terminal and
answers every pause itself, creating the remote
and the ticket tree: what the web page runs)
orion decompose <KEY> [f] create the Epic, Story and Task tree from a
/speckit-tasks tasks.md: the whole tree is
previewed and one answer creates it. Links what a
previous run made rather than duplicating it.
Jira only for now; the decompose STAGE still uses
the configured skill on every tracker
orion run <id> [--stage S] supervise a sandboxed claude run in a workspace
orion status show this repo: branch, hooks, Jira, Slack, spend
orion status <id> show stage, breaker state and last run
orion work <KEY> [KEY...] work tickets, in the order given
(--verbose adds the agent's tool-call lines;
they are in the event log either way)
orion queue what the watcher would pick up, in order (read-only)
orion queue add <KEY>... queue tickets: keys and inclusive ranges, e.g.
KEY-1 KEY-10..KEY-15 (--project KEY; --reset to
requeue a failed ticket and return it to To Do)
orion queue remove <KEY>... take tickets out of the queue; status and
fixVersion are left alone
orion prioritise <KEY>... reorder the queue: the tickets named are worked in
the order given (--project KEY). Refuses tickets
that are not queued, and a set whose priorities
differ, rather than writing an order the queue
would not show
orion approve <KEY> [--reject] [--reason <text>]
record your decision on a ticket's merge request
without a Slack reaction. An approval needs
collect.allow_local_approval in orion.json; a
rejection is always accepted and beats every
approval. The next collect pass acts on it
orion new --answers <file.json>
create the tracker project from answers in a file
instead of an interview: the same questions, with
confirm_name set to the project name typed exactly
orion confirm-plan <PROJECT> <RECORD> [--reject] [--reason <text>]
the same for a pending recommendation (the name
it was filed under); the stage that asked turns
it into a decision the next time it runs
orion request-plan-changes <KEY> <text>
record what you want changed about the plan; the
plan stage reads it on its next run. Everything
after the key is the feedback, verbatim
orion dashboard whether coding is outrunning integration: queue
depth, batch cost, CI runs saved (read-only)
orion web [--port N] serve the run view on 127.0.0.1 and print its URL
(default port 7061; --port 0 asks for a free one)
orion routes which marker sends a ticket to which actor, and
which actors are reached another way (read-only)
orion watch [PROJECT...] run the queue by itself: work, collect, repeat.
Full-screen on a terminal; every line is also kept
in ~/.orion/logs/watch-*.log (--plain for the
scrolling log, --once, --interval S, --max-jobs N,
--dry-run, --max-minutes N, --max-turns N,
--verbose for the full tool-call stream).
Ctrl-C lets running tickets finish; a second
Ctrl-C stops now and puts them back in the queue
orion collect [KEY...] finish tickets awaiting CI: close, refresh, prune
(--dry-run for verdicts only, --no-prune, --no-fix)
orion protect require the checks CI actually runs, and that
branches be up to date before merging
(--branch B, --dry-run; run once CI has run once)
orion repos project key -> repository, as adoption recorded it
orion repos unbind <KEY> forget one mapping
orion sandbox where agents actually worked: clones and worktrees
orion sandbox <KEY> one ticket's worktree: branch, commits, dirt
orion sandbox <KEY> --code open it in VS Code
orion sandbox <KEY> --shell start a shell in it
orion sandbox <KEY> --path print the path only (use with cd)
orion sandbox prune remove worktrees whose branch is merged and clean
orion slack test [KEY] send a real message and report exactly what breaks
Guardrailsβ
orion doctor [--fix] preflight: tools, auth, sandbox, config
--fix fetches nj-agents if it is missing
orion reset --session <id> clear a tripped breaker after human review
orion reset --held [fault] re-check the environment and release held tickets
orion fix start|end mark a bug fix, protecting the failing test
orion settle <KEY> unstick a ticket's worktree: report what is
blocking its branch and commit it, so collect can
rebase again (--dry-run to look first)
orion dba [KEY] ["<q>"] put a database question to the database architect:
schema, migrations, indexes, why a query is slow.
Works with no ticket -- a performance complaint
usually precedes one. It PROPOSES: it changes
nothing, runs no migration, and only ever reaches
the non-production database in dba.non_prod_dsn
For an agent inside a runβ
orion explore "<q>" ["<q>"] answer questions about this repository, each in a
subagent's context, citing the paths. Several run
concurrently, so ask them together (--repo DIR)
orion fan <plan.json> write several independent Go packages at once, one
subagent each. Refuses -- and says work serially --
unless the packages are genuinely independent
Dependenciesβ
orion njagents status where nj-agents is, which commit, how stale
orion njagents update fast-forward Orion's own clone, if it has one
orion njagents install wire Orion's clone into a dir (only if no global)
Releasing (run by a person; orion watch has no path to any of it)β
orion release what the milestone verbs are; acts on nothing
orion release verify vX.Y.Z the five promotion checks, reporting only
orion release ship vX.Y.Z promote work -> release behind a Slack
approval, then tag, build and publish
orion release ship vX.Y.Z --beta prerelease from the work branch:
no promotion, and no tap or bucket
orion release ship vX.Y.Z --dry-run print what would ship, then stop
Monitoringβ
orion changelog --version vX.Y.Z collate .changelog.d/ fragments into CHANGELOG.md
orion changelog [--version vX.Y.Z] no fragments: generate from commits (nj-agents)
orion report [KEY] [--since 7d] digest: failures, workspaces, budget, usage
orion report --notify also send it to ORION_NOTIFY_WEBHOOK (Slack)
orion logs <KEY> [-f] what Orion is doing, live (KEY or KEY-6)
orion logs <KEY> --actor implementer only that role's lines
orion logs <KEY> --transcript the raw agent output instead
orion aiops <KEY> read a FINISHED run's event log and report what is
worth filing, with draft tickets. Proposes only --
it never creates anything (--no-agent for rules only)
Budget (rolling 7 days, your limit, not your plan's)β
orion budget status spend, tokens and the next checkpoint
orion budget ack [pct] confirm a checkpoint and continue
Memory (shared across every project)β
orion lessons add "<text>" record a correction so it is not repeated
orion lessons list show what Orion has learned, and its scope
orion lessons pending lessons Orion proposed, awaiting your yes or no
orion lessons approve <sig> record a proposed lesson
orion lessons reject <sig> discard one, and never propose it again
orion lessons retire "<t>" stop injecting a lesson
Hooks (invoked by Claude Code, not by hand)β
orion hook breaker loop, failure and budget circuit breaker
orion hook gate shell command gate: prod deploy, push safety
orion hook shield file write gate: protected paths, tests, plan
orion hook session-start reset per-session counters
orion version
orion config in fullβ
orion config interactive setup for Jira, Slack and webhooks
orion config show what is set, where it came from, secrets masked
orion config path print the config file location
orion config agents interactive: name, model and effort per agent, by menu
(global -- one roster, shared by every project)
orion config agents --list print the roster: every agent's effective model and
effort, and which of them agents.json overrides
orion config agents --reset [id...] reset one, some, or every agent to shipped defaults
orion config limits show the circuit breakers and where each value came from
orion config limits KEY N set one, e.g. limits max_concurrent_tickets 3
(writes the project's orion.json -- the same file
the watcher reads; a running watcher keeps its own)
Internal commandsβ
Not in orion help: Orion itself, or an agent inside a run, calls these.
| Command | What it is for |
|---|---|
orion clone | copy a workspace's repository out of Orion's sandbox to an ordinary checkout; orion plan's clone step does the same |
orion conflict | orion conflict verify: check a merge resolution for dropped changes |
orion idea | read and fill a discovery idea's own fields (fields, then set); an agent runs it during the intent stage |
orion update-check | the detached child that refreshes Orion's update cache; prints nothing |