https://github.com/skydiver/ghostcode
macOS AI coding terminal manager based on Ghostty
https://github.com/skydiver/ghostcode
ai-coding claude-code codex ghostty macos opencode swiftui terminal terminal-emulator
Last synced: about 2 months ago
JSON representation
macOS AI coding terminal manager based on Ghostty
- Host: GitHub
- URL: https://github.com/skydiver/ghostcode
- Owner: skydiver
- License: mit
- Created: 2026-04-02T05:23:23.000Z (2 months ago)
- Default Branch: GhostCode
- Last Pushed: 2026-04-07T22:10:39.000Z (2 months ago)
- Last Synced: 2026-04-08T00:06:53.413Z (2 months ago)
- Topics: ai-coding, claude-code, codex, ghostty, macos, opencode, swiftui, terminal, terminal-emulator
- Language: Zig
- Homepage:
- Size: 67.4 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
GhostCode
macOS AI coding terminal manager based on Ghostty
About
·
Features
·
Install
·
Building
·
License
> [!IMPORTANT]
> **GhostCode is an independent, unofficial fork of [Ghostty](https://github.com/ghostty-org/ghostty) v1.3.1.**
>
> All terminal emulation is provided by Ghostty's core engine. GhostCode adds a SwiftUI application layer on top for AI coding workflows. It does not track upstream Ghostty changes.
>
> GhostCode is **not affiliated with, endorsed by, or supported by** the Ghostty project or Mitchell Hashimoto. The original Ghostty source code is licensed under the MIT License — Copyright (c) 2024 Mitchell Hashimoto, Ghostty contributors.
## About
GhostCode is a macOS-native application that wraps [Ghostty's](https://ghostty.org) terminal engine in a purpose-built interface for AI-assisted coding workflows. It provides a three-panel layout — project sidebar, terminal, and command palette — designed around managing multiple projects where each runs an AI coding assistant.
Rather than being a general-purpose terminal emulator, GhostCode is opinionated: it launches AI CLI tools ([Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Codex](https://github.com/openai/codex), or [OpenCode](https://github.com/opencode-ai/opencode)) inside Ghostty-powered terminals, with project-aware context and quick-access commands alongside them.
GhostCode is **macOS only**, built entirely with SwiftUI and AppKit.
## Install
Download the latest universal binary from the [Releases](https://github.com/skydiver/GhostCode/releases) page.
**The app is signed and notarized by Apple** — you can run it immediately without Gatekeeper warnings.
1. Download `GhostCode--universal.zip`
2. Unzip and drag `GhostCode.app` to your Applications folder
3. Launch GhostCode
Requires macOS 13.0 or later. Runs natively on both Apple Silicon and Intel Macs.
## Screenshots
| | |
| ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| [](.assets/screenshot-splash.png) | [](.assets/screenshot-landing.png) |
| Splash screen with project list and command palette | Project landing page with binary picker |
| [](.assets/screenshot-terminal.png) | [](.assets/screenshot-opencode.png) |
| Active Claude Code session | OpenCode session with command palette |
## Features
### Project Management
- Project list with live git status — branch name, dirty state, ahead/behind counts
- Per-project AI binary preference (Claude Code, Codex, or OpenCode)
- Project landing page showing session count and last-used date
- "Open With" context menu integration (VS Code, Tower)
### Terminal Sessions
- Powered by Ghostty's terminal engine (`libghostty`)
- Multiple tabs per project (AI and shell) with standard macOS keyboard shortcuts
- Session resume support for Claude Code (`--continue`)
- Background session indicators (active/inactive/visible state tracking)
- Terminal exit detection with automatic return to landing page
### Command Palette
- Configurable command buttons defined in JSONC
- Flow and list layout modes with section headers
- File watcher — auto-reloads on save, no restart needed
- Tooltip support on command buttons
### Configuration
All configuration lives in `~/.config/ghostcode/`:
| File | Purpose |
| ---------------- | ----------------------------------------------------- |
| `config` | Terminal settings, layered on top of Ghostty defaults |
| `projects.jsonc` | Project directory list |
| `commands.jsonc` | Command palette buttons and sections |
JSONC (JSON with Comments) is supported across all config files.
## Supported Binaries
| Binary | Resume Session | Session Info |
| ----------- | ------------------ | ------------ |
| Claude Code | Yes (`--continue`) | Yes |
| Codex | — | — |
| OpenCode | — | — |
## Building
GhostCode requires building the Ghostty core (Zig) and then the macOS app (Xcode).
1. **Build the Ghostty core** — follow the instructions in [HACKING.md](HACKING.md) to set up the Zig toolchain and build `libghostty`.
2. **Build the macOS app** — open `macos/Ghostty.xcodeproj` in Xcode and build the **GhostCode** scheme.
The bundle identifier is `com.flydev.ghostcode`, so GhostCode can be installed alongside Ghostty without conflict.
## License and Attribution
GhostCode is a derivative work of [Ghostty](https://github.com/ghostty-org/ghostty), distributed under the **MIT License**.
The original Ghostty source code and its copyright belong to its authors:
> Copyright (c) 2024 Mitchell Hashimoto, Ghostty contributors
See the [LICENSE](LICENSE) file for the full license text.
GhostCode is **not affiliated with, endorsed by, or supported by** the Ghostty project, Mitchell Hashimoto, or any Ghostty contributors. Any issues with GhostCode should be directed to the [GhostCode repository](https://github.com/skydiver/GhostCode), not to the upstream Ghostty project.
## Acknowledgments
GhostCode exists because of the excellent work by [Mitchell Hashimoto](https://mitchellh.com) and the [Ghostty contributors](https://github.com/ghostty-org/ghostty). Thank you for building a fast, native, and well-architected terminal emulator.