unbound doctor runs a deep diagnostic of your local Unbound install. It inspects every supported AI coding tool — Cursor, Claude Code, Codex, GitHub Copilot, and Augment Code — and validates that your stored API key is still accepted by the backend.
What it checks
For each AI coding tool, doctor verifies three things:
It also validates your stored API key against the backend, so a revoked or expired key is caught here rather than at your next tool call.
For Claude Code and Codex, doctor reports the active mode (subscription vs gateway).
Per-tool status
Each tool resolves to one of four statuses:
Doctor always tells you the next step:
- Nothing set up yet → run
unbound setup. - A user-level tool is tampered → run
unbound doctor --fix(no sudo needed). - An MDM-managed install is broken → it’s org-wide, so run
sudo unbound doctor --fixto reinstall the managed hooks. - API key invalid → run
unbound login.
Exit codes
The non-zero exit lets you gate scripts or CI on a clean install.
Flags
The JSON mirrors the human report. Each tool carries its
status, the individual checks, and a boolean conflict — true when two modes of the same tool are installed at once (for example Claude Code in both subscription and gateway mode), which doctor reports as Tampered so --fix can clean it up. api_key carries the key-validation result (valid / invalid / not-logged-in / unverified).

