• English
  • Runs and notifications

    Run a command

    Put the complete original command after --:

    runbuoy run -- python3 experiment.py

    RunBuoy preserves the original exit code, mirrors output locally, and sends a safe status projection. A normal start returns immediately. To wait and receive the original command’s exit code:

    runbuoy run --wait -- command

    Provide a title that contains no paths, arguments, or sensitive information:

    runbuoy run \
      --title "Gurobi experiment" \
      -- python3 experiment.py

    Send a one-time notification

    You can send a status notification without starting a managed Run:

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

    Built-in demos require no arguments:

    runbuoy demo notification
    runbuoy demo live-activity

    Local commands

    These commands run on the current computer:

    runbuoy list
    runbuoy list -a
    runbuoy status RUN_ID
    runbuoy logs RUN_ID
    runbuoy attach RUN_ID
    runbuoy cancel RUN_ID

    Neither the iPhone nor the server can invoke them.

    list shows active Runs by default; -a/--all includes completed history. Times use the local time zone and include seconds. status, logs, attach, and cancel accept a unique Run ID prefix; @latest selects the most recent Run.

    Preview and prune older local records and logs:

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

    Pruning asks for confirmation and cannot be undone. Runs with unsynchronized events are kept unless --include-unsynced is explicitly provided.

    Preview remote data

    Inspect what would be visible remotely without starting a command:

    runbuoy run --dry-run --title "Safe title" -- command --secret local-only
    runbuoy notify --dry-run --title "Preview" --body "Nothing is sent"

    Optional safe log snippet

    Full logs always stay local. When needed, explicitly upload up to 100 redacted trailing lines:

    runbuoy run --share-log-tail 20 -- command

    The iOS app clearly labels the uploaded snippet, and the server retains it for at most 24 hours.