Skip to content

Releases: RyGe87/sshctl

sshctl 0.4.0 — two shells, zero dependencies

Choose a tag to compare

@github-actions github-actions released this 01 Aug 21:10
v0.4.0
76891d0
  • Zero dependencies, everywhere: the terminal UI draws itself (raw mode
    from stty, keys from a thread reading /dev/tty, cells over plain
    ANSI), the CLI parses its own arguments, and the snapshot writes its own
    TOML. A tip of the hat to the ratatui project,
    whose API shape the new terminal layer deliberately mirrors and whose
    crate served sshctl 0.2 and 0.3 well.
  • The panes scroll: shift-j/k moves through the detail, shift-d/f through
    the findings — the left hand mirroring the right. Both know where to
    stop and say how much sits beyond the fold, and long findings wrap under
    their own message column. Remove host moved from D to X, next to the
    small x that drops an option.
  • Help grew two pages — the tabs, then the keys — and opens by itself on a
    config with no hosts. The bottom key bar retired in favour of ? in the
    corner, enter in overview jumps to config for the selected host, and
    shift-tab cycles the tabs backwards.
  • The GUI retired at v0.3.0, in favour of the terminal UI; the native
    Windows build retired there too — WSL runs the Linux build. Releases now
    ship macOS and Linux, sign and notarize the bare binaries, and publish
    with the gh CLI: no third-party actions left in the pipeline.
  • Release binaries roughly halved: the profile chooses size over speed,
    because this tool waits on ssh, not on itself.

Full Changelog: v0.3.0...v0.4.0

sshctl 0.3.0 — the TUI becomes the default

Choose a tag to compare

@github-actions github-actions released this 31 Jul 15:03
v0.3.0
056802f

The terminal UI is now the default shell: cargo install sshctl builds
sshctl-tui alone — the shell that works everywhere, over ssh, in tmux, on
machines without a screen — and the cheapest to build. The CLI and the GUI
are one feature flag away:

cargo install sshctl                                       # the TUI
cargo install sshctl --features cli                        # + the CLI
cargo install sshctl --no-default-features --features cli  # only the CLI
cargo install sshctl --all-features                        # all three

The release archives below still hold all three binaries; the macOS ones are
signed and notarized, and every artifact carries a build-provenance
attestation plus a line in SHA256SUMS.

Details in the
CHANGELOG. Built
in collaboration with Claude (Anthropic).


Note (2026-08-01): this is the last release with a native Windows build. sshctl now ships for macOS and Linux; on Windows, run the Linux build under WSL. The sshctl-windows-x86_64.zip above keeps working but is not maintained.

Note (2026-08-01, later that day): this is also the last release with the GUI. sshctl.app and the sshctl-gui binaries above keep working but are not maintained; the terminal UI — the default shell — is the way forward.

sshctl 0.2.0 — the terminal UI

Choose a tag to compare

@github-actions github-actions released this 31 Jul 14:23
v0.2.0
2d889af

A third shell: sshctl-tui — the same four tabs in plain characters, for
the places a window cannot follow: over ssh, in tmux, on the machine with no
screen. Same core as the CLI and the GUI, same save screen with its two
separate questions ("does the rewrite itself change anything?" — the gate —
and "what do your own edits change?" — information), same rule that an
unproved write takes a deliberate override.

Each shell now sits behind its own cargo feature, so nobody compiles or
installs a byte more than the shell they want:

cargo install sshctl --no-default-features --features tui

The release archives hold all three binaries; the macOS ones are signed and
notarized, and every artifact carries a build-provenance attestation
(gh attestation verify <file> --owner RyGe87) plus a line in SHA256SUMS.

Details in the
CHANGELOG. Built
in collaboration with Claude (Anthropic).

sshctl 0.1.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 19:10
v0.1.0
1366186

Show, check and safely rewrite ~/.ssh/config — a CLI and a GUI on one core.

~/.ssh/config is the single source of truth: read in, tidied, and written
back with a backup — and never before ssh -G has proved that the rewrite
changes nothing about any connection. The doctor checks your hosts in three
layers (the file, the network, the real login), the known_hosts view lays the
ledger next to your config, and explain shows for every value where it
comes from.

Downloads — each archive holds both sshctl (CLI) and sshctl-gui:

  • macOS: sshctl-macos-app.zip (ready-made universal app) or
    sshctl-macos-universal.tar.gz — signed with a Developer ID and notarized
    by Apple, so they open like any other program.
  • Linux: sshctl-linux-x86_64.tar.gz
  • Windows: sshctl-windows-x86_64.zip — compiles and passes its checks,
    but macOS is the only platform that has been used in anger so far.

Requires ssh and ssh-keygen on your PATH; OpenSSH 8.2 or newer is best.

Built in collaboration with Claude (Anthropic): the first version together
with Claude Opus 5; the in-depth review, the fixes and the optimisations with
Claude Fable 5. Details in the
CHANGELOG.