Skip to content

Releases: Magi-Labs/sess

sess v0.7.0 — SSH image and file uploads

Choose a tag to compare

@DeepakSilaych DeepakSilaych released this 15 Sep 10:07

Images and files over SSH

  • Drop supported local images into an attached prompt when your terminal sends bracketed pastes. sess uploads them and inserts quoted remote paths without pressing Enter.
  • Use sess upload <file> [file...] for any regular file up to 25 MiB. This prints remote paths and works independently of terminal drag behavior.
  • Automatic pastes support PNG, JPEG, GIF and WebP, including spaces, quoted filenames and up to eight images totaling 25 MiB.
  • Files use private permissions, unique destinations and verified SHA-256 checksums. They remain on the VM until deleted.
  • Ctrl+C cancels transfers. --no-upload-images disables interception.

Upgrade

Update your laptop, then run sess init <host> to update the remote helper. zmx remains at 0.8.1. Existing sessions remain separate from uploaded files.

Plain unmarked drops and clipboard image pixels are not automatically uploaded. Use sess upload when a terminal inserts an unchanged local path. Native drag behavior across all terminal apps and Claude Code versions has not been verified.

Validation

Go race-enabled tests and vet passed. A race-enabled macOS ARM64 client passed real SSH/zmx integration against a disposable Linux ARM64 VM: uploads, checksums, private permissions, quoted/multiple image paths, fragmented paste input, cancellation, resize, detach, reconnect and TUI return. All four platform binaries and embedded helpers cross-built; AMD64 targets were not runtime-tested.

Homebrew and npm launcher packaging are maintained manually. No CI workflows added.

sess v0.6.0 — persistent SSH terminals

Choose a tag to compare

@DeepakSilaych DeepakSilaych released this 15 Sep 09:19

A persistent SSH terminal, powered by zmx

sess 0.6.0 is the first tagged release of the new Go client and zmx backend. Name a terminal on your VM, detach, and return to the same running shell.

Get started

Download the archive for your laptop from the assets below. Extract it and put sess on your PATH. No Go or Node.js installation is needed to use a release binary.

sess init user@host
sess set --host user@host
sess new work
# Ctrl+\ to detach
sess attach work

SSH aliases work anywhere a host is accepted. Use --host / -h to override the saved default, and --help for help. Session operations require key authentication available to OpenSSH batch mode.

Included

  • new / n, attach / a, remove / rm, ls, detach, doctor, and completion.
  • An interactive browser with search, host switching, create/attach/remove actions, and return after detach.
  • Automatic reconnection for classified transient SSH failures, with original-session identity checks.
  • new --detach, ls --json, and ls --quiet for scripts.
  • Remote provisioning with an embedded helper and checksum-verified zmx 0.8.1.
  • macOS/Linux builds for ARM64 and AMD64. Every archive includes all four remote-helper targets and the documentation.

Migration

This replaces the earlier Bash/tmux interface. Existing tmux sessions and ~/.sess remain untouched; use tmux to finish those sessions. Running processes cannot be moved into zmx. Prepare your host with sess init, set a default, and create new sessions.

The old up, remote, ssh, diff, log, connections, path, code, and status commands are removed. The new interface is remote-only. Detach keeps the session alive; shell exit or removal ends it. VM reboot or loss of the backend ends live sessions.

Validation

Go race tests and go vet passed on macOS ARM64 and Linux ARM64. Native macOS backend checks and a real OpenSSH/zmx Docker suite passed, including disconnect/reconnect, multiple clients, detach-all, shell exit, removal, browser actions, and namespace isolation. All four platform targets were built; AMD64 has cross-build coverage rather than the same runtime coverage.

User guide · Changelog · Troubleshooting