reads work with the app closed
Your assistant can list connections, browse saved snippets, search run history, and read Laravel logs straight from the local store.
$ php artisan tinker --execute
Run Tinker snippets and Artisan commands against a local Laravel app, a Docker container, or a server over SSH — with output you can actually read, duplicate and N+1 queries flagged after every run, and a hard stop before anything touches production.
A free alternative to Tinkerwell, Laravel only. See the honest comparison
latest release v0.1.11 · no account required
View release notes// clean output
LaraBench parses what your snippet dumps and renders it as structured cards. Models become attribute cards, collections become tables, nested data becomes expandable trees, executed SQL queries show up with bindings and timing, and exceptions get a proper stack trace. The raw output is always one toggle away.
// query analysis
Seeing every query your snippet fired is only useful if you can tell which ones matter. After each run, LaraBench groups them and flags what it found right in the Queries panel — duplicates, repeated query shapes that look like an N+1, and the queries eating your run time. The full breakdown is one click away.
duplicate queries
The same query, with the same bindings, run more than once. Grouped with a repeat count so you can see what to cache or eager load.
possible N+1
One query shape repeating with different arguments — the classic loop-over-a-relation pattern. Named by table, so you know where to look.
slow queries
Queries that took a meaningful share of the run, ranked by how much of the total time they account for.
// mcp server
LaraBench ships an MCP server. Point Claude Code, Claude Desktop, Codex, or Cursor at it and your assistant can read your saved snippets, run history, and Laravel logs — and, with Premium, run a snippet or an Artisan command against a connection you have explicitly opened up. The per-connection defaults are the point: your assistant gets the context, not a blank cheque.
Read the MCP setup docsreads work with the app closed
Your assistant can list connections, browse saved snippets, search run history, and read Laravel logs straight from the local store.
runs stay behind your approval
Production connections are hidden from AI by default, dry-run connections suppress writes, and a production write needs an in-app confirmation from you.
everything is on the record
Runs triggered over MCP land in History with an AI badge, so you can see exactly what your assistant did.
// connections
Use a local project connection when the app runs directly on your machine, a Docker connection when it should stay inside the container, or SSH when the code lives on a remote server.
Point LaraBench at a Laravel app on your machine and run code with your local PHP setup. Great for plain local apps, Herd, Valet, and other setups your host can boot directly.
Point LaraBench at your dev container — a Laradock workspace, for example — and it runs code inside it with docker exec. Nothing to install in the container.
Add a host, user, and app path. LaraBench connects over SSH and reuses the connection, so repeat runs are fast.
// screenshots
The environment label is always visible in the runner, and production runs need an explicit confirmation. Commands that look like they modify data get a stronger warning.
[!] production · api.larabench.com · confirm to continue
environment badge
The runner always shows whether the selected connection is local, staging, or production.
production confirmation
Runs against production open a confirmation dialog first, with the host and the exact command.
write detection
If a snippet or command looks like it modifies data, the warning gets stronger.
your call
You can disable the confirmation for repeat runs and re-enable it in Settings.
The editor runs Intelephense with generated Laravel stubs, so facades, Eloquent models, and helpers autocomplete as you type. You can also point a connection at a local copy of your project to get suggestions for your own models. A format button cleans up the snippet.
Snippets and Artisan commands you save can be loaded from a picker inside the runner. Every run also lands in history, so the query you wrote last week is a search away. Everything is stored locally on your machine.
// inside the app
Set up a connection, keep a few snippets open in tabs, run code, benchmark alternative approaches, and check the output. Saved snippets, run history, a log viewer, batch runs, an MCP server for your AI tools, and a jobs feed for Laravel covers the rest. No project setup, no config files.
Free, on macOS, Windows & Linux
The desktop app is free. Premium adds cloud sync across devices — the day-to-day Laravel workflow stays free.
Connections
Add, test, and edit local projects, SSH servers, and Docker containers, each with an app path and environment label.
Run Code
Tinker and Artisan modes, a Monaco editor, tabs for keeping multiple runs open, and clean structured output with the raw text a toggle away.
Saved
Reusable snippets and Artisan commands, stored locally and loadable straight into the runner.
Benchmark
Repeat a snippet with warmups, compare two variants side by side, switch between hot and cold sessions, and inspect outliers before trimming them from the summary.
Batch Runs
Give a snippet or command named value lists like id: 1,2,3, run the rows one after another behind a single production confirmation, retry what didn't finish, and export the table as CSV, Markdown, or JSON. A Premium extra.
History
Every run, recorded locally. Filter by project, reopen a run, or save it for reuse.
Logs
A Laravel log viewer for the selected connection, with level filters and search.
MCP Server
A token-protected server that lets Claude Code, Claude Desktop, Codex, or Cursor reach your projects through LaraBench. You choose how much of each connection they may touch.
Jobs
Browse the jobs feed for Laravel from the website without leaving the app. Filter by stack, source, seniority, arrangement, or country, then open the original listing.
News
Editorial Laravel coverage and package releases in one feed, with release notes and registry links, without leaving the app.
Appearance
Separate app and editor themes, stored locally. Custom themes are a Premium extra.
$ ./LaraBench
Nothing to install in your project, no account, no license key. Download it, point it at a Laravel app, and run some code.
Download LaraBench — freemacOS, Windows, and Linux · coming from Tinkerwell? Read the comparison first