CLI reference
Every Commission command, its arguments, and its options — walked from the commander
program itself, so this page and commission --help can never disagree.
Every command accepts --json for machine-readable output. Exit codes are the
contract: 0 ok, 1 error, 2 refusal, 3 not found. A refusal is not
a failure — it states what is missing and the exact command that fixes it, so an
agent can act on it without a human. See Concepts and the
vocabulary.
commission — the execution layer for software delivery — agents operate it, humans are asked only for judgment. Exit codes: 0 ok, 1 error, 2 refusal, 3 not found.
Commands
| command | what it does |
|---|---|
commission init | create a project and write .commission.json here |
commission vision | show or set the project charter (shown to agents in every bundle) |
commission rename | change what this project is called — task ids keep their current prefix |
commission add | add a single task (for whole graphs use ‘commission apply’) |
commission apply | atomically create/update a whole task graph from a JSON document |
commission bulk | create a whole graph from pasted text: an indented outline, or the apply document |
commission propose | draft a task graph for a person to accept — creates nothing until they do |
commission proposals | what has been proposed and not yet decided, or one proposal in full |
commission accept | turn a proposed graph into work — the one act an agent cannot take |
commission reject | decline a proposed graph — nothing is created, and the reason goes back |
commission define | emit the project-definition brief: idea → vision + task graph via apply |
commission next | pick the next ready task and print its full context bundle |
commission ready | the parallel frontier: everything workable right now, batched for safe fan-out |
commission show | full context bundle for a task |
commission start | begin work (auto-claims if unclaimed) |
commission review | mark ready for review |
commission done | complete (refused until criteria/gate evidence are satisfied) |
commission cancel | cancel — requires -m or —superseded-by (context is preserved, never destroyed) |
commission reopen | reopen a done/cancelled task |
commission claim | claim a specific task for this actor (claims are leases; expired ones are reclaimable) |
commission release | release a claim (yours or a stale one) — the lease only; ‘commission workspace release’ is what tears down the directory |
commission heartbeat | extend your lease on a task without changing its state |
commission evidence | attach completion evidence: commission evidence shop-12 pr=14 benchmark=https://… |
commission unevidence | remove attached evidence by id (shown in commission show) |
commission approve | accept a task as a human — required before done when autonomy is supervised |
commission verify | confirm as a human that something claimed is actually true |
commission need | declare that your own work is blocked until this task lands — Commission picks it next |
commission ask | escalate a judgement call to a human instead of guessing |
commission answer | record a human decision, and the reasoning behind it |
commission check | tick acceptance criterion n |
commission note | leave a session breadcrumb |
commission artifact | record something the work produced: a report, a dashboard, a runbook |
commission measure | record what the work moved: a name, a value, and what it was before |
commission inspect | what building this took: time, agents, proof, artifacts |
commission thread | what has been said on this goal, oldest first |
commission say | say something on a goal, to whoever else is working it |
commission step | move step n of the newest checklist on this goal: waiting, running, done, failed |
commission ack | record that you have looked at this — clears a forced closure from your inbox |
commission dep | add a dependency |
commission undep | remove a dependency |
commission criteria | manage acceptance criteria (tick with ‘commission check’) |
commission link | attach a reading-list reference |
commission unlink | remove a link by id (shown in commission show) |
commission goal | state what a goal is for: its objective, key results, metrics and constraints |
commission edit | edit task fields |
commission workspace | prepare, list, and release the workspace a task’s work happens in |
commission inbox | what needs your judgment: approvals, handoffs, stale claims, divergences — with the command that clears each |
commission export | derived markdown snapshot of the project (git-committable; DB stays the truth) |
commission standup | brief done / doing / blocked narrative (for humans on a call) |
commission board | project position: in-flight, ready, blocked, recent |
commission log | append-only event feed (the catch-up query) |
commission search | search titles, bodies, notes, decisions, evidence, Jira keys, commit refs and the log |
commission notifications | what commission told you, what it held back, and why — plus the preferences behind both |
commission doctor | self-diagnostics with exact remediation commands |
commission prime | print the agent operating manual (paste into CLAUDE.md) |
commission dump | full JSON export (backup / git snapshot) |
commission restore | restore a dump into this DB (refuses to merge existing projects) |
commission list | filtered task list (board shows position; this answers ‘which tasks match X’) |
commission context | the committed guidance commission versions alongside the work — what it is, and what changed |
commission config | inspect and edit .commission.json — the project’s committed configuration |
commission org | the organisation this request is acting in |
commission integrations | show or patch a project’s sync integrations |
commission actors | who works this project, and what each of them may claim, approve, and verify |
commission gates | show or edit gate profiles — the evidence a task must attach before done |
commission ownership | which system owns which field, and the sync preset that decides it |
commission bind | bind a task to an external object (the trigger for all sync machinery) |
commission unbind | remove a binding by id (shown in commission show) |
commission branch | canonical self-identifying branch name for a task (PRs from it auto-bind) |
commission sync | observe bound externals (PRs, Jira), canonicalize status, record divergences |
commission sync-github | attach merged-PR evidence automatically (scans via gh CLI; matches task ids and external keys) |
commission licence | show this machine’s licence: who it is for, what it entitles, and when it lapses |
commission import | run an import adapter (available: mega-docs, jira) |
commission migrate | apply pending database migrations, or report them with —check |
commission mcp | start the MCP server on stdio (register: claude mcp add commission — commission mcp) |
commission serve | start the HTTP API + human web view |
commission login | install this machine’s licence — a person does this once; agents inherit it |
commission logout | remove this machine’s licence (your data is untouched) |
commission whoami | who commission thinks you are, and what this machine is licensed for |
commission signin | sign this terminal in to a hosted instance — approve it in a browser |
commission signout | end this terminal’s session on the hosted instance |
commission user | accounts that can sign in to the dashboard |
commission completions | shell completions for bash, zsh, fish — generated from the live command tree |
Global options
| option | description |
|---|---|
-V, --version | output the version number |
-h, --help | display help for command |
commission init
create a project and write .commission.json here
commission init [options] <slug>| option | description |
|---|---|
--name <name> | project name |
--repo-path <path> | path to the repository on disk (default: "<current directory>") |
--vision-file <file> | markdown charter |
--gates <json> | gate profiles, e.g. ’{“tier1”:[“pr”],“tier2”:[“pr”,“benchmark”,“rollback”]}’ |
--no-config | do not write .commission.json |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission vision
show or set the project charter (shown to agents in every bundle)
commission vision [options]| option | description |
|---|---|
--set <text> | set vision text |
--set-file <file> | set vision from a markdown file |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission rename
change what this project is called — task ids keep their current prefix
commission rename [options] <name>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission add
add a single task (for whole graphs use ‘commission apply’)
commission add [options] <title>| option | description |
|---|---|
-p, --parent <id> | parent task id |
-d, --dep <id> | dependency (repeatable) |
-c, --criterion <text> | acceptance criterion (repeatable) |
--gate <name> | evidence gate profile |
--priority <n> | 0 (urgent) to 3 (someday), default 2 |
--severity <n> | 1 (worst) to 4 — distinct from priority |
--due <date> | ISO due date, e.g. 2026-07-25 |
--autonomy <level> | autonomous | supervised | human_only (default: the project’s) |
--preferred-actor <name> | who should do this (a bias, never a lock) |
--may-execute <role> | role or capability required to claim it (repeatable) |
--touches <glob> | paths this task will modify (repeatable, collision hint) |
--body <text> | markdown body |
--body-file <file> | markdown body from file (’-’ for stdin) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission apply
atomically create/update a whole task graph from a JSON document
commission apply [options]| option | description |
|---|---|
-f, --file <file> | document path (’-’ or omit for stdin) |
--dry-run | validate and preview the exact result, then roll back |
--schema | print the document JSON schema and exit |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission bulk
create a whole graph from pasted text: an indented outline, or the apply document
commission bulk [options]| option | description |
|---|---|
-f, --file <file> | the paste (’-’ or omit for stdin) |
--confirm | land it — without this, nothing is written |
--name <name> | project display name, if this creates the project |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission propose
draft a task graph for a person to accept — creates nothing until they do
commission propose [options]| option | description |
|---|---|
--intent <text> | what was asked for, in the words of whoever asked |
-f, --file <file> | the document: an indented outline or the apply JSON (’-’ or omit for stdin) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission proposals
what has been proposed and not yet decided, or one proposal in full
commission proposals [options] [id]| option | description |
|---|---|
--all | include the ones already accepted or rejected |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission accept
turn a proposed graph into work — the one act an agent cannot take
commission accept [options] <id>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission reject
decline a proposed graph — nothing is created, and the reason goes back
commission reject [options] <id>| option | description |
|---|---|
-m, --message <text> | what is wrong with it |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission define
emit the project-definition brief: idea → vision + task graph via apply
commission define [options] <slug>| option | description |
|---|---|
--name <name> | project display name |
--repo-path <path> | existing codebase on disk to ground the plan in |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission next
pick the next ready task and print its full context bundle
commission next [options]| option | description |
|---|---|
--claim | claim it atomically (recommended; parallel agents get distinct tasks) |
--lease <dur> | claim lease duration: 30m, 2h, 1d, 0=never (default: agentDefaults.lease, or 2h) |
--any | include tasks this actor may not claim (default: only eligible ones) |
--budget <tokens> | trim the context bundle to fit, dropping in a documented order |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission ready
the parallel frontier: everything workable right now, batched for safe fan-out
commission ready [options]| option | description |
|---|---|
--any | include tasks this actor may not claim (default: only eligible ones) |
--as <name> | evaluate eligibility as this actor instead of the current one |
--actor <name> | deprecated alias for —as |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission show
full context bundle for a task
commission show [options] <id>| option | description |
|---|---|
--budget <tokens> | trim the bundle to fit, dropping in a documented order |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission start
begin work (auto-claims if unclaimed)
commission start [options] <id>| option | description |
|---|---|
--force | override refusals (requires -m; logged in the event feed) |
-m, --message <text> | why the override is justified |
--if-version <n> | refuse unless the task is still at this version |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission review
mark ready for review
commission review [options] <id>| option | description |
|---|---|
--if-version <n> | refuse unless the task is still at this version |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission done
complete (refused until criteria/gate evidence are satisfied)
commission done [options] <id>| option | description |
|---|---|
--force | override refusals (requires -m; logged in the event feed) |
-m, --message <text> | why the override is justified |
--if-version <n> | refuse unless the task is still at this version |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission cancel
cancel — requires -m or —superseded-by (context is preserved, never destroyed)
commission cancel [options] <id>| option | description |
|---|---|
-m, --message <text> | why this is being cancelled |
--superseded-by <id> | the task that replaces this one |
--if-version <n> | refuse unless the task is still at this version |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission reopen
reopen a done/cancelled task
commission reopen [options] <id>| option | description |
|---|---|
--if-version <n> | refuse unless the task is still at this version |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission claim
claim a specific task for this actor (claims are leases; expired ones are reclaimable)
commission claim [options] <id>| option | description |
|---|---|
--lease <dur> | lease duration: 30m, 2h, 1d, 0=never expires (default: agentDefaults.lease, or 2h) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission release
release a claim (yours or a stale one) — the lease only; ‘commission workspace release’ is what tears down the directory
commission release [options] <id>| option | description |
|---|---|
--force | break someone else’s live lease — recorded as a forced release |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission heartbeat
extend your lease on a task without changing its state
commission heartbeat [options] <id>| option | description |
|---|---|
--lease <dur> | new lease duration: 30m, 2h, 1d, 0=never expires (default 2h) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission evidence
attach completion evidence: commission evidence shop-12 pr=14 benchmark=https://…
commission evidence [options] <id> <pairs...>| option | description |
|---|---|
--force | attach a value Commission refuses as a placeholder (requires -m; logged) |
-m, --message <text> | why the override is justified (required with —force) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission unevidence
remove attached evidence by id (shown in commission show)
commission unevidence [options] <evidenceId>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission approve
accept a task as a human — required before done when autonomy is supervised
commission approve [options] <id>| option | description |
|---|---|
-m, --message <text> | why it is acceptable — preserved for the next session |
--role <name> | which requirement this answers (when a task has several) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission verify
confirm as a human that something claimed is actually true
commission verify [options] <id>| option | description |
|---|---|
-m, --message <text> | why it is acceptable — preserved for the next session |
--role <name> | which requirement this answers (when a task has several) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission need
declare that your own work is blocked until this task lands — Commission picks it next
commission need [options] <id>| option | description |
|---|---|
-m, --message <text> | what you cannot do until it lands |
--resolved | you are no longer blocked on it |
--preempt-after <dur> | how long a mid-flight holder gets to finish its step (default 15m) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission ask
escalate a judgement call to a human instead of guessing
commission ask [options] <id>| option | description |
|---|---|
-m, --message <text> | the decision you cannot make |
--option <text...> | one choice; repeat it. Use this where a choice contains a comma |
--options <list> | comma-separated choices, for short ones |
--recommend <text> | the choice you would make — must be one of the options |
--because <text> | why you would choose it; required with —recommend |
--blocking | no agent may work this task until it is answered |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission answer
record a human decision, and the reasoning behind it
commission answer [options] <id>| option | description |
|---|---|
-m, --message <text> | the decision, and why |
--question <n> | which open question this answers |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission check
tick acceptance criterion n
commission check [options] <id> <n>| option | description |
|---|---|
--undo | untick |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission note
leave a session breadcrumb
commission note [options] <id>| option | description |
|---|---|
-m, --message <text> | |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission artifact
record something the work produced: a report, a dashboard, a runbook
commission artifact [options] <id>| option | description |
|---|---|
--report <name> | |
--dashboard <name> | |
--runbook <name> | |
--document <name> | |
--link <name> | |
--dataset <name> | |
--at <location> | a URL, or a path in the repository |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission measure
record what the work moved: a name, a value, and what it was before
commission measure [options] <id>| option | description |
|---|---|
--name <name> | what was measured |
--value <value> | what it is now |
--before <baseline> | what it was, when there is one worth comparing against |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission inspect
what building this took: time, agents, proof, artifacts
commission inspect [options] <id>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission thread
what has been said on this goal, oldest first
commission thread [options] <id>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission say
say something on a goal, to whoever else is working it
commission say [options] <id>| option | description |
|---|---|
-m, --message <text> | |
--step <text...> | a checklist to work through, one —step each |
--action <label> | what to call the control on a result |
--action-href <url> | where that control goes |
--suggest <text...> | a follow-up to offer, one —suggest each |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission step
move step n of the newest checklist on this goal: waiting, running, done, failed
commission step [options] <id> <n>| option | description |
|---|---|
--of <id> | a specific message, rather than the newest with a checklist |
--state <state> | |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission ack
record that you have looked at this — clears a forced closure from your inbox
commission ack [options] <id>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission dep
add a dependency
commission dep [options] <id>| option | description |
|---|---|
--on <depId> | task that must finish first |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission undep
remove a dependency
commission undep [options] <id>| option | description |
|---|---|
--on <depId> | the dependency to remove |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission criteria
manage acceptance criteria (tick with ‘commission check’)
commission criteria [options] [command]| option | description |
|---|---|
-h, --help | display help for command |
commission criteria add
append a criterion
commission criteria add [options] <id> <text...>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission criteria edit
rewrite criterion n
commission criteria edit [options] <id> <n> <text...>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission criteria rm
remove criterion n (positions re-pack)
commission criteria rm [options] <id> <n>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission link
attach a reading-list reference
commission link [options] <id>| option | description |
|---|---|
--doc <ref> | doc path |
--url <ref> | url |
--file <ref> | file path |
--note <text> | why it matters (default: "") |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission unlink
remove a link by id (shown in commission show)
commission unlink [options] <linkId>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission goal
state what a goal is for: its objective, key results, metrics and constraints
commission goal [options] <id>| option | description |
|---|---|
--objective <text> | the business objective (repeatable; replaces) |
--key-result <text> | a key result (repeatable; replaces) |
--metric <text> | a success metric (repeatable; replaces) |
--constraint <text> | a constraint to respect (repeatable; replaces) |
--clear <kind> | remove everything under one kind |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission edit
edit task fields
commission edit [options] <id>| option | description |
|---|---|
--title <text> | |
--body <text> | |
--body-file <file> | |
--priority <n> | |
--severity <n> | 1-4 (‘0’ clears) |
--due <date> | ISO due date (‘none’ clears) |
--start <date> | when work is meant to begin (‘none’ clears) |
--type <text> | what kind of goal this is — descriptive only (‘none’ clears) |
--parent <id> | set parent (‘none’ to clear) |
--assignee <name> | who owns this task (‘none’ to clear) — distinct from a claim, which is a lease |
--gate <name> | set gate (‘none’ to clear) |
--autonomy <level> | autonomous | supervised | human_only (‘none’ to inherit) |
--preferred-actor <name> | who should do this (‘none’ to clear) |
--may-execute <role> | replace required roles (repeatable; empty string clears) |
--touches <glob> | replace touches (repeatable) |
--if-version <n> | refuse unless the task is still at this version |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission workspace
prepare, list, and release the workspace a task’s work happens in
commission workspace [options] [command]| option | description |
|---|---|
-h, --help | display help for command |
commission workspace prepare
create or reuse a task’s workspace and print its descriptor — path, branch, env, ports
commission workspace prepare [options] <id>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission workspace release
tear a task’s workspace down through the same provider chain that built it
commission workspace release [options] <id>| option | description |
|---|---|
--force | authorise a destructive teardown — discards uncommitted work, and drops the record even if a step failed |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission workspace list
every prepared workspace: which task, where, and on what branch
commission workspace list [options]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission inbox
what needs your judgment: approvals, handoffs, stale claims, divergences — with the command that clears each
commission inbox [options]| option | description |
|---|---|
--actor <name> | whose inbox (default: the resolved actor) |
--all | every actor’s items, not just yours |
--limit <n> | maximum items (default 25) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission export
derived markdown snapshot of the project (git-committable; DB stays the truth)
commission export [options]| option | description |
|---|---|
--out <file> | write to a file instead of stdout |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission standup
brief done / doing / blocked narrative (for humans on a call)
commission standup [options]| option | description |
|---|---|
--days <n> | look-back window for done items (default 7) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission board
project position: in-flight, ready, blocked, recent
commission board [options]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission log
append-only event feed (the catch-up query)
commission log [options]| option | description |
|---|---|
--after <cursor> | events after this event id — the reliable resumability cursor |
--since <iso> | events at/after this ISO timestamp (human convenience; prefer —after) |
--last <n> | last n events (default 30) |
--task <id> | events for one task |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission search
search titles, bodies, notes, decisions, evidence, Jira keys, commit refs and the log
commission search [options] <query...>| option | description |
|---|---|
--raw | pass the query to FTS5 verbatim, syntax and all |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission notifications
what commission told you, what it held back, and why — plus the preferences behind both
commission notifications [options]| option | description |
|---|---|
--digest | the same window collapsed to one line per project per kind |
--preferences | what is in force: routes, channels, and quiet hours by project category |
--days <n> | how far back to look (default 14) |
--limit <n> | maximum rows (default 50) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission doctor
self-diagnostics with exact remediation commands
commission doctor [options]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission prime
print the agent operating manual (paste into CLAUDE.md)
commission prime [options]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission dump
full JSON export (backup / git snapshot)
commission dump [options]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission restore
restore a dump into this DB (refuses to merge existing projects)
commission restore [options]| option | description |
|---|---|
-f, --file <file> | |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission list
filtered task list (board shows position; this answers ‘which tasks match X’)
commission list [options]| option | description |
|---|---|
--status <status> | open, in_progress, in_review, done, cancelled (repeatable) |
--actor <name> | tasks this actor holds a claim on or owns (assignee) |
--gate <name> | tasks carrying this gate profile |
--sprint <name> | tasks in this sprint |
--due <date> | tasks due on or before this ISO date |
--parent <id> | children of this task |
--limit <n> | maximum rows (default 50) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission context
the committed guidance commission versions alongside the work — what it is, and what changed
commission context [options] [command]| option | description |
|---|---|
-h, --help | display help for command |
commission context show
every tracked guidance file with its hash and when commission last saw it, plus the project fingerprint
commission context show [options]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission context status
deprecated alias for ‘commission context show’ — ‘status’ means a task’s lifecycle state
commission context status [options]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission context diff
what guidance changed since a fingerprint — added, changed, removed (default: what you claimed under)
commission context diff [options] [fingerprint]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission config
inspect and edit .commission.json — the project’s committed configuration
commission config [options] [command]| option | description |
|---|---|
-h, --help | display help for command |
commission config show
the fully merged, effective configuration
commission config show [options]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission config validate
check a config file — exit 0 if valid, 2 if not (use it in CI)
commission config validate [options] [file]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission config explain
the value, the layer that set it, and every layer it overrode
commission config explain [options] <key>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission config init
write a minimal .commission.json for this repo
commission config init [options] [slug]| option | description |
|---|---|
--force | overwrite an existing config |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission config migrate
bring a pre-versioned config up to version 1
commission config migrate [options] [file]| option | description |
|---|---|
--write | apply the migration (default: show the diff and change nothing) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission config path
every config path commission considered, in order
commission config path [options]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission org
the organisation this request is acting in
commission org [options] [command]| option | description |
|---|---|
-h, --help | display help for command |
commission org show
its name, and how much is in it
commission org show [options]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission org rename
change what this organisation is called — never its slug, which is in shared URLs
commission org rename [options] <name>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission integrations
show or patch a project’s sync integrations
commission integrations [options]| option | description |
|---|---|
--auto-close-on-merge <bool> | close tasks when their PR merges (gates still apply) |
--add-repo <owner/name> | register a GitHub repo for this project |
--jira-url <url> | Jira base URL |
--jira-field <k=v> | custom-field id, e.g. severity=customfield_10042 (repeatable) |
--jira-status <commission=Name> | status vocabulary, e.g. in_review=Awaiting QA (repeatable; used both directions) |
--selection <keys> | ordered policy, e.g. severity,sprint,due,priority,rank,age |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission actors
who works this project, and what each of them may claim, approve, and verify
commission actors [options] [command]| option | description |
|---|---|
--all | include actors seen in the log that nobody declared |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission actors add
declare an actor in this repo’s config, so Commission knows who may approve and verify
commission actors add [options] <name>| option | description |
|---|---|
--human | a person: may approve, verify, and answer |
--agent | a process: may claim and work, never approve |
--role <name> | a role they hold, e.g. owner or approver (repeatable) |
--capability <name> | something they can do, e.g. implement or review (repeatable) |
--me | declare the identity this command is running as |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission gates
show or edit gate profiles — the evidence a task must attach before done
commission gates [options]| option | description |
|---|---|
--set <name=kinds> | define a profile, e.g. shipped=test,commit (repeatable) |
--rm <name> | remove a profile (repeatable) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission ownership
which system owns which field, and the sync preset that decides it
commission ownership [options]| option | description |
|---|---|
--preset <name> | jira-planning | jira-mirror | commission-primary |
--field <name> | the field to override, e.g. title |
--owner <system> | jira | commission (‘none’ drops the override) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission bind
bind a task to an external object (the trigger for all sync machinery)
commission bind [options] <id>| option | description |
|---|---|
--jira <key> | Jira issue key, e.g. RTB-543 |
--pr <ref> | GitHub PR, owner/repo#number |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission unbind
remove a binding by id (shown in commission show)
commission unbind [options] <bindingId>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission branch
canonical self-identifying branch name for a task (PRs from it auto-bind)
commission branch [options] <id>| option | description |
|---|---|
--checkout | git checkout -b it in the current repo |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission sync
observe bound externals (PRs, Jira), canonicalize status, record divergences
commission sync [options] [command]| option | description |
|---|---|
--from-file <file> | jira observations from a saved search export (Rovo/REST envelope) |
--plan | print only the outbound plan as JSON (for agent execution via MCP) |
--outbox | what Jira has not been told yet — reads nothing external, works offline |
--push | execute the outbound plan via the built-in Jira REST executor (needs JIRA_* env) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission sync accept
settle a disagreement between commission and an external system
commission sync accept [options] <bindingId>| option | description |
|---|---|
--keep-commission | tell the external system to match commission; change nothing here |
--restore | set the external system back to what commission last told it |
--reopen | put the task back to open regardless of either side |
--diverge | record that the two are deliberately different, and stop asking |
-m, --message <text> | the reason — required for —diverge |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission sync-github
attach merged-PR evidence automatically (scans via gh CLI; matches task ids and external keys)
commission sync-github [options]| option | description |
|---|---|
--repo <owner/name> | repo to scan (default: gh inference from the project’s repo path) |
--limit <n> | merged PRs to scan (default 30) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission licence
show this machine’s licence: who it is for, what it entitles, and when it lapses
commission licence|license [options]| option | description |
|---|---|
--json | machine-readable output |
-h, --help | display help for command |
commission import
run an import adapter (available: mega-docs, jira)
commission import [options] <adapter> [path]| option | description |
|---|---|
--slug <slug> | target project slug |
--name <name> | project display name (used when the project is first created) |
--jql <jql> | jira: JQL query (default: your open issues + last 14d of done) |
--from-file <file> | jira: use a saved search-response JSON instead of the API |
--confirm | jira: actually create them (without this, the import is previewed and nothing is written) |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission migrate
apply pending database migrations, or report them with —check
commission migrate [options]| option | description |
|---|---|
--json | machine-readable output |
--check | report pending migrations without applying any; exits 2 unless the database is at this binary’s schema level |
--db <path> | database file (default: $COMMISSION_DB, else ~/.commission/commission.db) |
-h, --help | display help for command |
commission mcp
start the MCP server on stdio (register: claude mcp add commission — commission mcp)
commission mcp [options]| option | description |
|---|---|
-h, --help | display help for command |
commission serve
start the HTTP API + human web view
commission serve [options]| option | description |
|---|---|
--port <n> | port |
--sync <dur> | background sync interval (e.g. 5m, 1h; pull-only — plans logged, never pushed) |
-h, --help | display help for command |
commission login
install this machine’s licence — a person does this once; agents inherit it
commission login [options]| option | description |
|---|---|
--token <licence> | the licence itself; also accepted on stdin |
--file <path> | read the licence from a file |
--json | machine-readable output |
-h, --help | display help for command |
commission logout
remove this machine’s licence (your data is untouched)
commission logout [options]| option | description |
|---|---|
--json | machine-readable output |
-h, --help | display help for command |
commission whoami
who commission thinks you are, and what this machine is licensed for
commission whoami [options]| option | description |
|---|---|
--json | machine-readable output |
-h, --help | display help for command |
commission signin
sign this terminal in to a hosted instance — approve it in a browser
commission signin [options] <url>| option | description |
|---|---|
--no-open | do not try to open a browser |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission signout
end this terminal’s session on the hosted instance
commission signout [options]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission user
accounts that can sign in to the dashboard
commission user [options] [command]| option | description |
|---|---|
-h, --help | display help for command |
commission user add
create a person who can sign in, and set their password
commission user add [options] <handle>| option | description |
|---|---|
--name <name> | display name, if different from the handle |
--role <name> | owner | maintainer | contributor | observer (default: “contributor”) |
--password <password> | at least 12 characters |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission user passwd
set someone’s password
commission user passwd [options] <handle>| option | description |
|---|---|
--password <password> | at least 12 characters |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission user list
everyone who can sign in
commission user list [options]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission user invite
create an account and get a link the person sets their own password with
commission user invite [options] <handle>| option | description |
|---|---|
--name <name> | display name, if different from the handle |
--role <name> | owner | maintainer | contributor | observer (default: “contributor”) |
--email <email> | recorded on the account; commission never sends mail to it |
--days <n> | how long the link works (default 7) |
--base-url <url> | where the dashboard is reachable, for the link |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission user token
issue a long-lived API token for a script or an agent
commission user token [options] <handle>| option | description |
|---|---|
--label <label> | what it is for, so it can be recognised later |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission user tokens
every API token an identity holds
commission user tokens [options] [handle]| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission user token-revoke
kill an API token, immediately
commission user token-revoke [options] <id>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission user role
change what somebody may do
commission user role [options] <handle>| option | description |
|---|---|
--role <name> | owner | maintainer | contributor | observer |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission user remove
take somebody out of this organisation — everything they did stays attributed
commission user remove [options] <handle>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission user restore
put somebody back, with the role they had
commission user restore [options] <handle>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission user signout
end every session this person holds
commission user signout [options] <handle>| option | description |
|---|---|
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
commission completions
shell completions for bash, zsh, fish — generated from the live command tree
commission completions [options] <shell>| option | description |
|---|---|
--install-command | print where to put it instead of printing the completions |
--json | machine-readable output |
--project <slug> | project (default: .commission.json, or the only project) |
--local | run against this machine’s own database, not the instance you are signed in to |
-h, --help | display help for command |
This page is docs/reference/cli.md in the Commission
repository, rendered in place — the site keeps no copy of it. It is generated by scripts/generate-docs.ts, so it is exhaustive, and editing it by hand is reverted by the next run.