ShellVibe 1.0.0
First public release. There is no previous version to compare against, so this
entry describes what ShellVibe is rather than what changed.
Added
Terminal
- A local shell on macOS, Windows and Linux, running the user's real login
shell through a PTY. - SSHv2 sessions, with the PTY read on its own isolate and output paced into
frame-sized writes so a burst of output cannot out-run the frame budget. - Mosh transport with network roaming and local-echo prediction, for links that
change address or drop. - Tabs and split panes, saved layouts, and search through the scrollback
(⌘F / Ctrl+Shift+F). - Twenty-nine terminal colour schemes, and twenty-two fonts to set them in —
seven of them Nerd Fonts bundled with the app, so prompt glyphs render
without a network.
Files and forwarding
- Dual-pane SFTP with an atomic upload commit — written to a temporary name and
renamed — and path-traversal checks on every remote path. - A transfer queue that survives navigation, with pause, resume and retry.
- Local, remote and dynamic (SOCKS5) port forwarding.
Hosts and credentials
- Workspaces, host groups, jump hosts, and import from an existing
~/.ssh/config. - An encrypted vault for identities. Secrets are sealed with a data encryption
key that a master password wraps with Argon2id; without the password the
stored rows are unreadable, including to anyone who copies the database file. - Host keys are verified against a known-hosts table. A changed key is never
accepted through the connect flow, and an unknown host requires an explicit
confirmation rather than being trusted on first use. - Failed unlock attempts back off exponentially, from 30 seconds to an hour.
- Encrypted backup to a
.shellvibebak.jsonfile you choose, encrypted with
the master password before it is written.
Automation
- Snippets and runbooks, with variable prompts.
- An MCP bridge (
shellvibe-mcp) that lets an AI client drive a session under
a per-workspace access policy, with an audit log and a one-press control that
cuts every agent's access at once.
Device Link
- Pair a phone with a live desktop terminal session over the local network. The
connection is TLS with the certificate pinned to the key in the pairing QR
code; nothing is relayed through a server of ours, because there is no server
of ours.
Interface
- Nocturne: slabs floating on a night ground, lit from above, separated by
whitespace rather than divider rules. Mono type is reserved for machine data. - Ten application palettes, including the true-black OLED theme it starts on
and the ShellVibe Teal brand palette. - Ten interface fonts, starting on the bundled Inter Tight so a first launch
with no network still renders in the app's own face. - One button component across the whole app, and one icon button, so a control
cannot drift a few pixels or a shade away from its neighbours.
Security
- The SSH stack is
dartssh24.1.0, which implements strict key exchange
(kex-strict-c-v00@openssh.com), the countermeasure against the Terrapin
prefix-truncation attack (CVE-2023-48795). ~/.shellvibe/mcp-endpoint.jsonis locked to0600before the MCP bearer
token is written into it, and thechmodresult is checked: a failure
deletes the file and raises rather than leaving a token at default
permissions.- No analytics, no telemetry and no crash reporting. The update check runs only
when pressed.PRIVACY.mdaccounts for every case in which the app touches
the network.
Known limitations
- The binaries are not code-signed. macOS and Windows will warn that they
cannot tell who built them, and the release notes explain the route through
each warning. Building from source avoids the question entirely. - Linux ships as an AppImage and a portable tarball; there are no
.deb,
.rpmor Flatpak packages yet. - The update check reports that a newer version exists but does not download or
install it. - iOS and Android are not released. The code builds for them and they are not
part of this release.
Verifying your download
Every file is listed in SHA256SUMS:
sha256sum -c SHA256SUMS
These builds are not code-signed
There is no code-signing certificate behind this release yet. Your operating
system does not know who built these files, and it will say so. That warning is
accurate: verify the checksums above before you run anything here.
macOS refuses the app outright and reports that it cannot be checked for
malware. To open it anyway:
- Drag ShellVibe to Applications and try to open it once. It will be blocked.
- Open System Settings → Privacy & Security, scroll to Security, and press
Open Anyway next to the ShellVibe message. - Confirm with your password.
macOS 15 removed the old Control-click shortcut, so this is the only route, and
you will repeat it after every update.
Windows shows "Windows protected your PC" with an unknown publisher. Press
More info, then Run anyway. The warning will not fade with time:
reputation accumulates against a certificate, and there is none.
Linux needs nothing special. chmod +x the AppImage and run it.
Signed builds are planned. Until then — if turning off your operating system's
malware protection for an SSH client is not a trade you want to make, which is
a reasonable position — build it yourself instead:
git clone https://github.com/klc/shellvibe && cd shellvibe
flutter build macos --release # or: linux, windows