Laravel Telescope 5.24.0 Adds Terminal Debugging Commands
Released on September 8, 2026, Laravel Telescope 5.24.0 introduces two Artisan commands — telescope:list and telescope:show — that let you read and inspect recorded entries without ever opening the Telescope dashboard. The release also fixes a long-standing UI bug where stale dashboard requests could overwrite the screen you were actively viewing.
telescope:list — Browse Recorded Entries from the Terminal
telescope:list queries Telescope's storage and renders a table of recent entries. Pass an entry type to get type-specific columns:
php artisan telescope:list request
For requests, the table shows the UUID, HTTP method, URI, response status, duration, and creation time. Supported types include query, exception, job, cache, log, mail, command, and outgoing HTTP requests. Omit the type for a mixed summary list.
Filtering and Pagination
Narrow results with built-in filters:
php artisan telescope:list exception --limit=5
php artisan telescope:list request --tag=Auth:42
php artisan telescope:list --batch=79a09461
php artisan telescope:list --family=8e872e9a
Pages default to 20 entries. When a full page is returned, Telescope prints a --before cursor — the sequence ID of the last entry — that you pass to fetch the next set:
php artisan telescope:list request --before=24817
telescope:show — Inspect an Entry and Its Batch
Copy any UUID from telescope:list and pass it to telescope:show to see full entry details alongside every other entry in the same batch:
php artisan telescope:show 9d90e4f0-1a15-4f6a-9cca-2e95d70d8d9f
Telescope groups the work produced by a single request, job, or command into a batch. A request batch can contain queries, cache operations, logs, events, exceptions, and rendered views. In the batch table:
- SLOW marks queries that exceed Telescope's configured threshold.
- DUP marks queries sharing an SQL pattern — a quick signal for N+1 query problems.
- The cache section reports hits, misses, and an overall hit rate.
Shortcuts for the Latest Entry
Skip the UUID lookup entirely with the latest shorthand:
php artisan telescope:show latest
php artisan telescope:show latest:request
php artisan telescope:show latest:exception
This is especially useful for coding agents: make a request, run telescope:show latest:request, and read its queries in one step.
Filtering Batch Output
For large batches, limit the output to specific entry types:
php artisan telescope:show latest:request --type=query,cache
Add --full to print long SQL statements, messages, or payloads that would otherwise be truncated.
JSON Output for Scripts and Coding Agents
Both commands accept a --json flag. telescope:list --json returns a JSON array of entries (or an empty array on no match). telescope:show --json returns an entry object and a chronological batch array.
Combine with jq for quick extractions:
# Get the class, message, file, and line of the latest exception
php artisan telescope:show latest:exception --json \
| jq '.entry.content | {class, message, file, line}'
# Find recent 500 errors from recorded requests
php artisan telescope:list request --json --limit=50 \
| jq '.[] | select(.content.response_status >= 500) |
{id, uri: .content.uri, status: .content.response_status}'
Use --json when another program or agent consumes the output, or when you need exact untruncated values.
Stale Dashboard Requests No Longer Overwrite the Current Screen
Telescope's dashboard polls for new entries continuously. Previously, a request started on one screen could resolve after you navigated away, replacing the current results with data from the old screen. The index, preview, dump, and monitoring screens now use an AbortController to cancel in-flight requests when the component is destroyed or the route query changes. Cancelled navigation requests are silent; only genuine server errors surface a status message.
Key Takeaways
telescope:list {type}renders a paginated, filterable table of recorded entries in the terminal.telescope:show {uuid|latest|latest:{type}}displays full entry details and its entire batch.SLOWandDUPbatch markers make it straightforward to spot performance issues and N+1 queries.--jsonoutput enables scripting and coding-agent workflows without manual UUID copying.- Dashboard polling now uses
AbortControllerto prevent stale responses from corrupting the current view. - Both commands were contributed by @pushpak1300 in PRs #1763 and #1764.
Source: Artisan Debugging Commands in Laravel Telescope 5.24.0 — Laravel News