Skip to content

hermes doctor

hermes doctor is Hermes Agent’s built-in automatic diagnostic tool that quickly checks if your installation environment, configuration, and network connections are working properly. When you encounter issues, this should be the first command you run.

Terminal window
# Run full diagnosis
hermes doctor
# Check only specific modules
hermes doctor --check llm # Only check LLM connection
hermes doctor --check gateway # Only check gateway configuration
hermes doctor --check system # Only check system environment

hermes doctor checks your environment item by item and displays results:

🔍 Hermes Agent Doctor
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Python version: 3.11.5 (meets requirement)
✅ Hermes Agent version: v0.13.0
✅ Config file exists: ~/.hermes/config.yaml
✅ LLM connection normal: openrouter/anthropic/claude-sonnet-4-20250514
✅ Memory system normal: ~/.hermes/memory/
✅ Skills directory normal: ~/.hermes/skills/
✅ Gateway config: Not configured (run hermes gateway if using messaging platforms)
✅ Disk space sufficient: 45GB available
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Diagnosis complete: 7/7 checks passed ✅

If a check fails, you’ll see ❌ and specific error description:

❌ Python version: 3.9.7 (requires 3.10+)
Suggestion: Upgrade Python to 3.10 or higher
❌ LLM connection failed: Authentication failed
Suggestion: Run hermes model to reconfigure API Key
Check ItemDescription
Python versionConfirm Python ≥ 3.10
Hermes versionConfirm installed and version correct
Disk spaceConfirm sufficient space for memory and logs
System dependenciesCheck if git, curl and other necessary tools are available
File permissionsCheck read/write permissions for ~/.hermes/ directory
Check ItemDescription
Config file existsWhether ~/.hermes/config.yaml exists
Config format correctWhether YAML syntax is valid
API Key setWhether LLM API Key is configured
Model identifier validWhether configured model ID exists
Check ItemDescription
API connectivityWhether provider’s API endpoint is accessible
Authentication successWhether API Key is valid
Model availableWhether configured model can be called
Response speedTest request latency
Check ItemDescription
Memory directory existsWhether ~/.hermes/memory/ is available
Memory files readableWhether existing memory files can be read normally
Memory files writableWhether new memories can be written normally
Check ItemDescription
Skills directory existsWhether ~/.hermes/skills/ is available
Bundled skills seededWhether built-in skills are correctly copied
Skills load normallyWhether skills can be discovered and loaded normally
Check ItemDescription
Gateway config correctWhether each platform’s configuration is complete
Bot Token validWhether Telegram/Discord etc. Tokens are usable
Network reachableWhether messaging platform API can be connected
Terminal window
# Output JSON format (suitable for script processing)
hermes doctor --format json
# Output verbose logs
hermes doctor --verbose
# Skip network check (offline environment)
hermes doctor --offline
# Only output failed items
hermes doctor --only-failures
# Specify check timeout
hermes doctor --timeout 30
{
"version": "0.13.0",
"timestamp": "2026-05-28T12:00:00Z",
"checks": {
"python_version": {"status": "pass", "value": "3.11.5"},
"llm_connection": {"status": "pass", "provider": "openrouter"},
"memory_system": {"status": "pass"},
"skills_system": {"status": "pass"},
"gateway_config": {"status": "warn", "message": "Gateway not configured"}
},
"summary": {"total": 7, "passed": 6, "failed": 0, "warnings": 1}
}
Terminal window
# Upgrade Python (Ubuntu)
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.11 python3.11-venv
# Upgrade Python (macOS)
brew install python@3.11
Terminal window
# Auto-generate default config
hermes config init
# Or configure via wizard
hermes model
Terminal window
# Reconfigure LLM
hermes model
# Check proxy settings
echo $HTTPS_PROXY
# Try switching to domestic provider
hermes model # Select DeepSeek / Kimi
Terminal window
# Fix ~/.hermes directory permissions
sudo chown -R $(whoami):$(whoami) ~/.hermes
chmod -R 755 ~/.hermes
Terminal window
# Reseed built-in skills
hermes skills reseed
# Verify
hermes skills list
Terminal window
# Auto-check in CI script
hermes doctor --format json --only-failures | python -c "
import sys, json
result = json.load(sys.stdin)
if result['summary']['failed'] > 0:
print('❌ Diagnosis failed')
sys.exit(1)
else:
print('✅ All checks passed')
"

When encountering issues, follow this flow:

  1. Run hermes doctor — Get overall status report
  2. Focus on ❌ items — Fix according to suggestions
  3. Focus on ⚠️ items — Not critical but recommended to address
  4. Use --verbose for details — Get more error information
  5. Check corresponding topic pagesCommon Errors, Install Issues, Model Issues