didrun · checked

Why did GitHub disable my scheduled workflow?

In a public repository, GitHub turns off every scheduled workflow after 60 days with no repository activity. Workflows in a fork start turned off. Nothing is emailed when it happens: the schedule just stops, and it stays off after the repo becomes active again until someone turns it back on. Turn it back on with gh workflow enable <file>, or the Enable workflow button in the Actions tab.See which of your schedules are off, and how many days the rest have left, with npx --allow-git=root github:agentwares/didrun.

How to see it

Turn it back on, and keep it on

  1. gh workflow enable stale.yml -R owner/repo, or the button in the Actions tab.
  2. Keep the repo active. GitHub's page says "no repository activity" without listing what counts, so didrun counts from the last push, the activity no one disputes. Every push restarts the 60 days.
  3. Private repositories are not under this rule. The page names public repositories only.

What the check prints

Close stale issues  ·  .github/workflows/stale.yml
  schedule     0 0 * * * (UTC)
  state        disabled by GitHub: no repository activity in 60 days (public repositories only)
  last run     Sun 9 Aug 00:07 UTC, success (61 days ago)
  fix          gh workflow enable stale.yml -R synthetic-org/nightly-jobs
               then keep the repo active: GitHub disables a public repo's scheduled workflows again
               after 60 days without activity

This repository is public and its last push was 48 days ago. GitHub disables a public repo's
scheduled workflows after 60 days without activity: around 20 Oct 2026 (in 12 days), unless there is
activity first.
Synthetic repo: the real output of npx --allow-git=root github:agentwares/didrun demo, which runs the check on recorded fixtures shipped with it. Not anyone's repo or runs.

The disabled workflow, with the date of its last scheduled run and the command, then the countdown for the rest: in a public repo whose last push was 48 days ago, the other schedules have 12 days left.

Check a repo

In a clone of the repo, or with its name after the command:

$ npx --allow-git=root github:agentwares/didrun

Run it in a clone, or name the repo. It reads GitHub's own record with your token (GITHUB_TOKEN, GH_TOKEN or the GitHub CLI's login), and with none it reads public repos. Its only requests are GETs to GitHub's API; the token is never printed or stored. No account, no change to your repo. Free and MIT licensed.

An hourly watch for scheduled runs is not built.

didrun tells you what happened when you ask. A watch would ask for you every hour, from outside GitHub's scheduler, and email you when a scheduled run is late, missed, or green with nothing done, with no change to your repo. It does not exist yet: agentcheck's free hourly watch covers MCP servers only today.

I would pay for an hourly watch of scheduled runs

The click is counted, and nothing else is sent: no form, no email, no cookie. There is no price yet and nothing is charged.

Sources