Skip to content
Logo

Remote Sessions

Boo auto-detects remote terminal sessions and adapts the file explorer, status bar, and plugin context.

Supported Sessions

CategoryTools
SSH-stylessh, mosh
Containersdocker, podman, nerdctl, kubectl, oc, lxc
VMslimactl, colima, vagrant
Toolboxesdistrobox, toolbox
Devicesadb shell

Only interactive sessions trigger remote mode. Non-interactive commands (e.g. docker exec myapp cat /etc/hosts) don't switch the pane.

Detection

Two mechanisms work together:

  1. Title heuristics — TerminalBridge checks terminal title changes for user@host patterns or known remote commands, combined with checking that the reported CWD doesn't exist locally
  2. Process tree — RemoteExplorer scans child processes for ssh, mosh, and container/VM tools via proc_listchildpids

When a remote session is detected, the sidebar switches to RemoteFileTreeView and runs listing commands appropriate for the session type.

Remote File Browsing

Commands are adapted per session type:

TypePattern
SSHssh -n -o BatchMode=yes <host> <cmd>
Docker/Podman/nerdctl<tool> exec <target> sh -c <cmd>
kubectl/oc/lxc/toolbox<tool> <subcommand> <target> -- sh -c <cmd>
limactllimactl shell <vm> sh -c <cmd>
adbadb shell sh -c <cmd>

SSH prefers ControlMaster sockets when available for connection reuse.

CWD Tracking

Since Ghostty's OSC 7 only reports the local shell's CWD, Boo uses title parsing (user@host:path), process-tree polling, and container CWD watchers to track the remote working directory.