PHPackages                             binarybuilds/filament-command-runner - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. binarybuilds/filament-command-runner

ActiveLibrary[CLI &amp; Console](/categories/cli)

binarybuilds/filament-command-runner
====================================

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.

v1.2.0(3mo ago)54.9k↑68.8%5[1 issues](https://github.com/binarybuilds/filament-command-runner/issues)MITPHPPHP ^8.2CI passing

Since Oct 11Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/binarybuilds/filament-command-runner)[ Packagist](https://packagist.org/packages/binarybuilds/filament-command-runner)[ Docs](https://github.com/binarybuilds/filament-command-runner)[ GitHub Sponsors](https://github.com/srinathreddydudi)[ RSS](/packages/binarybuilds-filament-command-runner/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (6)Versions (6)Used By (0)

filament-command-runner
=======================

[](#filament-command-runner)

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

[![Latest Version on Packagist](https://camo.githubusercontent.com/33d7e719571940199e04f9ebf24b39ff86e7d419590636829890afbd2a666425/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f62696e6172796275696c64732f66696c616d656e742d636f6d6d616e642d72756e6e65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/binarybuilds/filament-command-runner)[![GitHub Tests Action Status](https://camo.githubusercontent.com/1f8b95c10751469d2d1f758edbd7b925ab4b003a3ef6bb52e86d0d50a466040f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f62696e6172796275696c64732f66696c616d656e742d636f6d6d616e642d72756e6e65722f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/binarybuilds/filament-command-runner/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/352eb98d22056279eb5900a293237b9cc951ec7ad490e7c3781abe7a1f033aad/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f62696e6172796275696c64732f66696c616d656e742d636f6d6d616e642d72756e6e65722f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/binarybuilds/filament-command-runner/actions?query=workflow%3A%22Fix+PHP+code+styling%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/ebdbd258f37381d9d59ef0e11d37a6ce29dbcc8adc42c02eb0fbd8c529af01fe/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f62696e6172796275696c64732f66696c616d656e742d636f6d6d616e642d72756e6e65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/binarybuilds/filament-command-runner)

Overview
--------

[](#overview)

`filament-command-runner` is a [Filament](https://filamentphp.com) 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
-----------

[](#screenshots)

[![Command Index](resources/screenshots/command-runner-index.png)](resources/screenshots/command-runner-index.png)[![Command Run](resources/screenshots/command-runner-run-command.png)](resources/screenshots/command-runner-run-command.png)[![Command Running](resources/screenshots/command-runner-running.png)](resources/screenshots/command-runner-running.png)[![Kill Command](resources/screenshots/command-runner-kill-command.png)](resources/screenshots/command-runner-kill-command.png)[![Command Output](resources/screenshots/command-runner-command-output.png)](resources/screenshots/command-runner-command-output.png)

1. Installation
---------------

[](#1-installation)

#### 1.1 Install Package

[](#11-install-package)

You can install the plugin via composer:

```
composer require binarybuilds/filament-command-runner
```

#### 1.2 Publish Migrations

[](#12-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
-----

[](#usage)

Register the plugin in your Filament panel service provider:

```
use BinaryBuilds\CommandRunner\CommandRunnerPlugin;

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

Customizations
--------------

[](#customizations)

### 1. Authorization

[](#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

[](#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

[](#3-navigation-label)

You can customize the navigation label using the `navigationLabel` method.

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

### 4. Navigation Icon

[](#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

[](#5-navigation-sort-order)

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

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

### 6. Command Validation

[](#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

[](#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

[](#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
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Srinath Reddy Dudi](https://github.com/srinathreddydudi)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance81

Actively maintained with recent releases

Popularity31

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 63.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~34 days

Total

4

Last Release

118d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/faf684c4b3aeecf11110dd558e77c2207fa9e5753d3d0815165097240615f423?d=identicon)[srinathdudi](/maintainers/srinathdudi)

---

Top Contributors

[![srinathreddydudi](https://avatars.githubusercontent.com/u/10626045?v=4)](https://github.com/srinathreddydudi "srinathreddydudi (21 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (7 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (3 commits)")[![aniket-magadum-fyntune](https://avatars.githubusercontent.com/u/75976415?v=4)](https://github.com/aniket-magadum-fyntune "aniket-magadum-fyntune (1 commits)")[![Yismen](https://avatars.githubusercontent.com/u/4872942?v=4)](https://github.com/Yismen "Yismen (1 commits)")

---

Tags

laravelartisanfilamentbinarybuildscommand runner

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/binarybuilds-filament-command-runner/health.svg)

```
[![Health](https://phpackages.com/badges/binarybuilds-filament-command-runner/health.svg)](https://phpackages.com/packages/binarybuilds-filament-command-runner)
```

###  Alternatives

[phpsa/filament-authentication

User &amp; Role (via Spatie Roles/Permissions) Manager Resource For Filament Admin

12663.6k](/packages/phpsa-filament-authentication)[tomatophp/filament-artisan

Simple but yet powerful library for running some artisan commands for FilamentPHP

3269.1k1](/packages/tomatophp-filament-artisan)[guava/filament-modal-relation-managers

Allows you to embed relation managers inside filament modals.

7565.0k4](/packages/guava-filament-modal-relation-managers)[phpsa/filament-dadjokes

With DadJokes every time you load your control panel you'll be greeted by an epic dad joke on the dashboard.

1714.1k](/packages/phpsa-filament-dadjokes)[tapp/filament-webhook-client

Add a Filament resource and a policy for Spatie Webhook client

1120.2k](/packages/tapp-filament-webhook-client)[a2insights/filament-saas

Filament Saas for A2Insights

161.1k](/packages/a2insights-filament-saas)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
