Use this page for scheduler and delivery issues (cron + heartbeat).
coderclaw status
coderclaw gateway status
coderclaw logs --follow
coderclaw doctor
coderclaw channels status --probe
Then run automation checks:
coderclaw cron status
coderclaw cron list
coderclaw system heartbeat last
coderclaw cron status
coderclaw cron list
coderclaw cron runs --id <jobId> --limit 20
coderclaw logs --follow
Good output looks like:
cron status reports enabled and a future nextWakeAtMs.cron runs shows ok or explicit skip reason.Common signatures:
cron: scheduler disabled; jobs will not run automatically → cron disabled in config/env.cron: timer tick failed → scheduler tick crashed; inspect surrounding stack/log context.reason: not-due in run output → manual run called without --force and job not due yet.coderclaw cron runs --id <jobId> --limit 20
coderclaw cron list
coderclaw channels status --probe
coderclaw logs --follow
Good output looks like:
ok.Common signatures:
none → no external message is expected.channel/to) → run may succeed internally but skip outbound.unauthorized, missing_scope, Forbidden) → delivery blocked by channel credentials/permissions.coderclaw system heartbeat last
coderclaw logs --follow
coderclaw config get agents.defaults.heartbeat
coderclaw channels status --probe
Good output looks like:
ran (or skip reason is understood).Common signatures:
heartbeat skipped with reason=quiet-hours → outside activeHours.requests-in-flight → main lane busy; heartbeat deferred.empty-heartbeat-file → HEARTBEAT.md exists but has no actionable content.alerts-disabled → visibility settings suppress outbound heartbeat messages.coderclaw config get agents.defaults.heartbeat.activeHours
coderclaw config get agents.defaults.heartbeat.activeHours.timezone
coderclaw config get agents.defaults.userTimezone || echo "agents.defaults.userTimezone not set"
coderclaw cron list
coderclaw logs --follow
Quick rules:
Config path not found: agents.defaults.userTimezone means the key is unset; heartbeat falls back to host timezone (or activeHours.timezone if set).--tz uses gateway host timezone.activeHours uses configured timezone resolution (user, local, or explicit IANA tz).at schedules.Common signatures:
activeHours.timezone is wrong.Related: