Troubleshooting¶
Start here when something fails. Prefer runtime config validate before
anything else — it is read-only and reports the usual causes.
Binary not found / wrong version¶
Re-install from Installation. On macOS, clear quarantine if the OS refuses to run a downloaded binary:
Auth failures¶
| Symptom | Check |
|---|---|
github auth fails |
RUNTIME_GITHUB_TOKEN set? Classic/fine-grained PAT with needed scopes? |
runtime auth status shows disabled |
authentication.<provider>.enabled: true in config.yaml |
| GCP / kubectl / oc fail | Platform CLI login done? Matching auth block enabled? |
See Authentication.
Policy denials¶
Denials are expected behaviour, not crashes. Confirm in the audit log:
| Symptom | Check |
|---|---|
command run X denied |
Is X in allowed_binaries? Hard-denied in denied_binaries? Matching command_policy.rules? |
| Provider op denied | providers.<name>.enabled? A denied: prefix matching the op? |
| Worked on another machine | Different user-owned policy-config.yaml — upgrade trap |
Capability validate fails¶
Common causes:
- Typo in operation name — compare with
runtime <provider> --help - Missing required
--input - Capability written for a newer/older binary — upgrade or adjust steps
- Used
transport:(not allowed) or bothprovider:andbinary:on one step
Capability execute fails mid-workflow¶
Each step uses the same lifecycle as a direct command. Re-run the failing operation alone, then check audit:
Wrong org / project / namespace¶
Operations that fall back to context (e.g. github repo list) use the
active context only when you omit an explicit argument. See
Runtime Context.
CI: cannot download release¶
While engineering-runtime-releases is private:
RUNTIME_GITHUB_TOKENmust havecontents:readon that repo- Do not use
github.tokenfor the download step - Pass the secret into
setup-runtimeasruntime_github_token
See CI/CD.
CI: Bootstrap polluted the repo¶
RUNTIME_CAPABILITIES_DIR pointed at a tracked folder. Point it at a clone
of the capability registry, or execute capabilities by full path and leave
the variable unset. Details: CI/CD job contract.
AI agent runs gh / kubectl directly¶
Hooks are not loaded. Open the
engineering-runtime-ai-agent
repo (or install its Cursor/Claude hooks), confirm Cursor Settings → Hooks,
restart the IDE if needed. See AI agent.
Specs / commands look wrong after upgrade¶
They refresh on the first command after replacing the binary. If they still
disagree with runtime <provider> --help, you may be looking at a different
Home:
Still stuck¶
runtime config validateruntime audit tail -n 50- Compare with a throwaway Home (local sandbox)
- Check release notes for surface changes