Skip to content

⌘K for your Filament panel

Your entire panel is one keystroke away.

A Spotlight-style command palette for your Filament panel. Search every resource, drill into records and run actions — without ever reaching for the mouse.

Dennis Koch Built by a Filament core team member — maintaining nine Filament plugins with 5M+ downloads.

  • Kopen
  • move
  • run
  • escback
Requires
PHP 8.0+
Supports
Filament 4 & 5
Hotkey
⌘K / Ctrl K
Translated
12 languages
Setup
drop-in

What you get

One shortcut that knows your whole panel.

Spotlight Pro is not a search box bolted onto Filament. It reads your panel — resources, pages, actions, permissions, translations — and turns all of it into a single keyboard surface.

01

Tiered search

Drill from resource, to record, to action. Each level narrows the search instead of flooding it.

02

Zero-config discovery

Resources, pages and built-in commands register themselves. Add the plugin to your panel and they are all there.

03

Actions in the palette

Run Filament actions — with forms, infolists and confirmations — without leaving the overlay.

04

Global search aware

Reuses the searchable attributes, eloquent scopes and result titles you already configured on your resources.

05

Permission aware

canAccess(), canViewAny() and your own canAccessSpotlight() decide what a user ever sees.

06

Feels native

Filament's light and dark mode, your custom theme, and every label translated into 12 languages.

How it works

Five things it does that a search box can't.

01

Search in layers, not one flat list

Flat search dumps a thousand rows at you. Spotlight Pro is tiered: pick what you're looking for, then search inside it. A breadcrumb shows where you are, and Esc walks back out one level at a time.

  • Resource → record → action, all from the keyboard
  • Context is a real object, so your own commands can hook into any level
  • PushContextAction opens a level; forContext() fills it
  • ->preload(false) keeps a command out of the list until it is searched for
php
SpotlightResult::make()
    ->label('Docs')
    ->closeOnSelect(false)
    ->action(PushContextAction::make('docs', 'Docs'));

SpotlightResult::make()
    ->label('Clear docs cache')
    ->forContext('/docs')
    ->action(ClearDocsCacheAction::make());

02

Nothing to register by hand

The built-in providers walk your panel and register everything they find — navigation labels, icons, groups and sort order included. You only write config for the things you want to exclude.

  • RegisterResources, RegisterPages and RegisterCommands cover the whole panel
  • Exclude with ->except() or a shouldRegisterSpotlight() on the class
  • Reach into other panels with fromPanels() / fromAllPanels()
  • Nested resources supported out of the box
php
SpotlightPlugin::make()->registerItems([
    RegisterPages::make(),
    RegisterResources::make()
        ->fromAllPanels(except: ['superadmin']),
    RegisterCommands::make(),
])

03

Do the work right there

Navigation is only half the job. Spotlight Pro renders real Filament actions inside the overlay — the same forms, infolists, validation, confirmation modals and notifications you already built.

  • View, edit and delete actions generated per record
  • Your resource's own actions picked up automatically
  • Drop in any Action, or run raw JavaScript via alpineClickHandler()
  • closeOnSelect(false) keeps the palette open while an action runs
php
public static function getSpotlightRecordActions(Model $record): array
{
    return [
        SpotlightResult::make('Impersonate')
            ->icon('heroicon-o-user')
            ->action(ImpersonateAction::make()),
    ];
}

04

Findable by whatever people call it

Nobody remembers the label you picked. Aliases let a resource answer to synonyms, internal jargon and other languages — and the first alias is shown next to the result so users know what they landed on.

  • getSpotlightAliases() on any resource or page
  • Search matches labels, aliases and — optionally — navigation groups
  • Results reuse getGlobalSearchResultTitle() and your searchable attributes
  • Regroup independently of navigation with getSpotlightGroup()
php
class ApplicationResource extends Resource
{
    public static function getSpotlightAliases(): array
    {
        return ['apps', 'software', 'programas'];
    }
}

05

Every panel. Every tenant.

Multi-panel and multi-tenant apps are where a command palette pays for itself. Jump from the admin panel into the customer panel, or switch tenant, in one search.

  • Search one panel, several, or all but a few
  • Tenant switcher registers itself when multi-tenancy is enabled
  • Built-in commands: logout, toggle theme, toggle sidebar
  • Gate the whole feature with canAccessSpotlight(Panel $panel) on your User model
php
SpotlightPlugin::make()->registerItems([
    RegisterResources::make()->fromPanels(['admin', 'shop']),
    RegisterCommands::make(),
])

Setup

Install it, register it, you're done.

01Install

Add the repository.

Authenticate with your license key, then install the package like any other.

sh
composer config \
  http-basic.filament-spotlight-pro.composer.pxlrbt.de \
  [EMAIL] [LICENSE_KEY]
composer require pxlrbt/filament-spotlight-pro
02Register

Enable the plugin.

Add it to your panel provider and register the items you want discovered.

php
$panel->plugins([
    SpotlightPlugin::make()
        ->registerItems([
            RegisterResources::make(),
        ]),
]);
03Style

Import the styles.

One import in your custom Filament theme and you're done. Hit ⌘K.

css
@import '../../../../vendor/pxlrbt/filament-spotlight-pro/resources/spotlight.css';

Reference

Everything else that ships in the box.

Custom hotkeys->hotkeys(['ctrl.j', 'cmd.j'])
12 translationscs da de en es fi fr it nl pl pt
Built-in commandslogout · theme · sidebar · tenant
Result groupsgetSpotlightGroup()
Group search->searchGroups()
Result limits->limit(5)
Custom commandsextends SpotlightResult
Custom queriesextends SpotlightQuery
Overridable viewspublish any blade partial
Open from anywheredispatch('spotlight-open')
Per-result iconsheroicons, or your own
Nested resourcesFilament v4 native

Who builds it

Made by someone who works on Filament itself.

Dennis Koch

Dennis Koch

Filament core team · pxlrbt

I've been contributing to Filament since the early v2 days and I'm part of the core team today. Next to that I maintain nine Filament plugins — Filament Excel, the free Spotlight plugin and Environment Indicator among them — together over five million downloads. I've been building for the web professionally for more than twelve years.

Spotlight Pro is not a side project I'll drop next quarter. It's built on the same panel internals I work on upstream, and it ships with the same support you get on my open source plugins.

Filament
Core team
Contributing since
v2 (2022)
Plugins maintained
9
Plugin downloads
5M+
Web development
12+ years

Pricing

Buy it once, no subscription.

Single project

€49one-time

  • Use in one project
  • All v1 updates included
  • Supports Filament v4 & v5
  • Every feature included
Buy single project

Lifetime

€299one-time

  • Use in unlimited projects
  • Every future version included
  • No paid upgrade at v2, v3, …
  • Every feature included
Buy lifetime

“Every future version” covers every release published while the plugin is maintained. Your license key is delivered by email right after purchase.

Actively maintained

30 releases since July 2024 — the latest is v1.2.3 from May 2026. Read the changelog →

Day-one version support

Filament v4 and v5 are both supported. v5 support shipped the same day Filament v5 was released, and v1 keeps getting fixes for both.

Support from the maintainer

Email or Discord, Thursday – Saturday, 12:00 – 20:00 Berlin time. Questions are usually answered in under an hour.

One license, every environment

Local, staging and CI are included — a project license covers the whole workflow, not just production.

No telemetry, no phone-home

The plugin makes no outbound requests: no tracking, no usage reporting and no runtime license check. It runs fine on an air-gapped server.

Proper invoices

Checkout runs through Lemon Squeezy, my merchant of record. You get a valid invoice, EU VAT reverse charge with a VAT ID included.