GitHub Actions Cron

5-field POSIX-style cron for workflow `schedule` triggers — defaults to UTC (optional `timezone:` field since March 2026), 5-minute minimum interval.

Overview

GitHub Actions workflow `schedule` triggers use 5-field POSIX-style cron expressions. GitHub documents the syntax as POSIX-style cron extended with step values (`/`) and named months/days (JAN-DEC, SUN-SAT); Vixie-style `@`-aliases are explicitly not supported.

There are two practical constraints: (1) schedules default to UTC unless you set the optional `timezone:` field (added March 2026, accepts any IANA identifier); (2) the minimum reliable interval is 5 minutes, and the schedule is best-effort (GitHub may delay or skip runs during high load).

Field Structure

Field Order5 fields: minute hour day-of-month month day-of-week
Day-of-Week0=Sunday, 1=Monday, …, 6=Saturday (or SUN-SAT names). GitHub documents the range as 0-6; unlike Vixie cron, 7 for Sunday is not documented — use 0 or SUN.

Special Characters

TokenMeaning
*Any value.
,List separator.
-Range.
/Step.

Aliases

  • None — GitHub explicitly rejects `@yearly`/`@monthly`/`@weekly`/`@daily`/`@hourly`/`@reboot`; write the full 5-field expression (e.g. `0 0 * * *` instead of `@daily`).

Comparison vs. Unix Cron

FeatureGitHub Actions CronUnix Cron
Field count55
Seconds fieldNoNo
Step syntaxYesLimited
Named months/daysYes (JAN-DEC, SUN-SAT)No
AliasesNoNo
Timezone control`timezone:` field (IANA, since Mar 2026); defaults to UTCDaemon-local or `CRON_TZ`
Minimum interval5 minutes (hard minimum)1 minute

Examples

*/5 * * * *Every 5 minutes (UTC).Try it →
0 * * * *Every hour at minute 0 (UTC).Try it →
30 5,17 * * *05:30 and 17:30 UTC every day.Try it →
0 0 * * 1-5Midnight UTC, Mon–Fri.Try it →
0 12 * * 0Sundays at 12:00 UTC.Try it →

Gotchas & Pitfalls

  • Schedules default to UTC. Prefer the `timezone:` field (e.g. `timezone: "America/New_York"` with cron `0 9 * * *`) added in March 2026. If you must hand-convert, 09:00 New York is 14:00 UTC in winter (EST) and 13:00 UTC in summer (EDT).
  • In public repositories, scheduled workflows are automatically disabled after 60 days of repository inactivity.
  • If many workflows are scheduled for the same minute (e.g. minute 0), runs can be delayed — stagger to off-peak minutes (e.g. 7, 23, 41) to reduce contention.
  • Schedules on a fork are disabled by default — they must be re-enabled from the Actions tab.

Converting to or from GitHub Actions Cron?

References

Free cron syntax cheat sheet

© 2026 Abel Solutions LLC. All rights reserved. · More from Abel Solutions: RegexPro — test and debug regular expressions · NuGate — open-source dependency age gate for NuGet