Support
Troubleshooting
Fast answers for the failure modes users are most likely to hit first.
learnmaintainersbasicstable2026-05-30
Recommended next
Common checks
- Run
ota doctorfirst when the repo is not ready. - Read
ota doctor/ota checktop status asREADY,READY WITH WARNINGS, orBLOCKED; read dry-run preview status asRUNNABLE,RUNNABLE WITH WARNINGS, orBLOCKEDbefore deciding whether to execute or edit. - Use
ota doctor --fix --dry-runto preview the current contract-aware safe repo-hygiene fix surface before writing; today that means.gitignorehygiene for.ota/state/and.ota/receipts/on repos that already have a validota.yaml. - When
doctorreports env blockers, runota envbefore you change shell values or declared sources so the active precedence is visible first. - When
doctorreports an unverifiable required service, useota assist declare-readinessif the service already has a truthful start path, orota assist declare-serviceif the managed service shape itself is still incomplete. - When
doctorreports a missing-file precondition, useota uporota run setupiftasks.setupalready exists, or add that setup path withota assist wire-setupif the contract is still missing it. - When
doctorreports a taskless contract, reviewota detect --dry-runbefore you write inferred tasks, and useota assist add-taskonly when the right fix is one explicit runnable task. - Run
ota validatewhen the contract is malformed. - Use
ota tasks --jsonwhen you want a machine-readable inventory. - Use
ota run --debug <task>when execution needs tracing.
First pass for readiness and diagnosticsbash
ota validateota doctorota doctor --fix --dry-runota tasks --jsonota run --debug testIf a repo is not discovered
Explicit paths should point at the repo you mean. If they do not, start there before assuming the contract is wrong.
Point ota at the repo pathbash
ota doctor /path/to/repocd /path/to/repo && ota doctor