Public betaRead the changelog

Platty documentation

Everything you need to get from download to a working setup. Platty is in beta, and these docs grow with it.

Install

Platty runs on Windows 10 (1809 or later) and Windows 11. Download the latest build from Releases:

  • Installer (platty-x.y.z-setup.exe): installs for your user only, without administrator rights, and adds Platty to the Start menu.
  • Portable (platty-x.y.z-windows-amd64.zip): unzip anywhere and run platty.exe.

Beta builds aren't code-signed yet. If SmartScreen stops the download or the first launch, choose More info → Run anyway.

The first time you open Platty, Sol walks you through the theme, the terminal, an optional master password and importing your servers.

Your first connection

  1. Click New host on the home screen, or press Ctrl+Shift+N.
  2. Type the address, the port if it isn't 22, and the user name.
  3. Pick how to sign in: a password, a key from the keychain, or the Windows SSH agent.
  4. Click Save and connect. The first time, Platty shows the server's fingerprint so you can check it before trusting it.

Already use OpenSSH? Choose Import ~/.ssh/config from the hosts menu (⋯) and your hosts, users, ports, keys and jump hosts come along. For a one-off connection, press Ctrl+Shift+P and type user@host.

Keys and certificates

Open the keychain with Alt+2.

  • Generate an ed25519 key, with or without a passphrase. Copy the public key into ~/.ssh/authorized_keys on your servers.
  • Import an existing private key. If a -cert.pub file sits next to it, the certificate is attached too.
  • Attach a certificate from the key's menu to sign in with keys signed by your organization's CA.

Passphrases are asked for the first time a key is used and kept in memory until you quit or lock Platty. Tick Remember it in the vault to store one.

Hardware keys

YubiKeys and other FIDO keys work through the Windows OpenSSH agent: load the key with ssh-add and pick the Agent sign-in method for the host.

Agent forwarding

Turn on Forward my SSH agent in a host's advanced options to use your local keys from that server, for example to git pull there. Only do it for servers you trust.

Vault and security

Hosts, keys, passwords, rules and snippets live in an encrypted vault in %AppData%\Platty. The data is sealed with XChaCha20-Poly1305 and a random vault key, which is protected in one or both of these ways:

  • Your Windows user (DPAPI): the vault opens on its own on this PC.
  • A master password (Argon2id): set it in Settings → Security.

With a master password you can turn off Unlock with Windows, so not even other programs running as you can open the vault. Lock Platty with Ctrl+Shift+L, or let it lock itself after a period of inactivity.

Backups and moving to another PC

Settings → Data → Export writes a .platty file protected by a password of your choice. Passwords and saved passphrases are left out unless you include them. Importing never deletes anything and never replaces a host key you already trust.

SFTP

Open the SFTP panel with Alt+6 while an SSH session is active.

  • Drag files or folders from Explorer onto a session to upload them, or drag an entry from the panel out to Explorer.
  • Choose Edit on a file to open it in its default app; every time you save, Platty uploads it back.
  • The transfer queue at the bottom shows progress and lets you cancel.

Follow the terminal's folder

If your shell reports its working folder (OSC 7), the panel opens there and a button takes you back to it. For bash, add this to ~/.bashrc on the server:

__platty_osc7() {
  local LC_ALL=C path="" ch i
  for (( i = 0; i < ${#PWD}; i++ )); do
    ch=${PWD:i:1}
    case $ch in
      [A-Za-z0-9/._~-]) path+=$ch ;;
      *) printf -v ch '%%%02X' "'$ch"; path+=$ch ;;
    esac
  done
  printf '\e]7;file://%s%s\e\\' "$HOSTNAME" "$path"
}
[[ $- == *i* && $PROMPT_COMMAND != *__platty_osc7* ]] && PROMPT_COMMAND="__platty_osc7${PROMPT_COMMAND:+;$PROMPT_COMMAND}"

Port forwarding

Create rules in the port forwarding panel (Alt+3). Each rule runs over its own connection and has a switch to start or stop it.

TypeWhat it doesOpenSSH
LocalListens on your PC and forwards through the server.ssh -L
RemoteListens on the server and forwards to something your PC can reach.ssh -R
DynamicA local SOCKS5 proxy that goes out through the server.ssh -D

Terminal

  • Tabs come back when you reopen Platty. Double-click a tab to rename it, drag it to reorder it, or right-click it to duplicate or close it.
  • Split a tab with Ctrl+Shift+D or Ctrl+Shift+E. Right-click a pane and choose Broadcast input to this tab to type into every pane at once.
  • Log to file from the same menu saves what the session prints, as plain text.
  • Links open with Ctrl+click, including OSC 8 hyperlinks. Programs can copy text to your clipboard with OSC 52; Platty tells you when they do.
  • Fonts: JetBrains Mono, Fira Code or Geist Mono, with ligatures you can turn off in Settings → Terminal.
  • On connect: give a host a command to run as soon as the shell opens, such as tmux attach.

Keyboard shortcuts

ActionShortcut
Search everywhereCtrl+Shift+P
New terminal / new hostCtrl+Shift+T / Ctrl+Shift+N
Split right / downCtrl+Shift+D / Ctrl+Shift+E
Close paneCtrl+Shift+W
Move focus between panesAlt+Arrows
Next / previous tabCtrl+Tab / Ctrl+Shift+Tab
Sidebar / tool panelsAlt+1 / Alt+2 … Alt+6
Copy / pasteCtrl+Shift+C / Ctrl+Shift+V
Find in terminalCtrl+Shift+F
Lock PlattyCtrl+Shift+L
SettingsCtrl+Alt+S

Build from source

You need Go 1.26 or later on Windows.

git clone https://github.com/PlattySSH/platty
cd platty
go build -ldflags "-H windowsgui" -o bin/platty.exe ./cmd/platty

The README covers tests, screenshots and the release script.