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