A small app. A little more focus.

SSH for your Mac.
One quiet workspace.

Manage your VPS connections, tabs, and split panes
in one native, privacy-first SSH client for macOS.

Coming soon for macOSSee the workspace

Coming soon · Native to macOS · No account. Ever.

A LITTLE LESS FRICTION. A LOT MORE FLOW.A look inside shessh
shessh on macOS with fictional servers. The animated tour types a service check, switches to the worker tab, and opens live logs in a split pane.
The native app. Fictional servers.Animated preview · No live connections
Native to macOS C at the core Zero telemetry Local-first
A SMALLER APP. A CLEARER HEAD.

Everything you need.
Space for everything else.

Made for the everyday rhythm of working
with servers. Thoughtful where it counts.

01

A proper home for SSH.

Keep your VPS profiles close. Import hosts from your SSH config, then connect with a password, private key, or agent.

02

More context. Less switching.

Move between sessions in tabs, or open a split to keep two servers in view. Your workspace, at your pace.

03

Private by default.

Profiles stay on your Mac. Credentials belong in Keychain. Host verification is part of every connection.

FEELS RIGHT AT HOME

Your Mac.
Not a browser
in disguise.

Built with AppKit, a C core, and Metal rendering. Familiar controls, keyboard-first interactions, and the little details that make a Mac app feel like a Mac app.

Built for macOS. Coming soon.
DRoom for one more.
shessh navy icon with a turquoise lightning bolt and terminal cursor
KA command away.
Less overhead. More headspace.
A LITTLE LESS OVERHEAD

Built to stay light.
Here are the numbers.

Real measurements from the native app.
Three fresh runs. Synthetic data. No remote servers.

Apple M5 · 16 GiB RAM · macOS 27.0Release benchmark build · 18 Sep 2026

One tab, full history
127.3MiB
App physical footprint, including Metal.
2,000 retained history rows.
ASCII terminal throughput
22.0MiB/s
Parser, grid, and scrollback.
5 MiB of synthetic text per run.
Local PTY latency · p95
0.134ms
Input to parsed output, 100 samples/run.
Excludes network and display latency.

More sessions. Measured together.

Physical footprint · MiB · lower is better

Whole app totals, not memory per tab. Median and range across three runs.

  • 1 tab
    127.3 MiB117.5–127.6 MiB rangeRSS median: 124.5 MiB
  • 4 tabs
    262.2 MiB252.5–262.6 MiB rangeRSS median: 153.7 MiB
  • 8 tabs
    444.0 MiB434.2–444.3 MiB rangeRSS median: 194.3 MiB
  • 4 visible splits
    209.5 MiB206.6–212.8 MiB rangeRSS median: 205.8 MiB

Each session receives 2,500 lines of Unicode, emoji, and ANSI output through a local PTY. Tabs are visited in sequence; the split test follows the eight-tab cycle.

What these numbers mean

Physical footprint is the app’s macOS memory accounting; RSS measures resident memory. They are separate measurements, not numbers to add together. Child shells and WindowServer are excluded.

What happens over time?

Two earlier 10-minute stress runs processed 300,050 lines each. Footprint stayed within the preset limits in both; the first run failed the RSS trend limit, and the repeat passed all checks.

Methodology, ranges & stability results

Short benchmark · current measured build

Three fresh Release processes, run sequentially without sanitizer or leak instrumentation. Initial window: 1180 × 720 points at 2×. Memory is sampled after output completes; these are workload snapshots, not peak-memory claims. The numbers above are medians; PTY latency is the median of three per-run p95 values.

ASCII throughput ranged from 22.0 to 23.7 MiB/s. Local PTY p95 ranged from 0.133 to 0.144 ms. After closing eight tabs, median footprint was 116.8 MiB; cached memory does not immediately return to the empty-window baseline.

10-minute stress test · earlier measured build

Two runs on the same machine, also on 18 September. One terminal, approximately 500 lines/second, CJK and emoji glyph churn, 120-second warmup, and one sample/second. Both completed GPU submissions throughout the measured intervals. This longer workload is separate from the short benchmark above.

Memory trend after warmup · MiB/minute
RunRSS trendFootprint trendResult
First run1.70-0.31Failed RSS trend
Repeat-0.940.18Passed all limits

Preset limits for both metrics: median growth ≤16 MiB, linear trend ≤1 MiB/minute, and p95–p05 spread ≤64 MiB. The limits were unchanged between runs. These results do not establish hours-long stability or a leak-free app.

Scope & reproduction

One machine and synthetic local workloads; results vary with terminal size, output, cache state, and desktop activity. There is no comparison with another SSH client. Native runs logged a PTY SIGHUP warning during teardown and completed successfully.

The report and measured data are available below. With source access, reproduce the workloads using make benchmark and make memory-soak. The JSON includes individual samples, environment, and a source fingerprint for the short benchmark.

What happens in your terminal stays there.

No account. No tracking. No cloud between you and your servers.

LOCAL FIRST, ALWAYS.
A FEW THINGS TO KNOW

Good questions.
Straight answers.

Here’s what to expect.

What is shessh?

shessh is an SSH client built specifically for macOS. It brings saved server profiles, SSH sessions, tabs, and split panes into a native AppKit application, with a C core and a Metal terminal renderer.

Can I download it today?

Coming soon.

Can I use my existing SSH config and keys?

Yes. Import supported host settings from ~/.ssh/config, or choose another config file. You can also select a private key directly. Import creates a saved profile, rather than a live link to the config. Advanced directives such as ProxyJump and Match are not supported yet.

Does it collect data or require an account?

No account, telemetry, or cloud sync is required. Server profiles are stored locally and saved credentials use macOS Keychain. This website also uses no analytics or tracking cookies.

Is the terminal above connected to a real server?

No. This is an animated preview captured from the native app using fictional server profiles and scripted example output. It does not accept input or connect to a server.

What macOS versions are supported?

The application targets macOS 14 and later, with verification so far on Apple Silicon running macOS 27. Intel and older macOS versions remain unverified.

A LITTLE LESS NOISE STARTS HERE

Make yourself
at localhost

Your next SSH session deserves a nicer place.

Coming soon for macOSComing soon.