En Laravel, normalmente trabajamos con las rutas web y las rutas api, las cuales son puntos de entrada a nuestra aplicación y nos permiten exponer ciertos recursos para nuestros usuarios, pero la cosa no queda ahí. Las rutas de consola en Laravel pueden ser definidas en el archivo console.php del directorio routes, estas rutas nos permiten definir comandos haciendo uso de closures.
Para entender cómo funcionan las rutas de consola en Laravel, primero debemos entender cómo están configuradas, para ello, podemos abrir el Kernel de consola, veremos lo siguiente:
<?php
protected function commands(): void
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}Como puedes ver, simplemente se hace un require del archivo routes/console.php, y si abrimos este archivo, veremos que tenemos el siguiente código:
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
/*
|--------------------------------------------------------------------------
| Console Routes
|--------------------------------------------------------------------------
|
| This file is where you may define all of your Closure based console
| commands. Each Closure is bound to a command instance allowing a
| simple approach to interacting with each command's IO methods.
|
*/
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');
Esto simplemente significa que si ejecutamos el siguiente comando en el terminal tendremos una cita aleatoria como respuesta.

Nuestro propio comando route:list
Para entender qué podemos hacer con las rutas de consola de Laravel, lo mejor es ver un ejemplo completo, para ello, vamos a crear nuestro propio comando route:list para mostrar en consola todas las rutas de nuestra aplicación:
<?php
Artisan::command('custom-route:list', function ()
{
$routes = \Illuminate\Support\Facades\Route::getRoutes();
$headers = ['Método', 'URI', 'Nombre', 'Acción'];
$rows = [];
foreach ($routes as $route) {
$rows[] = [
$route->methods[0],
$route->uri,
$route->getName(),
$route->getActionName(),
];
}
$this->table($headers, $rows);
})->describe('Muestra las rutas de la aplicación');
Como puedes ver, las rutas de consola de Laravel son poderosas, podemos hacer grandes cosas si las llegamos a conocer a fondo.
Curso Laravel 12
Completo 2026
El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.
star Incluido en cualquier suscripción