Laravel Telescope

Official Laravel debug assistant that records requests, queries, jobs, mail, and more into a local dashboard

Tool
Composer
vv5.22.1
5,213stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
89/100Excellent
Development Activity84
Maintenance92
Community80
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
74/100Good
Architecture80
Code Quality82
Innovation65
Learning Curve68

Laravel Telescope is the official debug assistant for the Laravel framework, recording everything that happens during a request — incoming HTTP requests, exceptions, log entries, database queries, queued jobs, sent mail, notifications, cache operations, scheduled tasks, and dump() calls — into local storage and surfacing it all through a searchable dashboard UI. Instead of tailing log files or adding temporary dd() calls, developers get a single timeline of every query, job dispatch, and exception tied to the request or command that triggered it.

Behind the scenes it works via a set of pluggable Watcher classes, one per data category, each of which hooks into the relevant Laravel event (query executed, job processed, mail sent, model event fired) and stores an IncomingEntry. It ships as a first-party Laravel package maintained by the framework’s core team and is a standard companion for local development, with tag-based filtering and configurable data pruning to keep it useful in staging environments too.

What You Get

  • A full dashboard UI (served at /telescope) listing requests, exceptions, queries, jobs, mail, notifications, cache events, and scheduled task runs
  • Pluggable Watcher classes (QueryWatcher, JobWatcher, MailWatcher, ExceptionWatcher, ModelWatcher, RedisWatcher, and more) that can be individually enabled or disabled
  • Tag-based filtering so entries can be correlated back to a specific user, model, or request
  • Configurable data pruning and an only-paying-customers-style gate via Telescope::auth() to restrict dashboard access in non-local environments
  • Batched job/queue tracing that groups related entries under a single request or command execution for end-to-end visibility

Common Use Cases

  • Debugging N+1 query problems or slow database queries during local Laravel development
  • Inspecting exactly what payload was sent in a queued job, notification, or outgoing mail without adding temporary logging
  • Tracing exceptions back to the specific request, user, and stack trace that triggered them
  • Auditing scheduled task and command executions in a staging environment with restricted dashboard access

Under The Hood

Architecture - Telescope registers itself as a Laravel ServiceProvider (TelescopeServiceProvider) that boots a set of Watcher subclasses (one per src/Watchers/*.php file — QueryWatcher, JobWatcher, MailWatcher, ModelWatcher, EventWatcher, RedisWatcher, ScheduleWatcher, and a dozen more), each listening for the corresponding Laravel framework event and converting it into an IncomingEntry that the core Telescope class buffers and flushes to storage via EntryUpdate/EntryResult value objects; a bundled Http controller layer and Vue-based frontend render the stored entries as the /telescope dashboard.

Tech Stack - PHP targeting the Laravel framework (service provider/facade conventions, Eloquent for entry storage by default), with a Vue.js single-page dashboard bundled as compiled assets, and optional Redis-backed storage for high-throughput environments via RedisEntriesRepository.

Code Quality - The repository has a substantial test suite (32 test files) covering individual watchers and storage behavior, GitHub Actions CI (tests workflow badge), and is maintained directly by Laravel’s core team with very frequent commits (pushed same-day in this snapshot), reflecting first-party framework-package maintenance standards.

API Design - Integration is almost entirely configuration-driven: install via Composer, publish the config/migrations, and Telescope auto-registers; customization (enabling/disabling specific watchers, gating dashboard access via Telescope::auth(), tagging entries) is done through a single TelescopeServiceProvider::boot() override, keeping the day-to-day API surface small despite the breadth of data it captures.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search