Guide contents

Repositories over SSH

Use Open repository over SSH… in the command palette or Open over SSH… in the repository + menu to inspect a repository on another machine. This first version is read only: Git and file reads run on that host, and the inspector shows its address and connection state throughout. Your local repository stays open behind it.

Prepare the host#

Configure a host alias in your normal OpenSSH config. Use your terminal to verify its host key and authenticate first. Strand uses system OpenSSH with strict host-key checking and noninteractive authentication, including your SSH agent and configured jump hosts. It does not ask for or save private keys or passwords. Unknown or changed host keys and interactive login requirements appear as connection errors; resolve them in your terminal.

Install a compatible Strand companion on the host as ~/.strand/bin/strand. Automatic installation and standalone host downloads are still planned. For now, build the companion from the same Strand source on a supported POSIX host:

cargo build --release -p strand-headless
      mkdir -p ~/.strand/bin
      install -m 755 target/release/strand-cli ~/.strand/bin/strand
      

The host also needs Git on its PATH. The companion uses --stdio for its connection to Strand; protocol compatibility is checked before any repository read. Windows SSH hosts are not supported by this first connection flow.

Connect and inspect#

Enter an address such as ssh://devbox/home/me/project and select Connect. Put the user, port and jump-host configuration in the host alias, rather than in the address. Successful addresses appear as suggestions on later visits.

Choose a view:

Filter the file list to narrow large repositories. Tab moves between controls, arrow keys select files and views, and Escape closes the inspector. The divider resizes the list and inspection pane. Remote inspection has no stage, commit, push, editor or terminal actions. Local repository shortcuts are suspended while the inspector is open.

Connection changes#

File watching refreshes repository status and the active diff/history view. The Refresh button requests a new read. An interrupted connection retries reads twice with a short delay; a final failure remains visible. Use Reconnect now after fixing authentication, a missing/incompatible companion, or an unavailable host. No failed operation is saved for later execution.

Disconnect, Cancel connection, or closing the inspector stops the SSH connection and all of its reads. If a snapshot remains visible, it is marked disconnected. Local repositories continue to work during an SSH failure.