Skip to content

Releases: jayeshbarman/setussh-releases

SetuSSH v0.1.1-build.2

Pre-release

Choose a tag to compare

@jayeshbarman jayeshbarman released this 16 Sep 13:40

What's in v0.1.1 build 2

Let an AI client work through SetuSSH (MCP)

  • An AI client such as Claude Code, Claude Desktop or Cursor can now do real work on your servers through SetuSSH. It sees every saved server, opens one as an ordinary tab you can watch (without taking your keyboard focus), runs commands in it, types into it and reads the screen, and moves files. Turn it on in Settings, AI access.
  • New tools: list_servers, list_terminals, connect_server, run_command, send_input (text plus keys such as ctrl+c, up or esc, so prompts, vim, less and top work), read_terminal, disconnect, read_file, write_file, list_dir, upload_file and download_file.
  • One Access setting replaces the two switches: Read-only, Ask before each action, Run routine actions and ask before destructive ones, and Full access with no prompts. Full access trusts a server's host key the first time an AI client connects to it; a changed key is never accepted without you. A server whose AI permissions are set to deny stays refused, the free plan's server limit applies, and the server only listens on this computer and needs the access token.
  • Long commands are not cut off: a call streams keep-alives and progress while it runs, and a client that cancels stops the command, the transfer or the approval it was waiting on.
  • Works with clients on the current MCP specification (2026-07-28) and with older ones.
  • The guide at setussh.com/docs/mcp covers setup for Claude Code, Claude Desktop and Cursor, every tool, example requests and troubleshooting.

MultiExec and split panes

  • Turning on MultiExec tiles every terminal from every tab on screen at once, each with its own broadcast tick, and ticks them all so one keystroke reaches every server. Clicking a tile makes its tab the active one. No terminal restarts when you switch in or out.
  • A tab can hold two different servers: drag a saved server from the sidebar onto a terminal (right half for beside, bottom half for below), or right-click it and choose Split right with this or Split down with this.
  • The sidebar rows have a right-click menu (open, split with, favourite, edit, delete).

Terminal

  • Plain output is highlighted the way MobaXterm does it: URLs, IP addresses, the user@host:path prompt, warnings, failure words and success words, in your colour scheme. Output that is already coloured is left alone, and nothing is touched in full-screen programs. To turn it off or back on, use the switch in Settings, Terminal, Highlight terminal output. It applies at once to new output in every open terminal.
  • Updated on 18 September: switching Highlight terminal output off and on during a session could leave colouring stuck off in that tab (for example after quitting vim) or print a stray code such as 1m. Both are fixed, and a connection that drops inside vim no longer leaves the next shell uncoloured. If you installed build 2 before this date, install it again to get the fix (on Ubuntu with apt: sudo apt install --reinstall setussh).
  • The monitor bar shows how long the host has been up.
  • A denser layout: the separate title strip is gone and the file browser keeps its Name and Size headings in view while you scroll.

AI assistant

  • Commands with a heredoc, a trailing & or a # comment now run correctly in your terminal, and a login shell of fish, csh or tcsh works too.
  • A terminal where another program has the foreground (vim, top, a password prompt) is never typed into; the command runs on a background channel instead and says so.
  • After Stop, a terminal is only marked free once the command has really ended.
  • read_file reads at most 4 MB instead of loading the whole file first, and a large secret-shaped output no longer slows the app.
  • Writing back a file that was shown with secrets masked is refused, so a masked password can never replace the real one.

SetuSSH, terminal, files and tunnels on one connection.

Free for 7 days, no key and no account. After that it keeps working
with up to 10 saved sessions; the AI assistant needs a key.
Request full access any time. Questions go to
support@setussh.com.

Windows and macOS are still under test. SetuSSH is developed every
day on Linux, so that build has the most real hours behind it. The Windows
and macOS builds pass the same automated checks and a platform review, but
expect rough edges. If it crashes, the app offers to send a report, which
is the fastest route to a fix.

Windows

Download SetuSSH-Setup-*.exe and run it. Builds are not code-signed yet,
so SmartScreen shows "Unknown publisher". Click More info, then
Run anyway.

macOS

macOS will say "SetuSSH is damaged and can't be opened." It is not
damaged. That is what Gatekeeper shows for any app Apple has not notarised,
and the checksums below prove the download is intact.

Do not open the app from the disk image. In order:

  1. Open the .dmg: arm64 for Apple Silicon, x64 for Intel.
  2. Drag SetuSSH onto the Applications folder beside it.
  3. Eject the disk image.
  4. Run this once, then open SetuSSH normally:
xattr -cr /Applications/SetuSSH.app

Or use System Settings > Privacy & Security > Open Anyway after the
first blocked attempt. On macOS 15 and later the old right-click, Open
shortcut no longer works; Open Anyway does.

Linux

The .deb is recommended: sudo apt install ./SetuSSH-*-amd64.deb
The .AppImage is portable but needs libfuse2 and may require
--no-sandbox.

Verifying a download

SHA256SUMS is signed with the SetuSSH release key (SHA256SUMS.asc).

SetuSSH v0.1.1-build.1

Pre-release

Choose a tag to compare

@jayeshbarman jayeshbarman released this 12 Sep 21:29

What's in v0.1.1 build 1

The first 0.1.1 build. The version moves because the workspace changed shape: a tab is no longer one terminal.

Split panes

  • Split any tab right (Ctrl+Shift+\) or down (Ctrl+Shift+-) into independent terminals of the same server. Also from the ribbon (View, Split right and Split down), the command palette and the terminal's right-click menu. Drag the divider, or focus it and use the arrow keys. Ctrl+Shift+] and Ctrl+Shift+[ move between panes. Ctrl+Shift+W closes the pane you are in, and the tab with its last pane.
  • Splitting never restarts a neighbour. Panes are laid out as a flat list keyed by id, so opening or closing one beside a terminal you are working in leaves that terminal exactly as it was.
  • Each pane in a split gets a slim header: status, name, its own broadcast tick and a close button. Clicking into a pane points the ribbon's Split, Reconnect and Duplicate at it.
  • Multi-exec broadcast now works from the tab bar. Ticking a tab used to target nothing, because it recorded the tab while keystrokes are matched per terminal. A tab's tick now covers every pane in it, and ticking only some from their headers shows the tab as partly on.

Local terminal

  • Open a shell on this machine with Ctrl+Shift and the backquote key (the one under Esc), the ribbon's Local button, the palette, or the start page. zsh, bash or PowerShell, whichever is yours, and the tab is named after it. Split it like any SSH pane. When the shell exits the pane says so, and R starts a fresh one.
  • Local terminals are not licence-gated.

Reconnect and Duplicate

  • Reconnect (ribbon, palette, right-click) replaces a live pane's shell in place. For a local pane it restarts the shell. Duplicate opens the same server in a new tab. The old right-click "Reconnect this session", which opened a second tab, is gone.
  • A saved workspace now survives more than one relaunch. Restored tabs that had not been reconnected yet were dropped from storage the moment the app started, so the workspace lasted exactly one restart, and a workspace saved by an older build vanished on the first launch after upgrading.
  • Reconnecting during an auto-reconnect countdown no longer leaves the countdown armed to open a second shell under the one you are using. Pressing R twice, or R and Reconnect, issues one open, not two.
  • Typing while a pane is still connecting is safe. s and x used to save the scrollback and close the tab. R, S and X are commands only once the disconnect banner is showing.

Files sidebar (remote file browser)

  • The sidebar has a Files tab showing the connected server's files, starting in the login user's home the moment a session connects. Settings, Files turns the auto-switch off. Click a folder to enter it, .. to go up, or type a path in the path box (~ and paths relative to the current folder both work). Drag files or folders from your desktop onto the list, or onto a folder row, to upload. Right-click for download, edit locally, rename, permissions and delete. Drag the sidebar's edge to resize it. The wide table is still available as the bottom panel (View, Panel).
  • Folder clicks are fast. One SFTP channel per server is kept open between operations instead of a fresh subsystem per click, which cost three round trips each on a distant host. Listings are remembered and repainted at once while a refresh lands.
  • The browser comes back to where you were on that server rather than to ~ every time you switch views or panes. A folder the server no longer has rolls back instead of opening from memory. Editing a saved session to another user or host does not hand back the old account's home directory.
  • The ribbon's SFTP button, Ctrl+Shift+E and the palette open the Files sidebar. A "Toggle SFTP panel (bottom)" entry keeps the wide view one keystroke away.

AI assistant

  • Big outputs no longer kill the conversation. One command could return 120,000 characters, the whole history was re-sent on every step, and a 40,000-token model rejected the request. After that every later message failed the same way until restart. The assistant now knows the model's context window (from the server, a table, or the rejection itself), trims history in the order that costs least, and pages through or searches a large result in parts with two new tools, read_output and search_output. Its token estimate calibrates itself from what the model reports. Qwen counted 2.4 times what the rule of thumb said.
  • Stop means stop. Stop reaches the running command (Ctrl-C to the terminal, SIGINT to a background job) instead of waiting out a timer. A command hung in your terminal is never typed into again: a busy tab's next command goes over a separate channel and says so. Your own Ctrl-C in the terminal is noticed. "A turn is already running." can no longer appear, the panel shows Stopping until the turn has actually ended, and a running command shows its elapsed time with its own Stop.

Ribbon and keys

  • Narrow windows collapse ribbon groups to icons (Help first, Session last) with the headings still aligned. Narrower still, the ribbon wraps rather than clipping.
  • App shortcuts no longer leak into the terminal. Ctrl+Shift+- also typed ^_ and Ctrl+Shift+2 typed a NUL into the shell. Holding a chord no longer opens a shell per key repeat.
  • The ribbon's Sessions button reaches the session list even when Files is showing. Ctrl+Shift+T opens New session even with the sidebar collapsed. F1 lists every shortcut, and the README has the table.

Under the hood

  • Closing the window or reloading now ends every shell, SSH and local. Local shells used to keep running invisibly until quit.
  • Editing a saved session's host or credentials takes effect on the next connect even if its file browser was open a moment ago.
  • The renderer's Content-Security-Policy is strict in what ships (no inline or eval). Only the dev server is lenient.
  • Linux packages are built against Ubuntu 22.04's glibc and checked before release, so the local terminal loads on 22.04 and 24.04. The .deb declares the libc it needs.

SetuSSH, terminal, files and tunnels on one connection.

Free for 7 days, no key and no account. After that it keeps working
with up to 10 saved sessions; the AI assistant needs a key.
Request full access any time. Questions go to
support@setussh.com.

Windows and macOS are still under test. SetuSSH is developed every
day on Linux, so that build has the most real hours behind it. The Windows
and macOS builds pass the same automated checks and a platform review, but
expect rough edges. If it crashes, the app offers to send a report, which
is the fastest route to a fix.

Windows

Download SetuSSH-Setup-*.exe and run it. Builds are not code-signed yet,
so SmartScreen shows "Unknown publisher". Click More info, then
Run anyway.

macOS

macOS will say "SetuSSH is damaged and can't be opened." It is not
damaged. That is what Gatekeeper shows for any app Apple has not notarised,
and the checksums below prove the download is intact.

Do not open the app from the disk image. In order:

  1. Open the .dmg: arm64 for Apple Silicon, x64 for Intel.
  2. Drag SetuSSH onto the Applications folder beside it.
  3. Eject the disk image.
  4. Run this once, then open SetuSSH normally:
xattr -cr /Applications/SetuSSH.app

Or use System Settings > Privacy & Security > Open Anyway after the
first blocked attempt. On macOS 15 and later the old right-click, Open
shortcut no longer works; Open Anyway does.

Linux

The .deb is recommended: sudo apt install ./SetuSSH-*-amd64.deb
The .AppImage is portable but needs libfuse2 and may require
--no-sandbox.

Verifying a download

SHA256SUMS is signed with the SetuSSH release key (SHA256SUMS.asc).

SetuSSH v0.1.0-build.22

Pre-release

Choose a tag to compare

@jayeshbarman jayeshbarman released this 12 Sep 08:18

What's in build 22

AI assistant

  • Custom endpoints work when you paste the full URL. Pasting .../v1/chat/completions (the form every provider's docs show) used to 404 on everything. The app now takes the base from it, so existing saved providers work on the next request with no re-save needed.
  • Errors say what went wrong. Every network failure used to read Connection error. It now names the cause (DNS, refused, reset, timed out, a proxy swapping the TLS certificate), and a 404 tells you what to check in the base URL.
  • Local and self-hosted models show up. Modern -Instruct models (Qwen, Llama, Mistral, Devstral) were being filtered out of the model picker. vLLM, Ollama and LM Studio catalogues are now shown whole, minus embeddings.
  • The AI button is disabled with an explanation on the free plan instead of opening a panel that fails.
  • The model list is limited to models that are good at coding, with prices and a running token and cost readout.

Sessions

  • Folders. Create folders in the sidebar and drag servers into them. Build 21 shipped a "+ Folder" button that did nothing. Fixed.
  • Free-plan limits are real now. After the 7-day trial, servers beyond the first 10 lock with a padlock rather than failing after you click. Nothing is deleted, and a licence key unlocks them all.
  • The trial is 7 days, not 30.
  • Click anywhere on a tab to switch to it, not just the name. Only the x closes.
  • After switching tabs or pasting, the cursor is already in the terminal.

MCP

  • The access token shown in settings was garbage on first reveal (an encryption prefix collision). Fixed. Rotating a token takes effect immediately.

Polish

  • New icon and clearer ribbon buttons.
  • macOS: the "damaged" message is explained on the download page. It is Gatekeeper, not the file.

SetuSSH, terminal, files and tunnels on one connection.

Free for 7 days, no key and no account. After that it keeps working
with up to 10 saved sessions; the AI assistant needs a key.
Request full access any time. Questions go to
support@setussh.com.

Windows and macOS are still under test. SetuSSH is developed every
day on Linux, so that build has the most real hours behind it. The Windows
and macOS builds pass the same automated checks and a platform review, but
expect rough edges. If it crashes, the app offers to send a report, which
is the fastest route to a fix.

Windows

Download SetuSSH-Setup-*.exe and run it. Builds are not code-signed yet,
so SmartScreen shows "Unknown publisher". Click More info, then
Run anyway.

macOS

macOS will say "SetuSSH is damaged and can't be opened." It is not
damaged. That is what Gatekeeper shows for any app Apple has not notarised,
and the checksums below prove the download is intact.

Do not open the app from the disk image. In order:

  1. Open the .dmg: arm64 for Apple Silicon, x64 for Intel.
  2. Drag SetuSSH onto the Applications folder beside it.
  3. Eject the disk image.
  4. Run this once, then open SetuSSH normally:
xattr -cr /Applications/SetuSSH.app

Or use System Settings > Privacy & Security > Open Anyway after the
first blocked attempt. On macOS 15 and later the old right-click, Open
shortcut no longer works; Open Anyway does.

Linux

The .deb is recommended: sudo apt install ./SetuSSH-*-amd64.deb
The .AppImage is portable but needs libfuse2 and may require
--no-sandbox.

Verifying a download

SHA256SUMS is signed with the SetuSSH release key (SHA256SUMS.asc).

SetuSSH v0.1.0-build.21

Pre-release

Choose a tag to compare

@jayeshbarman jayeshbarman released this 01 Sep 09:03

What's in build 21

The first build with Windows and macOS installers since build 14. The Windows and macOS jobs failed on build 20, so that release shipped Linux only. All five installers here come from the same commit.

Split panes

A tab now holds a tree of terminals rather than one.

  • Ctrl+Shift+\: split right (side by side)
  • Ctrl+Shift+-: split down (stacked)
  • Ctrl+Shift+[ and Ctrl+Shift+]: previous and next pane
  • Ctrl+Shift+W: close the focused pane, or the tab if it is the last

Both splits are in the command palette too. Dividers drag, and also resize from the keyboard. Broadcast fans out to every open pane, snippets type into the pane you are looking at, and a tab shows the most urgent status among its panes, so a split where one side dropped still reads as needing attention.

Your tabs survive a restart

Open tabs reopen on next launch. Only session ids and titles are saved, never terminal contents. Restored tabs mount dormant and wait for R instead of dialling out, so relaunching never silently opens shells to production. A server deleted between runs is dropped rather than restored as a dead tab.

Servers get favourites, tags and notes

Star a server and it appears in a Favourites group at the top as well as in its folder. Tags render as clickable chips that filter. The filter box now searches names, hosts, tags and notes, and takes a tag: prefix. Each server records when you last actually connected.

Snippets

Save the commands you retype. They appear in the command palette ordered by real usage. A snippet is inserted at the prompt without a trailing newline. It is arbitrary saved text going into a live shell, so you read it and press Enter yourself.

MCP: let an AI client drive these terminals

An optional local server (Settings, AI access, off by default) lets a client such as Claude Desktop list your servers and work through your SSH connections.

Four gates stand in front of every call: a loopback-only socket, a bearer token, refusal of anything carrying a browser Origin, and a consent prompt showing the exact command. Read-only until you separately allow commands. Credentials are never exposed: list_servers returns names, hosts and tags, and never touches stored passwords or key paths.

"Ask before it acts" offers three tiers: ask every time (default), run routine calls but stop for anything destructive, or run everything. A per-server deny and read-only mode outrank all three.

Fixes

  • The crash dialog was reporting crashes that never happened. Chromium reports its helper processes as gone on a normal quit, and earlier builds logged those as fatal, so an upgrade showed "SetuSSH closed unexpectedly" for a clean exit. Fixed at the reader, so it applies to logs already on disk.
  • Rotating the MCP token handed out a token that could not work. The server captured the token at startup, so "Issue a new token" showed you a value it would reject. It is now read per request.
  • A failure to read the stored token silently issued a new one, which looked exactly like a wrong password. It is now reported.
  • Settings was too narrow: hints wrapped two words to a line and the access token was truncated with no way to copy it. The dialog now sizes to the window, wide values stack, and the URL and token have copy buttons.
  • A port clash reported listen EADDRINUSE; it now says another SetuSSH may be running.
  • Tag chips no longer squeeze the server name.

SetuSSH, terminal, files and tunnels on one connection.

Free for 7 days, no key and no account. After that it keeps working
with up to 10 saved sessions; the AI assistant needs a key.
Request full access any time. Questions go to
support@setussh.com.

Windows and macOS are still under test. SetuSSH is developed every
day on Linux, so that build has the most real hours behind it. The Windows
and macOS builds pass the same automated checks and a platform review, but
expect rough edges. If it crashes, the app offers to send a report, which
is the fastest route to a fix.

Windows

Download SetuSSH-Setup-*.exe and run it. Builds are not code-signed yet,
so SmartScreen shows "Unknown publisher". Click More info, then
Run anyway.

macOS

macOS will say "SetuSSH is damaged and can't be opened." It is not
damaged. That is what Gatekeeper shows for any app Apple has not notarised,
and the checksums below prove the download is intact.

Do not open the app from the disk image. In order:

  1. Open the .dmg: arm64 for Apple Silicon, x64 for Intel.
  2. Drag SetuSSH onto the Applications folder beside it.
  3. Eject the disk image.
  4. Run this once, then open SetuSSH normally:
xattr -cr /Applications/SetuSSH.app

Or use System Settings > Privacy & Security > Open Anyway after the
first blocked attempt. On macOS 15 and later the old right-click, Open
shortcut no longer works; Open Anyway does.

Linux

The .deb is recommended: sudo apt install ./SetuSSH-*-amd64.deb
The .AppImage is portable but needs libfuse2 and may require
--no-sandbox.

Verifying a download

SHA256SUMS is signed with the SetuSSH release key (SHA256SUMS.asc).