Doctor Command
Thecorvus doctor command runs system diagnostics to identify configuration and health issues.
Running Diagnostics
Full system check:What Doctor Checks
Configuration:- Config file exists and is valid TOML
- Required fields are present
- API keys are set (not expired)
- Workspace directory exists
- SQLite database is accessible
- SurrealDB connection works (if configured)
- Memory operations can be performed
- Channel credentials are valid
- API tokens work
- Network connectivity to services
- Channel allowlists are configured
- Port is available
- Pairing is configured
- Tunnel is active (if required)
- Docker daemon is running (if
runtime.kind = "docker") - Workspace is readable/writable
- Sandboxing is available
Example Output
Healthy system:Common Issues
1. Channel Authorization Problems
Problem:- Channel allowlist is empty or doesn’t include the sender
- Sender identity doesn’t match allowlist format
2. Memory Backend Issues
Problem: SQLite database locked- Another Corvus process is using the database
- Stale lock file
- Database corruption
- SurrealDB server not running
- Wrong URL in config
- Network connectivity issue
3. Gateway Port Already in Use
Problem:- Another daemon/gateway instance is already running
- Port is used by another service
4. API Key Issues
Problem:- API key is incorrect
- API key expired
- Wrong provider configuration
~/.corvus/secrets.keywas deleted- Config copied to another machine
5. Docker Runtime Issues
Problem: Docker daemon not running- Docker daemon not started
- User not in
dockergroup - Docker socket permissions
- No network access
- Docker Hub rate limit
- Image doesn’t exist
6. Command Not Allowed
Problem:- Command not in
allowed_commandslist - Security policy is too restrictive
- Command classified as high-risk (rm, curl, sudo, etc.)
block_high_risk_commands = true
7. Path Not Allowed
Problem:- Absolute path when
workspace_only = true - Path in
forbidden_pathslist - Path traversal detected
8. Rate Limit Exceeded
Problem:- Too many actions in the last hour
max_actions_per_hourlimit reached
9. Gateway Pairing Failed
Problem:- Incorrect pairing code
- Code already used
- Code expired
- 5 failed pairing attempts triggered lockout
10. Service Won’t Start
Problem:- Service not installed
- Binary path incorrect
- Config file missing
Debug Logging
Enable verbose logging for detailed diagnostics:Trace All Modules
Trace Specific Modules
Save Logs to File
Structured JSON Logs
Performance Diagnostics
Slow Tool Execution
Problem: Tools take too long to execute. Diagnosis:- Use native runtime for development
- Optimize Docker image (smaller base image)
- Check network latency for remote operations
High Memory Usage
Problem: Corvus uses more memory than expected. Diagnosis:Slow Provider Responses
Problem: LLM responses are slow. Diagnosis:- Check network latency to provider
- Use a faster model
- Switch providers
- Check API rate limits
Configuration Validation
Validate Config File
Export Config Template
Reset to Defaults
Network Connectivity
Test Provider Connection
Test Channel Connection
Test Tunnel
Getting Help
If you’re still stuck:-
Run diagnostics:
-
Collect logs:
-
Open an issue:
- GitHub Issues
- Include diagnostics and logs
- Describe what you tried
- Community:
Next Steps
Configuration
Full configuration reference
Deployment
Production deployment guide
Observability
Monitoring and logging