Instant terminal and screen sharing access to remote machines.
Built for monitoring servers running autonomous agents—when you need to check on what an agent is doing, rc gets you there in seconds.
rc connects to your Tailscale network, shows all your machines in an interactive picker, and launches a connected terminal (SSH), virtual screen (VNC), or Cursor Remote SSH session with a single keypress. In Cursor mode, rc asks for an optional starting directory before connecting. Terminal mode opens directly in ~. Credentials are cached so subsequent connections are instant.
- Tailscale installed and logged in on all machines
- Cursor installed locally if you want to use Cursor mode
- Cursor Remote SSH extension installed in Cursor (search for
Anysphere Remote SSH)
Enable these on each machine you want to connect to:
macOS:
- Remote Login (SSH): System Settings → General → Sharing → Remote Login → Enable
- Screen Sharing (VNC): System Settings → General → Sharing → Screen Sharing → Enable
Linux:
- SSH: Usually enabled by default. If not:
sudo systemctl enable --now sshd
curl -fsSL https://remotecontrol.sh/install | bashrcOptions:
--allinclude offline machines--debugwrite verbose logs to~/.rc/debug.logand mirror them to stderr
- Arrow keys - navigate the machine list
- Enter - connect to selected machine
- Tab - cycle through machines
- Shift+Tab - switch between available modes (terminal, screen, cursor)
- / - open search, then type to filter machines
- Esc - close search (if open) or quit
Directory screen (cursor mode):
- Type a path - start Cursor in that directory (for example
~/project) - Arrow keys - choose a recent directory
- Tab - switch between path input and recents list
- Delete/Backspace - remove the selected recent directory
- Enter - connect (blank input defaults to
~) - Esc - go back to machine picker
When connecting via SSH or VNC for the first time, rc will prompt for your username and password.
For SSH connections, rc automatically:
- Generates an SSH key (
~/.ssh/id_ed25519) if one doesn't exist - Copies your public key to the remote machine using
ssh-copy-id - Stores your username for future connections
For VNC connections, credentials are stored for automatic login.
All credentials are saved locally in ~/.rc/settings.json (plaintext, not synced).
- On macOS,
rcopens the built-in Screen Sharing app viavnc://. - Cursor mode launches your local Cursor app using Remote SSH (
cursor --remote ...). - Cursor mode is only shown when the
cursorCLI command is installed. - Screen mode is only shown when both machines are macOS (your local machine and the selected target machine).
- Machines are sorted by most recently used connection.
- If you see "tailscale not found", install Tailscale and login once.
- If no peers appear, run
tailscale statusto verify connectivity. - If the UI doesn't render, run in a TTY (not in a non-interactive shell).
- If you need launch diagnostics, run
rc --debugor setRC_DEBUG=1. Logs are written to~/.rc/debug.log. - If remote SSH apps have broken interactive behavior (for example, Enter prints
^M, input/editing feels off, or terminal capabilities are missing), add the shell helper below on the remote machine and reconnect.
Add this to your remote shell startup file (~/.zshrc or ~/.bashrc) to normalize interactive terminal behavior:
if [[ $- == *i* ]] && [[ -t 0 ]] && [[ -t 1 ]]; then
# Normalize terminal line discipline for interactive shells.
stty sane 2>/dev/null || true
stty icrnl -inlcr -igncr opost onlcr isig icanon iexten echo echoe echok echoctl 2>/dev/null || true
# Ensure terminal capabilities expected by modern interactive CLIs.
[[ -n "${TERM:-}" && "${TERM}" != "dumb" ]] || export TERM=xterm-256color
export COLORTERM="${COLORTERM:-truecolor}"
fi