Version 4: everything your app does, in one place

Version 4

LaraBug started in 2016 as an exception tracker for Laravel. Version four is a different product with the same name: it watches the whole application, and an exception is one of the things it catches rather than the only one.

What it watches now

Every request, with its queries, cache calls, outgoing HTTP, mail and the jobs it queued, on one timeline. Every queued job, with its attempts and how long it took. Every scheduled task, including the one that quietly stopped firing. The lockfiles of every application, checked each night against the Packagist and OSV advisories, so a CVE in a package you did not know you had becomes an issue with the version that fixes it.

All of it arrives with the context that makes a report worth reading: the route, the user, the job, the payload. A slow page shows you the line that made it slow. An exception shows you the request it happened in.

What it raises on its own

Nothing has to be thrown for an issue to open. Twenty detections read the telemetry and open one when something drifts: a route whose p95 has gone past its threshold, a statement repeated through one request, a scan reading far more rows than it returns, a queue whose ready jobs wait too long, a scheduled task that should have run and never fired, an outgoing call that keeps failing, a cache prefix missing more than it hits, a deprecated call. Each issue carries the evidence it was opened on.

Issues, for a team

Exceptions, JavaScript errors, CVE findings and detections land in one list. An issue has an assignee, a priority and comments, can be snoozed, and reopens itself if it comes back after you marked it fixed. Alerts go to Slack, Discord, Microsoft Teams, email, a phone or a signed webhook, per team or per application, and stay quiet outside office hours if you ask them to.

An agent can read it too

LaraBug runs an MCP server with eleven tools. Claude, Cursor or any other client can list your applications and issues, read the latest occurrence with its stack trace, and, with a token that allows it, resolve, assign, snooze and comment. Every change an agent makes is on the issue's activity, with who did it and through which client. Autofix, in beta, goes one step further and opens the fix as a draft pull request.

The panel, rebuilt

The applications, the settings, the issue list and the exception page were rebuilt around the new data, and the whole panel works on a phone and a tablet. Two factor and passkeys are in, and so is a request for your data.

The LaraBug dashboard on a 16-inch MacBook: new and open issues, advisories, the telemetry and issues chart, and the recent issues list

Everything in this post is in the live demo: the panel on a read-only account, with an application that has all of it switched on.

The clients

The Laravel package registers itself with the exception handler and needs one value in .env, the DSN. There is no log channel to add and nothing to change in bootstrap/app.php. The browser, Vue, React and Inertia SDKs are each their own package, and the mobile apps bring triage to your pocket with a push the moment an issue is new.

Version 4 of the Laravel package is in beta, so name it: composer require "larabug/larabug:^4.0@beta" -W. A bare composer require larabug/larabug installs version 3, whose setup is not the one described here.

Pricing

Every plan has unlimited seats, CVE scanning and every notification channel. The tiers differ in how much you send and how long we keep it. The free plan stays free, and your data stays in the EU.

What comes next

This is where the page starts, not where it ends. Everything that ships from here is written up here, next to the roadmap items it closes, and the roadmap is public: vote on what has already been asked for, or add the thing you are missing. If you have been with LaraBug since the exception tracker days, thank you for waiting. If you are new, the free plan is the place to start, and the first error arrives a couple of minutes after composer require.

What changed

Every item this release closed: what kind of change it was, and the part of LaraBug it changed. A package line names the client and the version it shipped in.

Missing something, or spotted a mistake? Say so on the roadmap. It is where the next entries on this page are decided.

Open the roadmap (opens in a new tab)