Diagnostics flags let you enable targeted debug logs without turning on verbose logging everywhere. Flags are opt-in and have no effect unless a subsystem checks them.
telegram.* matches telegram.http* enables all flags{
"diagnostics": {
"flags": ["telegram.http"]
}
}
Multiple flags:
{
"diagnostics": {
"flags": ["telegram.http", "gateway.*"]
}
}
Restart the gateway after changing flags.
CODERCLAW_DIAGNOSTICS=telegram.http,telegram.payload
Disable all flags:
CODERCLAW_DIAGNOSTICS=0
Flags emit logs into the standard diagnostics log file. By default:
/tmp/coderclaw/coderclaw-YYYY-MM-DD.log
If you set logging.file, use that path instead. Logs are JSONL (one JSON object per line). Redaction still applies based on logging.redactSensitive.
Pick the latest log file:
ls -t /tmp/coderclaw/coderclaw-*.log | head -n 1
Filter for Telegram HTTP diagnostics:
rg "telegram http error" /tmp/coderclaw/coderclaw-*.log
Or tail while reproducing:
tail -f /tmp/coderclaw/coderclaw-$(date +%F).log | rg "telegram http error"
For remote gateways, you can also use coderclaw logs --follow (see /cli/logs).
logging.level is set higher than warn, these logs may be suppressed. Default info is fine.