Skip to content

Cron jobs with sessionTarget 'isolated' never fire automatically #10788

@DiLescure

Description

@DiLescure

Bug Description

Cron jobs configured with sessionTarget: "isolated" and payload.kind: "agentTurn" never execute automatically, regardless of wakeMode setting.

Environment

  • OpenClaw version: 2026.2.3-1
  • OS: macOS Darwin arm64 (Apple Silicon)
  • Install method: npm (homebrew prefix)

Steps to Reproduce

  1. Create a cron job:
{
  "name": "Test Job",
  "schedule": { "kind": "cron", "expr": "*/30 * * * *", "tz": "America/Costa_Rica" },
  "sessionTarget": "isolated",
  "wakeMode": "now",
  "payload": {
    "kind": "agentTurn",
    "message": "Test task"
  }
}
  1. Wait for scheduled time to pass
  2. Check openclaw cron runs --id <jobId> - no new entries

Expected Behavior

Job should execute at scheduled time and appear in run history.

Actual Behavior

  • Job never executes automatically
  • openclaw cron list shows job as idle with nextRunAtMs in the past
  • No entries in run history
  • No errors in gateway logs
  • Heartbeats ARE running (verified via sessions_list)

What I've Tried

  1. Changed wakeMode from next-heartbeat to now - no effect
  2. Changed schedule from kind: "every" to kind: "cron" - no effect
  3. Changed sessionTarget to main with systemEvent - also doesn't fire
  4. Restarted gateway - no effect
  5. Verified heartbeats are running every 15m - they are

Related Issues

Additional Context

Jobs that ran successfully days ago (same config) now don't fire. Something changed in scheduler behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions