A native terminal workspace for macOS.
Keep shells, coding agents, logs, and long-running tasks organized in one window with tabs, splits, named workspaces, and Quake mode.
Website · Download · Documentation · Releases
QuickTTY is a native AppKit terminal powered by the full libghostty engine. It is designed for developers who need several live shells without turning terminal management into another project.
- Tabs and binary splits — arrange interactive shells, logs, tests, and agents side by side.
- Named workspaces — switch projects while background processes keep running.
- Normal and Quake modes — move the same live workspace between a standard window and a drop-down presentation without restarting shells.
- Broadcast input — send keyboard input or a confirmed paste to every pane in the active tab.
- Native search — search the active terminal with match navigation and result counts.
- Coding-agent progress — surface OSC
9;4progress from Pi, Claude Code, Codex, and compatible tools across tabs and workspaces. - Ghostty configuration and themes — use the terminal engine's rendering, shell integration, fonts, palettes, and themes.
QuickTTY requires macOS 15 or newer on an Apple Silicon Mac.
- Download the latest stable DMG.
- Open the DMG and move QuickTTY to Applications.
- Launch QuickTTY. Stable builds are signed with Developer ID and notarized by Apple.
QuickTTY can check for stable updates in the app. An opt-in beta channel is also available; see the release channels page for details.
The QuickTTY documentation covers installation, configuration, keyboard shortcuts, Quake mode, broadcast input, search, workspaces, and coding-agent integrations.
QuickTTY reads its user configuration from:
~/.config/quicktty/config
Open it from QuickTTY → Open Configuration…. Valid changes reload without recreating terminal sessions. QuickTTY owns application shortcuts; supported local bindings use repeated quicktty-shortcut entries rather than Ghostty keybind entries.
- macOS 15 or newer on Apple Silicon
- Full Xcode installation
- XcodeGen 2.45.4 or newer
- Apple Swift Format, available as
swift format - Zig exactly 0.15.2 for the pinned Ghostty revision
Clone the repository with its submodules, verify the toolchain, and build:
git clone --recurse-submodules https://github.com/dntsk/quicktty.git
cd quicktty
make doctor
make buildIf the repository was cloned without submodules:
git submodule update --init --recursiveCommon development commands:
make generate # Generate the Xcode project
make format # Format Swift sources
make lint # Run static and contract checks
make build # Build the Debug app
make test # Run the test suite
make check # Run the complete local verificationGenerated Xcode projects, Ghostty XCFrameworks, and DerivedData are not committed.
Contributions are welcome. Read CONTRIBUTING.md before opening a pull request. Larger feature proposals should start with an issue so they can be checked against QuickTTY's intentionally focused product scope.
Release signing, notarization, and appcast maintenance follow the repository's release runbook. Third-party attribution is recorded in THIRD_PARTY_NOTICES.md.
The beta channel is a superset of stable. After every newer stable or beta application release, promote the exact final appcast to docs/appcasts/beta.xml with make beta-feed in a separate post-release commit. Follow the release runbook rather than editing the feed manually.
QuickTTY is available under the MIT License.
