Commands

Every command below prints this text for flywheel <command> --help. The page is generated from the code at build time.

flywheel acp

usage: flywheel acp [-h] [--limits] {run,verify} ...

acp_cli.py -- delegate a turn to an ACP agent and keep the record of it.

positional arguments:
  {run,verify}
    run         send one prompt to an ACP agent
    verify      recheck a run's log offline

options:
  -h, --help    show this help message and exit
  --limits      print what an ACP run record does not prove.

flywheel anchor

usage: flywheel anchor [-h] {head,verify} ...

anchor_cli.py -- `flywheel anchor`: witness a head with parties the author
does not control.

positional arguments:
  {head,verify}
    head         log a head in Rekor (and optionally OpenTimestamps)
    verify       recheck the anchors of a head

options:
  -h, --help     show this help message and exit

flywheel behavior-check

usage: flywheel behavior-check [-h] [--scenario NAME] [--scenarios FILE]
                               [--jobs JOBS] [--python PYTHON] [--work DIR]
                               [--json] [--receipt PATH]
                               a b

Replay fixed scripted sessions with `flywheel code -p` on two Flywheel source
trees against a scripted model, compare model requests, stream events,
workspace files, exit code and ledger kinds, and report MATCH or DRIFT with
the first diverging event.

positional arguments:
  a                 build A: a Flywheel source tree
  b                 build B: a Flywheel source tree

options:
  -h, --help        show this help message and exit
  --scenario NAME   run only this scenario (repeatable)
  --scenarios FILE  a scenarios file (default: the one shipped with Flywheel)
  --jobs JOBS       sessions run at once (default 2)
  --python PYTHON   interpreter that runs both builds (default: this one)
  --work DIR        parent folder for the per-run folders (default: system
                    temp)
  --json            print the report as JSON
  --receipt PATH    also write the report as a sealed receipt

flywheel bulletin-identity

usage: flywheel bulletin-identity [-h] {prepare} ...

Prepare a Bulletin Ed25519 identity under native custody.

positional arguments:
  {prepare}
    prepare   validate a key file, check the board, and optionally
              store/register

options:
  -h, --help  show this help message and exit

flywheel check-output

usage: -c [-h] --contract CONTRACT --answer ANSWER [--allow-commands]
          [--base-dir BASE_DIR] [--out OUT] [--report REPORT] [--lean LEAN]
          [--verify-lean] [--lean-bin LEAN_BIN] [--ledger LEDGER]
          [--scope {,task,goal,session}] [--subject SUBJECT] [--strict]
          [--json]

output_check_cli.py -- check an answer against the sources that decide it.

options:
  -h, --help            show this help message and exit
  --contract CONTRACT
  --answer ANSWER
  --allow-commands      let command authorities run. Without it they are
                        unchecked rather than confirmed, which is the safe
                        direction and not a passing one.
  --base-dir BASE_DIR   where relative authority paths resolve from. Defaults
                        to the contract's own directory, so a task and its
                        checkers travel together.
  --out OUT             write the report as JSON here.
  --report REPORT       write the report in the format this path asks for:
                        .txt, .md, .tex, .pdf or .json. A PDF carries the
                        answer as an attachment, so the page and the values it
                        vouches for travel together.
  --lean LEAN           write the check as a Lean 4 file.
  --verify-lean         run `lean` on that file. Without it the file is
                        written and not checked, which is unverified rather
                        than confirmed.
  --lean-bin LEAN_BIN   which lean to run. Defaults to the one on PATH.
  --ledger LEDGER       append this check to a validation ledger, so the goal
                        and session scopes can read it later. Defaults to the
                        shared ledger under FLYWHEEL_HOME when --scope or
                        --subject is given.
  --scope {,task,goal,session}
                        which scope this check belongs to.
  --subject SUBJECT     what was checked: a task id, a goal, a session.
  --strict              exit non-zero on any release short of RELEASE, so a
                        caveat stops a pipeline that cannot carry one.
  --json

flywheel code

usage: flywheel code [-h] [-p REQUEST] [--root ROOT]
                     [--mode {plan,ask,edit,auto}] [--backend BACKEND]
                     [--model MODEL] [--providers PROVIDERS] [--local-only]
                     [--max-steps MAX_STEPS] [--max-tokens MAX_TOKENS]
                     [--test-cmd TEST_CMD] [--compact-budget COMPACT_BUDGET]
                     [--no-instructions] [-c] [--resume ID] [--sessions]
                     [--no-save] [--no-mcp] [--trust-project-mcp]
                     [--trust-project-hooks] [--worktree NAME] [--plain]
                     [--acp] [--output-format {text,json,stream-json}]

`flywheel code`: an interactive coding session in the current folder.

options:
  -h, --help            show this help message and exit
  -p REQUEST, --print REQUEST
                        run one request, print the answer and exit; with no
                        one to ask, calls that would ask are refused, so pass
                        --mode edit or auto
  --root ROOT           project folder (default: current folder)
  --mode {plan,ask,edit,auto}
                        permission mode (default: ask)
  --backend BACKEND     pin a backend by name
  --model MODEL         model id for the chosen backend
  --providers PROVIDERS
                        comma list of hosted providers to consider (default:
                        all with keys)
  --local-only          never call a hosted provider
  --max-steps MAX_STEPS
  --max-tokens MAX_TOKENS
  --test-cmd TEST_CMD   tests a turn must pass before it is done
  --compact-budget COMPACT_BUDGET
                        fold the conversation past about this many estimated
                        tokens; 0 is off
  --no-instructions     do not read AGENTS.md, CLAUDE.md or FLYWHEEL.md
  -c, --continue        resume the newest saved session for this folder
  --resume ID           resume a saved session
  --sessions            list saved sessions for this folder and exit
  --no-save             do not save this session
  --no-mcp              start no MCP servers
  --trust-project-mcp   start the project's MCP servers without asking
  --trust-project-hooks
                        run the project's hooks without asking
  --worktree NAME       work in a git worktree on branch flywheel/NAME,
                        carrying your uncommitted changes; your checkout is
                        not touched
  --plain               screen-reader friendly output: words, not symbols
                        (also FLYWHEEL_SCREEN_READER=1)
  --acp                 serve the Agent Client Protocol on stdin and stdout
                        for an editor
  --output-format {text,json,stream-json}
                        with -p: text, one JSON result, or one JSON object per
                        event

flywheel corpus-export

usage: flywheel corpus-export <envelopes_dir> <out.jsonl> [verdict_filter]

flywheel cross-harness-execute

usage: flywheel cross-harness-execute [-h] --manifest MANIFEST
                                      --runtime-matrix RUNTIME_MATRIX
                                      --artifact-root ARTIFACT_ROOT --roles
                                      ROLES --source-commit SOURCE_COMMIT
                                      --source-root SOURCE_ROOT --phase PHASE
                                      --run-id RUN_ID --tasks TASKS --cache
                                      CACHE --repetitions REPETITIONS
                                      --timeout TIMEOUT
                                      [--endpoint-gate ENDPOINT_GATE]
                                      [--gate-run-id GATE_RUN_ID]
                                      [--admission-receipt ADMISSION_RECEIPT]
                                      [--max-gate-age MAX_GATE_AGE]
                                      [--compact-budget COMPACT_BUDGET]
                                      [--strict-exit]

Execute admitted cross-harness benchmark rows.

options:
  -h, --help            show this help message and exit
  --manifest MANIFEST
  --runtime-matrix RUNTIME_MATRIX
  --artifact-root ARTIFACT_ROOT
  --roles ROLES
  --source-commit SOURCE_COMMIT
  --source-root SOURCE_ROOT
  --phase PHASE
  --run-id RUN_ID
  --tasks TASKS, --task-selectors TASKS
  --cache CACHE, --cache-state CACHE
  --repetitions REPETITIONS
  --timeout TIMEOUT, --timeout-seconds TIMEOUT
  --endpoint-gate ENDPOINT_GATE
  --gate-run-id GATE_RUN_ID
  --admission-receipt ADMISSION_RECEIPT
  --max-gate-age MAX_GATE_AGE, --max-gate-age-seconds MAX_GATE_AGE
  --compact-budget COMPACT_BUDGET
  --strict-exit

flywheel dap

usage: flywheel dap [-h] [--limits] {run,verify} ...

dap_cli.py -- debug a program under an adapter, and keep the record of it.

positional arguments:
  {run,verify}
    run         debug a program to its first stop
    verify      recheck a run's log offline

options:
  -h, --help    show this help message and exit
  --limits      print what a DAP run record does not prove.

flywheel doctor

usage: flywheel doctor [-h] [--json]

doctor_cli.py -- `flywheel doctor`: is this install ready to work?

options:
  -h, --help  show this help message and exit
  --json      print the checks as JSON

flywheel down

usage: flywheel down
How to stop a gateway started by `flywheel up`.

flywheel e2e-journey

usage: e2e-journey [-h] {validate,run,list} ...

Validate and run product E2E journeys.

positional arguments:
  {validate,run,list}

options:
  -h, --help           show this help message and exit

flywheel endpoint-gate

usage: -c [-h] --profile-artifact PROFILE_ARTIFACT [--models MODELS]
          [--backends BACKENDS] [--profile-id PROFILE_ID]
          [--max-generation-calls MAX_GENERATION_CALLS] [--prompt PROMPT]
          [--timeout-seconds TIMEOUT_SECONDS] [--max-tokens MAX_TOKENS]
          [--seed SEED] [--out OUT] [--markdown-out MARKDOWN_OUT]
          [--store-root STORE_ROOT] [--run-id RUN_ID] [--strict-exit]

Run bounded live gates against local model endpoint profiles.

options:
  -h, --help            show this help message and exit
  --profile-artifact PROFILE_ARTIFACT
  --models MODELS
  --backends BACKENDS
  --profile-id PROFILE_ID
                        Select exactly one case-sensitive profile ID;
                        duplicates fail.
  --max-generation-calls MAX_GENERATION_CALLS
                        Refuse the whole plan before I/O if it exceeds this
                        cap.
  --prompt PROMPT
  --timeout-seconds TIMEOUT_SECONDS
  --max-tokens MAX_TOKENS
  --seed SEED
  --out OUT
  --markdown-out MARKDOWN_OUT
  --store-root STORE_ROOT
  --run-id RUN_ID
  --strict-exit

flywheel evidence

usage: flywheel journey [-h] {start,project,check,export,recheck} ...

Start, project, check, export, and recheck evidence journeys.

positional arguments:
  {start,project,check,export,recheck}

options:
  -h, --help            show this help message and exit

flywheel gate

usage: flywheel gate [OUT_DIR]
Collect, verify, seal and re-witness one result with no model; exit 0 only on MATCH.

flywheel gov

unknown command: --help
usage: flywheel gov <command>
  eim-witness  ROOT PATH [PATH ...]      build witness entries for a manifest
  eim-recheck  MANIFEST.json ROOT        recompute the witness (MATCH/DRIFT/UNVERIFIABLE)
  ced          MANIFEST.json             scan for coercive primitives
  ncec-issue   MANIFEST.json [PROP ...]  issue a non-coercive certificate
  ncec-verify  CERT.json MANIFEST.json   re-derive a certificate
  erg          MANIFEST.json LOG.json    reward gap: high reward without declared intent
  igap         MANIFEST.json LOG.json    internalization gap: complies when watched, not when unwatched
  smp          CLAIM.json OBSERVED.json   served-model provenance: did you get the model you were promised
  icp          MANIFEST.json LOG.json    internal consistency: does the internal honesty signal track behavior
  dpp          DATASET.json OBSERVED.json  dataset provenance: do the shards match their declared origin
  iae          MANIFEST.json LOG.json    intervention ablation: does an intervention reduce misalignment
  far          MANIFEST.json TRIALS.json  attribution false-accept rate over known-null controls

flywheel grant

usage: flywheel grant [-h] {prepare,approve-once} ...

positional arguments:
  {prepare,approve-once}

options:
  -h, --help            show this help message and exit

flywheel import-inspect

usage: flywheel import-inspect [-h] [--expected-sha256 EXPECTED_SHA256]
                               [--unit-contract UNIT_CONTRACT]
                               source

Import Inspect JSON evidence locally; scorer claims are not independent proof.

positional arguments:
  source                local Inspect JSON log or inspect log dump export

options:
  -h, --help            show this help message and exit
  --expected-sha256 EXPECTED_SHA256
                        reject bytes that differ from this digest
  --unit-contract UNIT_CONTRACT
                        optional flywheel.inspect-scorer-unit-contract/v1
                        sidecar JSON

flywheel import-norvane

usage: -c [-h] --source-manifest SOURCE_MANIFEST
          [--expected-manifest-sha256 EXPECTED_MANIFEST_SHA256]
          capture_root

Read one offline capture and emit a content-minimized Journey review on
stdout.

positional arguments:
  capture_root

options:
  -h, --help            show this help message and exit
  --source-manifest SOURCE_MANIFEST
  --expected-manifest-sha256 EXPECTED_MANIFEST_SHA256

flywheel incident-sim

usage: flywheel incident-sim [-h] [--task TASK] [--trace TRACE]
                             [--expected-task-sha256 EXPECTED_TASK_SHA256]
                             [--expected-trace-sha256 EXPECTED_TRACE_SHA256]
                             [--institutional-access INSTITUTIONAL_ACCESS]
                             [--institutional-access-scope INSTITUTIONAL_ACCESS_SCOPE]
                             [--gateway-effect-component GATEWAY_EFFECT_COMPONENT]
                             [--gateway-terminal-result GATEWAY_TERMINAL_RESULT]
                             [--gateway-lifecycle-history GATEWAY_LIFECYCLE_HISTORY]
                             [--gateway-trace-records GATEWAY_TRACE_RECORDS]
                             [--verify-packet VERIFY_PACKET]
                             [--expected-gateway-terminal-result-sha256 EXPECTED_GATEWAY_TERMINAL_RESULT_SHA256]
                             [--expected-gateway-lifecycle-history-sha256 EXPECTED_GATEWAY_LIFECYCLE_HISTORY_SHA256]
                             [--expected-gateway-trace-records-sha256 EXPECTED_GATEWAY_TRACE_RECORDS_SHA256]

Check a submitted synthetic incident trace and emit a local process audit.

options:
  -h, --help            show this help message and exit
  --task TASK           local frozen incident task JSON
  --trace TRACE         local submitted trace JSON
  --expected-task-sha256 EXPECTED_TASK_SHA256
  --expected-trace-sha256 EXPECTED_TRACE_SHA256
  --institutional-access INSTITUTIONAL_ACCESS
                        declared institutional access record JSON
  --institutional-access-scope INSTITUTIONAL_ACCESS_SCOPE
                        institutional access scope JSON
  --gateway-effect-component GATEWAY_EFFECT_COMPONENT
                        typed gateway_effect component JSON
  --gateway-terminal-result GATEWAY_TERMINAL_RESULT
  --gateway-lifecycle-history GATEWAY_LIFECYCLE_HISTORY
  --gateway-trace-records GATEWAY_TRACE_RECORDS
  --verify-packet VERIFY_PACKET
                        offline recheck of emitted process-audit packet JSON
  --expected-gateway-terminal-result-sha256 EXPECTED_GATEWAY_TERMINAL_RESULT_SHA256
  --expected-gateway-lifecycle-history-sha256 EXPECTED_GATEWAY_LIFECYCLE_HISTORY_SHA256
  --expected-gateway-trace-records-sha256 EXPECTED_GATEWAY_TRACE_RECORDS_SHA256

flywheel journey

usage: flywheel journey [-h]
                        {create,append,check,cancel,export,list,resume} ...

Durable actions plus legacy evidence start, project, and recheck.

positional arguments:
  {create,append,check,cancel,export,list,resume}

options:
  -h, --help            show this help message and exit

flywheel lanes

usage: flywheel lanes [--probe]
List every lane and whether it is installed; --probe checks each MCP server.

flywheel loop-status

usage: flywheel loop-status
Measure the closed loop's handoffs in a scratch folder.

flywheel lsp

usage: flywheel lsp [-h] [--limits] {ask,diagnostics,verify} ...

lsp_cli.py -- ask a language server about a file, and keep the record of it.

positional arguments:
  {ask,diagnostics,verify}
    ask                 ask about one position in one file
    diagnostics         what the server says is wrong with a file
    verify              recheck a run's log offline

options:
  -h, --help            show this help message and exit
  --limits              print what an LSP run record does not prove.

flywheel mcp

usage: flywheel mcp [-h] {list,add,remove,login,logout} ...

`flywheel mcp`: list, add and remove the MCP servers `flywheel code` starts.

positional arguments:
  {list,add,remove,login,logout}
    list                every configured server and where it comes from
    add                 add a server
    remove              remove a server
    login               sign in to an HTTP server with OAuth
    logout              forget the stored token

options:
  -h, --help            show this help message and exit

flywheel monitor

usage: flywheel monitor [-h]
                        {coverage,pending,approve,reject,verify,install,owner,witness,import-ocsf,sandbox,outcome,overrides,gate,gate-verify}
                        ...

positional arguments:
  {coverage,pending,approve,reject,verify,install,owner,witness,import-ocsf,sandbox,outcome,overrides,gate,gate-verify}
    gate                admission gate for a text monitor
    gate-verify         re-derive and check a gate result

options:
  -h, --help            show this help message and exit

flywheel packs

usage: -c [-h] [--json] [name]

packs_cli.py -- what each domain pack declares, and what it refuses to decide.

positional arguments:
  name        one of: finance, law, medicine, or the path to a pack
              declaration

options:
  -h, --help  show this help message and exit
  --json

flywheel plugin

usage: flywheel plugin [-h] {install,list,remove,marketplace,search} ...

`flywheel plugin`: install, list and remove plugins for `flywheel code`.

positional arguments:
  {install,list,remove,marketplace,search}
    install             install from a folder or a git URL
    list                installed plugins
    remove              remove an installed plugin
    marketplace         add or list plugin marketplaces
    search              search the added marketplaces

options:
  -h, --help            show this help message and exit

flywheel rederive

usage: flywheel rederive [-h] run

Re-check a claimed improvement on the gate's seeds (preview).

positional arguments:
  run         JSON with gate.seeds, claim, baseline, treated, replay

options:
  -h, --help  show this help message and exit

flywheel report

usage: flywheel report [-h] {scope} ...

Reports built from saved records.

positional arguments:
  {scope}
    scope     calls that reached past what was allowed

options:
  -h, --help  show this help message and exit

flywheel setup

usage: flywheel setup [-h]
                      [--provider {anthropic,deepseek,gemini,openai,openrouter}]

setup_cli.py -- `flywheel setup`: connect a model in one step.

options:
  -h, --help            show this help message and exit
  --provider {anthropic,deepseek,gemini,openai,openrouter}
                        store this provider's API key

flywheel traces

usage: flywheel traces [-h]
                       {status,doctor,delete,verify-gone,export,verify-export,retention,presence,capture,import,encrypt,hooks}
                       ...

See, keep, move, prove and destroy the traces your agents leave.

positional arguments:
  {status,doctor,delete,verify-gone,export,verify-export,retention,presence,capture,import,encrypt,hooks}
    status              every trace store, its protection and its gaps
    doctor              check hook mounts, the capture channel and custody
    delete              plan, then apply, a deletion with its closure
    verify-gone         search custody files for a phrase you deleted
    export              write a verifiable plaintext copy of your traces
    verify-export       verify an export folder or zip
    retention           how long custody keeps traces
    presence            the owner-presence method for custody operations
    capture             what the capture hooks send and keep
    import              copy client transcripts into custody (encrypted where
                        an OS key store is available)
    encrypt             encrypt traces written before encryption at rest
    hooks               hook mount lines for Claude Code and Codex

options:
  -h, --help            show this help message and exit

flywheel up

usage: flywheel up [--port 8799] [--probe] [gateway options]
List the lanes, then start the local gateway and browser shell.

flywheel update

usage: flywheel update [-h] [--check] [--json] [--apply] [--auto {on,off}]

update_cli.py -- `flywheel update`: is a newer Flywheel out, and how to get
it.

options:
  -h, --help       show this help message and exit
  --check          same as no flag: check and print
  --json
  --apply          upgrade now (pip installs)
  --auto {on,off}  a weekly check when flywheel code starts; it never installs

flywheel verify-share

usage: flywheel verify-share [-h] [--github] [--json]
                             [--family-from {repo,prefix}]
                             items

positional arguments:
  items

options:
  -h, --help            show this help message and exit
  --github
  --json
  --family-from {repo,prefix}

flywheel why

usage: flywheel why <receipt.json | dir> [claim-digest-prefix]

flywheel workstream

usage: flywheel workstream [-h] [--json] [--reference PATH]
                           {run,settle,audit,example} [declaration]

workstream_cli.py -- settle a dependency graph of obligations from the shell.

positional arguments:
  {run,settle,audit,example}
  declaration

options:
  -h, --help            show this help message and exit
  --json                emit the receipt instead of the rendering
  --reference PATH      a flywheel.mhs.reference/v1 driver file, repeatable;
                        an instrument obligation with no reference for its
                        device settles unverifiable

flywheel writing

usage: flywheel writing [-h]
                        {status,doctor,init,proposal,section,revision,diagnose,card,candidate,decision,review,export}
                        ...

positional arguments:
  {status,doctor,init,proposal,section,revision,diagnose,card,candidate,decision,review,export}

options:
  -h, --help            show this help message and exit