Skip to content

CLI commands

Everything Butler does is a butler subcommand. Run butler --help for the authoritative, always-current list, or butler <command> --help for a specific command’s flags. Running butler with no arguments is the same as butler status.

CommandWhat it does
butler statusShow service status (the default command).
butler doctorRun health checks and report anything that needs attention.
butler log <name>Tail a program’s log output.

Butler’s own machine-level lifecycle lives under butler system. (These are distinct from top-level butler install/butler uninstall, which manage downloadable components — see Components & services.)

CommandWhat it does
butler system installFirst-run bootstrap — registers background jobs, DNS, CA and the butler symlink.
butler system install --no-launchdWrite config but don’t install the background jobs (foreground/CI use).
butler system uninstallRemove Butler’s background jobs.
butler system uninstall --forceAlso wipe Butler’s state and downloads.
butler shutdownStop Butler’s background jobs (bring them back with butler system install).
CommandWhat it does
butler sitesList linked and parked sites.
butler link [path]Serve a folder as a .test site (defaults to the current dir).
butler unlink [name]Remove a linked site.
butler park [path]Auto-serve every subfolder of a directory.
butler forget [path]Stop auto-serving a parked directory.
butler init [path]Generate a starter butler.yml (reads valet.yml/.valetrc/herd.yml).

See Linking sites.

CommandWhat it does
butler secure [name]Issue a trusted certificate and switch the site to HTTPS.
butler unsecure [name]Revert a site to HTTP.
butler securedList sites served over HTTPS.
butler renewRenew certificates (--expiring 30d, --ca).
butler trustInstall Butler’s certificate authority into the keychain.

See HTTPS & trusted certs.

CommandWhat it does
butler use <version>Set the global default PHP version.
butler isolate <version> [--site <name>]Pin a PHP version to one site (defaults to the current directory’s site).
butler unisolate <name>Remove a site’s pinned version.
butler php [...]Run the active PHP for the current directory.
butler composer [...]Run Composer through the active PHP.

See PHP versions.

CommandWhat it does
butler install [component...]Download a component (PHP, MySQL, Redis, …); no args opens an interactive picker.
butler uninstall [component...]Remove installed components (the inverse of install); no args opens an interactive picker.
butler componentsList installed components.
butler component <verb>Install/list/remove/track/rebuild a component.
butler service <verb> <name>Add/start/stop/restart/status a service instance.
butler start [name]Start Butler’s services (bulk-confirms with no name).
butler stop [name]Stop services.
butler restart <name>Restart a service.

See Databases & services.

CommandWhat it does
butler share [name]Put a local site on a public URL (Cloudflare Tunnel or Expose).
butler unshare [name]Stop sharing.
butler expose [...]Pass commands straight through to the Expose client.

See Sharing sites publicly.

CommandWhat it does
butler tld <suffix>Change the site TLD (e.g. .test.dev).
butler migrate <herd|valet|dbngin>Import an existing setup (--sites, --services).

See The .test domain & DNS and Migrating from Valet or Herd.