CLI command reference

Shipmoor Team
June 11, 2026
4 min read

One universal shipmoor binary serves every tier; a local license unlocks the paid commands. This page is the full surface. Narrative guides live in Community CLI and Claim Check.

Commands

CommandWhat it doesTier
scan [path]Structural scan → human / shipmoor.scan.v1 JSON / SARIFCommunity
scan --changed / --staged / --diff <range> / --patch <file>Scope the scan to git changes or an unapplied patchCommunity
scan --intent / --prompt / --sessionThe claim check — did the change do what the task asked?IC (intent_scan)
scan --intent … --agent "<cmd>"Escalate the long tail to BYO-Judge (your own agent)IC (agent_harness)
rules [--json]List the rule catalogCommunity
explain <rule-or-finding-id> [--from <report>]Explain a rule or a specific findingCommunity
resolve-intentResolve an intent (no scan, no probes) — same resolver as scanIC (intent_scan)
repair-guidance --from <report> [--json]Repair guidance for findings in a reportIC (repair_guidance)
skills {list,install,uninstall,status}Install Agent Skills into your agentIC (agent_skills)
login / logout / whoami [--json]Device-flow license auth and identity
capabilities --jsonThis machine’s entitlement contract (shipmoor.capabilities.v1)
upgrade [--non-interactive]Self-update the binary (channel-aware)
initGenerate a starter .shipmoor.yamlCommunity
versionVersion + identity

intent-scan still works as a deprecated alias for scan --intent. Team commands surface only their entitlement-gated availability today — the Team tier is coming soon.

scan flags

Scope (mutually exclusive with a positional path):

FlagScope
--changedStaged + unstaged changes
--stagedStaged only (pre-commit)
--diff <range>A git range; main...HEAD gates what the branch adds
--patch <file>A unified diff, analyzed in memory without applying

Output:

FlagEffect
--json / --sarifMachine output (scan.v1 / SARIF 2.1.0)
--output <path>Write the report to a file (stdout otherwise)
--markdown-summary <path>Also write a human-readable digest (CI job pages)
--no-colorSuppress ANSI color (also via NO_COLOR, or automatically when not a TTY)

Gating:

FlagEffect
--fail-on <none|critical|high|medium>The structural threshold (default high)
--config <path>Explicit .shipmoor.yaml

Claim Check (IC):

FlagEffect
--intent "<goal>"One-line intent source
--prompt "<prompt>"The agent prompt as a second source (two agreeing sources → medium confidence)
--session <transcript>Claude Code / Cursor session: first user turn → intent; plan → plan drift
--verdict-policy <path>The gating policy file (Turning on the gate)
--would-blockCompute the gate as if enabled; always exit 0
--explainPer-expectation probe detail
--quiet-intentCollapse the claim check to one badge line
--agent "<cmd>"The BYO-Judge agent command
--judge-role <name>Role label for the judge invocation
--author-model-id <id>Declare who authored the diff (judge isolation)
--strict-judge-isolationAuthor == judge becomes a hard error

Exit codes

scan: 0 clean · 1 gate fired (report still written) · 2 usage · 3 scan failed — the full contract, including how the claim-check gate unifies with --fail-on, is in Output formats & exit codes. upgrade has its own codes (0 ok/no-op · 2 usage/platform · 20 network · 21 checksum · 22 permissions · 23 replacement failed).

Environment variables

VariableEffect
SHIPMOOR_OFFLINE=1Kill switch: disables the registry lookup, BYO-Judge, and telemetry recording
SHIPMOOR_LICENSE_TOKEN / SHIPMOOR_LICENSE_FILELicense for CI / non-interactive machines
SHIPMOOR_INTENT_DRIFT_STAGE3=1Opt in to BYO-Judge
SHIPMOOR_AUTHOR_MODEL_IDSame as --author-model-id
SHIPMOOR_VERSION / SHIPMOOR_CHANNEL / SHIPMOOR_INSTALL_DIRInstaller controls (pin, staging, custom path)
NO_COLORSuppress color

Next

Last updated on June 11, 2026

Was this article helpful?

Your response is saved on this device.