Command Runner plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Command Runner

Community

Run artisan and shell commands in the background from your Filament admin panel.

Tags: Developer Tool
Supported versions:
4.x
Srinath Reddy Dudi avatar Author: Srinath Reddy Dudi

Package health

Beta

Automated checks of this plugin's Composer package

82 / 100
Security 68
Maintenance 100
Ecosystem 100
13 checks
  • Passed: Current Laravel version supported — Package dependencies resolve together with current Laravel 13.0.
  • Passed: Current PHP version supported — Constraint ^8.2 supports current PHP 8.5.
  • Skipped: Current Symfony version supported
  • Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
  • Passed: Commit and release recency — Active: last commit 22 days ago; last release 175 days ago.
  • Passed: composer.lock not committed by library composer.lock is absent from the released dist archive.
  • Passed: Dist archive is lean
  • Failed: GitHub Actions pinned to SHA View details on Plumb
  • Passed: Open security advisories
  • Passed: Dependabot PR responsiveness — No open Dependabot PRs.
  • Passed: Dependabot or Renovate configured
  • Failed: Dependency update cooldown configured No cooldown configured in .github/dependabot.yml. View details on Plumb
  • Passed: Provides a security policy
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the filament/ namespace. Review the source and install at your own risk. Found malware or an unresolved security issue the author won't address? Report it .
Powered by Plumb Last scanned 6 hours ago

Documentation

Run artisan and shell commands in the background from your Filament admin panel.

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

#Overview

filament-command-runner is a Filament plugin that allows users to run artisan and shell commands directly from the Filament admin panel. All commands are executed in the background so users don't have to wait for them to finish. They can return later to view the output or optionally terminate a running command midway.

The plugin also keeps a detailed history of past runs including:

  • Command executed
  • User who initiated the run
  • Start time
  • Duration
  • Exit code
  • Command output

#Screenshots

Command Index Command Run Command Running Kill Command Command Output

#1. Installation

#1.1 Install Package

You can install the plugin via composer:

composer require binarybuilds/filament-command-runner

#1.2 Publish Migrations

You should publish the migration for the package and adjust it to fit your project's structure:

php artisan vendor:publish --tag=command-runner-migrations

Before running the migrations, if you are using UUID or ULID, consider adjusting the ran_by field to store string instead of unsignedBigInteger. Feel free to adjust $table->id() field if needed. Once appropriate, run the migrations command:

php artisan migrate

#Usage

Register the plugin in your Filament panel service provider:

use BinaryBuilds\CommandRunner\CommandRunnerPlugin;

$panel->plugin(CommandRunnerPlugin::make());

#Customizations

#1. Authorization

You can restrict access to this plugin using the authorize method. This accepts a boolean or a closure that returns a boolean.

CommandRunnerPlugin::make()->authorize(fn () => auth()->user()->can('view-command-runner'))

#2. Navigation Group

You can change the navigation group using the navigationGroup method. This accepts a string, UnitEnum.

CommandRunnerPlugin::make()->navigationGroup('System')

#3. Navigation Label

You can customize the navigation label using the navigationLabel method.

CommandRunnerPlugin::make()->navigationLabel('Command Runner')

#4. Navigation Icon

You can change the navigation icon using the navigationIcon method. This accepts a Heroicon string or a Heroicon enum value.

CommandRunnerPlugin::make()->navigationIcon('heroicon-o-exclamation-triangle')

#5. Navigation Sort Order

You can change the navigation sort order using the navigationSort method.

CommandRunnerPlugin::make()->navigationSort(10)

#6. Command Validation

You can define custom validation logic using the validateCommand() method. This is useful for restricting which commands can be run:

use Illuminate\Support\Str;

$panel->plugin(
    CommandRunnerPlugin::make()->validateCommand(function (string $attribute, string $value, \Closure $fail) {
        if (!Str::startsWith($value, 'php artisan')) {
            $fail("You can only run artisan commands");
        }
    })
);

#7. Delete Command History

Control who can delete command history entries using a boolean or closure with canDeleteCommandHistory():

$panel->plugin(
    CommandRunnerPlugin::make()->canDeleteCommandHistory(fn ($user) => $user->isAdmin())
);

#8. Purge Old Command History

Schedule the following artisan command to purge command history entries daily:

php artisan command-runner:purge-history

By default, it removes command runs older than 30 days. You can specify a custom duration like this:

php artisan command-runner:purge-history 7

This example will purge command runs older than 7 days.

#Testing

composer test

#Changelog

Please see CHANGELOG for more information on what has changed recently.

#Contributing

Please see CONTRIBUTING for details.

#Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

#Credits

#License

The MIT License (MIT). Please see License File for more information.

The author

Srinath Reddy Dudi avatar Author: Srinath Reddy Dudi

Hi, I’m Srinath — a software engineer and product builder passionate about creating tools that make developers’ lives easier. I’ve been working with Laravel for years, building open-source packages and performance-focused tools to help teams ship better software faster. Through my work at BinaryBuilds, I focus on crafting reliable, developer-friendly solutions that simplify complex workflows and boost productivity.

Plugins
3
Stars
26

From the same author