A native macOS terminal for agent-driven development, built on Ghostty.
$ npx -y skills add dedene/zentty --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
What's inside
libghostty, wrapped in a native Swift and AppKit shell. No Electron, no web views. It feels like a Mac app because it is one.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
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
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.
.gitignore
.wtp.yml
AGENTS.md
assets/
dmg/
background.png
background.tiff
background@2x.png
icon.png
screenshot.png
CLA.md
CLAUDE.md
CONTRIBUTING.md
docs/
agent-hooks.md
agent-status-protocol.md
cli.md
ghosttykit-setup.md
fastlane/
.env.example
Appfile
ExportOptions.plist
Fastfile
Matchfile
release_automation_test.rb
release_automation.rb
Gemfile
Gemfile.lock
LICENSE
mise.toml
project.yml
README.md
scripts/
agent-bench/
agent_bench.py
fixtures/
claude_stop_then_late_notification.jsonl
cursor_subagent_lifecycle.jsonl
profiles/
agy.json
amp.json
claude.json
codex.json
copilot.json
cursor.json
droid.json
gemini.json
grok.json
hermes.json
kimi-code.json
kimi.json
omp.json
opencode.json
pi.json
small-harness.json
vibe.json
README.md
tests/
test_agent_bench.py
build_ghosttykit.sh
generate_third_party_licenses.swift
ghosttykit.lock
licenses/
overrides.json
sync_ghostty_themes.sh
test_build_ghosttykit_tag_refresh.sh
test_virtual_display_harness.sh
test-agy-bench
test-hosted-on-virtual-display
test-modern-shell-integrations
test-on-virtual-display
test-vibe-bench
skills/
zentty-cli/
agents/
openai.yaml
SKILL.md
TRADEMARKS.md
Vendor/
FuzzyMatch/
LICENSE
Package.swift
Sources/
FuzzyMatch/
EditDistance.swift
FuzzyMatch.docc/
AlgorithmOverview.md
FuzzyMatch.md
GettingStarted.md
QualityAndPerformance.md
FuzzyMatcher.swift
FuzzyMatcher+Convenience.swift
FuzzyMatcher+SmithWaterman.swift
FuzzyQuery.swift
Highlighting/
EditDistancePositions.swift
FuzzyMatcher+AttributedString.swift
FuzzyMatcher+Highlight.swift
SmithWatermanPositions.swift
MatchConfig.swift
MatchKind.swift
Prefilters.swift
ScoredMatch.swift
ScoringBonuses.swift
ScoringBuffer.swift
SmithWaterman.swift
SmithWatermanConfig.swift
Trigrams.swift
WordBoundary.swift
Zentty/
Zentty.xcodeproj/
project.pbxproj
project.xcworkspace/
contents.xcworkspacedata
xcshareddata/
xcschemes/
Zentty.xcscheme
AppDelegate.swift
AppIcon.icon/
Assets/
Background.png
Foreground.png
icon.json
AppMenuBuilder.swift
AppState/
Agent/
AgentConsentCoordinator.swift
AgentEventBridge.swift
AgentIntegrationConsent.swift
AgentIntegrationGrandfather.swift
AgentInteractionClassifier.swift
AgentIPC.swift
AgentIPCProtocol.swift
AgentLaunchBootstrap.swift
AgentStatus.swift
AgentStatusCenter.swift
AgentStatusCommand.swift
AgentStatusHelper.swift
AgentStatusPayload.swift
AgyCanonicalReEmitter.swift
AgyHooksInstaller.swift
AmpPluginInstaller.swift
AmpResumeArgumentSanitizer.swift
AppSideCanonicalReEmitting.swift
ClaudeHookSessionStore.swift
CodexTranscriptQuestionExtractor.swift
CursorHooksInstaller.swift
DiscoveryIPCHandler.swift
DroidHooksInstaller.swift
DroidTaskStore.swift
EventAdapters/
AgentEventAdapters+Shared.swift
AgentEventAdapting.swift
AgyEventAdapter.swift
ClaudeEventAdapter.swift
CodexEventAdapter.swift
CodexNotifyEventAdapter.swift
CopilotEventAdapter.swift
CursorEventAdapter.swift
DroidEventAdapter.swift
GeminiEventAdapter.swift
GrokEventAdapter.swift
HermesEventAdapter.swift
KimiEventAdapter.swift
VibeEventAdapter.swift
GrokCanonicalReEmitter.swift
GrokHooksInstaller.swift
HermesHooksInstaller.swift
HookCanonicalReEmitter.swift
HooksInstalling.swift
JSONCRelaxedParse.swift
JSONKeyAccess.swift
KimiHooksInstaller.swift
OpenCodeLiveThemeSync.swift
OpenCodeOverlayLayout.swift
OpenCodeThemeSync.swift
PaneAgentReducer.swift
PaneAgentReducerState+Codex.swift
PaneIPCHandler.swift
PiFamilyLaunchPolicy.swift
Presentation/
PresentationDraft.swift
PresentationPipeline.swift
PresentationReducer.swift
PresentationReducerContext.swift
Reducers/
ClaudeCodeTitleOverrideReducer.swift
CodexTitlePromotionReducer.swift
CopilotOSCProgressReducer.swift
CopilotTitleNeedsInputReducer.swift
ExplicitAgentStateReducer.swift
FallbackTitleHeuristicReducer.swift
GenericProgressReducer.swift
HermesTitleOverrideReducer.swift
ProcessCWDResolver.swift
ServerIPCHandler.swift
Status/
AgentStatusReconciliation.swift
CodexToolStatusResolver.swift
CodexToolStatusResolver+Idle.swift
CodexToolStatusResolver+Interrupt.swift
CodexToolStatusResolver+Predicates.swift
CodexToolStatusResolver+ShellReturn.swift
CodexToolStatusResolver+Title.swift
PaneToolStatusResolving.swift
TerminalMetadataChangeClassifier.swift
TmuxCompatArguments.swift
TmuxCompatIPCHandler.swift
TmuxCompatStore.swift
TmuxFormatRenderer.swift
UnixSocketHandle.swift
VibeCanonicalReEmitter.swift
VibeHooksInstaller.swift
NotificationSoundManager.swift
NotificationStore.swift
PaneAuxiliaryState.swift
PaneDisplayIdentityResolver.swift
PaneFocusHistory.swift
PaneFocusHistoryController.swift
PaneNotificationCoordinator.swift
PaneShellContext.swift
Review/
WorklaneReviewStateResolver.swift
WorklaneAttentionNotificationCoordinator.swift
WorklaneAttentionSummaryBuilder.swift
WorklaneContextFormatter.swift
WorklaneDestinationCatalog.swift
WorklaneHeaderSummary.swift
WorklaneHeaderSummaryBuilder.swift
WorklaneSessionEnvironment.swift
WorklaneStore.swift
WorklaneStore+AgentStatus.swift
WorklaneStore+Color.swift
WorklaneStore+DragDrop.swift
WorklaneStore+Metadata.swift
WorklaneStore+PaneTitle.swift
WorklaneStore+Reordering.swift
WorklaneStore+Restore.swift
WorklaneStore+ReviewState.swift
WorklaneStore+Title.swift
Bookmarks/
BookmarkNameSuggester.swift
BookmarkRestoreLogger.swift
BookmarkStore.swift
WorkspaceTemplate.swift
WorkspaceTemplateCapture.swift
WorkspaceTemplateExporter.swift
WorkspaceTemplateImporter.swift
Config/
AppConfig.swift
AppConfigStore.swift
AppConfigTOML.swift
ErrorReporting.swift
SentryErrorReportingClient.swift
ZenttyBreadcrumbs.swift
Info.plist
Input/
CommandTooltipFormatter.swift
KeyboardShortcut.swift
KeyboardShortcutPreview.swift
KeyboardShortcutResolver.swift
PaneCommand.swift
ShortcutPreset.swift
Layout/
PaneDragHitTesting.swift
PaneDragOutcome.swift
PaneDragSession.swift
PaneDropResolver.swift
PaneLayoutPreferences.swift
PaneLayoutSizing.swift
PaneStripState.swift
main.swift
MainActorShim.swift
MainWindowController.swift
Motion/
PaneDragEdgeScrollDriver.swift
PaneDragSidebarEdgeScrollDriver.swift
PaneStripMotionController.swift
TrackpadPanGestureDriver.swift
OpenWith/
OpenWithCatalog.swift
OpenWithService.swift
ProjectFileResolver.swift
Project/
ProjectIconResolver.swift
Restore/
ClosedPaneEntry.swift
ClosedPaneRestoreHelpers.swift
ClosedPaneStack.swift
PaneRestorationBuilder.swift
SessionRestoreStore.swift
WorkspaceRecipe.swift
Servers/
DetectedServer.swift
DockerServerDiscovery.swift
PassiveServerDetection.swift
ProcessInspection.swift
ProcessSignaling.swift
ServerBrowserCatalog.swift
ServerIPCCommands.swift
ServerListenerScanner.swift
ServerMenuModel.swift
ServerOpenService.swift
ServerOutputURLDetector.swift
ServerPortRule.swift
ServerProcessTerminator.swift
ServerRegistry.swift
ServerRelevance.swift
ServerURLNormalizer.swift
ServerWatchRunner.swift
WindowServerCommandService.swift
Support/
FileManager+SymlinkWrite.swift
TaskManager/
TaskManagerModels.swift
TaskManagerProcessSampler.swift
TaskManagerWindowController.swift
TaskRunners/
TaskfileParser.swift
TaskRunnerDiscoveryService.swift
TaskRunnerModels.swift
TaskRunnerSourceScanner+Formats.swift
Terminal/
CleanCopyChromeDecoration.swift
CleanCopyCommandFlattening.swift
CleanCopyOptions.swift
CleanCopyParagraphDedent.swift
CleanCopyPipeline.swift
CleanCopyPrompts.swift
CleanCopyURLHelpers.swift
CommandFlattenAggressiveness.swift
LibghosttyAdapter.swift
LibghosttyRuntime.swift
LibghosttySelectionAutoscrollController.swift
LibghosttySurface.swift
LibghosttyView.swift
MarkdownReformatter.swift
MockTerminalAdapter.swift
PaneSSHProcessProbe.swift
RemoteFileUploadRequest.swift
RemoteImagePasteDecision.swift
RemoteImageUploader.swift
RemoteImageUploadPath.swift
ShellEscaping.swift
TerminalAdapter.swift
TerminalClipboard.swift
TerminalClipboardImagePolicy.swift
TerminalDiagnostics.swift
TerminalFrameMeter.swift
TerminalMetadata.swift
TerminalPaneHostView.swift
TerminalScrollFrameSampler.swift
TerminalViewportDiagnostics.swift
URLQueryParamRules.swift
ZenttyPerformanceSignposts.swift
UI/
About/
AboutMetadata.swift
AboutViewController.swift
AboutWindowController.swift
LicensesWindowController.swift
ThirdPartyLicenseCatalog.swift
Agent/
AgentIntegrationConsentPanel.swift
AppActionRouter.swift
Bookmarks/
BookmarkRestoreBannerView.swift
BookmarkSaveSheetController.swift
BookmarksPopoverMetrics.swift
BookmarksPopoverView.swift
BookmarksPopoverViewModel.swift
SidebarBookmarksButton.swift
Canvas/
AppCanvasView.swift
Chrome/
LeadingChromeControlsBar.swift
NotificationInboxButton.swift
NotificationPopoverView.swift
PaneNavigationButtons.swift
WindowChromeRowLayoutPlanner.swift
WindowChromeView.swift
CommandPalette/
CommandAvailabilityResolver.swift
CommandPaletteBackdropView.swift
CommandPaletteController.swift
CommandPaletteItem.swift
CommandPalettePanel.swift
CommandPaletteResultRow.swift
CommandPaletteResultsResolver.swift
CommandPaletteView.swift
FuzzyMatcher.swift
RecentCommandsTracker.swift
Coordinators/
NotificationChromeCoordinator.swift
PaneLayoutMenuCoordinator.swift
DragReorderHapticFeedback.swift
MenuBar/
MenuBarAgentIconInspector.swift
MenuBarFleetState.swift
MenuBarFleetSummary.swift
... 961 moreFAQ
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.