openclaw - 💡(How to fix) Fix Bug: cron.maxConcurrentRuns setting has no effect — cron jobs still spawn N parallel runs per trigger [1 comments, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#59999Fetched 2026-04-08 02:37:43
View on GitHub
Comments
1
Participants
1
Timeline
1
Reactions
0
Author
Participants
Timeline (top)
commented ×1

Setting cron.maxConcurrentRuns: 1 in openclaw.json has no observable effect. Cron jobs continue to spawn multiple parallel runs per trigger (consistently 5 in our setup).

Root Cause

Setting cron.maxConcurrentRuns: 1 in openclaw.json has no observable effect. Cron jobs continue to spawn multiple parallel runs per trigger (consistently 5 in our setup).

Fix Action

Fix / Workaround

Note: one run always uses Sonnet (4 input tokens, 124 output) while the others use Haiku. The Sonnet run appears to be a dispatcher/health-check instance.

Code Example

{
  "cron": {
    "maxConcurrentRuns": 1
  }
}

---

runAtMs: 1775180942348 → sessionId: 861fbf9d (Haiku, 28s)
runAtMs: 1775180942349 → sessionId: 3b810bb2 (Haiku, 7s)
runAtMs: 1775180942349 → sessionId: c400d30b (Sonnet, 6s)
runAtMs: 1775180942354 → sessionId: 447d4dda (Haiku, 5s)
runAtMs: 1775180942356 → sessionId: be01d959 (Haiku, 4s)
RAW_BUFFERClick to expand / collapse

Summary

Setting cron.maxConcurrentRuns: 1 in openclaw.json has no observable effect. Cron jobs continue to spawn multiple parallel runs per trigger (consistently 5 in our setup).

Environment

  • OpenClaw version: 2026.3.24 (cff6dc9)
  • OS: macOS 25.3.0 (arm64)
  • Gateway mode: LaunchAgent (local)
  • Multiple gateway instances on same host (ports 18789–18798)

Steps to Reproduce

  1. Add to openclaw.json:
{
  "cron": {
    "maxConcurrentRuns": 1
  }
}
  1. Restart gateway with full bootout + load: launchctl bootout gui/$UID/ai.openclaw.gateway && launchctl load ~/Library/LaunchAgents/ai.openclaw.gateway.plist
  2. Wait for any cron job to fire
  3. Check cron runs via openclaw cron runs <jobId>

Observed Behaviour

Every cron trigger spawns exactly 5 parallel runs simultaneously (same runAtMs timestamp, different sessionIds):

runAtMs: 1775180942348 → sessionId: 861fbf9d (Haiku, 28s)
runAtMs: 1775180942349 → sessionId: 3b810bb2 (Haiku, 7s)
runAtMs: 1775180942349 → sessionId: c400d30b (Sonnet, 6s)
runAtMs: 1775180942354 → sessionId: 447d4dda (Haiku, 5s)
runAtMs: 1775180942356 → sessionId: be01d959 (Haiku, 4s)

Note: one run always uses Sonnet (4 input tokens, 124 output) while the others use Haiku. The Sonnet run appears to be a dispatcher/health-check instance.

Expected Behaviour

With maxConcurrentRuns: 1, each cron trigger should spawn exactly 1 run.

Impact

5× unnecessary API calls per cron trigger. With multiple cron jobs and 10-minute intervals, this results in significant unnecessary spend. We estimate this has been active since gateway setup and may account for –300/month in duplicate API calls across a 9-gateway fleet.

Additional Context

  • Setting was applied to all 9 gateway instances (separate openclaw.json per gateway)
  • Full bootout+load restart confirmed on each instance (not kickstart)
  • Behaviour is consistent across all gateways regardless of maxConcurrentRuns value
  • The 5 parallel runs pattern exists even for jobs with sessionTarget: isolated (fresh session per run — no session contention possible)
  • Related: #47381 (model override in cron agentTurn also ignored)

extent analysis

TL;DR

The issue may be resolved by re-examining the configuration and ensuring that the maxConcurrentRuns setting is properly applied to all gateway instances and cron jobs.

Guidance

  • Verify that the openclaw.json file is correctly formatted and that the maxConcurrentRuns setting is applied to all gateway instances.
  • Check the documentation for OpenClaw version 2026.3.24 to ensure that the maxConcurrentRuns setting is supported and correctly configured.
  • Investigate the possibility that the Sonnet run is a dispatcher/health-check instance that is not affected by the maxConcurrentRuns setting.
  • Review the related issue #47381 to see if it provides any insight into the problem or a potential solution.

Example

No code snippet is provided as the issue is related to configuration and not code.

Notes

The issue may be specific to the OpenClaw version 2026.3.24 or the macOS 25.3.0 environment. The fact that the behaviour is consistent across all gateways regardless of the maxConcurrentRuns value suggests that there may be an underlying issue with the configuration or the OpenClaw software.

Recommendation

Apply workaround: try setting maxConcurrentRuns to a value other than 1, such as 0 or a higher number, to see if it has any effect on the behaviour. This may help to determine if the issue is with the setting itself or with the configuration.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING