unbound doctor runs a deep diagnostic of your local Unbound install. It inspects 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:
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).

