Reference
Configuration
Startup, saved tunnels, notifications, updates, and local targets.
View and change settings
pwrp config
pwrp config get auto-update
pwrp config set health-check off
Boolean values accept forms such as on/off, true/false, yes/no, and 1/0. Hyphens, underscores, and dots are accepted in key names.
Available settings
| Key | Default | Purpose |
|---|---|---|
auto-update | on | Allow a native daemon to install new CLI releases and reconnect active tunnels. |
auto-start | off | Reflect whether native startup is enabled through pwrp service. |
boot-all | off | Connect every enabled tunnel when the daemon starts. |
boot-tunnels | Empty | Comma-separated tunnel selectors to connect when the daemon starts. |
notify | on | Show native desktop notifications for important tunnel events. |
notify-webhook | Empty | Send important events to a webhook URL. |
health-check | on | Probe local TCP services so pwrp ps can report reachability. |
In Docker, self-update and desktop notifications are off by default. Update the image with Docker Compose and use container logs or a webhook for notifications.
Reconnect tunnels on startup
The easiest option is to save a selection while connecting:
# Save every enabled tunnel
pwrp connect --all --save --detach
# Or save a specific selection
pwrp connect "Minecraft" "Website" --save --detach
You can also manage the startup selection directly:
pwrp config set boot-all on
pwrp config set boot-tunnels "6fc2dc65,Minecraft Java"
On Windows, Linux, and macOS, run pwrp service enable after saving the selection. In Docker, use restart: unless-stopped and keep the Portwarp data directory on a named volume.
Persistent local targets
A target changes the destination hostname or private IP for one tunnel without changing the tunnel's local port. This is designed for Compose services but can also be used for another private device reachable from the CLI host.
pwrp target list
pwrp target set "Minecraft" minecraft
pwrp target set "Website" 192.168.1.25
pwrp target unset "Website"
Reconnect the tunnel after changing a target. Destination selection follows this order:
- A one-time
--local-hostvalue onpwrp connect. - The persistent value saved by
pwrp target set. - The local IP configured for the tunnel in the Portwarp dashboard.
- Automatic local discovery.
Explicit hostnames must resolve to a safe local or private address. An invalid explicit target causes a clear error and is never replaced silently with localhost.
Notifications
pwrp config set notify on
pwrp config set notify-webhook https://example.com/webhook
pwrp notify test
# Clear the webhook
pwrp config set notify-webhook ""
Use a webhook endpoint you trust. The test command confirms whether each enabled channel can receive an event.
Health checks
With health checks enabled, pwrp ps tests whether each local TCP service is reachable. This distinguishes a healthy Portwarp connection from a service that is stopped or listening on the wrong address.
pwrp config set health-check on
pwrp ps --once
Configuration location
Remote-control consent
Remote control starts disabled for every device. On the device that should receive actions, run pwrp remote enable, or open the desktop app and enable Settings > Remote Control > Allow this device to run remote commands. Disabling it later prevents new remote actions without stopping tunnels that are already running.
If pwrp remote status reports that remote control is not available for the account, the client keeps local tunnels running and does not poll for new remote commands.
CLI state is stored under ~/.portwarp for the current user. Use the CLI commands to change it instead of editing files by hand. In Docker, persist /home/pwrp/.portwarp with a named volume.