No scheduled commands are ready to run Laravel Origin: Application & API Last updated 4 Nov 2026

Laravel scheduler: INFO No scheduled commands are ready to run. (tasks never execute)

schedule:run is executing but finds nothing due — or the cron entry that triggers it isn't set up.

Exact message you may see No scheduled commands are ready to run.INFO No scheduled commands are ready to runLaravel scheduler not running tasksschedule:run does nothing cronLaravel cron job not working scheduler
Seen on: Laravel PHP Linux

Meaning

The scheduler is only a dispatcher: one cron line must run php artisan schedule:run every minute. If the message shows but your task doesn't run, check the frequency expression, timezone (app.timezone), ->when() conditions, ->withoutOverlapping() locks and the server's cron/user. Use schedule:list to see next due times.

Common causes

  • Cron entry missing or wrong path/user
  • Task frequency not due this minute
  • Timezone mismatch
  • withoutOverlapping lock stuck from a crashed run
  • Environment filters (->environments())

⚡ Quick fix

  1. Add cron: * * * * * cd /var/www/app && php artisan schedule:run >> /dev/null 2>&1
  2. php artisan schedule:list
  3. Clear stale lock: php artisan cache:clear

Detailed fix by platform

Linux

  1. crontab -l and php artisan schedule:list

How to diagnose

  1. Cron — Entry exists?
  2. Due — Next run time?
  3. Lock — Overlap lock?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Application & API. Errors that are often confused with or caused by this one (click to open):

403 This action is unauthorized — Laravel: Illuminate\Auth\Access\AuthorizationException: This action is unauthorized. (Laravel)403 This action is un…Attempt to read property "x" on null — Laravel/PHP 8: ErrorException: Attempt to read property "name" on null (Laravel)Attempt to read prope…Command "x" is not defined — Laravel: Symfony\Component\Console\Exception\CommandNotFoundException: Command "make:livewire" is not defined. Did you mean one of these? (Laravel)Command "x" is not de…env() returns null (config cached) — Laravel: .env changes ignored / env('X') returns null after php artisan config:cache (Laravel)env() returns null (c…Laravel: Allowed memory size exhausted (request) — Laravel/PHP: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in vendor/laravel/framework (Laravel)Laravel: Allowed memo…MaxAttemptsExceededException (queue job) — Laravel Queue: Illuminate\Queue\MaxAttemptsExceededException: App\Jobs\SendReport has been attempted too many times or run too long (Laravel)MaxAttemptsExceededEx…Maximum execution time of 30 seconds exceeded — Laravel: Symfony\Component\ErrorHandler\Error\FatalError: Maximum execution time of 30 seconds exceeded (Laravel)Maximum execution tim…Missed schedule — WordPress: Missed schedule — scheduled posts not publishing (WP-Cron not running) (WordPress)Missed scheduleNo schedu…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.