Changelog

What changed in each release.

v0.2.4

Latest

New connections are tested first and saved automatically after a successful login.

  • Click Test Connection when adding a server. MyShell signs in with the entered password or selected credential, then saves the connection and opens a terminal. Jump hosts are supported too.
  • Failed tests show the reason and suggestions. Your input stays in the form so you can correct it and retry; failed connections are not saved.
  • Added the macOS local network usage description to explain why MyShell accesses your LAN.
  • Fixed an nvm conflict warning when opening a local terminal in the development app.

v0.2.3

Settings has an About tab now: the version, where your data lives, and links to the site — all in one place.

  • Settings → About shows the version, build number, macOS version and chip architecture, and copies them as one line — paste that into a bug report and save a round trip. The same page links to the changelog, the privacy notice, the guide and feedback.
  • About also spells out where passwords and keys are kept, that the app never goes online by itself, and that it only connects where you point it.
  • The site has a dedicated privacy page now: what is stored where, and when data leaves your Mac, spelled out item by item rather than as a legal template.

v0.2.2

A dropped session reconnects where it happened — your earlier output stays on screen, and dead tabs stop piling up.

  • A dropped SSH session now reconnects inside the tab it happened in, and the output from before the drop stays on screen for you to scroll back through. Every reconnect used to open a new tab and leave the dead one in the sidebar. Reconnecting also re-reads the saved connection, so an address or port you changed while it was down is picked up.
  • When only the shell exited and the connection is still up, reopening the terminal happens in the same tab too, over that same connection.
  • AI assistants can now upload files to your servers through the Local API: give it a local path and a remote path, and tens of megabytes are no problem. An existing remote file is never overwritten unless you ask, and an interrupted or cancelled transfer never leaves a half-written file at the destination.
  • Fixed: switching where the bastion login is stored became impossible once the system Keychain could no longer be read. Re-entering the password and the two-factor secret now moves it.

v0.2.1

One click in Settings, and Claude Code and Codex can work on your servers through MyShell.

  • New in Settings → Local API: AI Assistant Skill. One click installs it into Claude Code and Codex, after which they know how to run commands on your servers using the connections saved in MyShell. A skill you have edited yourself is never silently overwritten.
  • Long-running commands through the Local API are no longer capped at two minutes: builds and deploys return right away, and you fetch new output whenever you like.
  • Machines behind your bastion can now be connected through the Local API directly, without opening them in the app first.
  • Fixed: when a command run through the Local API timed out, the whole SSH connection was dropped with it. Now only that command stops, and the connection stays usable.
  • The highlight bar on the selected Settings tab is no longer clipped by its rounded corners.

v0.2.0

Save the commands you keep retyping, and pull them up in any session.

  • New Snippets library: save the commands you keep retyping and pull them up in any session with ⌘⇧P or the Snippets button. Type to filter, press Return to drop it on the prompt — it does not run until you press Return yourself.
  • A snippet can be scoped to certain machines, a group or a tag. Leave it unscoped and it works everywhere; a session only lists what applies to it.
  • Each snippet has a copy button, for when you want the command somewhere other than the terminal.
  • The SFTP panel gets a ⌘⇧F shortcut, both panels show their key in the title bar, and both can be rebound in Settings.
  • Builds are now signed and notarized by Apple: double-click to open, no Terminal command to clear the quarantine flag. Upgrading no longer locks you out of saved bastion passwords either.
  • Search boxes now take input-method typing directly, without clicking into them first.

v0.1.9

Sign in to your JumpServer account once: your machines sync in and connect with a click.

  • Add your JumpServer account once in Settings → Bastion (authenticator-app 2FA supported). Your machines appear in Connections and open with a click — no more copying login details from the web page.
  • The password is kept in the macOS Keychain by default, or in a locally encrypted file if you prefer. It is read only when needed, never at launch, and the app says why first.
  • Pasting bastion login details is now optional and off by default; turn it on in Settings → Bastion.
  • Live load leaves bastion machines out unless you switch them on.

v0.1.8

There is a website now, and the title bar has its own mark.

  • The website is live at myshell.flyooo.uk, with a guide, Local API docs, this changelog and the design philosophy — in Chinese and English.
  • Installers are now downloaded from the website.
  • The title bar shows the product mark next to the wordmark — the same shape as the Dock icon.

v0.1.7

Connections and live load became two stacked floors you can pull between.

  • Scroll the connection list to the top and keep pulling to reach the live load page. At the bottom of that page, pull up to come back.
  • ⌘J opens a session switcher. The keyboard starts on the list; just type to filter by name or IP. Esc leaves the search box, then the panel.
  • ⌘E renames the current session — no more double-clicking the sidebar.
  • Fixed: the Enter that commits a Chinese IME candidate was also submitting the half-typed command underneath it.
  • Fixed: full-width punctuation from a Chinese IME sometimes came out half-width.
  • Fixed: custom shortcuts did nothing whenever the terminal had focus.

v0.1.6

Paste a bastion’s one-time credentials to connect — and paste again when they expire.

  • Paste the whole block copied from JumpServer and it connects. Paste again after the credentials change — no duplicates.
  • Live load page: latency, 1/5/15-minute load, CPU, memory and every mounted filesystem for all machines on one screen.
  • Connections shows how long a login has left and offers a one-click re-paste once it expires.
  • Fixed: after changing credentials, new sessions could still use the old account.

v0.1.5

Reach internal machines through a jump host, and reuse a single login everywhere.

  • Connections can have an internal address and a jump host.
  • Log in to a machine once; more tabs and the file panel no longer ask again.
  • Local API: local scripts can run commands on servers you are connected to, without handing over a password.
  • Import a PEM file when creating a credential.
  • Fixed: some dialogs could not be clicked.
  • Fixed: text was too thin to read against the dark background.

v0.1.4

  • SSH now supports private key and certificate authentication.
  • Connection fields strip junk characters that come along with a paste.

v0.1.3

  • Stability fixes.

v0.1.2

  • Copy a connection as an ssh command, or parse one from the clipboard.
  • JetBrainsMono Nerd Font ships as the default terminal font.
  • Fixed: terminal ANSI colours and Unicode rendering.

v0.1.1

  • Sessions can be renamed, with a shortcut to switch between them.
  • Configuration backup and manual restore.

v0.1.0

The first usable build.

  • Local terminals and SSH sessions, vertical tabs, connection management, SFTP file panel.

Follow releases in a feed reader →

Missing a feature, or something in the way? One line is enough, and there is no sign-up.
Send feedback →