Laravel Tinker
A powerful REPL console for interacting with a full Laravel application from the command line
Repository Health
Technical Analysis
Laravel Tinker is the official REPL (read-eval-print loop) for Laravel, built on top of PsySH, that boots a full Laravel application and drops the developer into an interactive PHP shell with access to Eloquent models, service container bindings, config, and helper functions exactly as they exist at runtime.
It ships as the php artisan tinker command and is included by default in every new Laravel application, making it the standard way to quickly query the database, test a snippet of business logic, or inspect application state without writing a throwaway script or route.
What You Get
- The
php artisan tinkercommand, wired in automatically viaTinkerServiceProvideron every Laravel app - A PsySH-backed REPL with tab completion, multi-line editing, and Laravel-aware value casters (
TinkerCaster) for pretty-printing Eloquent models and collections - A whitelist of safe Artisan commands (migrate, env, optimize, etc.) runnable directly from inside the shell
- A
ClassAliasAutoloaderthat lets classes be referenced by short alias names inside the REPL session - An
--executeflag for running a single expression non-interactively and returning raw output, useful for scripting
Common Use Cases
- Quickly querying or updating records via Eloquent models during local debugging without writing a route
- Exploring an unfamiliar Laravel codebase’s models, relationships, and config interactively
- Testing a snippet of business logic (e.g. a scope, an event dispatch) before committing it to a controller
- Running one-off data fixes or investigations in production/staging via
artisan tinker --execute
Under The Hood
Architecture — The package is deliberately small: TinkerServiceProvider registers the tinker Artisan command and merges the package’s config/tinker.php (which whitelists both safe Artisan commands and auto-aliased namespaces); Console/TinkerCommand does the real work, building a PsySH Configuration from the current input, registering TinkerCaster so the shell can render Eloquent models/collections nicely, and handing control to Psy\Shell::run() for the interactive loop. ClassAliasAutoloader implements PHP’s autoloading SPL interface to resolve short class aliases (e.g. App\Models\User as User) declared in config. Tech Stack — PHP 8.1+, built directly on psy/psysh (the underlying REPL engine) and symfony/var-dumper for value formatting, with illuminate/console/illuminate/contracts/illuminate/support as the Laravel-framework integration points; supports Laravel 8 through 13 via a broad version constraint. Code Quality — The codebase is four source files total, each single-responsibility (service provider, command, caster, autoloader), with a PHPUnit test suite (ClassAliasAutoloaderTest, TinkerCasterTest) and phpstan.neon.dist for static analysis, reflecting Laravel core’s typical maintenance bar for first-party packages. API Design — There is effectively zero setup: the command is auto-registered and auto-discovered by Laravel’s package-discovery mechanism, and the whitelisted-commands/auto-alias config is the only surface a developer needs to touch, which keeps the tool’s learning curve close to zero for anyone already using Artisan.
Used by 19 apps in this directory
Akaunting
Invoicing Finance
Open-source online accounting for small businesses and freelancers — invoices, expenses, and reporting without monthly fees or vendor lock-in.
Bagisto
Analytics · Ecommerce
Open-source Laravel eCommerce platform for building multi-vendor marketplaces, B2B stores, headless commerce, and AI-powered storefronts.
Cachet
Monitoring
The open-source, self-hosted status page system that keeps your users informed during outages and maintenance windows.
Coolify
Devops · Hosting Control Panel
Open-source self-hosted PaaS — deploy apps, databases and 280+ services on your own servers with no vendor lock-in
Crater
Invoicing Finance
Open source invoicing and billing platform for freelancers and small businesses — create estimates, track expenses, accept Stripe payments, and run recurring invoices from your own server.
Databasement
Databases · Devops · Developer Tools
Self-hosted database backup manager with a web UI for scheduling, encrypting, and restoring MySQL, PostgreSQL, MongoDB, SQL Server, SQLite, Firebird, and Redis to S3, SFTP, Samba, or local storage.
Financial Freedom
Invoicing Finance
Own your financial data with a self-hosted, privacy-first budgeting app that replaces Mint and YNAB.
Fleetbase
Logistics
Modular open-source logistics and supply chain operating system
FreeScout
Customer Support
Run your own help desk and shared inbox — a fully self-hosted, open-source alternative to Zendesk and Help Scout with no per-agent fees.