# Show failed jobs to an admin

> queue:failed-table stores the failure. An admin page may show the name and the time. It does not show the payload.

- URL: https://laravel-vuejs.space/laravel-failed-jobs-table-vue
- Author: Anass Ez-zouaine (https://laravel-vuejs.space/author/anass-ez-zouaine)
- Published: 2026-10-11
- Topics: Laravel, VueJs

People searching “Laravel failed jobs Vue” render the `exception` column in the page. That text can include request data. Store the failures, and show an admin the safe columns. The [queue guide](https://laravel-vuejs.space/laravel-vue-queued-job) is the happy path.

> **TL;DR**
>
> -   queue:failed-table stores the failure.
> -   An admin page may show the name and the time.
> -   It does not show the payload.
> -   Do not put `payload` or `exception` in an Inertia prop.
>
> **Who it's for:** Laravel + Vue developers
>
> **Applies to:** Laravel 13 · Vue 3

## The fix

```shell
php artisan queue:failed-table
php artisan migrate
```

`QUEUE_CONNECTION` has to be something that records failures. `sync` runs the job in the request and does not use this table.

An admin page can pass:

```php
'failed' => DB::table('failed_jobs')->orderByDesc('id')->limit(20)->get(['id', 'uuid', 'failed_at']),
```

Retry from a command you trust, not from a public button:

```shell
php artisan queue:retry all
```

## What to avoid

> **Gotcha**
>
> Do not put `payload` or `exception` in an Inertia prop. Do not let every signed-in user open this list. A failed mail job is not their business unless they administer the app.

## FAQ

**Q: How do I show failed jobs to an admin?**

queue:failed-table stores the failure. An admin page may show the name and the time. It does not show the payload.

**Q: What goes wrong with Laravel failed jobs Vue?**

Many developers render the `exception` column in the page. Do not put `payload` or `exception` in an Inertia prop.
