Monitors your OpenClaw setup and fixes problems before you notice them.
Built for people running OpenClaw in production who got tired of checking if things were still alive.
npm: clawdoctor | Version: 0.2.0 | License: MIT
MonitorWhat It WatchesIntervalGatewayWatcheropenclaw process running30sCronWatcher~/.openclaw/state/cron-*.json for missed/failed crons60sSessionWatcher~/.openclaw/agents/*/sessions/*.jsonl for errors, aborts, stuck sessions60sAuthWatcherGateway logs for 401/403/token expired patterns60sCostWatcherSession token costs - flags if >3x rolling average5m
HealerActionProcessHealerRestarts gateway via openclaw gateway restart, then verifies recoveryCronHealerLogs the failure and includes the manual rerun command in the alert
bash
npm install -g clawdoctor
clawdoctor init
clawdoctor start
bash
clawdoctor init # Interactive setup (detects OpenClaw, configures Telegram)
clawdoctor start # Start monitoring daemon
clawdoctor start --dry-run # Run without taking healing actions
clawdoctor stop # Stop daemon
clawdoctor status # Show current health of all monitors
clawdoctor log # Show recent events
clawdoctor log -n 100 # Show 100 events
clawdoctor log -w GatewayWatcher -s critical # Filter by watcher/severity
clawdoctor install-service # Install as systemd user service
bash
clawdoctor init \
--openclaw-path ~/.openclaw \
--telegram-token TOKEN \
--telegram-chat CHATID \
--auto-fix \
--no-prompt
text
Alert: GatewayWatcher
Event: Gateway process not found
Action: openclaw gateway restart
Status: Back online
Time: 2026-03-15 03:14 UTC
Host: devbox
Alerts are rate-limited to max 1 per monitor per 5 minutes to avoid spam.
Config lives at ~/.clawdoctor/config.json. Events stored in ~/.clawdoctor/events.db (SQLite, 7-day retention).
openclaw gateway restart when gateway is down