Skip to main content

RunBuoy CLI

RunBuoy keeps long-running commands visible from an iPhone without exposing a remote-control surface. The CLI runs commands locally, records structured status and progress, and sends a deliberately limited projection to a paired RunBuoy server.

Requirements

  • macOS or Linux
  • Python 3.12 or newer
  • tmux for durable runs

Install tmux before RunBuoy:

# macOS
brew install tmux

# Debian or Ubuntu
sudo apt install tmux

Install

Install the CLI in an isolated environment with uv:

uv tool install --python 3.12 runbuoy
runbuoy completion install zsh  # or bash / fish

Or use pipx:

pipx install runbuoy

The installed executable is available directly:

runbuoy doctor
runbuoy capabilities --json

New installations use the Global region at https://api.runbuoy.cloud by default. Mainland China users should select their hosted region before pairing:

runbuoy config set --region cn

The corresponding endpoint is https://api-cn.runbuoy.cloud. The region and server URL cannot be changed after the Machine is paired. Self-hosted users can instead run runbuoy config set --server-url <url> before pairing.

Set the canonical Machine name from the CLI:

runbuoy config set --machine-name "Build Mac"

When paired, the CLI synchronizes the name to the Server immediately. If the Server is unavailable, the latest name remains queued locally and the next Run uploader retries it. iOS intentionally has no Machine-name editor.

Upgrade with the same tool used for installation:

uv tool upgrade runbuoy
# or
pipx upgrade runbuoy

Quick start

Pair this machine with the RunBuoy iOS app:

runbuoy device pair

To stop delivery from this machine, revoke the Server credential before removing its local copy:

runbuoy device unpair
runbuoy device unpair --yes --json       # automation/non-interactive use
runbuoy device unpair --local-only --yes # emergency local cleanup only

The default command keeps the local credential if Server revocation fails, so it can be retried safely. --local-only warns that the Server credential may still be valid. Neither form deletes the stable machine ID, local Runs, SQLite outbox, or logs.

Verify delivery with built-in examples:

runbuoy demo notification
runbuoy demo live-activity

Run a command:

runbuoy run -- python3 experiment.py

Local execution does not require pairing or Server reachability. Events remain in the local outbox and can be retried later with runbuoy sync --json. The default detached command returns only after the Worker is ready and the target has started; use --wait only when the caller needs the final target exit code.

Use --live-activity immediate when the Live Activity should start as soon as the Run reaches the Server. The default automatic policy filters out Runs that finish within five seconds; disabled suppresses Live Activity start.

runbuoy list shows active Runs. Use runbuoy list -a to include completed history. Run IDs may be supplied as unique prefixes, or as @latest. runbuoy status <run-id> renders a terminal progress and health snapshot; add --watch to keep the display live until the Run reaches a terminal state. Use --json for stable machine-readable output. Preview old local history before permanently pruning it with:

runbuoy history prune --older-than 30d --dry-run

Send a notification without starting a managed run:

runbuoy notify \
  --title "Build completed" \
  --body "Release build succeeded" \
  --level success

RunBuoy does not upload full command arguments, working directories, environment variables, source code, or complete logs by default. See the security documentation for the complete data boundary.

Source and support

Source code, documentation, and issue tracking are available in the RunBuoy repository. Maintainer packaging and release instructions are in docs/developer-guide/cli-distribution.md.

RunBuoy is licensed under the MIT License.

Metadata

Release files for runbuoy 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for runbuoy 0.1.4
File Size Uploaded
runbuoy-0.1.4.tar.gz 96.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for runbuoy 0.1.4
File Interpreter ABI Platform
runbuoy-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 148.3 kB

Release files / runbuoy-0.1.4.tar.gz

Download URL runbuoy-0.1.4.tar.gz
Size 96.9 kB
Tags Source
SHA-256 checksum
How to use checksums
723b0b5003174f9497d6f800b29f5dbccffb8b613f92b470fb77bb4764052149
BLAKE2b-256 checksum
How to use checksums
6976dfa2bb4adfac2f1f83c0e949ec227e1f258005c01ace54884084c8cd0829
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.

Transparency log

Release files / runbuoy-0.1.4-py3-none-any.whl

Download URL runbuoy-0.1.4-py3-none-any.whl
Size 51.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
87e81aec81ac2b4628294be4c640d0dfb4065f0a206583ae4a3788b10134faf5
BLAKE2b-256 checksum
How to use checksums
58b4177a88c463f436e236ec01fe57c47bcb4305b2bbbbe0ca37f3414b71406c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page