openclaw - 💡(How to fix) Fix [Bug]: 'openclaw cron add --at' help text advertises '+duration' form, but the validator rejects it [1 pull requests]

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…

Error Message

$ openclaw cron add --name foo --at "+30m" --session isolated
--message "test" --model anthropic/claude-haiku-4-5 --delete-after-run
--description "validator test" Error: Invalid --at. Use an ISO timestamp or a duration like 20m.

Root Cause

Low in isolation — a scripted user gets a clear validator error and can fix it. But because the help text and the validator disagree, the bug is invisible until somebody scripts against --at "+Nm" based on the help text. We hit this in a skill that registers a 30-min one-shot monitor after filing an issue — every filing silently failed to schedule its monitor for the past N filings, because the script used --at "+30m" (lifted from the help text wording) and the only signal was a warn: line buried in script stderr.

Fix Action

Fixed

Code Example

--at <when>            Run once at time (ISO with offset, or +duration). Use
                       --tz for offset-less datetimes

---

$ openclaw cron add --name foo --at "+30m" --session isolated \
    --message "test" --model anthropic/claude-haiku-4-5 --delete-after-run \
    --description "validator test"
Error: Invalid --at. Use an ISO timestamp or a duration like 20m.

---

$ openclaw cron add --name foo --at "30m" ...
{ "ok": true, "state": { "nextRunAtMs": 1779666736096 } }
RAW_BUFFERClick to expand / collapse

Environment

  • OpenClaw: 2026.5.22 (commit a374c3a)
  • Component: openclaw cron add CLI
  • Host: single-VPS Linux deployment, no container

Symptom

openclaw cron add --help documents --at as:

--at <when>            Run once at time (ISO with offset, or +duration). Use
                       --tz for offset-less datetimes

The or +duration clause implies --at +30m should be valid. It isn't:

$ openclaw cron add --name foo --at "+30m" --session isolated \
    --message "test" --model anthropic/claude-haiku-4-5 --delete-after-run \
    --description "validator test"
Error: Invalid --at. Use an ISO timestamp or a duration like 20m.

The validator error message itself says a duration like 20m (no +), and indeed the bare form works:

$ openclaw cron add --name foo --at "30m" ...
{ "ok": true, "state": { "nextRunAtMs": 1779666736096 } }

So:

  • Help text: claims +duration works
  • Validator: rejects +duration, requires bare duration
  • Validator error message: correctly describes the actual rule

Impact

Low in isolation — a scripted user gets a clear validator error and can fix it. But because the help text and the validator disagree, the bug is invisible until somebody scripts against --at "+Nm" based on the help text. We hit this in a skill that registers a 30-min one-shot monitor after filing an issue — every filing silently failed to schedule its monitor for the past N filings, because the script used --at "+30m" (lifted from the help text wording) and the only signal was a warn: line buried in script stderr.

Ask

Pick one (both are easy):

  1. Fix the validator to accept the documented +duration form (preferred — +30m is a common convention in similar tools like at(1) and systemd-run --on-active).
  2. Fix the help text to match the validator: Run once at time (ISO with offset, or duration like "30m"). Use --tz for offset-less datetimes.

Option 1 also keeps backward compatibility with any other scripts that took the help text at face value.

Related

  • The downstream skill bug was discovered while filing issues #86226 and #86227 — both had their post-filing 30-min monitor cron registrations silently fail because of this. Repro'd from a tight reproducer above.

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

openclaw - 💡(How to fix) Fix [Bug]: 'openclaw cron add --at' help text advertises '+duration' form, but the validator rejects it [1 pull requests]