ERRORS
Error codes
Every TOVIO error ends with a stable TVO-AREA-NNN code. Each code has a page linking the error reference, the troubleshooting guide, and a way to report it.
Last updated September 9, 2026
Every TOVIO error has three parts — what happened, why, and what to do next — and ends with a stable code. The error reference explains the standard, the exit-code classes, and the --json shape; the troubleshooting guide covers the most common failures. The pages below exist so the link a binary prints next to a code has somewhere to land.
383 codes across 32 areas.
ADMIN
- TVO-ADMIN-001
- TVO-ADMIN-400 — Enterprise identity-provider request is invalid
- TVO-ADMIN-404 — Enterprise identity-provider record not found
- TVO-ADMIN-409 — Enterprise identity-provider state changed or remains active
- TVO-ADMIN-422 — A referenced provider resource is unavailable for this scope
- TVO-ADMIN-503 — Enterprise identity-provider administration unavailable
CAPI
- TVO-CAPI-001 — No or invalid credential on /v1
- TVO-CAPI-002 — Credential valid, scope or role insufficient
- TVO-CAPI-003 — Step-up required and not satisfied
- TVO-CAPI-004 — Not found, or not visible
- TVO-CAPI-005 — Request failed validation
- TVO-CAPI-006 — Compare-and-set conflict
- TVO-CAPI-007 — Account close: second factor missing or stale
- TVO-CAPI-008 — Session lifetime spent
- TVO-CAPI-009 — The Forge is unreachable
- TVO-CAPI-010 — Not available from the dashboard yet
CI
- TVO-CI-001
- TVO-CI-002
- TVO-CI-003
- TVO-CI-004 — The job could not complete
- TVO-CI-005
- TVO-CI-006 — Secret clearance denied for this CI job
- TVO-CI-007 — Cannot run the CI bridge safely
- TVO-CI-008 — The TOVIO CI operation did not complete
- TVO-CI-009 — Cannot install the verified TOVIO release
- TVO-CI-010 — Cannot create the OIDC runner issuer policy
- TVO-CI-011 — Cannot enroll the OIDC workload runner
- TVO-CI-012 — This deploy gate cannot be approved by you
- TVO-CI-013 — Required artifact <name> is missing
- TVO-CI-014 — Artifact <name> transfer failed at <stage>
CLI
- TVO-CLI-001 — Unknown command or path
- TVO-CLI-002 — Destructive confirmation required
- TVO-CLI-003 — Not a TOVIO repository
- TVO-CLI-004 — A TOVIO repository already exists
- TVO-CLI-005 — Invalid lane name
- TVO-CLI-006 — No such lane
- TVO-CLI-007 — Lane already exists
- TVO-CLI-008 — Invalid .tovioignore
- TVO-CLI-009 — Cannot delete the current lane
- TVO-CLI-010 — Invalid policy expression
- TVO-CLI-011 — No file at <path> in the current commit
- TVO-CLI-012 — <path> is conflicted — no single committed version
- TVO-CLI-013 — No materialized conflict at <path>
- TVO-CLI-014 — The <s> side of <path> is a deletion
- TVO-CLI-015 — Ambiguous agent <name> — N live lanes
- TVO-CLI-016 — Cannot submit the review decision
- TVO-CLI-017 — Cannot combine --json and --quiet
- TVO-CLI-018 — No such operation <op-id>
- TVO-CLI-019 — This commit needs a message
- TVO-CLI-020 — Invalid remote configuration
- TVO-CLI-021 — Cannot safely use repository path <path>
- TVO-CLI-022 — Cannot recover an interrupted checkout
- TVO-CLI-023 — Cannot safely track special entry <path>
- TVO-CLI-024 — Cannot provision the provider credential safely
- TVO-CLI-025 — No revision <rev> in this repository
- TVO-CLI-026 — Invalid search pattern
- TVO-CLI-027 — Invalid operation request
- TVO-CLI-028 — Cannot <action> <path> during checkout
- TVO-CLI-029 — Invalid issue/release request
- TVO-CLI-031 — No Forge to sign for
COLLAB
- TVO-COLLAB-001 — Issue, comment, or milestone not found
- TVO-COLLAB-002
- TVO-COLLAB-003 — Issue request refused validation
- TVO-COLLAB-004 — Issue action not permitted
- TVO-COLLAB-005 — Invalid issue transition
CONFLICT
- TVO-CONFLICT-001 — Conflicts created after merge
- TVO-CONFLICT-002 — Conflict resolution rejected
- TVO-CONFLICT-003 — Cannot land a conflicted change onto a protected lane
- TVO-CONFLICT-004 — Cannot pull a conflicted change as a dependency
- TVO-CONFLICT-005 — Semantic conflict (advisory)
- TVO-CONFLICT-006 — Conflict re-derivation did not match
- TVO-CONFLICT-007 — Conflict resolution payload is malformed
- TVO-CONFLICT-008 — Cannot re-seal a conflicted path
- TVO-CONFLICT-009 — Sync refused: protected lane would adopt a conflicted commit
- TVO-CONFLICT-010 — Operation requires a conflict-free tree
- TVO-CONFLICT-011 — No AI resolver configured
- TVO-CONFLICT-012 — Interactive resolve needs a terminal
- TVO-CONFLICT-013 — resolve --ai will not disclose a protected side
- TVO-CONFLICT-014 — AI provider failed safely
- TVO-CONFLICT-015 — Working-tree resolve not valid for this conflict kind
- TVO-CONFLICT-016 — N-way land: content conflict cannot be auto-resolved
- TVO-CONFLICT-017 — Protected resolution requires current-authority reseal
- TVO-CONFLICT-018 — Line-op capture missed an eligible file
- TVO-CONFLICT-019 — Merge fell back to the byte level: a contributing commit has no captured line-ops
COORD
- TVO-COORD-001 — Intent soft-blocked by a peer's lease
CORE
- TVO-CORE-001 — Bindings ABI mismatch
- TVO-CORE-002 — Operation runtime contract failed
CRYPTO
- TVO-CRYPTO-001 — Envelope decryption / AEAD failure
- TVO-CRYPTO-002 — Signature verification failed
- TVO-CRYPTO-003 — Cannot seal a protected path (no repository identity)
- TVO-CRYPTO-013 — The fetched audit chain did not verify
- TVO-CRYPTO-014 — Enterprise ABE payload or provider failure
- TVO-CRYPTO-015 — Repository signature policy was not satisfied
- TVO-CRYPTO-016 — Audit export or delivery failed
- TVO-CRYPTO-017 — Audit retention checkpoint failed
- TVO-CRYPTO-018 — Secure randomness is unavailable
- TVO-CRYPTO-019 — Protected content is bound to the wrong path
- TVO-CRYPTO-020 — Chunked protected content mixes policies
- TVO-CRYPTO-021 — Refused to write in the clear at a protected path
FLOW
- TVO-FLOW-001 — Lane transition not permitted by the workflow
- TVO-FLOW-002 — Lane matches no role in the declared workflow
- TVO-FLOW-003 — Forward-only promotion: the source has not passed the required stage
- TVO-FLOW-004 — Source lane unknown and the workflow refuses unknowable edges
- TVO-FLOW-005 — The stage a forward-only promotion requires has no live lane
- TVO-FLOW-006 — Coordinated merge-back refused; nothing advanced
- TVO-FLOW-007 — An outstanding merge-back obligation remains
FORGE
- TVO-FORGE-001 — Collaboration write lost a compare-and-set race
- TVO-FORGE-002 — Forge collaboration backend failure
- TVO-FORGE-003 — Landing blocked: a required CI check is not yet passing
- TVO-FORGE-004 — Connection denied by the repository's connection ACL
- TVO-FORGE-005 — Exclusive lock is held by another principal
- TVO-FORGE-006 — Lock release refused: not the holder
- TVO-FORGE-007 — No active lock on the path
- TVO-FORGE-008 — Forge request is unauthenticated
- TVO-FORGE-009 — Authenticated principal is not authorized
- TVO-FORGE-010 — Connection-ACL config could not be read or written
- TVO-FORGE-011 — Landing blocked: a protected path has no approving reviewer cleared to read it
- TVO-FORGE-012 — Forge server config could not be loaded
- TVO-FORGE-013 — Landing blocked: the target lane advanced since review
- TVO-FORGE-014 — Forge could not load its serving identity (the Key Authority)
- TVO-FORGE-015 — Audit entry rejected: append-time decode/verify failed
- TVO-FORGE-016 — Web-edge mechanism not allowed by the repo's web_auth policy
- TVO-FORGE-017 — Handle already taken
- TVO-FORGE-018 — Invalid handle
- TVO-FORGE-019 — Account has not claimed a handle
- TVO-FORGE-020 — Device-link proof-of-possession did not verify
- TVO-FORGE-021 — Pairing code has expired
- TVO-FORGE-022 — Pairing code already redeemed
- TVO-FORGE-023 — Device addition requires existing-device or recovery authorization
- TVO-FORGE-024 — Rate limit exceeded
- TVO-FORGE-025 — Repository not visible
- TVO-FORGE-026 — Plan limit reached
- TVO-FORGE-027 — Request body too large
- TVO-FORGE-028 — HA writer lease unavailable
- TVO-FORGE-029 — LAN discovery unavailable
- TVO-FORGE-030 — Shard routing metadata rejected
- TVO-FORGE-031 — OIDC verification keys unavailable
- TVO-FORGE-032 — OIDC authorization-code flow failed
- TVO-FORGE-033 — Enterprise federation observation rejected
- TVO-FORGE-034 — Federation rotation worker configuration invalid
- TVO-FORGE-035 — Hosted usage idempotency conflict
- TVO-FORGE-036 — Billing outbox lease conflict
- TVO-FORGE-037 — Replication term fenced
- TVO-FORGE-038 — Replication record integrity failure
- TVO-FORGE-039 — Replication idempotency conflict
- TVO-FORGE-040 — Replication backpressure
- TVO-FORGE-041 — Referenced object lacks durability quorum
- TVO-FORGE-042 — Hosted accounting state rejected
- TVO-FORGE-043 — Hosted directory or role operation rejected
- TVO-FORGE-044 — Stripe meter delivery refused
- TVO-FORGE-045 — Independent replication runtime refused
- TVO-FORGE-046 — Hosted administration refused
- TVO-FORGE-047 — Hosted usage producer refused
- TVO-FORGE-048 — Billing outbox administration conflict
- TVO-FORGE-049 — Organization invitation refused
- TVO-FORGE-050 — Account lifecycle refused
- TVO-FORGE-051 — Billing scheduler wake unavailable
- TVO-FORGE-052 — OIDC runner enrollment refused
- TVO-FORGE-053 — Billing scheduler pause state limit reached
- TVO-FORGE-054 — Repository sync admission full
- TVO-FORGE-055 — Invalid repository sync admission limit
- TVO-FORGE-056 — Replication peer control request refused
- TVO-FORGE-057 — Replication peer receiver capacity full
- TVO-FORGE-058 — Replication object request refused
- TVO-FORGE-059 — Hosted state admission full
- TVO-FORGE-060 — Directory assertion reduction refused
- TVO-FORGE-061 — Rotation lease refused
- TVO-FORGE-062 — Federation mapping change refused
- TVO-FORGE-063 — Provider credential operation refused
- TVO-FORGE-064 — Connector-driven suspension refused
- TVO-FORGE-065 — Issuer or provisioning policy refused
- TVO-FORGE-066 — Invoice comparison refused
- TVO-FORGE-067 — Proven request not routable
- TVO-FORGE-068 — Provider webhook refused
- TVO-FORGE-069 — Webhook delivery target is a forbidden egress address
- TVO-FORGE-070 — Cannot enqueue: proposal is not approved
- TVO-FORGE-071 — Merge-queue candidate bounced (async scheduler outcome; not an HTTP status) — reserved
- TVO-FORGE-072 — Illegal stack base (stacked-proposal propose-time; fail-closed 422) — reserved
- TVO-FORGE-073 — Stack cycle (stacked-proposal propose-time; fail-closed 422) — reserved
- TVO-FORGE-074 — Cannot enqueue: proposal is still stacked (merge-queue admission
- TVO-FORGE-075 — WorkOS webhook refused
- TVO-FORGE-076 — Contribution not permitted by repository policy
- TVO-FORGE-077 — Sovereign contribution reference unresolvable
- TVO-FORGE-078 — Restricted-proposal visibility not permitted
- TVO-FORGE-079 — Invalid proposal visibility request
- TVO-FORGE-080 — Change-controlled path requires a proposal
- TVO-FORGE-081 — Change-control approvals insufficient
- TVO-FORGE-082 — Reviewer not eligible for a controlled path
- TVO-FORGE-083 — Policy declarations exceed the plan allowance
- TVO-FORGE-084 — Hosted governance and commerce state disagree
- TVO-FORGE-085 — Membership observations were evicted before commerce consumed them
- TVO-FORGE-086 — Backup blob refused: the halves do not reconcile
- TVO-FORGE-087 — Blob already exists: a published name is never replaced
- TVO-FORGE-088 — Blob digest or size mismatch: nothing was published
- TVO-FORGE-089 — Blob upload refused: malformed session or part
- TVO-FORGE-090 — Enterprise plan changes are sales-led
- TVO-FORGE-091 — The target plan cannot hold this organization's people
- TVO-FORGE-092 — A billing change is already pending
- TVO-FORGE-093 — Pause window invalid
- TVO-FORGE-094 — Subscription paused: writes wait for collection to resume
- TVO-FORGE-095 — Reactivation unavailable
- TVO-FORGE-096 — Plan change not offered as one step
- TVO-FORGE-097 — Billing portal unavailable
- TVO-FORGE-098 — Subscription is not on the deployed catalog version
- TVO-FORGE-099 — The Forge is not ready to serve
- TVO-FORGE-100 — No TLS material; refusing to bind
- TVO-FORGE-101 — The Forge cannot serve: a component could not be opened
- TVO-FORGE-102 — Telemetry is enabled but its [telemetry] table cannot be used
- TVO-FORGE-103 — Telemetry is enabled but its project key could not be resolved
- TVO-FORGE-110 — Invalid rate-limit configuration
- TVO-FORGE-111 — Storage reserve reached
GHC
IDENT
- TVO-IDENT-001 — Device enrollment claim is invalid
- TVO-IDENT-002 — Device pairing code (SAS) does not match
- TVO-IDENT-003 — Device enrolled, but the HEAD re-seal is pending
- TVO-IDENT-004 — No enrolled device
- TVO-IDENT-005 — Device name is ambiguous
- TVO-IDENT-006 — Key-transparency split-view suspected
- TVO-IDENT-007 — Identity generation changed after preview
- TVO-IDENT-008 — A prior identity initialization was recovered
KEY
- TVO-KEY-001 — Access certificate expired
- TVO-KEY-002 — Key material missing
- TVO-KEY-003 — Backup is for a different identity
- TVO-KEY-004 — Interrupted key rotation cannot resume
- TVO-KEY-005 — Rotation journal failed verification
- TVO-KEY-006 — Recovery material could not restore access
- TVO-KEY-007 — Sealed key does not match this repository's identity
LOCK
- TVO-LOCK-001 — Path is already locked
- TVO-LOCK-002 — Land refused: an exclusive-lockable path diverged
- TVO-LOCK-003 — Path is not lockable
MCP
- TVO-MCP-001 — MCP capability token required
- TVO-MCP-002 — MCP server process could not run
MFA
MIG
- TVO-MIG-001 — Lossless Git import conflict
- TVO-MIG-002 — git import needs a fresh repository
- TVO-MIG-003 — Nothing to import from Git
- TVO-MIG-004 — Git bridge failed
- TVO-MIG-006 — Git bridge publish refused (non-fast-forward)
NET
OP
- TVO-OP-001 — Undo result
- TVO-OP-002 — Nothing to undo / redo
- TVO-OP-003 — Nothing to commit
- TVO-OP-004 — Nothing to branch from yet
- TVO-OP-005 — Cannot land
- TVO-OP-006 — No change <id>
- TVO-OP-007 — A meta-change <name> already exists
- TVO-OP-008 — No meta-change <name>
- TVO-OP-009 — Cannot atomically land <meta>: member <chg> is not landable
- TVO-OP-010 — No Forge event source to watch
- TVO-OP-011 — The Forge refused the review decision / admin operation (HTTP <status>)
- TVO-OP-012 — Cannot <land|propose> a <draft|abandoned> change
- TVO-OP-013 — Cannot select one linear rebase range for <selector>
- TVO-OP-014 — Cannot <rebase|split|absorb> … merge commit
- TVO-OP-015 — Cannot split — the partition is degenerate
- TVO-OP-016 — Nothing to absorb
- TVO-OP-017 — Nothing to rebase
- TVO-OP-018 — Agent working-change path refused
- TVO-OP-019 — Cross-Forge meta-land coordination failed
- TVO-OP-020 — Nothing to amend on this lane
- TVO-OP-021 — Cannot cherry-pick a merge commit
- TVO-OP-022 — Nothing to cherry-pick
- TVO-OP-023 — A good commit is not an ancestor of bad
- TVO-OP-024 — No bisect in progress
- TVO-OP-025 — Bisect needs both a good and a bad commit
- TVO-OP-026 — The first bad change is undetermined
- TVO-OP-027 — Bisect run aborted by the test command
- TVO-OP-028 — Cannot revert a merge commit
- TVO-OP-029 — Nothing to revert
- TVO-OP-030 — Repository has an interrupted commit to recover
- TVO-OP-031 — An interrupted commit blocks this write
- TVO-OP-032 — Landed, but some descendant lanes were not re-stacked
- TVO-OP-035 — An interrupted lane change cannot be reconciled
- TVO-OP-036 — An interrupted lane change blocks this write
- TVO-OP-039 — An interrupted repository change blocks this write
PERM
- TVO-PERM-001 — Policy-protected read denied
- TVO-PERM-002 — Write-policy / ABS rejection
- TVO-PERM-003 — Push loosens the org-policy baseline
- TVO-PERM-004 — Push carries a clear object at an org-protected path
- TVO-PERM-005 — Policy-required audit justification missing
- TVO-PERM-006 — Operation principal could not be verified
- TVO-PERM-007 — Only the repository owner can change policy
PLUGIN
- TVO-PLUGIN-001 — Plugin manifest invalid
- TVO-PLUGIN-002 — Plugin not installed / unsupported source
- TVO-PLUGIN-003 — Plugin integrity check failed
- TVO-PLUGIN-004 — Plugin event unsupported
- TVO-PLUGIN-005 — Plugin capability denied
- TVO-PLUGIN-006 — Plugin sandbox failed
- TVO-PLUGIN-007 — Plugin timed out
- TVO-PLUGIN-008 — Plugin output schema invalid
- TVO-PLUGIN-009 — Required plugin failed
- TVO-PLUGIN-010 — Required plugin unavailable
- TVO-PLUGIN-011 — Protected plaintext denied
- TVO-PLUGIN-012 — Plugin network denied
- TVO-PLUGIN-013 — Protected plaintext grant refused
- TVO-PLUGIN-014 — Forge enforcing plugin binding refused by the org plugin policy
- TVO-PLUGIN-015 — Landing blocked: a required plugin has no attested passing result
- TVO-PLUGIN-016 — Server-side plugin registration refused
PROV
- TVO-PROV-001
- TVO-PROV-002 — Rationale refused: no common reader
- TVO-PROV-003 — Malformed or oversized session
- TVO-PROV-004 — Session prompt does not match the commit
- TVO-PROV-005 — Cannot export provenance under the current scope
- TVO-PROV-006 — Session write refused: capture is off
- TVO-PROV-007 — Session capture refused: secret detected
- TVO-PROV-008 — Observed capture is disabled for this repository
- TVO-PROV-009 — Transcript could not be read
- TVO-PROV-010 — Observed session cannot be attested
- TVO-PROV-011 — Commit carries more than one run record
- TVO-PROV-012 — That change already has a run record
- TVO-PROV-013 — Backfill needs a signing identity
- TVO-PROV-014 — Backfill cannot attach a clear transcript to a protected change
REL
- TVO-REL-001 — Release refused: the tag does not exist
- TVO-REL-002 — Release refused: the tag already has a release
- TVO-REL-003 — Release asset already exists: assets are never replaced
- TVO-REL-004 — Release asset name is not a safe file name
- TVO-REL-005 — Release request refused validation
- TVO-REL-006 — Release action not permitted
- TVO-REL-007 — Release asset too large
- TVO-REL-008 — Release asset limit reached
SECRET
- TVO-SECRET-001 — Commit blocked: a secret was detected
SEM
- TVO-SEM-001 — No language indexer for a path (advisory; degrade to text diff) — reserved
- TVO-SEM-002 — Indexer backend-fingerprint mismatch (cache miss; re-index) — reserved
- TVO-SEM-003 — Malformed symbol object (unversioned/unparseable; fail-closed) — reserved
- TVO-SEM-004 — Semantic-check failed
- TVO-SEM-005 — Semantic-check required but unavailable in this build
- TVO-SEM-006 — No behavioral snapshot on the target commit
SPARSE
- TVO-SPARSE-001 — Sparse cone file is unreadable
- TVO-SPARSE-002 — Sparse scope cannot be represented as a working-copy cone
STORE
- TVO-STORE-001 — Hash / corruption mismatch
- TVO-STORE-002 — Obliterated object read
- TVO-STORE-003 — Object not found
- TVO-STORE-004 — Integrity check failed
- TVO-STORE-005 — Unsupported store layout feature
- TVO-STORE-006 — Object-store compaction recovery stopped
- TVO-STORE-007 — Causal ref maintenance stopped
- TVO-STORE-008 — Resumable replication object ingest refused
- TVO-STORE-009 — Replication receive refused for disk space
- TVO-STORE-010 — Ref name aliased onto another register
SYNC
- TVO-SYNC-001 — Peer / transport unreachable
- TVO-SYNC-002 — Wire protocol version mismatch
- TVO-SYNC-003 — Sync failed
- TVO-SYNC-004 — Relay identity changed since pinning
- TVO-SYNC-005 — Promised object unavailable from promisor
- TVO-SYNC-006 — Remote lane has diverged (push refused, fail-closed)
- TVO-SYNC-007 — Repository owner identity changed since pinning
- TVO-SYNC-008 — The served policy manifest is not attested, or would roll policy backwards
TAG
- TVO-TAG-001 — Tag is immutable
- TVO-TAG-002 — Invalid tag-target commit reference
TOKEN
- TVO-TOKEN-001 — Path-scope violation for an agent
- TVO-TOKEN-002 — Capability token expired
- TVO-TOKEN-003 — Capability token revoked
- TVO-TOKEN-004 — Operation not permitted by token
- TVO-TOKEN-005 — Sub-token scope exceeds parent
- TVO-TOKEN-006 — Agent token not found
- TVO-TOKEN-007 — Token cannot be renewed
- TVO-TOKEN-008 — Agent tokens need a repository identity
- TVO-TOKEN-009 — Token exceeds the issuer's authority
- TVO-TOKEN-010 — Agent token lacks clearance to seal a path
- TVO-TOKEN-011 — Agent session bundle is not usable
WS
- TVO-WS-001 — Workspace manifest or device overlay is invalid
- TVO-WS-002 — Required Workspace capability is unavailable
- TVO-WS-003 — Workspace path is unsafe or collides
- TVO-WS-004 — Workspace is busy
- TVO-WS-005 — Workspace recovery is blocked
- TVO-WS-006 — Workspace removal would discard retained work
- TVO-WS-007 — Workspace environment is not ready
- TVO-WS-008 — Workspace agent session lifecycle is blocked
- TVO-WS-009 — Workspace execution admission is over budget
- TVO-WS-010 — Workspace execution reclaim is incomplete
- TVO-WS-011 — Workspace execution sandbox could not be isolated
- TVO-WS-012 — Workspace daemon request is malformed or conflicting
- TVO-WS-013 — Policy manifest is missing but the committed history declares policies