Clawdbot Logs & Diagnostics
Analyze Clawdbot performance, errors, and session data.
Quick Commands
Response Times (last N messages)
scripts/response-times.sh [count]
Recent Errors
journalctl --user -u clawdbot-gateway.service --no-pager --since "1 hour ago" | grep -iE "(error|fail|invalid)" | tail -20
Session Stats
scripts/session-stats.sh
Gateway Status
systemctl --user status clawdbot-gateway.service --no-pager
Config Validation
cat ~/.clawdbot/clawdbot.json | jq . > /dev/null && echo "Config valid" || echo "Config invalid"
Log Sources
| Source | Location | Contains |
|---|---|---|
| Journal | journalctl --user -u clawdbot-gateway.service |
Session state, errors, tool exec |
| Daily log | /tmp/clawdbot/clawdbot-YYYY-MM-DD.log |
Detailed JSON logs |
| Session file | ~/.clawdbot/agents/main/sessions/*.jsonl |
Full conversation, token usage, costs |
| Sessions meta | ~/.clawdbot/agents/main/sessions/sessions.json |
Current session state, model info |
Common Diagnostics
Slow Responses
- Check response times:
scripts/response-times.sh 20 - Check token count in sessions.json:
jq '.["agent:main:main"].totalTokens' ~/.clawdbot/agents/main/sessions/sessions.json - If tokens > 30000, run
/compactin Telegram or start new session
Config Errors
journalctl --user -u clawdbot-gateway.service --no-pager --since "10 minutes ago" | grep -i "invalid config"
API Costs (from session)
scripts/session-stats.sh
Useful Patterns
Filter journal by category
# Session state changes
journalctl --user -u clawdbot-gateway.service | grep "session state"
# Tool execution
journalctl --user -u clawdbot-gateway.service | grep "\[tools\]"
# Telegram activity
journalctl --user -u clawdbot-gateway.service | grep "\[telegram\]"
Parse session file for recent messages
tail -20 ~/.clawdbot/agents/main/sessions/*.jsonl | jq -r 'select(.message.role=="user") | .message.content[0].text' 2>/dev/null | tail -10