Commands

An Artisan command that ran: which one, with which arguments, how long it took and what it exited with.

The Commands page in the panel: each command with its runs, failures, average and p95

Turning it on

.env
LB_TRACK_COMMANDS=true

Then accept Commands on the application.

What is ignored

config/larabug.php
'ignore' => [
    'schedule:run',
    'schedule:finish',
    'schedule:work',
    'queue:work',
    'queue:listen',
    'horizon',
    'horizon:*',
    'larabug:*',
    'list',
    'tinker',
],

The plumbing. A queue:work that runs for a week is one command run, and it would tell you nothing that the queue jobs it processed do not. * is the only wildcard.

A command run by the scheduler is left to the schedule, so it is recorded once, as a scheduled task, rather than twice.

What is recorded

The command and its arguments, the exit code, the duration, the peak memory, the host it ran on, and the trace id, which is what ties a command to the logs and exceptions it produced.

Arguments

config/larabug.php
'redact' => [
    'password',
    'secret',
    'token',
    'key',
],

Arguments and options are recorded, because php artisan users:export --since=2026-01-01 is a different event from php artisan users:export. Any option whose name contains one of these words has its value replaced before the event is built.

Batching

commands.batch_size is twenty and commands.max_retries is two. A command that runs for hours reports when it exits, not while it runs.