Reference
Commands
Usage, aliases, flags, and examples. Your installed reference is available with pwrp help <command>.
Command overview
| Command | Aliases | Purpose |
|---|---|---|
pwrp | dashboard, ui, home, cli | Open the command-driven dashboard. |
login | None | Authenticate using browser approval. |
logout | None | Stop local tunnels and remove the saved login. |
status | whoami | Show the current account and CLI version. |
tunnels | ls, list | List configured tunnels. |
connect | run, start | Connect one or more tunnels. |
attach | None | Stream live logs from a running tunnel. |
ps | sessions, running | Show running sessions and health. |
logs | None | Print or follow session logs. |
stop | None | Stop selected sessions. |
restart | None | Reconnect selected sessions. |
stats | usage | Show bandwidth, node, and plan usage. |
target | None | Map tunnels to persistent local destinations. |
config | cfg | Read and change preferences. |
notify | None | Show and test notifications. |
doctor | None | Diagnose common problems. |
service | None | Manage native startup. |
daemon | None | Manage the background daemon. |
remote | None | Manage local consent for remote actions. |
completion | None | Generate shell completion. |
update | None | Install the latest native release. |
version | -v, --version | Print the installed version. |
Selectors
Commands that act on a tunnel or running session accept human-friendly selectors:
| Selector | Example | Use |
|---|---|---|
| Row number | 2 | The number shown by pwrp tunnels. |
| ID or ID prefix | 6fc2dc65 | A 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.
pwrp
pwrp dashboard
pwrp ui
pwrp home
pwrp cliUse 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.
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.
pwrp logoutstatus
Shows whether you are signed in, along with the account, plan, and CLI version.
pwrp status
pwrp whoamitunnels
Lists configured tunnels with their selectors, protocols, local and public ports, nodes, and status.
pwrp tunnels
pwrp ls
pwrp listconnect
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.
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"| Flag | Short | Meaning |
|---|---|---|
--all | -a | Connect every enabled tunnel. |
--detach | -d | Return immediately without attaching to logs. |
--save | -s | Remember the selection for daemon startup. |
--local-host <host> | None | Use 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.
pwrp attach <id-or-name>
pwrp attachps
Shows running sessions, connection state, local service health, traffic, and uptime. It refreshes automatically in a terminal.
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.
pwrp logs <id-or-name>
pwrp logs <id-or-name> --tail 50
pwrp logs <id-or-name> --follow
pwrp logs <id-or-name> -fstop
Stops one or more running sessions. Detaching from logs does not stop a tunnel; use this command when you want the connection to end.
pwrp stop <id-or-name>
pwrp stop "Minecraft" "Website"
pwrp stop --allrestart
Stops and reconnects selected running sessions in one step.
pwrp restart <id-or-name>
pwrp restart --allstats
Shows live bandwidth, selected node, tunnel allowance, and plan usage. It refreshes automatically in a terminal.
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.
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 2Reconnect 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.
pwrp config
pwrp config list
pwrp config get <key>
pwrp config set <key> <value>
pwrp cfgnotify
Shows notification settings or sends a test event through enabled notification channels.
pwrp notify
pwrp notify test
pwrp config set notify on
pwrp config set notify-webhook https://example.com/webhookdoctor
Runs read-only checks for configuration access, authentication, Portwarp connectivity, version compatibility, daemon status, and local-service reachability.
pwrp doctorservice
Manages startup for native installations: a user Task Scheduler entry on Windows, a systemd user service on Linux, or a launch agent on macOS.
pwrp service
pwrp service enable
pwrp service status
pwrp service disableinstall 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.
pwrp daemon
pwrp daemon run
pwrp daemon start
pwrp daemon status
pwrp daemon restart
pwrp daemon stop
pwrp daemon healthhealth 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.
pwrp remote status
pwrp remote enable
pwrp remote disableSupported 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.
# 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-Expressionupdate
Downloads, verifies, and installs the latest native CLI release.
pwrp updateFor Docker, update with docker compose pull pwrp and recreate the service.
help and version
pwrp help
pwrp help connect
pwrp connect --help
pwrp --help
pwrp version
pwrp --version
pwrp -vExit codes
| Code | Meaning |
|---|---|
0 | The command completed successfully. |
1 | The command could not complete, such as an authentication, network, validation, or tunnel error. |