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.
Download from the iOS App Store
- 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.
