documentation

CLI reference

Every command, as agent-local help prints it. Every site-facing command is also an MCP tool with the same name; the machine-level ones (sudo, alias, connect, update, the daemon) are run by hand.

Sites

agent-local                                         open the dashboard
create NAME [--domain d] [--php v] [--repo url]     create and install a WordPress site
attach DIR [--name n] [--domain d] [--php v]        serve a directory you already have, with an empty database
import SOURCE [--copy] [--sql FILE] [--serve-only] [--keep-ddev]
                                                    import a LocalWP site, DDEV project or docroot
localwp-sites                                       LocalWP sites available to import
ddev-projects                                       DDEV projects available to import
list                                                every site, its state and URL
start | stop | restart SLUG                         control one site
delete SLUG [--yes] [--keep-files] [--keep-db]      remove a site; a snapshot is saved first
open SLUG                                           open the site in your browser
domain SLUG NAME                                    change a site's domain; hosts entry and cert follow
move SLUG DIR                                       move a site's files to another directory
php SLUG VERSION [--tap]                            switch PHP version, installing it if needed
resolve [PATH]                                      which site owns a path (default: cwd)

Database

db SLUG                                             connection details
db SLUG "SQL"                                       run a statement
db SLUG import FILE.sql[.gz] [--keep-urls]          load a dump; URLs rewritten (WordPress), snapshot saved first
db SLUG export [FILE]                               dump to a file
db SLUG reset | tables | gui                        empty it, list tables, or open Adminer
db SLUG search NEEDLE                               where a string still lives: table, column, count
db SLUG search-replace OLD NEW [--apply]            replace across every table; a dry run unless --apply
db SLUG snapshot [NAME]                             save a restore point
db SLUG snapshots                                   list restore points
db SLUG restore [NAME]                              restore one (default: newest)

Develop

worktree SLUG BRANCH [--remove]                     serve a git branch on its own URL
worktrees SLUG                                      list branch previews
branches SLUG                                       branches of the site's repo
wp SLUG -- ARGS                                     run wp-cli against the site
wpdebug SLUG [on|off]                               WP_DEBUG, logged to ~/.agent-local/logs/wp-SLUG.log
wpconst SLUG [NAME VALUE | NAME --remove]           read, set or remove wp-config constants
logs NAME [LINES]                                   tail a log: mysql, apache, daemon, fpm-SLUG, wp-SLUG
mail SLUG [ID] [--open] [--clear]                   emails the site has sent
media SLUG [URL | --auto | --off]                   send missing uploads to a production origin
share SLUG [--minutes N] [--off]                    public URL through a Cloudflare tunnel
cert DOMAIN [--trust]                               TLS state for a domain; --trust issues and trusts it
probe SLUG [PATH] [--follow]                        request the site like a browser would; PHP errors and a verdict
errors SLUG [--since 1h]                            PHP errors from the pool and debug logs, deduplicated
wpinfo SLUG                                         the WordPress install in one JSON document
checkpoint SLUG [LABEL] [--scope all] [--list]      save a restore point: database + wp-content
rollback SLUG CHECKPOINT                            put the site back; what was there is kept aside
login SLUG [USER] [--open]                          one-time URL straight into wp-admin

Agents

connect [--list | --all | --remove] [HARNESS...]    register the MCP server in Claude Code, Codex, Cursor and friends
mcp                                                 the MCP server itself (stdio); clients launch this
mcp --config                                        the client config block, for a client connect doesn't know
api-token                                           bearer token for the HTTP API
jobs                                                recent long-running jobs
job ID                                              one job's progress

Machine

setup [--no-harnesses]                              one-time: root, certs, hosts, bare URLs, harnesses
doctor [--fix]                                      health checks; --fix applies every repair
install brew | php VERSION | mariadb | apache       install a dependency (wp-cli too)
front [router | apache]                             show or switch the HTTP front
yield [SECONDS]                                     free :80/:443 briefly so another app can start
alias [--off]                                       bare URLs: the 127.0.0.2 alias and its root front daemon
sudo                                                one-time allowlist so root steps never prompt again
autostart [--off]                                   start the daemon at login (on by default)
sites-dir [PATH]                                    where new sites are created
suffix [.test]                                      default domain suffix
daemon [--background]                               run the daemon by hand
restart-daemon                                      hand over to a freshly installed binary
update [--check]                                    install the latest release
version                                             what build this is