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

**Code:** `No scheduled commands are ready to run` · **Category:** Laravel · **Seen on:** Laravel, PHP, Linux

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

## 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?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/laravel/scheduler-no-scheduled-commands-ready)
