Rendezvous 0.2.19

CLI reference.

Generated from this release's actual --help output. Options are refreshed automatically with every release build.

Using options with the website commands

curl -fsSL https://host.rdzv.sh | sh -s -- --verbose
curl -fsSL https://host.rdzv.sh | sh -s -- --approve
curl -fsSL https://join.rdzv.sh | sh -s -- -v
curl -fsSL https://join.rdzv.sh | sh -s -- --invitation 'rv1.…'
curl -fsSL https://join.rdzv.sh | sh -s -- -a --invitation "<invitation>"
curl -fsSL https://host.rdzv.sh | sh -s -- --help
curl -fsSL https://join.rdzv.sh | sh -s -- --help

Windows PowerShell

& ([scriptblock]::Create((irm https://host.rdzv.sh/host.ps1))) -RendezvousArguments @('--approve')
& ([scriptblock]::Create((irm https://join.rdzv.sh/join.ps1))) -RendezvousArguments @('-a', '--invitation', '<invitation>')

Pass bootstrap options as a string array with -RendezvousArguments. After installation, use the same rdzv commands directly. Command strings use the host's shell syntax: Windows PowerShell on Windows, or the host's configured shell on Unix.

General options

usage: rdzv [-h] [--version] {host,join,session} ...

Temporary single-use shell access over SSH and Tor.

positional arguments:
  {host,join,session}
    session            Control a local background agent session

options:
  -h, --help           show this help message and exit
  --version            show program's version number and exit

Host options

usage: rdzv host [-h] [--invite-timeout INVITE_TIMEOUT]
                 [--session-timeout SESSION_TIMEOUT] [-S] [--verbose]
                 [--approve]

options:
  -h, --help            show this help message and exit
  --invite-timeout INVITE_TIMEOUT
                        Seconds to redeem the invitation (default: 600)
  --session-timeout SESSION_TIMEOUT
                        Session lifetime in seconds (default: 43200 / 12
                        hours)
  -S, --single-hop      Experimental shorter host-side Tor route; gives up
                        host-location anonymity
  --verbose, -v         Show connection diagnostics and complete host output
                        logs
  --approve, --approval
                        Start in command approval mode for human or agent
                        guests (off by default)

Join options

usage: rdzv join [-h] [--verbose] [--invitation INVITATION |
                 --invitation-file INVITATION_FILE] [--command COMMAND | -a]
                 [--session-timeout SESSION_TIMEOUT]

options:
  -h, --help            show this help message and exit
  --verbose, -v         Show Tor bootstrap, connection attempts, and handshake
                        timing
  --invitation INVITATION
                        Invitation text (visible in shell history and process
                        arguments)
  --invitation-file INVITATION_FILE
                        Read invitation from a private file instead of
                        prompting
  --command COMMAND     Execute one command instead of an interactive shell
  -a, --agent           Keep SSH in the background and print local session
                        controls
  --session-timeout SESSION_TIMEOUT
                        Client session lifetime in seconds (default: 43200 /
                        12 hours)

Agent session controls

usage: rdzv session [-h] {exec,help,close,computer} ...

positional arguments:
  {exec,help,close,computer}
    exec                Execute a command and return its stdout, stderr, and
                        exit status
    help                Show controls for this session
    close               End the remote connection
    computer            Request and use host-approved screen, mouse, and
                        keyboard access

options:
  -h, --help            show this help message and exit

Execute a command

usage: rdzv session exec [-h] session command

positional arguments:
  session     Local session ID printed by join --agent
  command     Command to run in a fresh remote shell

options:
  -h, --help  show this help message and exit

Session instructions

usage: rdzv session help [-h] session

positional arguments:
  session

options:
  -h, --help  show this help message and exit

Close session

usage: rdzv session close [-h] session

positional arguments:
  session

options:
  -h, --help  show this help message and exit

Computer use

usage: rdzv session computer [-h]
                             {enable,disable,status,displays,screenshot,move,click,scroll,drag,type,key} ...

positional arguments:
  {enable,disable,status,displays,screenshot,move,click,scroll,drag,type,key}

options:
  -h, --help            show this help message and exit

Computer use: enable

usage: rdzv session computer enable [-h] session

positional arguments:
  session

options:
  -h, --help  show this help message and exit

Computer use: disable

usage: rdzv session computer disable [-h] session

positional arguments:
  session

options:
  -h, --help  show this help message and exit

Computer use: status

usage: rdzv session computer status [-h] session

positional arguments:
  session

options:
  -h, --help  show this help message and exit

Computer use: displays

usage: rdzv session computer displays [-h] session

positional arguments:
  session

options:
  -h, --help  show this help message and exit

Computer use: screenshot

usage: rdzv session computer screenshot [-h] --output OUTPUT
                                        [--display DISPLAY]
                                        session

positional arguments:
  session

options:
  -h, --help         show this help message and exit
  --output OUTPUT    New local PNG path; never overwrites an existing file
  --display DISPLAY

Computer use: move

usage: rdzv session computer move [-h] --frame FRAME --x X --y Y session

positional arguments:
  session

options:
  -h, --help     show this help message and exit
  --frame FRAME  Latest screenshot frame ID (valid for 120 seconds)
  --x X          Horizontal screenshot pixel coordinate
  --y Y          Vertical screenshot pixel coordinate

Computer use: click

usage: rdzv session computer click [-h] --frame FRAME --x X --y Y
                                   [--button {left,middle,right}]
                                   [--count {1,2}]
                                   session

positional arguments:
  session

options:
  -h, --help            show this help message and exit
  --frame FRAME         Latest screenshot frame ID (valid for 120 seconds)
  --x X                 Horizontal screenshot pixel coordinate
  --y Y                 Vertical screenshot pixel coordinate
  --button {left,middle,right}
  --count {1,2}

Computer use: scroll

usage: rdzv session computer scroll [-h] --frame FRAME --x X --y Y [--dx DX]
                                    [--dy DY]
                                    session

positional arguments:
  session

options:
  -h, --help     show this help message and exit
  --frame FRAME  Latest screenshot frame ID (valid for 120 seconds)
  --x X          Horizontal screenshot pixel coordinate
  --y Y          Vertical screenshot pixel coordinate
  --dx DX        Horizontal scroll steps; positive is right
  --dy DY        Vertical scroll steps; positive is down

Computer use: drag

usage: rdzv session computer drag [-h] --frame FRAME --x X --y Y
                                  [--button {left,middle,right}] --to-x TO_X
                                  --to-y TO_Y
                                  session

positional arguments:
  session

options:
  -h, --help            show this help message and exit
  --frame FRAME         Latest screenshot frame ID (valid for 120 seconds)
  --x X                 Horizontal screenshot pixel coordinate
  --y Y                 Vertical screenshot pixel coordinate
  --button {left,middle,right}
  --to-x TO_X
  --to-y TO_Y

Computer use: type

usage: rdzv session computer type [-h] --text TEXT session

positional arguments:
  session

options:
  -h, --help   show this help message and exit
  --text TEXT

Computer use: key

usage: rdzv session computer key [-h] --keys KEYS session

positional arguments:
  session

options:
  -h, --help   show this help message and exit
  --keys KEYS  Named key/chord, e.g. CMD+L, CTRL+L, ENTER

Agent mode

-a / --agent starts a detached joiner and prints session-specific commands with an absolute helper path. session exec SESSION COMMAND streams the command's stdout and stderr and returns its exit code in one call. Each command uses a fresh non-interactive shell; set the working directory within that command using the host's shell syntax. Canceling a local exec call stops that command. Close explicitly when finished. Local controls use a private same-user Unix socket on Linux/macOS, or a private named pipe with account and session identity checks on Windows.

Session lifetime

Host and client default to twelve hours (43,200 seconds). --session-timeout SECONDS adjusts either side; the earlier deadline ends the session. The background agent's limit includes startup and approval waiting. The controller exits when the connection ends.

Computer-use workflow

session computer enable SESSION requests separate host consent for screen capture and input. Once the host approves and OS permissions are available, the response includes exact commands. Screenshots are PNGs saved privately on the joiner's machine, never overwriting an existing path. Load the returned image with your agent's image tool. Use the returned frame ID and screenshot pixel coordinates for pointer actions; frames expire after 120 seconds or a newer capture. Scroll values are steps, positive down/right. The host logs operations and can revoke with x without ending shell access. Command approval is unchanged. Mac hosts require Accessibility and Screen Recording permissions; updates may require granting them again. Linux computer use requires X11/XTEST; Wayland is not supported. See the computer-use documentation for platform requirements.

Command approval and host controls

host --approve (also --approval) starts in approval mode for human or agent guests. It is off by default and requires a controlling terminal. While idle, the bottom bar shows a: approval mode, D: disconnect when approval is off and A: approve all, D: disconnect when it is on. Press a to toggle approval or uppercase A to turn approval off.

Human joiners switch between their retained interactive terminal and an approval> command-entry prompt. Approved commands use fresh non-PTY shells through the same native exec path as agents. Returning to interactive mode preserves the original shell's directory and variables; command-mode changes do not modify that shell. No SSH reconnection is required. The host rejects interactive input while approval is enabled. Already-accepted input and running jobs continue; retained terminal output is displayed when the human returns to interactive mode.

a: approve, A: approve all, d: deny, D: disconnect

These bindings appear while a command awaits a decision. The full command is logged before Approve command?; repeated unbound keys expand it to Approve command (a/A/d)?. a approves once, d denies without execution (status 126), and A approves the current command and turns approval off. Humans return to the interactive terminal after that command completes. Only a/A are green and d/D red; descriptions and punctuation stay gray. D and host Ctrl-C end the session. Guest Ctrl-C clears command entry or cancels a pending/running command; Ctrl-D on an empty command prompt closes the session. The bar follows resizing and is removed on exit; redirected logs contain no bar control sequences.

Host logging

[input] shows complete agent exec requests and interactive human input. Human keystrokes append to the same line until Enter; they are not a reconstruction of commands after shell editing or expansion. Incoming content is red, output cyan, and labels stay neutral.

[output] follows logical newline boundaries, independent of SSH packet sizes. Long host log lines are shortened by default; --verbose includes full host output logs. Human PTYs combine stdout/stderr; agent exec keeps them separate. Guest command output is unchanged. Host logs are written to standard error.

Connection diagnostics

Both host -v and join -v show Tor bootstrap progress and timing on standard error. Host diagnostics include descriptor upload attempts, failures, accepted-directory counts, SSH connection/authentication attempts, and removal of the onion service after authentication. Join diagnostics include numbered attempts, failures, remaining connection time, onion-stream establishment, and SSH authentication timing. join -a -v also forwards background startup diagnostics. These messages do not alter remote command output.