Tool Gates Doctor
A read-only health check. Verifies the binary is on PATH, hooks are wired into every supported client at every relevant scope, cache files are readable, and no legacy bash-gates configuration remains in your settings.
Run it
One command, four checks.
$ tool-gates doctor ✓ binary: ~/.local/bin/tool-gates (vX.Y.Z) ✓ config: ~/.config/tool-gates/config.toml (valid; design_lint disabled by default) ✓ hooks · claude: user + project (4 hooks each) ✓ hooks · codex: user (3 hooks) ✓ hooks · antigravity: user (1 hook) ✓ hooks · gemini: user (1 hook, deprecated) ✓ cache: ~/.cache/tool-gates (4 files, 18 KB) ✓ legacy: no bash-gates remnants in settings files All checks passed.
What it checks
Coverage.
| Check | Looks for |
|---|---|
| binary | Resolves tool-gates on PATH and prints the version. Flags a mismatch if the version embedded in the hook command differs from what's installed. |
| config | Reads ~/.config/tool-gates/config.toml if present and reports which features are toggled off. |
| hooks | Walks every settings file (Claude, Codex, Antigravity, Gemini; user and project scopes) and confirms each expected hook is present with the correct matcher and timeout. Reports missing or stale hook commands. |
| cache | Lists ~/.cache/tool-gates/ contents (pending queue, available-tools cache, hint-tracker, and ask-tracking caches). Warns if any file is unreadable. |
| legacy | Scans settings.json for hook commands referencing the old bash-gates binary. Suggests tool-gates hooks add to fix. |
Read-only. doctor never modifies settings or cache. Safe to run anytime. If a check fails it prints the suggested fix without applying it.