Skip to content
commission

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

commandwhat it does
commission initcreate a project and write .commission.json here
commission visionshow or set the project charter (shown to agents in every bundle)
commission renamechange what this project is called — task ids keep their current prefix
commission addadd a single task (for whole graphs use ‘commission apply’)
commission applyatomically create/update a whole task graph from a JSON document
commission bulkcreate a whole graph from pasted text: an indented outline, or the apply document
commission proposedraft a task graph for a person to accept — creates nothing until they do
commission proposalswhat has been proposed and not yet decided, or one proposal in full
commission acceptturn a proposed graph into work — the one act an agent cannot take
commission rejectdecline a proposed graph — nothing is created, and the reason goes back
commission defineemit the project-definition brief: idea → vision + task graph via apply
commission nextpick the next ready task and print its full context bundle
commission readythe parallel frontier: everything workable right now, batched for safe fan-out
commission showfull context bundle for a task
commission startbegin work (auto-claims if unclaimed)
commission reviewmark ready for review
commission donecomplete (refused until criteria/gate evidence are satisfied)
commission cancelcancel — requires -m or —superseded-by (context is preserved, never destroyed)
commission reopenreopen a done/cancelled task
commission claimclaim a specific task for this actor (claims are leases; expired ones are reclaimable)
commission releaserelease a claim (yours or a stale one) — the lease only; ‘commission workspace release’ is what tears down the directory
commission heartbeatextend your lease on a task without changing its state
commission evidenceattach completion evidence: commission evidence shop-12 pr=14 benchmark=https://…
commission unevidenceremove attached evidence by id (shown in commission show)
commission approveaccept a task as a human — required before done when autonomy is supervised
commission verifyconfirm as a human that something claimed is actually true
commission needdeclare that your own work is blocked until this task lands — Commission picks it next
commission askescalate a judgement call to a human instead of guessing
commission answerrecord a human decision, and the reasoning behind it
commission checktick acceptance criterion n
commission noteleave a session breadcrumb
commission artifactrecord something the work produced: a report, a dashboard, a runbook
commission measurerecord what the work moved: a name, a value, and what it was before
commission inspectwhat building this took: time, agents, proof, artifacts
commission threadwhat has been said on this goal, oldest first
commission saysay something on a goal, to whoever else is working it
commission stepmove step n of the newest checklist on this goal: waiting, running, done, failed
commission ackrecord that you have looked at this — clears a forced closure from your inbox
commission depadd a dependency
commission undepremove a dependency
commission criteriamanage acceptance criteria (tick with ‘commission check’)
commission linkattach a reading-list reference
commission unlinkremove a link by id (shown in commission show)
commission goalstate what a goal is for: its objective, key results, metrics and constraints
commission editedit task fields
commission workspaceprepare, list, and release the workspace a task’s work happens in
commission inboxwhat needs your judgment: approvals, handoffs, stale claims, divergences — with the command that clears each
commission exportderived markdown snapshot of the project (git-committable; DB stays the truth)
commission standupbrief done / doing / blocked narrative (for humans on a call)
commission boardproject position: in-flight, ready, blocked, recent
commission logappend-only event feed (the catch-up query)
commission searchsearch titles, bodies, notes, decisions, evidence, Jira keys, commit refs and the log
commission notificationswhat commission told you, what it held back, and why — plus the preferences behind both
commission doctorself-diagnostics with exact remediation commands
commission primeprint the agent operating manual (paste into CLAUDE.md)
commission dumpfull JSON export (backup / git snapshot)
commission restorerestore a dump into this DB (refuses to merge existing projects)
commission listfiltered task list (board shows position; this answers ‘which tasks match X’)
commission contextthe committed guidance commission versions alongside the work — what it is, and what changed
commission configinspect and edit .commission.json — the project’s committed configuration
commission orgthe organisation this request is acting in
commission integrationsshow or patch a project’s sync integrations
commission actorswho works this project, and what each of them may claim, approve, and verify
commission gatesshow or edit gate profiles — the evidence a task must attach before done
commission ownershipwhich system owns which field, and the sync preset that decides it
commission bindbind a task to an external object (the trigger for all sync machinery)
commission unbindremove a binding by id (shown in commission show)
commission branchcanonical self-identifying branch name for a task (PRs from it auto-bind)
commission syncobserve bound externals (PRs, Jira), canonicalize status, record divergences
commission sync-githubattach merged-PR evidence automatically (scans via gh CLI; matches task ids and external keys)
commission licenceshow this machine’s licence: who it is for, what it entitles, and when it lapses
commission importrun an import adapter (available: mega-docs, jira)
commission migrateapply pending database migrations, or report them with —check
commission mcpstart the MCP server on stdio (register: claude mcp add commission — commission mcp)
commission servestart the HTTP API + human web view
commission logininstall this machine’s licence — a person does this once; agents inherit it
commission logoutremove this machine’s licence (your data is untouched)
commission whoamiwho commission thinks you are, and what this machine is licensed for
commission signinsign this terminal in to a hosted instance — approve it in a browser
commission signoutend this terminal’s session on the hosted instance
commission useraccounts that can sign in to the dashboard
commission completionsshell completions for bash, zsh, fish — generated from the live command tree

Global options

optiondescription
-V, --versionoutput the version number
-h, --helpdisplay help for command

commission init

create a project and write .commission.json here

commission init [options] <slug>
optiondescription
--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-configdo not write .commission.json
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission vision

show or set the project charter (shown to agents in every bundle)

commission vision [options]
optiondescription
--set <text>set vision text
--set-file <file>set vision from a markdown file
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission rename

change what this project is called — task ids keep their current prefix

commission rename [options] <name>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission add

add a single task (for whole graphs use ‘commission apply’)

commission add [options] <title>
optiondescription
-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)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission apply

atomically create/update a whole task graph from a JSON document

commission apply [options]
optiondescription
-f, --file <file>document path (’-’ or omit for stdin)
--dry-runvalidate and preview the exact result, then roll back
--schemaprint the document JSON schema and exit
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission bulk

create a whole graph from pasted text: an indented outline, or the apply document

commission bulk [options]
optiondescription
-f, --file <file>the paste (’-’ or omit for stdin)
--confirmland it — without this, nothing is written
--name <name>project display name, if this creates the project
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission propose

draft a task graph for a person to accept — creates nothing until they do

commission propose [options]
optiondescription
--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)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission proposals

what has been proposed and not yet decided, or one proposal in full

commission proposals [options] [id]
optiondescription
--allinclude the ones already accepted or rejected
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission accept

turn a proposed graph into work — the one act an agent cannot take

commission accept [options] <id>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission reject

decline a proposed graph — nothing is created, and the reason goes back

commission reject [options] <id>
optiondescription
-m, --message <text>what is wrong with it
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission define

emit the project-definition brief: idea → vision + task graph via apply

commission define [options] <slug>
optiondescription
--name <name>project display name
--repo-path <path>existing codebase on disk to ground the plan in
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission next

pick the next ready task and print its full context bundle

commission next [options]
optiondescription
--claimclaim it atomically (recommended; parallel agents get distinct tasks)
--lease <dur>claim lease duration: 30m, 2h, 1d, 0=never (default: agentDefaults.lease, or 2h)
--anyinclude tasks this actor may not claim (default: only eligible ones)
--budget <tokens>trim the context bundle to fit, dropping in a documented order
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission ready

the parallel frontier: everything workable right now, batched for safe fan-out

commission ready [options]
optiondescription
--anyinclude 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
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission show

full context bundle for a task

commission show [options] <id>
optiondescription
--budget <tokens>trim the bundle to fit, dropping in a documented order
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission start

begin work (auto-claims if unclaimed)

commission start [options] <id>
optiondescription
--forceoverride 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
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission review

mark ready for review

commission review [options] <id>
optiondescription
--if-version <n>refuse unless the task is still at this version
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission done

complete (refused until criteria/gate evidence are satisfied)

commission done [options] <id>
optiondescription
--forceoverride 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
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission cancel

cancel — requires -m or —superseded-by (context is preserved, never destroyed)

commission cancel [options] <id>
optiondescription
-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
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission reopen

reopen a done/cancelled task

commission reopen [options] <id>
optiondescription
--if-version <n>refuse unless the task is still at this version
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission claim

claim a specific task for this actor (claims are leases; expired ones are reclaimable)

commission claim [options] <id>
optiondescription
--lease <dur>lease duration: 30m, 2h, 1d, 0=never expires (default: agentDefaults.lease, or 2h)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay 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>
optiondescription
--forcebreak someone else’s live lease — recorded as a forced release
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission heartbeat

extend your lease on a task without changing its state

commission heartbeat [options] <id>
optiondescription
--lease <dur>new lease duration: 30m, 2h, 1d, 0=never expires (default 2h)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission evidence

attach completion evidence: commission evidence shop-12 pr=14 benchmark=https://…

commission evidence [options] <id> <pairs...>
optiondescription
--forceattach a value Commission refuses as a placeholder (requires -m; logged)
-m, --message <text>why the override is justified (required with —force)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission unevidence

remove attached evidence by id (shown in commission show)

commission unevidence [options] <evidenceId>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission approve

accept a task as a human — required before done when autonomy is supervised

commission approve [options] <id>
optiondescription
-m, --message <text>why it is acceptable — preserved for the next session
--role <name>which requirement this answers (when a task has several)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission verify

confirm as a human that something claimed is actually true

commission verify [options] <id>
optiondescription
-m, --message <text>why it is acceptable — preserved for the next session
--role <name>which requirement this answers (when a task has several)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission need

declare that your own work is blocked until this task lands — Commission picks it next

commission need [options] <id>
optiondescription
-m, --message <text>what you cannot do until it lands
--resolvedyou are no longer blocked on it
--preempt-after <dur>how long a mid-flight holder gets to finish its step (default 15m)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission ask

escalate a judgement call to a human instead of guessing

commission ask [options] <id>
optiondescription
-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
--blockingno agent may work this task until it is answered
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission answer

record a human decision, and the reasoning behind it

commission answer [options] <id>
optiondescription
-m, --message <text>the decision, and why
--question <n>which open question this answers
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission check

tick acceptance criterion n

commission check [options] <id> <n>
optiondescription
--undountick
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission note

leave a session breadcrumb

commission note [options] <id>
optiondescription
-m, --message <text>
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission artifact

record something the work produced: a report, a dashboard, a runbook

commission artifact [options] <id>
optiondescription
--report <name>
--dashboard <name>
--runbook <name>
--document <name>
--link <name>
--dataset <name>
--at <location>a URL, or a path in the repository
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission measure

record what the work moved: a name, a value, and what it was before

commission measure [options] <id>
optiondescription
--name <name>what was measured
--value <value>what it is now
--before <baseline>what it was, when there is one worth comparing against
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission inspect

what building this took: time, agents, proof, artifacts

commission inspect [options] <id>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission thread

what has been said on this goal, oldest first

commission thread [options] <id>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission say

say something on a goal, to whoever else is working it

commission say [options] <id>
optiondescription
-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
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission step

move step n of the newest checklist on this goal: waiting, running, done, failed

commission step [options] <id> <n>
optiondescription
--of <id>a specific message, rather than the newest with a checklist
--state <state>
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission ack

record that you have looked at this — clears a forced closure from your inbox

commission ack [options] <id>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission dep

add a dependency

commission dep [options] <id>
optiondescription
--on <depId>task that must finish first
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission undep

remove a dependency

commission undep [options] <id>
optiondescription
--on <depId>the dependency to remove
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission criteria

manage acceptance criteria (tick with ‘commission check’)

commission criteria [options] [command]
optiondescription
-h, --helpdisplay help for command

commission criteria add

append a criterion

commission criteria add [options] <id> <text...>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission criteria edit

rewrite criterion n

commission criteria edit [options] <id> <n> <text...>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission criteria rm

remove criterion n (positions re-pack)

commission criteria rm [options] <id> <n>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

attach a reading-list reference

commission link [options] <id>
optiondescription
--doc <ref>doc path
--url <ref>url
--file <ref>file path
--note <text>why it matters (default: "")
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

remove a link by id (shown in commission show)

commission unlink [options] <linkId>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission goal

state what a goal is for: its objective, key results, metrics and constraints

commission goal [options] <id>
optiondescription
--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
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission edit

edit task fields

commission edit [options] <id>
optiondescription
--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
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission workspace

prepare, list, and release the workspace a task’s work happens in

commission workspace [options] [command]
optiondescription
-h, --helpdisplay 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>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay 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>
optiondescription
--forceauthorise a destructive teardown — discards uncommitted work, and drops the record even if a step failed
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission workspace list

every prepared workspace: which task, where, and on what branch

commission workspace list [options]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission inbox

what needs your judgment: approvals, handoffs, stale claims, divergences — with the command that clears each

commission inbox [options]
optiondescription
--actor <name>whose inbox (default: the resolved actor)
--allevery actor’s items, not just yours
--limit <n>maximum items (default 25)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission export

derived markdown snapshot of the project (git-committable; DB stays the truth)

commission export [options]
optiondescription
--out <file>write to a file instead of stdout
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission standup

brief done / doing / blocked narrative (for humans on a call)

commission standup [options]
optiondescription
--days <n>look-back window for done items (default 7)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission board

project position: in-flight, ready, blocked, recent

commission board [options]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission log

append-only event feed (the catch-up query)

commission log [options]
optiondescription
--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
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

search titles, bodies, notes, decisions, evidence, Jira keys, commit refs and the log

commission search [options] <query...>
optiondescription
--rawpass the query to FTS5 verbatim, syntax and all
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission notifications

what commission told you, what it held back, and why — plus the preferences behind both

commission notifications [options]
optiondescription
--digestthe same window collapsed to one line per project per kind
--preferenceswhat 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)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission doctor

self-diagnostics with exact remediation commands

commission doctor [options]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission prime

print the agent operating manual (paste into CLAUDE.md)

commission prime [options]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission dump

full JSON export (backup / git snapshot)

commission dump [options]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission restore

restore a dump into this DB (refuses to merge existing projects)

commission restore [options]
optiondescription
-f, --file <file>
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission list

filtered task list (board shows position; this answers ‘which tasks match X’)

commission list [options]
optiondescription
--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)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission context

the committed guidance commission versions alongside the work — what it is, and what changed

commission context [options] [command]
optiondescription
-h, --helpdisplay 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]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission context status

deprecated alias for ‘commission context show’ — ‘status’ means a task’s lifecycle state

commission context status [options]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay 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]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission config

inspect and edit .commission.json — the project’s committed configuration

commission config [options] [command]
optiondescription
-h, --helpdisplay help for command

commission config show

the fully merged, effective configuration

commission config show [options]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay 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]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission config explain

the value, the layer that set it, and every layer it overrode

commission config explain [options] <key>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission config init

write a minimal .commission.json for this repo

commission config init [options] [slug]
optiondescription
--forceoverwrite an existing config
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission config migrate

bring a pre-versioned config up to version 1

commission config migrate [options] [file]
optiondescription
--writeapply the migration (default: show the diff and change nothing)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission config path

every config path commission considered, in order

commission config path [options]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission org

the organisation this request is acting in

commission org [options] [command]
optiondescription
-h, --helpdisplay help for command

commission org show

its name, and how much is in it

commission org show [options]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay 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>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission integrations

show or patch a project’s sync integrations

commission integrations [options]
optiondescription
--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
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission actors

who works this project, and what each of them may claim, approve, and verify

commission actors [options] [command]
optiondescription
--allinclude actors seen in the log that nobody declared
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay 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>
optiondescription
--humana person: may approve, verify, and answer
--agenta 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)
--medeclare the identity this command is running as
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission gates

show or edit gate profiles — the evidence a task must attach before done

commission gates [options]
optiondescription
--set <name=kinds>define a profile, e.g. shipped=test,commit (repeatable)
--rm <name>remove a profile (repeatable)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission ownership

which system owns which field, and the sync preset that decides it

commission ownership [options]
optiondescription
--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)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission bind

bind a task to an external object (the trigger for all sync machinery)

commission bind [options] <id>
optiondescription
--jira <key>Jira issue key, e.g. RTB-543
--pr <ref>GitHub PR, owner/repo#number
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission unbind

remove a binding by id (shown in commission show)

commission unbind [options] <bindingId>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission branch

canonical self-identifying branch name for a task (PRs from it auto-bind)

commission branch [options] <id>
optiondescription
--checkoutgit checkout -b it in the current repo
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission sync

observe bound externals (PRs, Jira), canonicalize status, record divergences

commission sync [options] [command]
optiondescription
--from-file <file>jira observations from a saved search export (Rovo/REST envelope)
--planprint only the outbound plan as JSON (for agent execution via MCP)
--outboxwhat Jira has not been told yet — reads nothing external, works offline
--pushexecute the outbound plan via the built-in Jira REST executor (needs JIRA_* env)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission sync accept

settle a disagreement between commission and an external system

commission sync accept [options] <bindingId>
optiondescription
--keep-commissiontell the external system to match commission; change nothing here
--restoreset the external system back to what commission last told it
--reopenput the task back to open regardless of either side
--divergerecord that the two are deliberately different, and stop asking
-m, --message <text>the reason — required for —diverge
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay 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]
optiondescription
--repo <owner/name>repo to scan (default: gh inference from the project’s repo path)
--limit <n>merged PRs to scan (default 30)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay 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]
optiondescription
--jsonmachine-readable output
-h, --helpdisplay help for command

commission import

run an import adapter (available: mega-docs, jira)

commission import [options] <adapter> [path]
optiondescription
--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
--confirmjira: actually create them (without this, the import is previewed and nothing is written)
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission migrate

apply pending database migrations, or report them with —check

commission migrate [options]
optiondescription
--jsonmachine-readable output
--checkreport 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, --helpdisplay help for command

commission mcp

start the MCP server on stdio (register: claude mcp add commission — commission mcp)

commission mcp [options]
optiondescription
-h, --helpdisplay help for command

commission serve

start the HTTP API + human web view

commission serve [options]
optiondescription
--port <n>port
--sync <dur>background sync interval (e.g. 5m, 1h; pull-only — plans logged, never pushed)
-h, --helpdisplay help for command

commission login

install this machine’s licence — a person does this once; agents inherit it

commission login [options]
optiondescription
--token <licence>the licence itself; also accepted on stdin
--file <path>read the licence from a file
--jsonmachine-readable output
-h, --helpdisplay help for command

commission logout

remove this machine’s licence (your data is untouched)

commission logout [options]
optiondescription
--jsonmachine-readable output
-h, --helpdisplay help for command

commission whoami

who commission thinks you are, and what this machine is licensed for

commission whoami [options]
optiondescription
--jsonmachine-readable output
-h, --helpdisplay help for command

commission signin

sign this terminal in to a hosted instance — approve it in a browser

commission signin [options] <url>
optiondescription
--no-opendo not try to open a browser
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission signout

end this terminal’s session on the hosted instance

commission signout [options]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission user

accounts that can sign in to the dashboard

commission user [options] [command]
optiondescription
-h, --helpdisplay help for command

commission user add

create a person who can sign in, and set their password

commission user add [options] <handle>
optiondescription
--name <name>display name, if different from the handle
--role <name>owner | maintainer | contributor | observer (default: “contributor”)
--password <password>at least 12 characters
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission user passwd

set someone’s password

commission user passwd [options] <handle>
optiondescription
--password <password>at least 12 characters
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission user list

everyone who can sign in

commission user list [options]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay 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>
optiondescription
--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
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission user token

issue a long-lived API token for a script or an agent

commission user token [options] <handle>
optiondescription
--label <label>what it is for, so it can be recognised later
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission user tokens

every API token an identity holds

commission user tokens [options] [handle]
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission user token-revoke

kill an API token, immediately

commission user token-revoke [options] <id>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission user role

change what somebody may do

commission user role [options] <handle>
optiondescription
--role <name>owner | maintainer | contributor | observer
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission user remove

take somebody out of this organisation — everything they did stays attributed

commission user remove [options] <handle>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission user restore

put somebody back, with the role they had

commission user restore [options] <handle>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission user signout

end every session this person holds

commission user signout [options] <handle>
optiondescription
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay help for command

commission completions

shell completions for bash, zsh, fish — generated from the live command tree

commission completions [options] <shell>
optiondescription
--install-commandprint where to put it instead of printing the completions
--jsonmachine-readable output
--project <slug>project (default: .commission.json, or the only project)
--localrun against this machine’s own database, not the instance you are signed in to
-h, --helpdisplay 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.