Why isn't my cron job running?

Practical, fix-first guides for the most common reasons scheduled jobs silently stop — by platform and stack.

Hetzner

Hetzner cron job not running? Here's how to fix it

Your crontab entry never fires (or fires but does nothing) on a Hetzner VPS.

Docker

Docker container cron not running? Fixes that actually work

Cron inside your container never fires, or fires but can't send email or see your env vars.

Laravel

Laravel scheduler not running, or looking for an alternative?

schedule:run is set up but your Laravel scheduled tasks never execute on the server.

Kubernetes

Kubernetes CronJob not running? Diagnose it fast

Your CronJob exists but no Jobs are created, or pods start and fail without notice.

Ubuntu

Ubuntu cron not sending email? Why, and what to do instead

Your cron job runs but the output email (errors, reports) never arrives.

GitHub Actions

GitHub Actions cron schedule not running? Every silent cause

Your workflow has an `on: schedule` trigger but never runs, runs late, or silently stopped weeks ago.

Vercel

Vercel cron job not running? Check these first

Your `vercel.json` defines crons but the function never runs, runs at odd times, or returns 401s.

systemd

systemd timer not running? Diagnose it in five steps

Your `.timer` unit exists but the service never runs — or `list-timers` shows it fired and nothing happened.

AI agents

Scheduled AI agent not running? Diagnose it fast

The nightly run produced nothing — no output, no error, and nobody can say when it last worked.

Vercel

Vercel cron limits explained: Hobby vs Pro

Your cron needs to run more often, more precisely, or more reliably than your Vercel plan allows.