Connect to your WordPress sites with one click via secure SSH tunnels
Faaaster Remote Development extension brings seamless remote development to your WordPress sites hosted on Faaaster. Connect instantly, edit files directly, and develop with the full power of VS Code, WP CLI and Composer.
Features
🚀 One-Click Connection
Browse all your WordPress sites in the sidebar
Click to connect - that's it!
🔐 Secure by Default
Web authentication
Credentials stored in system keychain (macOS Keychain, Windows Credential Manager)
Encrypted tunnels via Cloudflare Access
Service tokens never persisted
Quick Start
Install the extension
Search "Faaaster Remote" in Extensions
Click Install
Login
Click the Faaaster icon in Activity Bar
Click "Login to Faaaster"
Authenticate in your browser
Connect
Select your site from the list
Click the Connect icon
VS Code opens in a new window
On macOS/Linux the connection is passwordless automatically (see Passwordless connection). On Windows, paste the password that has been copied to your clipboard when prompted.
Requirements
VS Code 1.80.0 or higher (or Cursor)
VS Code Remote - SSH extension
Active Faaaster account
Internet connection
Usage
Connecting to a Site
Open the Faaaster sidebar
Find your site in the list
If dev mode is enabled (green icon), click "Connect"
If dev mode is disabled (gray icon), click "Enable Dev Mode" first
Managing Dev Mode
Enable Dev Mode:
Click the play icon (▶) next to a site with dev mode disabled
Wait ~2 minutes for tunnel creation
Site icon turns green when ready
Disable Dev Mode:
Click the stop icon (⏹) next to a site with dev mode enabled
Saves resources when not developing
Logging Out
Click the logout icon (🚪) in the Faaaster panel title bar
Or use Command Palette: Faaaster: Logout
Disconnecting
Use Command Palette (Cmd+Shift+P) → "Faaaster: Disconnect"
Or simply close the remote VS Code window
Commands
Access via Command Palette (Cmd+Shift+P):
Faaaster: Login - Authenticate with Faaaster
Faaaster: Logout - Clear credentials
Faaaster: Refresh Sites - Reload sites list
Faaaster: Connect - Connect to selected site
Faaaster: Enable Dev Mode - Enable dev mode for site
Faaaster: Disable Dev Mode - Disable dev mode for site
Faaaster: Disconnect - Stop active tunnel
Passwordless connection
On macOS and Linux, Faaaster makes connections passwordless automatically:
On the first connection to a site, the extension generates a dedicated SSH key (stored in the extension's global storage, never in your ~/.ssh) and installs its public key into the container's /app/.ssh/authorized_keys.
The key is referenced via IdentityFile in your ~/.ssh/config, so every subsequent connection — to any of your sites — needs no password.
The SSH password is still copied to your clipboard as a fallback, in case the key is not yet in place (e.g. right after a pod is recreated).
You can disable this and always use the clipboard password flow with the setting faaaster.connection.autoProvisionSshKey: false.
On Windows, the connection currently uses the clipboard password flow: the SSH password is copied to your clipboard automatically — paste it when Remote - SSH prompts.
Troubleshooting
Extension not showing sites
Ensure you're logged in
Click refresh icon
Check internet connection
Connection fails
Verify dev mode is enabled (green icon)
Wait a moment if tunnel is waking up
Check VS Code Remote - SSH is installed
Authentication expired
Run "Faaaster: Login" command
Re-authenticate in browser
Tunnel timeout
Tunnel may be sleeping
Try connecting again (auto-wake)
Or manually enable dev mode
Disconnects / network changes
By default, Faaaster runs cloudflared as the Remote - SSH ProxyCommand over native stdio (no local TCP listener). The bridge is owned by the remote window's SSH process, so closing the original VS Code window does not stop the remote session.
SSH keepalive is tuned to ride out brief network blips, Wi‑Fi/cellular switches and sleep/wake (ServerAliveInterval 15 × ServerAliveCountMax, default 4 ≈ 60s grace). If a link is genuinely lost, Remote - SSH respawns the bridge and reconnects. You can raise the grace with faaaster.connection.serverAliveCountMax.
You can switch back to the previous local listener behavior with faaaster.connection.mode: localTunnel.
For deeper troubleshooting, enable faaaster.connection.cloudflaredDebug.