A focused iOS SSH client built for developers who live in tmux and Claude Code.
Hermit is not a general-purpose terminal emulator. It connects to remote dev machines, attaches to named tmux sessions, and provides configurable soft keys and voice input for working with Claude Code from your phone.
- SSH connections with private key authentication
- tmux session attach or raw shell
- Configurable ribbon bar with soft keys (send strings, ESC, voice input)
- xterm.js terminal rendering via WKWebView
- Super Whisper voice transcription integration
- Automatic iCloud Drive sync across devices
- Dark mode enforced
- Portrait-only for v1
- iOS 17+
- Xcode 16+
- Clone the repo
- Open
Hermit/Hermit.xcodeprojin Xcode - Build and run on a simulator or device
Session and host configuration is stored in hermit-data.json in your iCloud Drive container. This syncs automatically across all devices signed into the same iCloud account. You can edit this file directly from a Mac:
# In Finder
iCloud Drive → Hermit → Documents → hermit-data.json
# Or via terminal
~/Library/Mobile Documents/iCloud~com~zeromissionllc~hermit/Documents/hermit-data.json
Private keys are stored in the iOS Keychain and do not sync — they must be added per device.
TestFlight and App Store deployment is automated via Fastlane.
cd Hermit
bundle install
cp fastlane/.env.example fastlane/.env
# Fill in your credentials in .env
bundle exec fastlane beta # Upload to TestFlight
bundle exec fastlane release # Submit for App Store reviewSee fastlane/.env.example for required environment variables.
| Concern | Decision |
|---|---|
| Language | Swift, SwiftUI |
| SSH Library | Citadel (SwiftNIO SSH) — integration pending |
| Terminal | xterm.js in WKWebView |
| Data persistence | JSON in iCloud Drive (local fallback) |
| Key storage | iOS Keychain |
| Code signing | Xcode automatic signing |
Hermit/
├── App/ # App entry point, URL scheme handling
├── Models/ # Host, Session, RibbonConfig, AppSettings
├── Storage/ # DataStore (JSON + iCloud), KeychainManager
├── SSH/ # SSHConnectionManager, TerminalBridge (WKWebView)
├── Voice/ # VoiceInputCoordinator, SuperWhisperProvider
├── Views/ # All SwiftUI views
├── Resources/ # terminal.html (xterm.js bundle)
└── fastlane/ # Fastfile, Matchfile, Appfile
Hermit is open source so you can review exactly what runs on your device and how your SSH credentials are handled. Licensed for personal use — this software may not be sold or redistributed commercially.
If you find Hermit useful, consider donating to one of the projects that make it possible:
- Citadel — Swift SSH library built on SwiftNIO
- xterm.js — Terminal frontend component
- SwiftNIO — Event-driven networking framework for Swift
Personal use only. See LICENSE for details.
