wp-cli
Script WordPress itself
wp is preinstalled plugins, users, options, search-replace, cron, all scriptable.
Every sandbox is a real server you can SSH into WP-CLI, file access, the works. Or skip the shell and mount its files straight into your editor.
$ sandywp ssh my-site$ sandywp ssh tide-pool
✓ connected wordpress 6.7 / php 8.3
tide-pool:~$ wp plugin list --status=active
my-plugin 2.4.1 active
tide-pool:~$ tail -f wp-content/debug.log
sandywp mount puts the live site’s filesystem at ~/SandyWP/<name>. Open it in your IDE, save a file, refresh the browser that’s the whole loop.
$ sandywp mount tide-pool
✓ mounted at ~/SandyWP/tide-pool
$ ls ~/SandyWP/tide-pool/wp-content
plugins themes uploads debug.log
$ sandywp unmount tide-pool
✓ unmounted, key cleaned up
wp-cli
wp is preinstalled plugins, users, options, search-replace, cron, all scriptable.
one-off commands
ssh --cmd runs a single command and exits. Perfect for scripts and agents.
logs
debug.log and friends, streaming live while you reproduce the problem.
files
Poke wp-config, drop must-use plugins, inspect uploads. Nothing is off-limits.
database
wp db query and exports from the shell no phpMyAdmin detour.
disposable
Worst case, reset the sandbox. The shell can’t hurt anything real.
Shell access is scoped per sandbox and per account. Keys are managed for you and revocable from the dashboard.
A key opens one sandbox, not your account. Each mount gets its own key.
The CLI generates and registers keys automatically; the dashboard lists and revokes them.
Each site runs in its own container network a shell in one sees nothing of its neighbors.
No. sandywp ssh handles keys automatically. You can also add your own keys in the dashboard for plain ssh/sftp clients.
Yes it’s standard SFTP. Grab the connection details from the dashboard, or just use sandywp mount.
rclone and FUSE (macFUSE on macOS). The CLI checks and tells you exactly what’s missing.
You get a real shell inside the sandbox’s container, scoped to that site. Resource limits follow your plan.