Skip to main content

What is Laravel Telescope?

Laravel Telescope is an official debugging and introspection tool for Laravel applications. It records detailed entries for requests, exceptions, queries, jobs, logs, mail, notifications, cache operations, scheduled tasks, and more. Telescope is a local development tool. For production monitoring, use Laravel Pulse or Laravel Nightwatch.

Monitoring layers


Installation

1

Install Telescope

composer require laravel/telescope
2

Publish assets and migrations

php artisan telescope:install
3

Run migrations

php artisan migrate
After installation, open the dashboard at /telescope.
If your primary goal is local debugging, install Telescope with --dev and register providers only in the local environment.
composer require laravel/telescope --dev

php artisan telescope:install
php artisan migrate
After telescope:install, remove TelescopeServiceProvider registration from bootstrap/providers.php. Then register providers manually in App\Providers\AppServiceProvider:
public function register(): void
{
    if ($this->app->environment('local') && class_exists(\Laravel\Telescope\TelescopeServiceProvider::class)) {
        $this->app->register(\Laravel\Telescope\TelescopeServiceProvider::class);
        $this->app->register(TelescopeServiceProvider::class);
    }
}
Also disable package auto-discovery in composer.json:
{
  "extra": {
    "laravel": {
      "dont-discover": [
        "laravel/telescope"
      ]
    }
  }
}

Available watchers

Watchers collect telemetry while requests or commands are processed. Configure them in config/telescope.php.
Records request, headers, session, and response data.
Use size_limit to restrict response payload size.
Records SQL, bindings, and query duration.
Queries slower than 100ms are tagged as slow by default, which is very useful for bottleneck detection.
Watchers\QueryWatcher::class => [
    'enabled' => env('TELESCOPE_QUERY_WATCHER', true),
    'slow' => 100,
],
Records dispatched jobs and execution status.
Records reportable exceptions and stack traces.
Records logs written by the application.
Default level is error and above; you can lower it to debug in configuration.
Records Artisan command arguments, options, output, and exit code.
Records dispatched event payloads and listeners (framework internal events are excluded).
Records cache hits, misses, updates, and forget operations.
Records Redis commands executed by your application.
Records Eloquent model events and optionally hydration counts.
Records notifications sent by your application.
Shows sent mails and allows browser preview / .eml download.
Records outgoing HTTP client requests.
Records authorization gate / policy checks and results.
Records scheduled command execution and output.
Records rendered view names, paths, data, and composers.
Records queued batch metadata, including connection and job information.
Records variable dumps while the Telescope dump tab is open.

Summary

TaskRecommendation
Installcomposer require laravel/telescope --dev
Ensure local-only isolationManual provider registration + dont-discover
Find DB bottlenecks quicklyUse Query Watcher slow-query tags (default 100ms)

Next steps

Laravel Pulse

Add a performance metrics dashboard for production.

Laravel Nightwatch

Use Nightwatch for real-time production monitoring.
Last modified on May 28, 2026