A macOS terminal app built on Ghostty (libghostty) with workspace-based session management and persistent tmux-backed sessions.
Grab the latest signed and notarized DMG from Releases.
Requires macOS 15.0 (Sequoia) or later, Apple Silicon.
fantastty-note command for adding notes from the terminal.Fantastty includes a shell integration script that adds terminal commands:
source ~/.fantastty/shell-integration/fantastty.sh
# Add a note to the current workspace
fantastty-note "deploy finished"
fn "shorter alias works too"
Zsh integration (pwd tracking, escape sequence passthrough) is set up automatically when persistent sessions are enabled.
xcodebuild -downloadComponent MetalToolchain)vendor/ghostty/build.zig.zon for the required version)Make sure Xcode is the active developer directory:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
# Clone with submodules
git clone --recursive https://github.com/blaine/fantastty.git
cd fantastty
# Build the GhosttyKit xcframework (takes a few minutes)
make xcframework
# Open in Xcode and build, or:
xcodebuild -scheme Fantastty -configuration Debug build
The scripts/build-release.sh script builds a signed, notarized DMG:
# Full build with notarization (requires Developer ID certificate + notarytool credentials)
./scripts/build-release.sh
# Local testing without notarization
./scripts/build-release.sh --skip-notarize
Output lands in build/release/Fantastty.dmg.
Tagged GitHub Actions releases attach the notarized DMG and Sparkle appcast to
GitHub Releases. Installed builds check
https://github.com/blaine/fantastty/releases/latest/download/appcast.xml via
the Check for Updates... app menu item.
Fantastty is a SwiftUI app that uses Ghostty's libghostty as a static library for terminal rendering. Session persistence is handled through tmux:
Workspace metadata (names, notes, URLs, tags) is persisted in ~/.fantastty/workspaces.json. Layout state (sidebar order, tab order, selections) is saved to ~/.fantastty/layout.json on quit and restored on launch.
Swift
72.1%
Go
25.9%
Python
1.4%
A macOS terminal app built on Ghostty (libghostty) with workspace-based session management and persistent tmux-backed sessions.
Grab the latest signed and notarized DMG from Releases.
Requires macOS 15.0 (Sequoia) or later, Apple Silicon.
fantastty-note command for adding notes from the terminal.Fantastty includes a shell integration script that adds terminal commands:
source ~/.fantastty/shell-integration/fantastty.sh
# Add a note to the current workspace
fantastty-note "deploy finished"
fn "shorter alias works too"
Zsh integration (pwd tracking, escape sequence passthrough) is set up automatically when persistent sessions are enabled.
xcodebuild -downloadComponent MetalToolchain)vendor/ghostty/build.zig.zon for the required version)Make sure Xcode is the active developer directory:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
# Clone with submodules
git clone --recursive https://github.com/blaine/fantastty.git
cd fantastty
# Build the GhosttyKit xcframework (takes a few minutes)
make xcframework
# Open in Xcode and build, or:
xcodebuild -scheme Fantastty -configuration Debug build
The scripts/build-release.sh script builds a signed, notarized DMG:
# Full build with notarization (requires Developer ID certificate + notarytool credentials)
./scripts/build-release.sh
# Local testing without notarization
./scripts/build-release.sh --skip-notarize
Output lands in build/release/Fantastty.dmg.
Tagged GitHub Actions releases attach the notarized DMG and Sparkle appcast to
GitHub Releases. Installed builds check
https://github.com/blaine/fantastty/releases/latest/download/appcast.xml via
the Check for Updates... app menu item.
Fantastty is a SwiftUI app that uses Ghostty's libghostty as a static library for terminal rendering. Session persistence is handled through tmux:
Workspace metadata (names, notes, URLs, tags) is persisted in ~/.fantastty/workspaces.json. Layout state (sidebar order, tab order, selections) is saved to ~/.fantastty/layout.json on quit and restored on launch.
Swift
72.1%
Go
25.9%
Python
1.4%