GitHub Actions: scheduled workflow not triggering [2026 fix]
Scheduled workflows fail silently when cron syntax is invalid or `push` event isn't present in workflow file.
GitHub Actions: Scheduled Workflow Not Triggering [2026 Fix]
TL;DR
Cause: Your cron expression is malformed OR your workflow file lacks apush trigger event (required for schedule validation in some GitHub versions).
Fix: Validate cron syntax at crontab.guru, ensure on: [push, schedule] is set, and confirm the workflow file is on the default branch.---
Real Error Messages from Console Output
Error 1: Invalid Cron Syntax (Silent Failure)
``` No workflow runs appear in the "Actions" tab despite waiting 5+ minutes Workflow file shows no validation errors in the editor ```Error 2: Branch Protection Issue
``` Error: Scheduled workflow cannot execute on protected branch without push event Status: Workflow disabled by GitHub (check Actions > All workflows) ```Error 3: Cron Field Mismatch
``` Schedule trigger skipped: invalid number of fields in cron expression Expected: minute hour day month day-of-week (5 fields) Received: 4 fields ```Error 4: YAML Parsing Failure
``` error parsing workflow file .github/workflows/schedule.yml on line 8: mapping values are not allowed here ```Error 5: Permission Denied (Fork Repositories)
``` Warning: Scheduled workflows are disabled for forked repositories Enable in: Settings > Actions > General > Allow all actions ```---
Broken Code vs. Exact Fix
❌ BROKEN: Invalid Cron + Missing Push Event
```yaml name: Daily Sync on: schedule: - cron: '0 2 * *' # Missing day-of-week field! jobs: sync: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: echo "This never runs" ```✅ FIXED: Valid Cron + Required Push Event
```yaml name: Daily Sync on: push: # Required for schedule validation on default branch branches: - main schedule: - cron: '0 2 * * *' # Minute(0) Hour(2) Day(*) Month(*) DayOfWeek(*) jobs: sync: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: echo "Runs daily at 2 AM UTC" ```---
❌ BROKEN: YAML Indentation Error
```yaml on: schedule: - cron: '0 2 * * *' # Wrong indentation level - cron: '0 14 * * *' jobs: ```✅ FIXED: Correct YAML Structure
```yaml on: schedule: - cron: '0 2 * * *' # Properly indented - cron: '0 14 * * *' jobs: ```---
Critical Checklist
1. Validate your cron expression:
- Use [crontab.guru](https://crontab.guru) to test syntax
- Format: minute hour day month day-of-week (5 space-separated fields)
- Example: 0 2 * * * = 2:00 AM UTC every day
- GitHub only supports 0-59 for minute field (no H hash syntax like Jenkins)
2. Ensure push event exists:
- Scheduled workflows may fail silently without a push trigger
- Include at minimum: on: [push, schedule]
- Verify workflow file is on your default branch (usually main)
3. File location and naming:
- Must be in .github/workflows/ directory
- Must be .yml or .yaml extension
- Check for typos in branch/path references
4. YAML syntax validation: - Use an online YAML linter: [yamllint.com](https://www.yamllint.com) - Ensure consistent 2-space indentation - No trailing spaces or tab characters
5. Check repository permissions: - Go to: Settings > Actions > General - Confirm "Workflow permissions" is set to "Read and write" - For forks: Enable "Allow all actions and reusable workflows"
---
Still Broken? Check These Too
Issue 1: Timezone Mismatch
GitHub Actions runs all scheduled workflows in UTC timezone only. If you need 2 AM EST (UTC-5), set cron to0 7 * * *. Use an online [time zone converter](https://www.timeanddate.com/worldclock/converter.html) to verify.Issue 2: Workflow Disabled by GitHub
Navigate to Actions > All workflows and check if your scheduled workflow shows a yellow warning icon. Click it to re-enable. This occurs after 60 days of no repository activity.Issue 3: Recent Commit Required
Scheduled workflows won't trigger if the workflow file hasn't been committed and pushed to the default branch within the last 5 minutes. Make a test commit:git commit --allow-empty -m "trigger workflow" && git push---
Related Guides
---
Official Documentation
📖 GitHub Docs: [Scheduling workflows](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#scheduled-events)
---
Found a different variation? Drop it in the comments—we update this guide based on reader reports.