Monitor Laravel.
Fix what breaks.

Requests, queries, jobs and exceptions on one timeline, and the CVEs in your dependencies. When something breaks, LaraBug opens the fix as a pull request.

✔︎ 14-day free trial ✔︎ No credit card required

The LaraBug dashboard: new and open issues, advisories, the telemetry and issues chart, and the recent issues list

Works with the Laravel stack

  • PHP
  • Laravel
  • Livewire
  • Inertia
  • Vue
  • React
  • JavaScript

Issues

Status = Unfixed
Name Assignee Activity (24h) ↓
  • SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock

    Laravel WW whiskerworks.shop StockReserver.php • 2 minutes ago

    TP 88
  • Undefined array key "variant_id"

    Livewire WW whiskerworks.shop Cart.php • 14 minutes ago

    AR 18
  • Found 14 Composer Security Vulnerabilities

    Laravel DS driftwoodstays.com • 1 hour ago

    14
  • Cannot read properties of undefined (reading 'price')

    JavaScript WW whiskerworks.shop ProductCard.js • 1 hour ago

    JL 64
  • The process "node /var/www/admin/node_modules/.bin/browsershot" exceeded the timeout

    Laravel DS intilli.be PdfExporter.php • 3 hours ago

    4

Issue tracking

Every exception, grouped and owned

Exceptions, JavaScript errors and CVEs land in one list, grouped with the request, the user and the trace behind them, and handed to someone on your team to fix.

Explore issue tracking

POST /checkout 302 537ms

production • www.whiskerworks.shop • 1 in 5 sampled

Timeline Queries 9 Cache 2 Outgoing 1 Mail 1 Notifications 1
—134ms268ms402ms537ms
  • Bootstrap

    13ms
  • Before middleware

    3ms
  • Action 14

    514ms 96%
  • select * from `sessions` where `id` = ? limit 1 mysql

    <1ms
  • select * from `carts` where `session_id` = ? mysql

    <1ms
  • update `inventory` set `stock` = `stock` - ? mysql

    5ms
  • payment:methods hit

    <1ms
  • POST api.mollie.com/v2/payments 201

    238ms
  • insert into `orders` (`number`, `user_id`, …) mysql

    4ms
  • App\Mail\OrderConfirmation mail

    9ms
  • App\Notifications\NewOrderPlaced slack

    1ms

Performance monitoring

Every request, on one clock

Queries, cache, outgoing calls, mail and the jobs a request queued, laid out on one timeline, so a slow page shows you the line that made it slow.

Explore performance monitoring

Get to know your Laravel application

Built for Laravel, the SDK records the parts of the framework you lean on, from requests and queries to jobs, schedules and mail, and opens an issue the moment one of them misbehaves, without anything being thrown.

Alerts

The right alert, in the right channel

Slack, Discord, Microsoft Teams, email, a phone or a signed webhook, added once for the team and pointed at every application or just one. Each channel hears only what it should, and office hours, maintenance windows and spike protection keep a bad deploy from paging everyone.

The LaraBug panel's notification channels: your own address, then the team's Slack room, Discord channel, Microsoft Teams room, on-call address and webhook, each with the applications it serves
Security

Every CVE in your lockfiles, with its fix

Your composer.lock and npm lockfile, checked every night against the Packagist and OSV advisories. One issue per application lists each vulnerable package, how severe it is and the version that fixes it, and the bump opens as a draft pull request.

A CVE issue in the LaraBug panel: the vulnerable packages as chips, and the advisory for laravel/framework, installed at 12.31.1 and fixed in 12.68.0
Testimonials

Loved by Laravel teams

From a side project on the free plan to agencies running dozens of applications, since 2016.

“I have been using LaraBug since the beginning. It is a great service to get exceptions directly via email, Slack and Discord. I have fixed a lot of problems thanks to these instant notifications.”
Tim Kwakman Founder of CraftingStore
“Easiest service to implement and use. Knowing that there are no exceptions helps me focus on developing the platform. The additional data really helps solving issues quickly.”
Zander vd Meer Developer at Meer Development
“LaraBug gets out of the way. Install, point your logging channel at it, and you immediately see exceptions with full context. It's the first thing I add to every Laravel project.”
Dennis Smink Owner of ploi.io
“We look after a lot of client sites, on Laravel and on our own framework, and LaraBug watches every one of them from a single list. When something breaks we usually know before the client does, and often it is fixed before they call.”
Jona Tallieu Owner of Tallieu & Tallieu
“Adding it to a new project takes a few minutes. From then on the errors come to us, grouped and pointing at the line that threw them, instead of us hearing about them from a client.”
Pepijn Vdk Developer
“The stack trace, the request and the queries that ran before it, all on one page. Most issues tell me what went wrong before I have even opened the code.”
Korneel Eeckhout Developer
AI and MCP

Ask your agent what broke

LaraBug runs an MCP server with eleven tools. Claude, Cursor or any other client reads your issues, stack traces and CVEs, and with write access it resolves, assigns and comments for you. Each client gets its own token, and every change shows on the issue with who made it and through which client.

Connect your client

myawesomeai · ~/sites/intilli.be

* Welcome to MyAwesomeAI!

/help for help, /mcp for your servers

cwd: ~/sites/intilli.be

mcp: larabug connected · 11 tools

> Checkout has been failing since this morning. What happened?

larabug - list_issues (MCP)(status: "open")

3 open issues, newest first

larabug - get_latest_occurrence (MCP)(issue_id: "4821")

SQLSTATE[40001]: Deadlock found when trying to get lock app/Services/StockReserver.php:142 · POST /checkout

A deadlock in StockReserver::reserve() since the 09:12 deploy: two checkouts lock the same stock rows in a different order.

> Fix it and open a PR.

Update(app/Services/StockReserver.php)

+ sort($ids);   Stock::whereIn('id', $ids)->lockForUpdate()->get();

Bash(gh pr create --fill)

#318 Fix the checkout deadlock in StockReserver

larabug - add_issue_comment (MCP)(issue_id: "4821", body: "Fix in #318")

Comment added

larabug - update_issue_status (MCP)(issue_id: "4821", status: "fixed")

Marked fixed

Sorted the ids before the lock and opened #318. The issue links to it and is marked fixed; if the deadlock comes back, LaraBug reopens it.

>
Install

Fast installation,
for every stack.

An SDK for Laravel and PHP, and one for the browser, Vue, React and Inertia. Paste the DSN into .env, run larabug:test, and the error is in the panel the moment it arrives, in two minutes. Requests, queries, jobs and logs come with it, with no agent to run next to your app.

Read the installation guide

zsh · ~/sites/intilli.be

~/sites/intilli.be $ composer require "larabug/larabug:^4.0@beta" -W

./composer.json has been updated

- Installing larabug/larabug (4.0.0-beta.19): Extracting archive

INFO Discovering packages.

larabug/larabug ...................... DONE

~/sites/intilli.be $ echo 'LB_DSN=https://lb_ingest_7f3c2a:lb_proj_91d0e4@larabug.com/api/log' >> .env

~/sites/intilli.be $ php artisan larabug:test

✓ [LaraBug] Found login key

✓ [LaraBug] Found project key

✓ [LaraBug] Correct environment found (production)

✓ [LaraBug] Sent exception to LaraBug!

This is a test exception from the LaraBug console

New

Laravel TestCommand.php just now

~/sites/intilli.be $

Catch the next bug before your users do

Two minutes to install, a free plan that stays free, and your data kept in the EU. Teams have trusted LaraBug with their Laravel errors since 2016.