GitHub Actions: scheduled workflow not triggering [2026 fix]

Scheduled workflows fail silently when `schedule` trigger uses invalid cron syntax or workflow file isn't in default branch. Fix: validate cron format and push to main/master.

GitHub Actions: Scheduled Workflow Not Triggering at 2am

TL;DR

Cause: Your cron syntax is invalid OR the workflow file doesn't exist on your default branch (GitHub doesn't run scheduled workflows from feature branches). Fix: Validate cron format with 0 2 * * * syntax and ensure the .github/workflows/ file is committed to main/master, not a draft PR.

---

Exact Error Messages You'll See

1. Silent failure (most common): ``` No workflow runs appear in the Actions tab despite waiting 5+ minutes ```

2. In workflow file validation (GitHub editor): ``` Error parsing cron expression schedule: Invalid cron syntax at line 8 ```

3. When testing locally with act: ``` Error: cron expression "0 2 * * *" is invalid Parsing failed at position 3 ```

4. In GitHub's workflow syntax check: ``` Schedule trigger is not supported on this branch. Scheduled workflows only run on the repository's default branch. ```

5. Via GitHub API (if querying workflow runs): ``` {"message":"No workflow runs found","documentation_url":"https://docs.github.com/rest/actions/workflow-runs"} ```

---

Broken vs. Fixed Code

❌ BROKEN: Invalid cron syntax

```yaml name: Daily Deploy on: schedule: - cron: '2 * * * *' # ← WRONG: missing hour field jobs: deploy: runs-on: ubuntu-latest steps: - run: echo "Deploying..." ```

✅ FIXED: Valid cron with all 5 fields

```yaml name: Daily Deploy on: schedule: - cron: '0 2 * * *' # ← CORRECT: 2:00 AM UTC every day jobs: deploy: runs-on: ubuntu-latest steps: - run: echo "Deploying..." ```

---

❌ BROKEN: Workflow on feature branch

```bash

Feature branch (feature/new-deploy)

$ git checkout -b feature/new-deploy $ cat > .github/workflows/deploy.yml << 'EOF' name: Deploy on: schedule: - cron: '0 2 * * *' jobs: run: runs-on: ubuntu-latest steps: - run: echo "Deploy" EOF $ git add .github/workflows/deploy.yml $ git commit -m "Add deploy workflow" $ git push origin feature/new-deploy

← Creates PR but workflow NEVER TRIGGERS on schedule

```

✅ FIXED: Workflow on default branch

```bash

Merge to main FIRST

$ git checkout main $ git pull origin main $ git merge feature/new-deploy $ git push origin main

← NOW scheduled workflow will trigger at 2:00 AM UTC

```

---

Cron Syntax Quick Reference

Format: minute hour day-of-month month day-of-week

| Example | Meaning | |---------|----------| | 0 2 * * * | 2:00 AM UTC every day | | 0 */6 * * * | Every 6 hours | | 30 14 * * MON-FRI | 2:30 PM UTC Mon-Fri | | 0 0 1 * * | 12:00 AM UTC on 1st of month |

⚠️ NOTE: GitHub interprets all cron times in UTC. If you need 2am EST, use 0 7 * * * (winter) or account for daylight saving.

Version note: Cron syntax validation is consistent in GitHub Actions as of 2024-2026, but I cannot guarantee future changes to how GitHub parses timezone-aware scheduling without checking current docs.

---

Verification Checklist

✅ Confirm workflow file is in .github/workflows/ directory ✅ Commit and push to main or master (your default branch) ✅ Validate cron at [crontab.guru](https://crontab.guru) — must have exactly 5 fields ✅ Check Actions tab → select workflow → verify "Scheduled" trigger shows ✅ Wait 5-10 minutes; GitHub scans schedules every 15 minutes ✅ If still nothing, check your repo hasn't disabled Actions in Settings → Actions

---

Still Broken? Check These Too

1. Actions disabled in Settings Go to Settings → Actions → verify "All actions and reusable workflows" is selected, not "Disabled"

2. Permissions too restrictive If using secrets.GITHUB_TOKEN, ensure permissions: write-contents or permissions: contents: write is set in the job

3. [Related: GitHub Actions environment variables not injecting](/?guide=github-actions-env-vars) Your workflow may run but fail silently if env vars aren't set correctly

4. [Related: Actions workflow timeout errors](/?guide=github-actions-timeout) Job might trigger but get killed before finishing

5. Repository archived or fork limitations Scheduled workflows don't run on archived repos or may have restrictions on forks

---

Official Documentation

📖 [GitHub Actions: Scheduling workflows - GitHub Docs](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule)

---

Found a different variation? Drop it in the comments—especially if you're seeing this on a forked repo or with custom GitHub Enterprise Server configs.

🔥 0d
LIVE
PlanetScale rage spiking Vercel pricing complaints Railway gaining fast Supabase happiness rising Resend loved by devs PlanetScale rage spiking Vercel pricing complaints Railway gaining fast Supabase happiness rising
DEVELOPER PAIN RADAR // Loading...

Developers complain.
Opportunities appear.

We track what developers are struggling with today — and what opportunities that creates.

guides today
avg happiness
🔥 Pain
📖 Guides
🔭 Explore
👤 Mine
🔥 Pain Radar — rage scores today
↗ share
💡 Opportunity Feed — pain = market gap
📈 Tool Momentum
all scores →
📖 Latest Guide
all guides →
📖 All Guides
📊 Tool Scores
+ Submit
📰 Hacker News
➕ Submit a Tool
← back