Build from Source
Requirements#
- macOS 15.6 or later
- Xcode 16 or later, with Swift 5 and the macOS SDK
Clone#
git clone --recurse-submodules https://github.com/0x96f/justty.git justty
cd justty
open justty.xcodeprojAlready cloned without submodules? Fix it in place:
git submodule update --init --recursiveBuild#
Select the justty scheme and run.
The app sandbox is off (ENABLE_APP_SANDBOX = NO) so Ghostty's .exec backend can spawn a real login shell. Turning the sandbox on breaks shells; see Architecture.
Tests#
Host unit tests use Swift Testing and live in justtyTests/:
xcodebuild -project justty.xcodeproj -scheme justty -destination 'platform=macOS' testUpdating libghostty#
Bump the Vendor/libghostty-spm submodule intentionally, pinning a known tag or commit. Clean DerivedData and rebuild afterward so you are not linking a stale binary framework.
If the build fails#
Troubleshooting covers unresolved packages, missing submodules, and stale frameworks.