Every command, argument, and option in the Humanish CLI.
Reference for Humanish 0.83.0 . Run npx humanish --version to check your installation, or npx humanish <command> --help for its exact flags.
Start with the quickstart . The examples below use the installed humanish binary; prefix them with npx from your project if it is not on your PATH.
--json returns machine-readable responses where supported. tui requires a human terminal and refuses detected agent sessions, including agents with a TTY. See TUI refusals and read-only JSON alternatives .
humanish [options] [command]
Option Description -V, --versionoutput the version number --jsonPrint machine-readable JSON responses where supported. -h, --helpdisplay help for command
Set up committed humanish/ source files and ignored .humanish/ runtime state.
Option Description --dry-runPrint planned changes without writing files. --yesApply safe generated changes without prompting. --cwd <path>Target project directory. (default: ".") --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Explain project readiness and missing Humanish setup.
humanish doctor [options]
Option Description --cwd <path>Target project directory. (default: ".") --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Open the interactive terminal surface for browsing labs and runs (humans only).
Option Description --cwd <path>Target project directory. (default: ".") --forceOpen it anyway in a session that looks like an agent's. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Show or change anonymous usage collection.
humanish telemetry [options] [command]
Option Description -h, --helpdisplay help for command
What is collected, and whether it is on.
humanish telemetry status [options]
Option Description --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Turn anonymous usage collection on.
humanish telemetry enable [options]
Option Description -h, --helpdisplay help for command
Turn anonymous usage collection off.
humanish telemetry disable [options]
Option Description -h, --helpdisplay help for command
Manage the humanish user-level key store used by provider-key discovery (#436).
humanish keys [options] [command]
Option Description -h, --helpdisplay help for command
Store one provider key in the user store (0600), prompted with hidden input.
humanish keys set [options] <vendor-or-name>
Argument Description vendor-or-nameA vendor alias (openai, e2b, anthropic, github) or a raw ENV_NAME.
Option Description --stdinRead the value from stdin instead of prompting (for agents/pipes). --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Remove one key from the user store.
humanish keys unset [options] <vendor-or-name>
Argument Description vendor-or-nameA vendor alias or raw ENV_NAME to remove from the store.
Option Description --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
List the NAMES stored in the user store. Values are never printed.
humanish keys list [options]
Option Description --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Run a lab (or a synthetic dry-run bundle). The everyday command.
humanish run [options] [lab]
Argument Description labOptional lab id or .yaml path.
Option Description --dry-runGenerate contract proof without browser, keys, or provider spend. --openOpen the observer in the default browser. --no-openRender without opening a browser. --detachRender/open once and exit without an attached watch server. --port <port>Local observer server port when following. (default: "0") --app-url <url>Capture live desktop/mobile browser evidence against a running loopback app URL. --actor <actor>Explicit live actor to run. (choices: "codex-tui", "codex-exec", "codex-app-server") --sims <count>Simulation count. Codex exec runs requested lanes with bounded concurrency; Codex TUI supports 1. --timeout-ms <ms>Local actor timeout in milliseconds. (default: "900000") --cwd <path>Target project directory. (default: ".") --env-file <path>Load a local env file for this run without persisting values. --run-id <id>Explicit run id for deterministic fixture tests. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Validate a run bundle and public-safety gates.
humanish verify [options]
Option Description --run <id>Run id or latest pointer. (default: "latest") --cwd <path>Target project directory. (default: ".") --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Inspect recorded resource evidence and write cleanup.json; stored ids do not authorize provider mutation.
humanish cleanup [options]
Option Description --run <id>Run id or latest pointer. (default: "latest") --cwd <path>Target project directory. (default: ".") --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Build a review packet from verified run evidence.
humanish review [options]
Option Description --run <id>Run id or latest pointer. (default: "latest") --cwd <path>Target project directory. (default: ".") --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
List local Humanish runs and latest pointers.
Option Description --cwd <path>Target project directory. (default: ".") --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Cost, outcome, and duration roll-ups across run history (#472). Estimates stay labelled; unknown costs count as unknown.
Option Description --lab <id>Only runs from this lab id. --since <date>Only runs that started on or after this ISO date or datetime. --cwd <path>Target project directory. (default: ".") --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Write one self-contained .html of a run's Observer with screenshots inlined (#471). Verify and the share_ready gate run inside; a local_only bundle exports only with --local-only, watermarked.
humanish export [options]
Option Description --run <id>Run id or 'latest'. (default: "latest") --out <path>Where to write the file. Defaults to .humanish/exports/<runId>.html. --local-onlyExport a bundle that is not share_ready, with a LOCAL ONLY banner in the file. --max-bytes <n>Refuse an export larger than this. (default: "26214400") --cwd <path>Target project directory. (default: ".") --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Off-app comms surfaces (email/SMS the app under test sends).
humanish comms [options] [command]
Option Description -h, --helpdisplay help for command
Run the email catch on THIS host so humanish can study an app it does not provision (#328). Your app posts its email sends here; the persona opens /inbox; humanish drains GET /deliveries and writes digest-only evidence. Point your lab's comms.email.external.catchBaseUrl at this server.
humanish comms catch [options]
Option Description --port <port>Port for capture + inbox (default 8025). (default: "8025") --dir <path>Directory for the deliveries log and rendered inbox. (default: ".humanish/comms-catch") --token <value>Require this bearer token on GET /deliveries (recommended when reachable off-host). --inbox-port <port>Also serve a READ-ONLY inbox listener on 0.0.0.0:<port>, so a persona on another machine can open /inbox. Without it the catch stays loopback-only. --recipient <address>Only render mail sent to this address (repeatable). Default: render whatever the app actually mailed. -h, --helpdisplay help for command
Kill an interrupted run's sandboxes by their journaled exact ids (the #358 salvage path — reads the run's sandbox-receipts.ndjson; never enumerates the E2B account). Needs E2B_API_KEY in the environment.
humanish reclaim [options]
Option Description --cwd <path>Target project directory. (default: ".") --run <id>Run id, or 'latest'. (default: "latest") --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Run sims, open the observer, and keep the shell attached.
humanish watch [options] [lab]
Argument Description labOptional lab id or .yaml path to run and observe.
Option Description --lab <id-or-path>Explicit lab id or .yaml path. --run <id>Watch an existing run id or latest pointer. --dry-runLab only: render contract evidence without live provider spend. --codex-app-serverLab only: use Codex app-server client mode for OSS headed desktops. --sims <count>Start a fresh synthetic run with this many sims before rendering. Defaults to 4 when --run is omitted. --count <count>Lab only: override headed desktop lane count. --limit <count>Lab only: override smoke lab repo limit. --repo <owner/repo>Lab only: GitHub repo slug. Repeatable. (default: []) --repos <owner/repo,...>Lab only: comma-separated GitHub repo slugs. --redact-reposLab only: redact repo labels in durable artifacts. --no-redact-reposLab only: persist repo labels. Use only for public-safe runs. --keepLab only: keep disposable clone sandbox for debugging. --scorer <path>Terminal/computer-use/shared-world labs only: repo-relative adopter scorer module (.mjs). Overrides review.scorer.ref. Executable code — review it as code. --run-id <id>Explicit run id for deterministic fixture tests. --cwd <path>Target project directory. (default: ".") --env-file <path>Load a local env file for this watch without persisting values. --openOpen the observer in the default browser. --no-openRender without opening a browser. --detachRender/open once and exit without attached watch server. --port <port>Local observer server port when following. (default: "0") --exposeCUA lab only: expose the live run through an authenticated edge so you can watch from a phone. Requires edge auth. --tunnel <provider>Spawn the external tunnel binary against the loopback port. (choices: "ngrok") --tunnel-domain <domain>Reserved domain passed to ngrok as --url (e.g. observer.example.com). Requires --tunnel. --oauth <provider>Turn on ngrok edge OAuth. Requires --tunnel. (choices: "google") --allow-email <addr>Edge OAuth allow rule: permit this email. Repeatable. Requires --oauth. (default: []) --allow-domain <domain>Edge OAuth allow rule: permit this domain. Repeatable. Requires --oauth. (default: []) --public-url <origin>Bring-your-own authed edge (Cloudflare Access/Tailscale/manual). Binds loopback and trusts your edge. Requires --expose. --safeNot applicable to watch: a live run is never share_ready, so --safe (a serve library filter) is rejected here. Restrict viewers with edge auth (--allow-email/--allow-domain). --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Serve a finished run's Observer over loopback http://127.0.0.1 instead of a file:// path.
humanish observe [options]
Option Description --run <id>Run id or latest pointer. (default: "latest") --port <port>Loopback port to bind on 127.0.0.1. Defaults to an ephemeral port. (default: "0") --cwd <path>Target project directory. (default: ".") --openOpen the observer in the default browser. --no-openServe without opening a browser. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Serve the local run library over loopback http, with optional tunnel-edge authenticated exposure.
Option Description --cwd <path>Target project directory. (default: ".") --port <port>Loopback port to bind on 127.0.0.1. Defaults to an ephemeral port. (default: "0") --run <id>Land on this run id (or latest) instead of the library index. --safeServe only runs whose verify shareSafety is share_ready; everything else is absent (fail-closed). --exposeDeclare exposure intent. Requires edge auth (--oauth or --public-url) OR --safe. --tunnel <provider>Spawn the external tunnel binary against the loopback port. (choices: "ngrok") --tunnel-domain <domain>Reserved domain passed to ngrok as --url (e.g. observer.example.com). Requires --tunnel. --oauth <provider>Turn on ngrok edge OAuth. Requires --tunnel. (choices: "google") --allow-email <addr>Edge OAuth allow rule: permit this email. Repeatable. Requires --oauth. (default: []) --allow-domain <domain>Edge OAuth allow rule: permit this domain. Repeatable. Requires --oauth. (default: []) --public-url <origin>Bring-your-own authed edge (e.g. https://observer.example.com ). Requires --expose; never affects binding. --openOpen the library in the default browser. --no-openServe without opening a browser. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Run Codex-native Humanish integration surfaces.
humanish codex [options] [command]
Option Description -h, --helpdisplay help for command
Run a browser-visible Codex app-server actor surface and write redacted protocol artifacts.
humanish codex app-server [options]
Option Description --cwd <path>Target project directory. (default: ".") --prompt <text>Prompt to submit to Codex app-server. --prompt-file <path>Read the Codex app-server prompt from a file. --run-root <path>Artifact directory for redacted app-server evidence. --state-file <path>State JSON file for external observers. --timeout-ms <ms>Actor timeout in milliseconds. (default: "900000") --port <port>Local browser UI port. (default: "0") --model <model>Optional Codex model override. --sandbox <mode>Turn sandbox policy. (choices: "read-only", "workspace-write", "danger-full-access", default: "read-only") --actor-command <command>Override app-server command. Defaults to codex app-server --listen stdio://. --keep-openKeep the browser UI process alive after the actor finishes. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
List, inspect, and run Humanish lab manifests.
humanish lab [options] [command]
Option Description -h, --helpdisplay help for command
List committed and ignored Humanish lab manifests.
humanish lab list [options]
Option Description --cwd <path>Target project directory. (default: ".") --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Inspect a Humanish lab manifest without running it.
humanish lab inspect [options] <lab>
Argument Description labLab id or .yaml path.
Option Description --cwd <path>Target project directory. (default: ".") --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Check a lab manifest and optional target reachability before actor/model spend.
humanish lab preflight [options] <lab>
Argument Description labLab id or .yaml path.
Option Description --cwd <path>Target project directory. (default: ".") --reachability <mode>Reachability mode. (choices: "metadata", "public-preview", "sandbox-loopback", "prepared-host", default: "metadata") --timeout-ms <ms>Target reachability timeout. (default: "30000") --env-file <path>Load a local env file for this preflight without persisting values. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Sweep stale provider resources from a crashed prior process, by provider metadata, without printing provider ids. humanish never enumerates an account by default: set HUMANISH_OSS_META_ALLOW_PROVIDER_LIST=1 to opt in for this maintainer-only sweep.
humanish lab cleanup [options] [lab]
Argument Description labProvider-backed lab to clean up. (default: "oss")
Option Description --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Run a Humanish lab manifest. Same as humanish run <lab>, grouped under lab.
humanish lab run [options] <lab>
Argument Description labLab id or .yaml path.
Option Description --env-file <path>Load a local env file for this lab without persisting values. --dry-runRender contract evidence without live provider spend. The bundled OSS lab defaults to this mode. --codex-app-serverMeta only: use Codex app-server client mode for headed desktop actor surfaces. --openOpen the observer in the default browser. --no-openRender without opening a browser. --detachRender/open once and exit without attached watch server. --port <port>Local observer server port when following. (default: "0") --sims <count>Override synthetic sims or headed desktop lanes. --count <count>CUA/meta only: override headed desktop lane count. --rerun-failed-from <run>CUA fan-out only: create a new run for failed lanes from a prior run. --lanes <lane-ids>CUA rerun only: comma-separated lane ids to rerun from the source run. --limit <count>Smoke labs only: override repo limit. --run-id <id>Explicit lab run id. --cwd <path>Target project directory. (default: ".") --repo <owner/repo>Smoke/meta only: GitHub repo slug. Repeatable. (default: []) --repos <owner/repo,...>Smoke/meta only: comma-separated GitHub repo slugs. --redact-reposMeta only: redact repo labels in durable lab artifacts. --no-redact-reposMeta only: persist repo labels in durable lab artifacts. Use only for public-safe runs. --keepSmoke labs only: keep disposable clone sandbox for debugging. --scorer <path>Terminal/computer-use/shared-world labs only: repo-relative adopter scorer module (.mjs). Overrides review.scorer.ref. Executable code — review it as code. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Alias: run the bundled OSS meta-lab dry-run contract.
humanish lab oss [options]
Option Description --env-file <path>Load a local env file for this lab without persisting values. --repos <owner/repo,...>Comma-separated GitHub repo slugs. --repo <owner/repo>GitHub repo slug. Repeatable. (default: []) --count <count>Number of contract lanes to assign. (default: "4") --sims <count>Alias for --count. --run-id <id>Explicit lab run id. --cwd <path>Host directory for ignored .humanish lab report. (default: ".") --dry-runRender the Observer-of-Observers contract without provider spend or live E2B launch (default). --openOpen the observer in the default browser. --no-openRender without opening a browser. --detachRender/open once and exit without attached watch server. --redact-reposRedact repo labels in durable lab artifacts. --no-redact-reposPersist repo labels in durable lab artifacts. Defaults to redacted when a GitHub token is present. --port <port>Local observer server port when following. (default: "0") --smokeRun the disposable local clone smoke harness instead of headed meta-sims. --limit <count>Smoke mode only: number of selected repos to trial. (default: "4") --keepSmoke mode only: keep disposable clone sandbox for debugging. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Clone lightweight public OSS repos, try Humanish setup/proof, then discard clones.
humanish lab oss-smoke [options]
Option Description --repos <owner/repo,...>Comma-separated public GitHub repo slugs. --repo <owner/repo>Public GitHub repo slug. Repeatable. (default: []) --limit <count>Number of selected repos to trial. (default: "4") --run-id <id>Explicit lab run id. --cwd <path>Host directory for ignored .humanish lab report. (default: ".") --keepKeep disposable clone sandbox for debugging. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Create public-safe feedback drafts without GitHub API mutation.
humanish feedback [options] [command]
Option Description -h, --helpdisplay help for command
List feedback draft state for a run.
humanish feedback list [options]
Option Description --run <id>Run id or latest pointer. (default: "latest") --cwd <path>Target project directory. (default: ".") --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Generate a public-safe feedback draft from verified evidence.
humanish feedback draft [options]
Option Description --run <id>Run id or latest pointer. (default: "latest") --cwd <path>Target project directory. (default: ".") --candidate <id>Which finding to draft (ids from feedback list); default: the first. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Verify the feedback draft for public issue eligibility.
humanish feedback verify [options]
Option Description --run <id>Run id or latest pointer. (default: "latest") --cwd <path>Target project directory. (default: ".") --candidate <id>Which finding to verify (ids from feedback list); default: the first. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Print Markdown for a public GitHub issue. Does not mutate GitHub.
humanish feedback issue [options]
Option Description --run <id>Run id or latest pointer. (default: "latest") --cwd <path>Target project directory. (default: ".") --repo <owner/repo>Repository slug used in rendered filing instructions. --format <format>Output format. (default: "markdown") --candidate <id>Which finding to file (ids from feedback list); default: the first. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command
Print a prefilled public issue URL. Does not mutate GitHub.
humanish feedback issue-url [options]
Option Description --run <id>Run id or latest pointer. (default: "latest") --cwd <path>Target project directory. (default: ".") --repo <owner/repo>Repository slug used in the generated URL. --candidate <id>Which finding to link (ids from feedback list); default: the first. --jsonPrint a machine-readable JSON response. -h, --helpdisplay help for command