A simple native macOS terminal built with Swift and libghostty. Minimal be design - suited for everyday use, just not packed with the bells and whistles power users expect.
- Real PTY shells via Ghostty’s Metal renderer
- Multi-window and tabs (⌘N / ⌘T / ⌘W, ⌘⇧[ / ⌘⇧])
- Color themes from the GhosttyTheme catalog
- Font family, size, weight, and line height
- Window padding, starting position, and character-grid size
- In-app keyboard shortcuts sheet (Settings)
Full list: docs/FEATURES.md.
Homebrew (recommended):
brew trust --tap 0x96f/justty
brew tap 0x96f/justty
brew install --cask justtyThe cask clears Gatekeeper quarantine on install. Details: docs/HOMEBREW.md.
Manual:
- Download
Justty-macos.zipfrom the latest release. - Unzip it - you should get
Justty.app. - Move
Justty.appsomewhere lasting (for example/Applicationsor~/Applications). - Open it (see below if macOS blocks the first launch).
Release builds are signed with a stable Justty Self-Signed identity (not an Apple Developer ID / not notarized). Verify both the Authority string and the leaf SHA-256 fingerprint (CN alone is forgeable):
codesign -dv --verbose=4 Justty.app
# expect Authority=Justty Self-Signed
codesign --verify --verbose=4 Justty.app
codesign -d --extract-certificates=/tmp/justty-cert Justty.app
openssl x509 -inform DER -in /tmp/justty-cert0 -noout -fingerprint -sha256
# expect SHA256 Fingerprint=82:9B:F9:9F:A6:C3:28:64:98:C3:57:24:04:3A:F2:CD:71:4B:35:BD:D1:C2:88:B7:D8:86:B6:C2:DD:E2:2C:11
rm -f /tmp/justty-cert*Gatekeeper may still say the app “can’t be opened because it is from an unidentified developer.”
Recommended: right-click (or Control-click) Justty.app → Open → Open again in the dialog. You only need to do this once.
Alternative (clears the quarantine flag after download):
xattr -dr com.apple.quarantine /path/to/Justty.app
open /path/to/Justty.appMore help: docs/TROUBLESHOOTING.md. Maintainers: docs/SIGNING.md.
- macOS 15.6+
- Xcode 16+ (with Swift 5 / macOS SDK) to build from source
git clone --recurse-submodules <your-repo-url> justty
cd justty
open justty.xcodeprojIf you already cloned without submodules:
git submodule update --init --recursiveBuild and run the justty scheme. App sandbox is off so Ghostty can spawn a real shell (.exec).
If packages fail to resolve or shells won’t start, see docs/TROUBLESHOOTING.md.
MIT