Note · Laravel
Laravel 12 changed how scheduled tasks are registered
Aug 22, 2026
Laravel 12 moves scheduled task registration out of app/Console/Kernel.php — that file no longer exists in a fresh install. Schedules now live directly in routes/console.php, registered with the same fluent Schedule:: API.
routes/console.php
php
use Illuminate\Support\Facades\Schedule;
Schedule::command('backup:run')->dailyAt('02:00');
If you're upgrading an existing app rather than starting fresh, the old Kernel.php-based scheduling still works — Laravel 12 doesn't remove it, it just isn't the default for new projects. Move schedules over when convenient, not urgently.