ReferenceSpec
CLI Reference
Top-level chio subcommands, their flags, argument types, and default values.
Global flags
-- separator.| Flag | Type | Default | Description |
|---|---|---|---|
--format | enum | human | Output format: json or human |
--json | bool | false | Legacy alias, equivalent to --format json |
--receipt-db | path | none | SQLite database path for durable receipt persistence |
--revocation-db | path | none | SQLite database path for durable capability revocation persistence |
--authority-seed-file | path | none | File path for a persistent capability-authority seed |
--authority-db | path | none | SQLite database path for shared capability-authority state |
--budget-db | path | none | SQLite database path for durable shared capability budget state |
--session-db | path | none | SQLite database path for durable remote MCP session tombstones |
--control-url | string | none | Shared trust-control service base URL |
--control-token | string | none | Bearer token for authenticating to the trust-control service. Also read from the CHIO_CONTROL_TOKEN environment variable (hidden from --help), which is the preferred form so the token is not exposed to other users through ps//proc |
chio check
Evaluate a single tool call against a policy without spawning a subprocess. Useful for dry-running policy changes or testing guard behavior.
chio check --policy <PATH> --tool <NAME> [--mode <preflight|full>] [--params <JSON>] [--server <ID>] [--output-fixture <PATH>]| Flag | Type | Default | Description |
|---|---|---|---|
--policy | path | required | Path to the policy YAML file |
--mode | enum | preflight | Evaluation mode. preflight runs only the guards that need no tool output; full also runs post-output guards against a supplied fixture |
--tool | string | required | Tool name to evaluate |
--params | JSON string | {} | Tool parameters as a JSON string |
--server | string | * | Server ID to use for the evaluation |
--output-fixture | path | none | JSON value returned by the fixture-backed tool server in full mode, so post-output guards have a response to evaluate |
$ chio check --policy ./policy.yaml \
--tool read_file \
--params '{"path": "./workspace/README.md"}'
verdict: ALLOW
tool: read_file
server: *
guards: 8/8 passedchio run
Spawn an agent subprocess and enforce policy via the kernel. The kernel mediates every tool call the agent makes, applying guard rules and signing receipts.
chio run --policy <PATH> -- <COMMAND> [ARGS...]| Flag | Type | Default | Description |
|---|---|---|---|
--policy | path | required | Path to the policy YAML file |
<COMMAND> | trailing args | required | The agent command and its arguments (after --) |
$ chio run --policy ./policy.yaml -- node agent.js
INFO kernel ready, spawning agent subprocess
INFO agent exited with code 0
INFO session complete: 47 receipts (45 allow, 2 deny)chio init
Scaffold a runnable Chio example project with a governed demo flow.
chio init <PATH>| Argument | Type | Description |
|---|---|---|
<PATH> | path | Directory to create for the scaffolded project |
$ chio init my-governed-agent
Created project at ./my-governed-agent
policy.yaml · starter HushSpec policy
agent.js · demo agent script
README.md · getting started guidechio mcp wrap
Wrap a stdio MCP server with verdict gating and emit paste-ready IDE configs. wrap spawns the child, pulls tools/list once on warmup, and gates each tools/call through a manifest-scaffold allowlist. Any tool not yet promoted to allow: true in the file passed via --manifest is denied with a urn:chio:error:capability:scope-exceeded JSON-RPC error. This is a lighter-weight workflow than chio mcp serve and chio mcp serve-http, which run a full policy-driven, kernel-mediated edge over stdio or HTTP; wrap is aimed at manifest-scaffold bootstrapping and IDE onboarding.
chio mcp wrap [--server-id <ID>] [--manifest <PATH>] [--print-scopes] \
[--emit-config <cursor|claude-desktop|continue|zed>] [--display-name <NAME>] \
[--strict-execution-nonce] -- <COMMAND> [ARGS...]| Flag | Type | Default | Description |
|---|---|---|---|
--server-id | string | mcp | Server ID assigned to the wrapped MCP server inside the inferred manifest scaffold |
--manifest | path | none | Promoted capability-scope manifest scaffold. A tool is forwarded only once it is promoted to allow: true here; everything else denies |
--print-scopes | bool | false | Print the inferred capability-scope manifest scaffold and exit |
--emit-config | enum | none | Print a paste-ready MCP client config for cursor, claude-desktop, continue, or zed and exit without spawning the child |
--display-name | string | none | Display name surfaced inside emitted IDE config blobs |
--strict-execution-nonce | bool | false | Route allowed calls through a local kernel preflight that mints and presents strict execution nonces before dispatching to the wrapped server |
<COMMAND> | trailing args | required | The wrapped MCP server command and its arguments (after --) |
# Print the inferred capability-scope scaffold, then emit a Cursor config:
$ chio mcp wrap --print-scopes \
-- npx -y @modelcontextprotocol/server-filesystem ./workspace
$ chio mcp wrap --emit-config cursor --display-name "Files (governed)" \
-- npx -y @modelcontextprotocol/server-filesystem ./workspace
# Run the gated wrap loop against a promoted manifest scaffold:
$ chio mcp wrap --manifest ./scopes.yaml --server-id srv-files \
-- npx -y @modelcontextprotocol/server-filesystem ./workspacechio mcp serve
Wrap an MCP server subprocess and expose a secured MCP edge over stdio. The Chio kernel intercepts every tool call, applies policy, and signs receipts before forwarding to the wrapped server.
chio mcp serve (--policy <PATH> | --preset <NAME>) [--server-id <ID>] [OPTIONS] -- <COMMAND> [ARGS...]| Flag | Type | Default | Description |
|---|---|---|---|
--policy | path | none | Path to the policy YAML file. Required unless --preset is given; the two are mutually exclusive |
--preset | string | none | Bundled policy preset used instead of --policy. code-agent applies a zero-config deny-by-default policy for coding agents (safe file reads; denies .env/.git/**/.ssh/** writes and git push --force) |
--server-id | string | mcp | Server ID to assign to the wrapped MCP server inside Chio |
--server-name | string | none | Human-readable name for the wrapped MCP server |
--server-version | string | none | Version string for the wrapped MCP server |
--manifest-public-key | string | none | Override the public key embedded in the synthetic manifest |
--page-size | integer | 50 | Page size for paginated tools/list responses |
--tools-list-changed | bool | false | Advertise notifications/tools/list_changed |
$ chio mcp serve --policy ./policy.yaml --server-id srv-files \
-- npx -y @modelcontextprotocol/server-filesystem ./workspace
# Or use the bundled code-agent preset instead of a policy file:
$ chio mcp serve --preset code-agent --server-id srv-files \
-- npx -y @modelcontextprotocol/server-filesystem ./workspacechio mcp serve-http
Wrap an MCP server subprocess and expose a secured MCP edge over Streamable HTTP. Supports multiple concurrent remote sessions, OAuth2 and JWT authentication, and optional shared subprocess mode.
chio mcp serve-http --policy <PATH> --server-id <ID> [OPTIONS] -- <COMMAND> [ARGS...]| Flag | Type | Default | Description |
|---|---|---|---|
--policy | path | required | Path to the policy YAML file |
--server-id | string | required | Server ID to assign to the wrapped MCP server |
--server-name | string | none | Human-readable name for the wrapped MCP server |
--server-version | string | none | Version string for the wrapped MCP server |
--manifest-public-key | string | none | Override the public key embedded in the synthetic manifest |
--page-size | integer | 50 | Page size for paginated tools/list responses |
--tools-list-changed | bool | false | Advertise notifications/tools/list_changed |
--shared-hosted-owner | bool | false | Use one shared wrapped MCP subprocess for all remote sessions |
--listen | socket addr | 127.0.0.1:8931 | Socket address to bind the remote MCP edge to |
--auth-token | string | none | Static bearer token required for remote session admission |
--auth-jwt-public-key | string | none | Public key used to verify externally issued JWT bearer tokens |
--auth-jwt-discovery-url | string | none | OIDC discovery URL for issuer metadata and JWKS resolution |
--auth-introspection-url | string | none | OAuth2 token introspection endpoint for opaque bearer tokens |
--auth-introspection-client-id | string | none | Client ID when calling the introspection endpoint |
--auth-introspection-client-secret | string | none | Client secret when calling the introspection endpoint |
--auth-jwt-provider-profile | enum | none | Provider profile for principal mapping and OIDC discovery |
--auth-server-seed-file | path | none | Local auth-server signing seed file for self-issued JWTs |
--identity-federation-seed-file | path | none | Seed file for deriving stable Chio subjects from OAuth principals |
--enterprise-providers-file | path | none | File-backed enterprise provider registry shared with trust-control |
--auth-jwt-issuer | string | none | Expected bearer-token issuer for remote session admission |
--auth-jwt-audience | string | none | Expected bearer-token audience for remote session admission |
--admin-token | string | none | Static bearer token for remote admin APIs |
--public-base-url | string | none | Public base URL for protected-resource metadata URLs |
--auth-server | string (repeatable) | none | Authorization server URL advertised via protected-resource metadata |
--auth-authorization-endpoint | string | none | OAuth authorization endpoint in colocated auth-server metadata |
--auth-token-endpoint | string | none | OAuth token endpoint in colocated auth-server metadata |
--auth-registration-endpoint | string | none | Dynamic client registration endpoint in auth-server metadata |
--auth-jwks-uri | string | none | JWKS URI advertised in auth-server metadata |
--auth-scope | string (repeatable) | none | Scope hint advertised in protected-resource challenges |
--auth-subject | string | operator | Subject to embed in locally issued auth-server access tokens |
--auth-code-ttl-secs | integer | 300 | Authorization-code lifetime for the hosted auth server |
--auth-access-token-ttl-secs | integer | 600 | Access-token lifetime for the hosted auth server |
$ chio mcp serve-http \
--policy ./policy.yaml \
--server-id srv-files \
--listen 0.0.0.0:8931 \
--auth-token my-secret-token \
-- npx -y @modelcontextprotocol/server-filesystem ./workspace
INFO remote MCP edge listening on 0.0.0.0:8931
INFO authentication: static bearer tokenchio trust serve
Serve the shared trust-control plane over HTTP. The trust-control service provides centralized revocation, reputation scoring, federation policy, passport lifecycle management, and certification registry.
chio trust serve --service-token <TOKEN> [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--listen | socket addr | 127.0.0.1:8940 | Socket address to bind the trust-control service |
--service-token | string | required | Bearer token required for trust-control service requests |
--advertise-url | string | none | Public base URL this node advertises to peers and clients |
--peer-url | string (repeatable) | none | Peer trust-control base URL (repeat for multiple peers) |
--cluster-sync-interval-ms | integer | 500 | Background cluster sync interval in milliseconds |
--policy | path | none | Policy file whose reputation issuance extension is enforced |
--enterprise-providers-file | path | none | File-backed enterprise provider registry |
--federation-policies-file | path | none | File-backed permissionless federation policy registry |
--scim-lifecycle-file | path | none | File-backed SCIM lifecycle registry for external IdP provisioning |
--verifier-policies-file | path | none | File-backed signed verifier policy registry |
--verifier-challenge-db | path | none | SQLite verifier challenge-state database for replay-safe flows |
--passport-statuses-file | path | none | File-backed passport lifecycle registry |
--passport-issuance-offers-file | path | none | File-backed passport issuance registry for OID4VCI offers |
--certification-registry-file | path | none | File-backed certification registry |
--certification-discovery-file | path | none | Multi-operator certification discovery network file |
--certification-public-metadata-ttl-seconds | integer | 3600 | Public certification metadata TTL in seconds |
$ chio trust serve \
--service-token my-control-token \
--listen 0.0.0.0:8940 \
--passport-statuses-file ./data/passports.json \
--certification-registry-file ./data/certs.json
INFO trust-control service listening on 0.0.0.0:8940chio trust revoke
Persist a capability revocation into the configured revocation database.
chio trust revoke --capability-id <ID>chio trust status
Query whether a capability ID is currently revoked.
chio trust status --capability-id <ID>chio trust federation and economics
Beyond serve, revoke, and status, TrustCommands hosts a large enterprise-federation and economics command groups, each backed by dedicated schema families under the Chio federation, risk, and transaction schema namespaces. Most take a JSON or YAML input file and honor the global --control-url/--control-token flags to target a running trust-control service, falling back to a local registry file otherwise.
Federation and delegation:
chio trust provider(list/get/upsert/delete): enterprise federation provider-admin recordschio trust federation-policy(list/get/upsert/delete/evaluate): permissionless federation admission policieschio trust federated-issue: issue one local capability after verifying a challenge-bound portable presentationchio trust federated-delegation-policy-create: create a signed federated delegation policy from a single default capabilitychio trust evidence-share(list): inspect shared remote evidence references used by local delegated activitychio trust authorization-context(metadata/list/review-pack): derived external authorization context from governed receipts
Attestation and risk reporting:
chio trust appraisal(export/export-result/import): signed runtime-attestation appraisal reportschio trust behavioral-feed(export): signed insurer-facing behavioral feedchio trust exposure-ledger(export): signed exposure ledger from canonical trust and underwriting datachio trust credit-scorecard(export): signed subject-scoped credit scorecardchio trust credit-backtest(export): deterministic credit backtests over historical evidence windowschio trust provider-risk-package(export): signed provider-facing risk package
Capital and credit lifecycle:
chio trust capital-book(export): signed live capital book with source-of-funds attributionchio trust capital-instruction(issue): custody-neutral escrow or reserve instructionchio trust capital-allocation(issue): capital-allocation decision produced after simulationchio trust facility(evaluate/issue/list): bounded credit facilitieschio trust bond(evaluate/issue/simulate/list): reserve-lock bondschio trust loss(evaluate/issue/list): immutable bond-loss records
Liability market and underwriting:
chio trust liability-provider(issue/list/resolve): curated liability-market provider registry entrieschio trust liability-market: quote, placement, bound-coverage, and claim-workflow issuance pluslist/claims-listchio trust underwriting-input(export): signed underwriting policy-input snapshotchio trust underwriting-decision(evaluate/simulate/issue/list): bounded underwriting decisionschio trust underwriting-appeal(create/resolve): appeals against persisted decisions
chio receipt
Inspect and maintain the local receipt store. ReceiptCommands has seven subcommands: list, health, flush, audit, retention, checkpoint, and explain. Receipt write, health, flush, and checkpoint operations are local SQLite operator commands in this release: they require --receipt-db and are not proxyable to a remote --control-url node.
receipt list
List receipts from the receipt store with optional filters. Output is one JSON receipt per line (JSON Lines format).
chio receipt list [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--capability | string | none | Filter by capability ID |
--tool-server | string | none | Filter by tool server ID |
--tool-name | string | none | Filter by tool name |
--outcome | string | none | Filter by decision outcome: allow, deny, cancelled, incomplete |
--since | integer (Unix seconds) | none | Receipts with timestamp >= this value |
--until | integer (Unix seconds) | none | Receipts with timestamp <= this value |
--min-cost | integer | none | Minimum cost in minor currency units (financial receipts only) |
--max-cost | integer | none | Maximum cost in minor currency units (financial receipts only) |
--limit | integer | 50 | Maximum number of receipts per page |
--cursor | integer | none | Cursor for pagination (seq value to start after) |
--tenant | string | none | Tenant read boundary for the listing |
--admin-all | bool | false | Read across all tenants as an administrative operation (conflicts with --tenant) |
Tenant reads fail closed
--tenant nor --admin-all is supplied. Pass one of them to scope the listing to a tenant or to read across all tenants.# List recent denials
$ chio receipt list --outcome deny --limit 10 --tenant acme-corp
# List receipts for a specific tool in a time window
$ chio receipt list --tool-name read_file --since 1713000000 --until 1713100000receipt health
Report receipt-store write health and durability status.
chio receipt health --receipt-db <PATH>receipt flush
Flush pending receipt writes to durable storage, bounded by a timeout.
chio receipt flush [--timeout-ms <N>]--timeout-ms is the maximum time to wait for the flush to complete, in milliseconds (default 5000, minimum 1).
receipt audit
Run the full receipt-log audit: claim-log projection validation plus a complete checkpoint-chain verification.
chio receipt audit [--repair]--repair performs an offline on-disk repair that revalidates the receipt chain on a local connection. Run it with the kernel stopped: a running kernel keeps its verified head in memory in a separate process that the CLI cannot reach, so --repair does not clear a live poisoned writer. Restart the kernel to reseed a clean head from the validated on-disk state.
receipt retention repair
Repair a receipt store bricked by a retention rotation that left orphaned claim-log rows. The repair removes rows whose source receipts were archived and deleted, restoring a writable, reopenable store, and fails closed.
chio receipt retention repair --archive <PATH>--archive is the archive file holding the co-archived claim-log rows the removal is validated against. The subcommand is nested as retention repair; the flat spelling retention-repair is rejected.
receipt checkpoint
Inspect or advance the receipt-checkpoint chain. Subcommands: status, create, verify.
chio receipt checkpoint status [--max-batch <N>] # report checkpoint-chain status
chio receipt checkpoint create --kernel-seed-file <PATH> [--max-batch <N>] # create the next signed checkpoint
chio receipt checkpoint verify # verify checkpoint-chain integrity--max-batch caps the number of receipts considered per checkpoint batch (default 1024, minimum 1). create signs the checkpoint with the kernel keypair loaded from --kernel-seed-file.
receipt explain
Explain why a receipt was allowed or denied and render its parent lineage.
chio receipt explain <RECEIPT_ID> [--input-file <PATH>] [--depth <N>] \
[--fanout-limit <N>] [--inspect-bilateral] [--tenant <ID> | --admin-all]--depth bounds the parent depth rendered (default 8) and --fanout-limit the siblings per level (default 32). When --input-file points at a BilateralCoSignArtifacts document, the renderer auto-detects the bilateral shape and prints both the dual-signed receipt and the DSSE signature-slice sections. --inspect-bilateral (alias --explain-bilateral) additionally emits a structural, schema-only inspection trace of the envelope; that trace performs no Ed25519 signature verification and makes no cryptographic-verification claim. Like the other reading paths, the explanation fails closed unless --tenant or --admin-all is supplied.
chio evidence
Export, verify, and import offline evidence packages from the local receipt database for cross-organizational sharing and federation, and author the signed bilateral federation policies that constrain those exports.
evidence export
chio evidence export --output <DIR> [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--output | path | required | Output directory for the evidence package |
--capability | string | none | Filter receipts by capability ID |
--agent-subject | string | none | Filter receipts by agent subject public key |
--since | integer (Unix seconds) | none | Include receipts with timestamp >= this value |
--until | integer (Unix seconds) | none | Include receipts with timestamp <= this value |
--policy-file | path | none | Policy file to attach to the export package |
--federation-policy | path | none | Signed bilateral federation policy constraining the export scope |
--require-proofs | bool | false | Fail if any selected receipt lacks checkpoint coverage |
--tenant | string | none | Tenant boundary for the export |
--admin-all | bool | false | Export across all tenants as an administrative operation (conflicts with --tenant) |
Tenant reads fail closed
chio receipt list, the export reading path fails closed when neither --tenant nor --admin-all is supplied.evidence verify
Verify every receipt signature, parameter hash, and checkpoint inclusion proof in an evidence package without importing it.
chio evidence verify --input <DIR>Essential flag: --input <DIR> (required). Path to the evidence package directory.
evidence import
Import a verified evidence package into the local receipt database, merging receipts and checkpoints.
chio evidence import --input <DIR>Essential flag: --input <DIR> (required). Path to the evidence package directory.
evidence federation-policy create
Create a signed bilateral federation policy document that constrains receipt sharing between two organizations. The resulting document is passed to chio evidence export --federation-policy to bound an export's scope.
chio evidence federation-policy create \
--output <PATH> \
--signing-seed-file <PATH> \
--issuer <ORG> \
--partner <ORG> \
--expires-at <UNIX_SECONDS> \
[--capability <ID>] [--agent-subject <HEX>] \
[--since <UNIX_SECONDS>] [--until <UNIX_SECONDS>] \
[--tenant <ID> | --admin-all] [--require-proofs]Required flags: --output (signed policy JSON path), --signing-seed-file (persistent signing seed), --issuer and --partner (issuing and receiving organization identifiers), and --expires-at (policy expiry, Unix seconds). The optional flags scope the shared export by capability, agent subject, time window, tenant, and checkpoint-coverage requirement.
chio passport
Manage Agent Passport bundles. Passports are portable, signed bundles of reputation credentials that agents carry across trust boundaries. chio passport spans ten subcommand groups: the core lifecycle documented below (generate, create, verify, evaluate, present), plus verifier-policy management (policy), challenge/response presentation (challenge), lifecycle status (status), OID4VCI-style credential issuance (issuance), and the OID4VP verifier/holder interop flow (oid4vp).
passport generate
Synthesize a trust-tier-enriched passport for a named agent. Computes the agent's compliance score and behavioral anomaly, collapses them into a TrustTier, and emits a minimal passport JSON document with that tier populated. Distinct from create, which builds a single-issuer passport from local receipt and lineage data.
passport create
chio passport create --subject-public-key <HEX> --output <PATH> --signing-seed-file <PATH> [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--subject-public-key | hex string | required | Subject Ed25519 public key in hex |
--output | path | required | Output path for the passport JSON |
--signing-seed-file | path | required | Persistent seed file for signing the reputation credential |
--validity-days | integer | 30 | Passport validity period in days |
--since | integer (Unix seconds) | none | Lower bound for the attested receipt window |
--until | integer (Unix seconds) | none | Upper bound for the attested receipt window |
--receipt-log-url | string (repeatable) | none | Receipt log service endpoint(s) to embed |
--require-checkpoints | bool | false | Fail if any selected receipt lacks checkpoint coverage |
--enterprise-identity | path | none | Enterprise identity context JSON for portable provenance |
passport verify
Verify the signatures, validity window, and (optionally) lifecycle status of a passport bundle.
chio passport verify --input <PATH> [--at <UNIX_SECONDS>] [--passport-statuses-file <PATH>]Essential flags: --input (required, passport JSON path), --at (evaluate validity at this Unix seconds timestamp), --passport-statuses-file (local lifecycle registry for revocation checks).
passport evaluate
Evaluate a passport against a policy's reputation and acceptance rules, producing a tier assignment and accept/reject verdict.
chio passport evaluate --input <PATH> --policy <PATH> [--at <UNIX_SECONDS>]Essential flags: --input (required, passport JSON path), --policy (required, policy YAML with reputation rules), --at (evaluate at this Unix seconds timestamp).
passport present
Produce a minimal presentation from a passport, filtering credentials by accepted issuer list and a maximum count.
chio passport present --input <PATH> --output <PATH> [--issuer <DID>...] [--max-credentials <N>]Essential flags: --input (required, passport JSON path), --output (required, output path for the presentation), --issuer (repeatable, restrict to these issuer DIDs), --max-credentials (integer cap on included credentials).
passport policy
Create, verify, and manage signed relying-party verifier policies. Subcommands: create, verify, list, get, upsert, delete. The list, get, upsert, and delete operations honor --control-url to target a running trust-control service, or a local registry file otherwise.
passport challenge
Create and consume challenge-bound passport presentations for replay-safe verification. Subcommands: create (mint a presentation challenge for a relying party), respond (answer a challenge with the passport subject key), submit (send a signed response to a public verifier transport URL), and verify (verify a challenge-bound response).
passport status
Publish, resolve, and revoke passport lifecycle state. Subcommands: publish, list, get, resolve, revoke. These operate against the passport lifecycle registry served by chio trust serve.
passport issuance
Deliver passports through an OID4VCI-style pre-authorized issuance flow. Subcommands: metadata (issuer metadata document), offer (credential offer), token (pre-authorized-code token exchange), and credential (credential issuance).
passport oid4vp
Create and consume Chio's narrow OID4VP verifier and holder interop flow. Subcommands: create (replay-safe verifier request on the running trust-control service), respond (build a holder response from a verifier request or launch URL), submit (submit a response JWT), and metadata (fetch the public verifier metadata document).
chio did resolve
Resolve a did:chio identifier or Ed25519 public key into a DID Document.
chio did resolve [--did <DID> | --public-key <HEX>] [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--did | string | none | Fully-qualified did:chio identifier (conflicts with --public-key) |
--public-key | hex string | none | Hex-encoded Ed25519 public key to resolve as did:chio (conflicts with --did) |
--receipt-log-url | string (repeatable) | none | Receipt log service endpoint to include in the resolved document |
--passport-status-url | string (repeatable) | none | Passport lifecycle endpoint to include in the resolved document |
$ chio did resolve --public-key 9c7b3f...a1b2c3chio certify
Evaluate conformance evidence and emit a signed certification record. Certify manages the full lifecycle: check, verify, and registry operations.
certify check
chio certify check \
--scenarios-dir <DIR> \
--results-dir <DIR> \
--output <PATH> \
--tool-server-id <ID> \
--signing-seed-file <PATH> \
[OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--scenarios-dir | path | required | Directory containing conformance scenario descriptor JSON files |
--results-dir | path | required | Directory containing conformance result JSON files |
--output | path | required | Output path for the signed certification JSON |
--tool-server-id | string | required | Stable identifier for the tool server being checked |
--tool-server-name | string | none | Human-readable name for the tool server |
--report-output | path | none | Path to write a generated markdown report |
--criteria-profile | string | conformance-all-pass-v1 | Certification criteria profile to apply |
--signing-seed-file | path | required | Persistent seed file for signing certifications |
certify verify
Verify the signature and criteria-profile evaluation of a certification record.
chio certify verify --input <PATH>Essential flag: --input <PATH> (required). Path to the signed certification JSON.
certify registry
Manage the certification registry served by chio trust serve: publish a certification (to a local registry, or across a discovery network), list entries, fetch one by certification ID, resolve the current certification for a tool server, discover and search certifications across configured operators, render the public transparency feed, consume public listings against a local import policy, and revoke or dispute a published certification.
chio certify registry publish --input <PATH> # publish signed artifact to registry
chio certify registry publish-network --input <PATH> [--operator-id <ID>...] # publish across discovery-network operators
chio certify registry list # list certifications in the registry
chio certify registry get --artifact-id <CERT_ID> # fetch a certification by artifact ID
chio certify registry resolve --tool-server-id <ID> # resolve current certification for a tool server
chio certify registry discover --tool-server-id <ID> # discovery status across configured operators
chio certify registry search [--tool-server-id <ID>] [--criteria-profile <P>] [--status <S>] # search public listings
chio certify registry transparency [--tool-server-id <ID>] [--operator-id <ID>...] # render the public certification transparency feed
chio certify registry consume --tool-server-id <ID> [--criteria-profile <P>...] [--evidence-profile <P>...] # evaluate public listings against a local import policy
chio certify registry revoke --artifact-id <CERT_ID> [--reason <TEXT>] [--revoked-at <UNIX_SECONDS>] # revoke a certification
chio certify registry dispute --artifact-id <CERT_ID> --state <open|under-review|resolved-no-change|resolved-revoked> [--note <TEXT>] # open or resolve a disputeRegistry subcommands honor the global --control-url and --control-token flags to target a running trust-control service; without them they read or update a local registry or discovery-network file.
chio reputation
Inspect local reputation scorecards from persisted receipts and lineage state.
reputation local
chio reputation local --subject-public-key <HEX> [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--subject-public-key | hex string | required | Subject Ed25519 public key in hex |
--since | integer (Unix seconds) | none | Lower bound for the evaluated receipt window |
--until | integer (Unix seconds) | none | Upper bound for the evaluated receipt window |
--policy | path | none | Policy file whose reputation scoring config applies |
reputation compare
Compare the live local reputation corpus against a portable passport.
chio reputation compare --subject-public-key <HEX> --passport <PATH> [OPTIONS]Additional Commands
The remaining top-level subcommands cover HTTP-API protection, guard development, proof and commerce evidence, workflow preflight, conformance, federation, attestation, live-runtime admission, pheromones, replay, settlement, lineage, diagnostics, the adversarial arena, and provider binding.
chio api protect
Start the Chio HTTP sidecar as a reverse proxy that enforces policy over an upstream HTTP API and derives tool definitions from an OpenAPI spec.Protect is the sole ApiCommands variant.
chio api protect --upstream <URL> [--spec <PATH>] [--listen <ADDR>] \
[--receipt-store <PATH>] [--allow-ephemeral-receipts] [--upstream-timeout-secs <N>]| Flag | Type | Default | Description |
|---|---|---|---|
--upstream | string | required | Upstream base URL to proxy to |
--spec | path | none | Local OpenAPI spec path. Auto-discovered from the upstream when omitted |
--listen | socket addr | 127.0.0.1:9090 | Address to bind the sidecar to |
--receipt-store | path | none | SQLite receipt store path for a durable audit log |
--allow-ephemeral-receipts | bool | false | Permit in-memory receipts (audit evidence is lost on restart). Required to boot without --receipt-store |
--upstream-timeout-secs | integer | 20 | Wall-clock ceiling in seconds on a single upstream hop, including reading the full response |
chio start
Zero-config convenience alias for chio api protect aimed at SDK quickstart and chio-hermes users. It runs the same sidecar router but with no upstream proxy (the catch-all path returns 502) and durable receipts by default. chio api protect is the production command for deployments that need --upstream, --spec, and persistent stores.
chio start [--listen 127.0.0.1:9090] [--receipt-store <PATH>] [--allow-ephemeral-receipts] [--print-config]chio cert
Generate, verify, and inspect ACP session compliance certificates. This is a different command from chio certify, which produces conformance-corpus certification artifacts; chio cert attests that a specific ACP session ran within its budget and policy.
chio cert generate --session-id <ID> --receipt-db <PATH> [--budget-limit <N>] [--output <PATH>]
chio cert verify --certificate <PATH> --trusted-kernel-pubkey <PATH> [--full] [--receipt-db <PATH>]
chio cert inspect --certificate <PATH>--budget-limit defaults to 0 (unlimited). verify --full re-verifies every receipt signature in the bundle and requires --receipt-db.
chio guard
WASM guard development lifecycle. Subcommands: new (scaffold a guard crate with Cargo.toml, src/lib.rs, and guard-manifest.yaml), build (compile to wasm32-unknown-unknown), inspect, test, bench, pack (produce a .arcguard archive), and publish/pull (push and fetch a three-layer OCI guard artifact; the registry password is read from CHIO_GUARD_REGISTRY_PASSWORD).
chio proof
Assemble, collect, and verify proof bundles and Transaction Passport records, and serve a static, read-only Proof Room for a verified proof bundle (chio proof serve). The Proof Room renders verified evidence and does not authorize actions.
chio commerce
Verify commerce proof bundles and payment evidence, including agent-web envelopes, buyer packages, transaction passports, and settlement records.
chio workflow
Validate read-only workflow planning evidence before dispatch via chio workflow preflight. The CLI command validates preflight evidence; it does not execute the workflow.
chio conformance
Run the cross-language conformance harness against a peer adapter. chio conformance fetch-peers pulls peer adapters pinned in the conformance lockfile; supports --check, --out, and --language.
chio federation
Produce and verify cross-kernel federation records (subcommands authority and treaty).
chio attest
Verify offline attestation evidence and buyer proof packages. Subcommands: buyer, supply-chain, runtime-quote.
chio runtime
Evaluate local live-runtime admission records and run live-runtime operator commands (admission, signed trust inputs, policy signing, peer weights, orchestration, and ops).
chio pheromone
Receive, query, and relay pheromone records (subcommands receive, query, relay).
chio replay
Re-evaluate a captured receipt log against the current build. Reads a directory of signed receipts (or an NDJSON tee stream), re-verifies every signature, recomputes the Merkle root incrementally, and reports the first divergence by byte offset and JSON pointer. The exit code is the reported outcome:
| Exit code | Meaning |
|---|---|
0 | All receipts (or tee frames) verify and the root matches expectation |
10 | Verdict drift: a receipt's allow/deny decision differs from the current build for the same input |
20 | Signature mismatch: Ed25519 verification failed on a receipt or frame |
30 | Parse error: malformed JSON or missing required field |
40 | Schema mismatch: unsupported schema version or schema validation failed |
50 | Redaction mismatch: rerunning the redaction manifest produces a different result |
chio settle
Inspect local settlement lifecycle records: pending IOU envelopes, settled reconciliations, and dead-lettered settlements.
chio lineage
Query, diff, or list anchored roots in the lineage DAG. Subcommands: query (walk forward or reverse from a seed node over a lineage dump), diff (symmetric edge diff between two dumps), and roots (list pinned-frontier records).
chio doctor
Diagnose toolchain, guard-registry, OTEL, and chio.yaml health. Probes run in order: toolchain version vs. workspace MSRV, OCI guard registry reachability, cosign guard-bundle freshness, OTEL exporter resolution, kernel /metrics, and chio.yaml schema validity. The exit code follows the worst observed severity: 0 for ok/info/warning, 1 for error, and 2 for fatal. --fix runs idempotent repairs only.
chio arena
The chio-arena coliseum: run scenarios, replay bundles, and evolve adversaries. run scenarios/<name>.toml drives the kernel and writes a replay-compatible receipt bundle under target/arena/<scenario-id>/; replay delegates to chio replay; and evolve ... --generations N runs the co-evolution driver under a bounded-budget gate.
chio bind
Bind a provider under a signed model card. Loads the canonical-JSON model card, validates its shape, and prints the resolved weights_hash and allowed_capability_set for operator review before promotion.
chio bind <PROVIDER> --card <PATH> \
[--bundle <PATH> --issuer-san-regex <REGEX> --issuer-oidc <URL>] \
[--weights-binding-mode not_required|required|required_with_pin]When --bundle is supplied the cosign bundle is verified before the binding summary prints; required and required_with_pin weights-binding modes require a bundle so card verification cannot be silently skipped.