Browse documentation

Reference

Commands

Usage, aliases, flags, and examples. Your installed reference is available with pwrp help <command>.

Command overview

CommandAliasesPurpose
pwrpdashboard, ui, home, cliOpen the command-driven dashboard.
loginNoneAuthenticate using browser approval.
logoutNoneStop local tunnels and remove the saved login.
statuswhoamiShow the current account and CLI version.
tunnelsls, listList configured tunnels.
connectrun, startConnect one or more tunnels.
attachNoneStream live logs from a running tunnel.
pssessions, runningShow running sessions and health.
logsNonePrint or follow session logs.
stopNoneStop selected sessions.
restartNoneReconnect selected sessions.
statsusageShow bandwidth, node, and plan usage.
targetNoneMap tunnels to persistent local destinations.
configcfgRead and change preferences.
notifyNoneShow and test notifications.
doctorNoneDiagnose common problems.
serviceNoneManage native startup.
daemonNoneManage the background daemon.
remoteNoneManage local consent for remote actions.
completionNoneGenerate shell completion.
updateNoneInstall the latest native release.
version-v, --versionPrint the installed version.

Selectors

Commands that act on a tunnel or running session accept human-friendly selectors:

SelectorExampleUse
Row number2The number shown by pwrp tunnels.
ID or ID prefix6fc2dc65A unique tunnel or session identifier.
Exact name"Minecraft Java"Quote names containing spaces.

dashboard

Running pwrp without arguments opens a command-driven dashboard. Type commands such as connect, ps, logs, and stop directly at its prompt.

Usage
pwrp
pwrp dashboard
pwrp ui
pwrp home
pwrp cli

Use r or refresh to redraw, help or ? for help, and q or quit to leave without stopping background tunnels.

login

Authenticate through browser approval. The browser flow is recommended because no password is typed or stored by the CLI.

Usage
pwrp login
pwrp login --legacy

--legacy uses email and password and should only be used when browser approval is unavailable.

logout

Stops tunnels running on this installation, shuts down its daemon, and removes the saved login.

Usage
pwrp logout

status

Shows whether you are signed in, along with the account, plan, and CLI version.

Usage
pwrp status
pwrp whoami

tunnels

Lists configured tunnels with their selectors, protocols, local and public ports, nodes, and status.

Usage
pwrp tunnels
pwrp ls
pwrp list

connect

Starts tunnel forwarding in the background daemon. With no selectors, it opens an interactive list. By default, the command attaches to live logs after connecting.

Usage and examples
pwrp connect
pwrp connect --all
pwrp connect <id-or-name>
pwrp connect 1 3 "Minecraft Java"
pwrp connect "Minecraft Java" --detach
pwrp connect --all --save --detach
pwrp connect --local-host minecraft "Minecraft Java"
FlagShortMeaning
--all-aConnect every enabled tunnel.
--detach-dReturn immediately without attaching to logs.
--save-sRemember the selection for daemon startup.
--local-host <host>NoneUse a local hostname or private IP for this connection.

Press Ctrl+C or type d while attached to leave the logs without stopping the tunnel. Type stop to end it.

attach

Attaches to a running session and streams new log messages. The selector may be omitted when exactly one session is running.

Usage
pwrp attach <id-or-name>
pwrp attach

ps

Shows running sessions, connection state, local service health, traffic, and uptime. It refreshes automatically in a terminal.

Usage
pwrp ps
pwrp ps 5
pwrp ps --once
pwrp sessions
pwrp running

--watch or -w sets the refresh interval. --once, -1, or --no-watch prints one snapshot, which is useful in scripts.

logs

Prints recent log lines or follows a session. The selector may be omitted when only one session is running.

Usage
pwrp logs <id-or-name>
pwrp logs <id-or-name> --tail 50
pwrp logs <id-or-name> --follow
pwrp logs <id-or-name> -f

stop

Stops one or more running sessions. Detaching from logs does not stop a tunnel; use this command when you want the connection to end.

Usage
pwrp stop <id-or-name>
pwrp stop "Minecraft" "Website"
pwrp stop --all

restart

Stops and reconnects selected running sessions in one step.

Usage
pwrp restart <id-or-name>
pwrp restart --all

stats

Shows live bandwidth, selected node, tunnel allowance, and plan usage. It refreshes automatically in a terminal.

Usage
pwrp stats
pwrp stats 10
pwrp stats --once
pwrp usage

--watch or -w sets the refresh interval. --once, -1, or --no-watch prints one snapshot.

target

Stores a hostname or private IP for a tunnel. This is most useful in Docker Compose, where tunnels need to reach different service names.

Usage and examples
pwrp target
pwrp target list
pwrp target set <tunnel> <hostname-or-private-ip>
pwrp target unset <tunnel>

pwrp target set "Minecraft" minecraft
pwrp target set 2 web-api
pwrp target unset 2

Reconnect a running tunnel after changing its target. A one-time --local-host value takes priority over a saved target.

config

Lists, reads, or changes persistent CLI preferences. See Configuration for every key.

Usage
pwrp config
pwrp config list
pwrp config get <key>
pwrp config set <key> <value>
pwrp cfg

notify

Shows notification settings or sends a test event through enabled notification channels.

Usage
pwrp notify
pwrp notify test
pwrp config set notify on
pwrp config set notify-webhook https://example.com/webhook

doctor

Runs read-only checks for configuration access, authentication, Portwarp connectivity, version compatibility, daemon status, and local-service reachability.

Usage
pwrp doctor

service

Manages startup for native installations: a user Task Scheduler entry on Windows, a systemd user service on Linux, or a launch agent on macOS.

Usage
pwrp service
pwrp service enable
pwrp service status
pwrp service disable

install and on are aliases for enable; uninstall and off are aliases for disable. In Docker, use the Compose restart policy instead.

daemon

The daemon owns background tunnel sessions. Normal connect usage starts it automatically.

Usage
pwrp daemon
pwrp daemon run
pwrp daemon start
pwrp daemon status
pwrp daemon restart
pwrp daemon stop
pwrp daemon health

health exits successfully only when the CLI can communicate with the daemon, making it suitable for container health checks.

remote

Controls this device's local consent for remote management. Existing devices start disabled. Consent can be enabled locally with this command or in the desktop app under Settings > Remote Control; the dashboard and API may disable it, but cannot enable it remotely.

Usage
pwrp remote status
pwrp remote enable
pwrp remote disable

Supported actions are start, stop, restart, stop-all and restart-agent. Only one device can run a tunnel at a time. If the installed client is too old for a requested action, update it and try again.

completion

Generates command completion for supported shells.

Usage
# Bash, current shell
eval "$(pwrp completion bash)"

# Zsh
pwrp completion zsh > ~/.zfunc/_pwrp

# Fish
pwrp completion fish > ~/.config/fish/completions/pwrp.fish

# PowerShell, current session
pwrp completion powershell | Out-String | Invoke-Expression

update

Downloads, verifies, and installs the latest native CLI release.

Usage
pwrp update

For Docker, update with docker compose pull pwrp and recreate the service.

help and version

Usage
pwrp help
pwrp help connect
pwrp connect --help
pwrp --help

pwrp version
pwrp --version
pwrp -v

Exit codes

CodeMeaning
0The command completed successfully.
1The command could not complete, such as an authentication, network, validation, or tunnel error.