Doctor
The suv doctor command runs a series of health checks on your Suvadu installation and reports pass, warning, or fail for each component. Use it to diagnose setup issues or verify that everything is working correctly after installation.
Usage
suv doctor Example Output
Suvadu Doctor
Shell ................. ✓ zsh 5.9 (minimum: 5.1)
Shell hooks ........... ✓ found in ~/.zshrc
Config ................ ✓ valid (~/Library/.../config.toml)
Database .............. ✓ healthy — schema v5, 1,234 entries
Recording ............. ✓ active
MCP (Claude Code) ..... ✓ registered in ~/.claude.json
MCP (Cursor) .......... ⚠ not registered (run: suv init cursor)
Agent hooks ........... ✓ 3 hook script(s) installed
7 passed, 1 warnings, 0 failed What Gets Checked
| Check | What It Verifies | Fix When Failed |
|---|---|---|
| Shell | Detects your shell from $SHELL and checks the version (zsh 5.1+, bash 4.0+) | Upgrade your shell |
| Shell hooks | Checks if eval "$(suv init zsh)" (or bash equivalent) is in your rc file | echo 'eval "$(suv init zsh)"' >> ~/.zshrc |
| Config | Loads and validates config.toml, or confirms defaults are in use | Check suv settings or fix TOML syntax |
| Database | Checks database exists, opens correctly, schema version is current, and PRAGMA integrity_check passes | Run suv gc --vacuum or re-initialize |
| Recording | Checks that recording is enabled and not paused | suv enable |
| MCP (Claude Code) | Checks ~/.claude.json for mcpServers.suvadu entry | suv init claude-code |
| MCP (Cursor) | Checks ~/.cursor/mcp.json for mcpServers.suvadu entry | suv init cursor |
| Agent hooks | Checks for hook scripts in ~/.config/suvadu/hooks/ | suv init claude-code |
Status Icons
- ✓ — Check passed
- ⚠ — Warning (optional component not configured)
- ✗ — Failed (something is broken and needs fixing)