Unclear Whether the larger 50% / 30 minute offset applies to everyone or only to a version of the tool description that is switched on remotely is not known.
What
CronCreate and CronList are the tools Claude uses to schedule a prompt to run later and to list the jobs already scheduled.
- The
CronCreateresult now ends with "Next run: ..." after the readable schedule. Before, it said only that the recurring job was scheduled, with its schedule and whether it lasts beyond the session. - Each
CronListrow now adds ", next run ..." between the session-only marker and the prompt text. - Both tools return
nextFireAt, the time of the job's next run with the scheduler's per-job offset included. Before,CronCreatereturned onlyid,humanSchedule,recurringanddurable.CronListuses the job's storednextFireAtor works one out, and never shows a time earlier than now. - The calculation of the next run now takes into account whether a job runs only once (
oneShot). - The
CronCreatedescription now says the scheduler shifts each job by a fixed per-job offset. By default that is up to 50% of the period late, with a maximum of 30 minutes. Before, it described "a small deterministic jitter" of up to 10% of the period, with a maximum of 15 minutes. The numbers are filled in at runtime from shared values:recurringFrac,recurringCapMsandoneShotMaxMs. - Claude is told to give the job's actual next run time, as returned by the tool and by
CronList, and not the minute written in the cron expression.
In the prompt capture taken under this release, the stock CronCreate description is 3,123 characters and its wording has moved. The CronList description is 106 characters and unchanged.
Why
A recurring job can now run noticeably later than the time in its schedule, up to half its period. Because the real next run time is shown, you and Claude no longer have to guess when a job will actually run.
Whether the larger 50% / 30 minute offset applies to everyone or only to a version of the tool description that is switched on remotely is…