One binary.
Seven verbs.
Optional control plane CLI for power users. Talks to the same /v1 endpoints the agent uses. macOS and Linux. No daemon required.
Install
Reads SIDECAR_TOKEN from env or ~/.config/sidecar/config. macOS · Linux · single static binary · no Python, no Node, no daemon.
Usage
attach
Attach a running container by name or ID. The agent assigns an IPv6 /128 from your relay's /64. With --ipv4 it also allocates a dedicated IPv4 /32 from the pool (requires a paid plan).
detach
Remove the tunnel peer for a container, release its IPs back to the pool, and delete the network interface from the container's network namespace.
list
List all active peers on your relay. Shows container name, assigned IPs, last handshake age, and transfer counters.
inspect
Show detailed information for a single peer: key fingerprint, firewall rule state, and full traffic counters.
rotate
Rotate the encryption keys for a peer without changing its IP addresses. The peer stays live throughout — no downtime.
region
Move all peers to a different relay region. The CLI tears down the existing peers, provisions new ones in the target region, and updates your DNS records if you have a domain configured. Takes approximately 3 minutes.
doctor
End-to-end diagnostics. Checks agent connectivity, ctrl service status, tunnel liveness, key freshness, and relay reachability. Use this first when something is wrong.
Flags
| Flag | Default | Description |
|---|---|---|
| --token | $SIDECAR_TOKEN | API bearer token |
| --relay | auto | Override relay URL |
| --json | false | Output JSON instead of human-readable text |
| --quiet | false | Suppress all output except errors |
| --ipv4 | false | Request a dedicated IPv4 /32 (attach only) |
Environment
| Variable | Description |
|---|---|
| SIDECAR_TOKEN | Bearer token. Takes precedence over config file. |
| SIDECAR_RELAY | Relay URL override. |
| SIDECAR_CONFIG | Path to config file. Default: ~/.config/sidecar/config |
| NO_COLOR | Disable ANSI colour output when set. |
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error (see stderr) |
| 2 | Bad arguments or missing flags |
| 3 | Auth failure — token invalid or expired |
| 4 | Relay unreachable |
| 5 | Agent socket not found — is the agent running? |