A native macOS terminal for agent-driven development, built on Ghostty.
$ npx -y skills add dedene/zentty --agent claude-code
What's inside
Layout
Agents
op or ssh-agent asks for approval, Zentty tells you which pane triggered it and can jump there.Supported agents: Amp, Antigravity, Claude Code, Codex, Copilot CLI, Cursor, Devin, Droid, Gemini CLI, Grok Build, Hermes Agent, Kimi, Mistral Vibe, Oh My Pi, OpenCode, Pi, and Small Harness. Any other tool can join via the Agent Status Protocol.
Projects
Remote and terminal
zentty CLI.See Zentty CLI for command-line usage.
Agents can install the Zentty CLI skill to discover pane-aware commands while running inside Zentty:
npx skills add dedene/zentty
With Homebrew:
brew install --cask zentty
Or download the latest .dmg from the releases page, open it, and drag Zentty to your Applications folder.
Zentty updates itself in place via Sparkle once installed. No need to check back here for new versions.
Builds are signed and notarized by Zenjoy BV. Requires macOS 14 (Sonoma) or later.
Zentty is in active development. Expect rapid iteration, rough edges, and occasional breaking changes while the project is opened up.
zig on PATHgettext on PATHZentty requires a local GhosttyKit.xcframework before the app can build normally.
Build the framework:
./scripts/build_ghosttykit.sh
Then build the app:
xcodebuild -project Zentty.xcodeproj -scheme Zentty -destination 'platform=macOS' build
If you need to regenerate the Xcode project from project.yml:
bundle exec fastlane mac generate_project
Swift package versions are pinned in Zentty.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved, which is committed. The version ranges in project.yml say what is allowed; the resolved file says what actually ships. Release builds run with automatic package resolution disabled, so they fail rather than drift when the pins no longer satisfy the ranges.
To bump a dependency, update the range in project.yml if needed, then resolve and commit the new pins:
xcodebuild -resolvePackageDependencies -project Zentty.xcodeproj -scheme Zentty
git add Zentty.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
The release lane builds Sparkle's generate_appcast from the pinned Sparkle revision. It reuses a checkout that already sits at that revision (the release build's build/SourcePackages, or Xcode's DerivedData) and otherwise clones it into build/sparkle-tools. bundle exec fastlane mac build_generate_appcast builds the tool on its own.
More detail about the Ghostty bootstrap flow lives in docs/ghosttykit-setup.md.
Run the full test suite:
ZENTTY_TEST_DISPLAY_PROVIDER=betterdisplay scripts/test-on-virtual-display
Zentty bundles helper commands and environment variables for agent-aware workflows inside terminal panes.
Hook configuration details are documented in docs/agent-hooks.md.
For Kimi specifically: do first-time auth with kimi login before using wrapped kimi inside Zentty. Zentty passthroughs Kimi's management commands directly to the real Kimi binary so login/logout keep using the default Kimi config. If you want a specific model, prefer kimi --model <model-id> or set default_model in ~/.kimi/config.toml (or ~/.kimi-code/config.toml for modern Kimi Code CLI).
Contributions are welcome. Start with CONTRIBUTING.md.
Before a non-trivial contribution can be merged, contributors must agree to CLA.md.
Zentty is available under the GNU General Public License v3.0 only (GPL-3.0-only). See LICENSE.
If your organization cannot or does not want to comply with GPLv3, alternative commercial licensing may be available from Zenjoy BV. Contact hallo@zenjoy.be.
The GPL license covers the code. It does not grant rights to use the Zentty name, logos, icons, or other branding for your own distribution.
See TRADEMARKS.md for branding rules.
FAQ
zentty is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes zentty-cli. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it