This website is currently under active development (Beta) 🚀. Some features are still work in progress.
Packages Tutorial

Master Laravel Telescope: Your Ultimate Debugging and Insight Tool

Admin User
Admin User
May 15, 2026
3 min read

Key Takeaways

  • # Master Laravel Telescope: Your Ultimate Debugging and Insight Tool
  • Laravel Telescope is an elegant debug assistant for the Laravel framework. It provides inv...

Master Laravel Telescope: Your Ultimate Debugging and Insight Tool

Laravel Telescope is an elegant debug assistant for the Laravel framework. It provides invaluable insights into the requests coming into your application, exceptions, log entries, database queries, queued jobs, mail, notifications, cache operations, scheduled tasks, variable dumps, and more. This powerful tool simplifies debugging and helps you understand the inner workings of your Laravel application with ease.

In this tutorial, we'll walk through the process of installing, configuring, and effectively using Laravel Telescope to supercharge your development workflow.

1. Installation #

Installing Laravel Telescope is straightforward. It's recommended to install Telescope as a development dependency, as it's primarily used during application development and local debugging.

Open your terminal and run the following Composer command:

composer require laravel/telescope --dev

After installing the package, publish Telescope's assets and run the database migrations:

php artisan telescope:install
php artisan migrate

The telescope:install command will publish a telescope.php configuration file to your config directory. The migrate command will create the necessary tables in your database to store Telescope's records.

If you want to install Telescope even in a production environment (which requires careful consideration for security and performance), you can omit the --dev flag during installation. However, ensure you understand the implications before doing so.

2. Configuration #

Laravel Telescope's configuration is managed through the config/telescope.php file, which was published during installation. Here are some key configuration aspects:

Enabling/Disabling Telescope #

By default, Telescope is enabled when APP_ENV is local. You can control its activation using the TELESCOPE_ENABLED environment variable in your .env file:

TELESCOPE_ENABLED=true

It's a good practice to set this to false in production environments or only enable it under very specific, controlled circumstances.

Authorization #

In non-local environments, you must authorize who can access the Telescope dashboard. This is done by modifying the gate method within your App\Providers\TelescopeServiceProvider.

By default, the TelescopeServiceProvider contains a gate method that restricts access to local environments:

protected function gate()
{
    Gate::define('viewTelescope', function ($user) {
        return in_array($user->email, [
            // '[email protected]',
        ]);
    });
}

You can customize this gate to allow specific users (e.g., by ID, role, or email) to view Telescope in production. For example:

use App\Models\User;
use Illuminate\Support\Facades\Gate;

protected function gate()
{
    Gate::define('viewTelescope', function ($user) {
        return $user->isAdmin(); // Assuming you have an isAdmin() method
    });
}

Or, to restrict by IP address (useful for internal networks):

protected function gate()
{
    Gate::define('viewTelescope', function ($user) {
        return in_array(request()->ip(), [
            '127.0.0.1',
            '192.168.1.1',
        ]);
    });
}

Watchers #

Telescope records various types of data using

FAQs

Is Laravel Telescope safe to use in production?
Yes, but with precautions. You should secure access to Telescope's dashboard, typically by restricting it to specific IP addresses or authorized users, and ensure `TELESCOPE_ENABLED` is set to `false` in production or only enabled for specific debugging sessions, as it can impact performance and storage.
How can I reduce the storage footprint of Telescope entries?
Laravel Telescope stores its data in your application's database or cache. To reduce its footprint, you should regularly prune old entries using the `php artisan telescope:prune` command. It's recommended to schedule this command to run daily via your application's console kernel. You can also configure the retention period in `config/telescope.php`.

Want more content like this?

Explore more tutorials in the Packages section.

Explore Packages

You might also like