Command-line interface for Reoclo — manage servers, applications, deployments, logs, domains, and tunnels from your terminal.
$ reoclo --help
Usage: reoclo [options] [command]
Reoclo CLI
Options:
-V, --version output the version number
-o, --output <fmt> output format: text|json|yaml (default: "text")
--no-color disable ANSI colors
--quiet suppress non-error output
--verbose log HTTP requests (tokens redacted)
-h, --help display help for command
Commands:
login sign in with your Reoclo account
whoami show the current identity
servers manage servers
apps manage applications
deployments deployment history
logs tail or query application logs
env application environment variables
domains manage domains
exec run a command on a server
shell open an interactive shell on a server
tunnel forward / reverse TCP and UDP tunnels
profile manage named profiles
keyring OS keyring management
upgrade self-update the CLI
mcp run as a Model Context Protocol server
completion generate shell completion scripts
One-liner (macOS / Linux):
curl -sSL https://get.reoclo.com/cli | bashThe installer detects your platform, downloads the latest release from GitHub, verifies the SHA256 checksum, and installs to /usr/local/bin/reoclo (or ~/.local/bin/reoclo if the system dir isn't writable). It also creates rc as a short alias for reoclo.
Equivalent direct URL (handy in environments where the redirect isn't followed):
curl -sSL https://github.com/reoclo/cli/releases/latest/download/install.sh | bashIf you'd rather download the binary yourself, every release attaches a binary per platform plus a SHA256SUMS file. Pick the right one from the latest release:
# macOS (Apple Silicon)
curl -L -o reoclo https://github.com/reoclo/cli/releases/latest/download/reoclo-darwin-arm64
chmod +x reoclo && sudo mv reoclo /usr/local/bin/
# macOS (Intel)
curl -L -o reoclo https://github.com/reoclo/cli/releases/latest/download/reoclo-darwin-x64
chmod +x reoclo && sudo mv reoclo /usr/local/bin/
# Linux (x86_64, glibc)
curl -L -o reoclo https://github.com/reoclo/cli/releases/latest/download/reoclo-linux-x64
chmod +x reoclo && sudo mv reoclo /usr/local/bin/
# Linux (x86_64, musl / Alpine)
curl -L -o reoclo https://github.com/reoclo/cli/releases/latest/download/reoclo-linux-x64-musl
chmod +x reoclo && sudo mv reoclo /usr/local/bin/
# Linux (arm64)
curl -L -o reoclo https://github.com/reoclo/cli/releases/latest/download/reoclo-linux-arm64
chmod +x reoclo && sudo mv reoclo /usr/local/bin/Windows (x86_64): download reoclo-windows-x64.exe, rename to reoclo.exe, and add its directory to your PATH.
Verify against SHA256SUMS:
curl -L -o SHA256SUMS https://github.com/reoclo/cli/releases/latest/download/SHA256SUMS
shasum -a 256 -c SHA256SUMS --ignore-missingreoclo upgrade # in-place update to the latest stable
reoclo upgrade --check # report current + latest without changing anything# Sign in (opens your browser via OAuth device flow)
reoclo login
# Confirm
reoclo whoami
# List your servers
reoclo servers ls
# Tail logs for an application
reoclo logs tail my-app
# Open a forward tunnel: localhost:5432 → 127.0.0.1:5432 on the runner
reoclo tunnel my-server -L 5432:5432
# Open a reverse tunnel: server's localhost:8080 → localhost:3000 on your machine
reoclo tunnel my-server -R 8080:3000The tunnel command opens authenticated TCP and UDP tunnels through a server's runner. No SSH keys, no inbound firewall rules — the tunnel rides the runner's existing outbound WebSocket connection.
# Forward TCP (default)
reoclo tunnel <server> -L 5432:5432
reoclo tunnel <server> -L 8080:internal-db:5432 # remote host other than localhost
reoclo tunnel <server> -L 0.0.0.0:8080:internal:80 # bind explicitly
# Forward UDP
reoclo tunnel <server> -L 53:53 --udp
# Reverse TCP
reoclo tunnel <server> -R 8080:3000
# Multiple forwards in one session
reoclo tunnel <server> -L 5432:5432 -L 6379:6379
# Session management (live + history)
reoclo tunnel ls --server <server> --active
reoclo tunnel describe <tunnel-id>
reoclo tunnel close <tunnel-id>Tunnels survive transient runner reconnects: if the runner disconnects briefly, the CLI parks the session and resumes once the runner is back.
Every command honours -o text|json|yaml. Pipe json into jq for scripting, or yaml for human-readable nested output:
reoclo servers ls -o json | jq '.[] | select(.status=="active") | .name'
reoclo apps ls -o yamlThe CLI supports multiple named profiles — useful if you work across organizations or environments:
reoclo profile ls
reoclo --profile staging login
reoclo --profile staging servers lsProfile data is stored under the OS-appropriate config dir (e.g. ~/.config/reoclo/ on Linux, ~/Library/Application Support/reoclo/ on macOS). Tokens are kept in the OS keyring when available; run reoclo keyring status to inspect.
Full command reference and guides: https://docs.reoclo.com/cli
Requires Bun 1.3+.
git clone https://github.com/reoclo/cli.git
cd cli
bun install
bun run build # produces dist/reoclo-{platform}Run tests and typecheck:
bun test tests/unit/
bun run typecheckIssues and feature requests: https://github.com/reoclo/cli/issues
MIT — see LICENSE.