kooky: A macOS Terminal Built Around AI Coding Agents
A minimal modern terminal for AI coding experience — Sidebar workspaces; horizontal / vertical split panes; one-click agent launch; per-agent activity readout; live workspace state with one-click Node and branch switching.
At a glance
- What is it?
- kooky is an MIT-licensed Swift terminal for macOS 14 and later that treats agent sessions, git worktrees and SSH workspaces as first-class objects. It is a good fit if you run several coding agents at once on a Mac, and the wrong tool if you need Linux or Windows.
- Who is it for?
- Adopt kooky if you already run several coding agents on a Mac and want their sessions, worktrees and waiting states visible in one window; the one-click launch and the per-agent waiting dot are the parts that change daily work. Skip it if your machines are Linux or Windows, or if you need a terminal whose behaviour is documented down to the last setting, because the README does not cover rollback, configuration files or updating.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 7 days ago.
- What is it written in?
- Mainly Swift, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What kooky is for, and who it is not for
kooky is a terminal emulator for macOS that assumes an AI coding agent will be running inside it. The README describes it as "a minimal modern terminal built for AI coding", and the feature list backs that up: workspaces in a sidebar, panes that split horizontally or vertically, a `+` menu that launches an agent, and a status readout for each agent. The intended user is a developer who keeps several agent sessions alive at once and finds a plain terminal plus a window manager a poor fit for that.
The constraint that matters most is the platform. The README badges macOS 14 or later, and the repository is Swift with SwiftUI sources. There is no Linux or Windows build described anywhere in the README. If your work happens on a remote Linux box, kooky can still be the client, but only through its SSH workspace feature, which the README documents as creating a workspace that lives on a remote machine. That is a client-side answer, not a port.
Sidebar workspaces, split panes and how state is kept
The unit of organisation is the workspace, not the window. Each workspace appears in the sidebar, and each pane inside it owns its own tab strip and active tab. Panes split right or down from buttons on the tab bar, or with the keyboard shortcuts the README lists. Tabs can be dragged to reorder, moved across panes, or dropped into another window, and the README states the live session moves whole, with scrollback and running process intact.
State persistence is described as covering every open window, restored at the size and position it was left. Workspaces can be tagged with one of seven preset colours or a custom colour and name, and the tag appears as a stripe on the sidebar row and carries into the agent panel. Since the repository ships a `Package.swift` and a `Sources/` tree rather than an Xcode project, the build is Swift Package Manager based; the README does not document the module layout beyond that.
Rendering comes from libghostty, which the README credits for GPU rendering. That is the one external dependency named in the README, and it is also the reason the platform floor is what it is.
Installing kooky and launching a first agent session
The README does not give a Homebrew formula or a build-from-source recipe. It points to the releases page, and the platform badge says macOS 14 or later, so the install path is a download from GitHub Releases. Open the latest release and take the macOS build.
open https://github.com/iAmCorey/kooky/releases/latestAfter installing, the first real use is opening a folder as a workspace and starting an agent in it. The README gives two ways in: drop a folder onto the sidebar from Finder, or press ⌘O. Once the workspace exists, the `+` menu launches an agent, and the README states the agent boots before your first prompt prints.
# inside the new kooky workspace, the agent runs in the pane
claudeThat `claude` line is the command the README lists for Claude Code in its agent table. The point of the `+` menu is that you do not type it: picking Claude Code from the menu starts the same binary, and kooky records the CLI's session ID so the conversation resumes after a restart. If your agent is not in the table, Settings → Agents takes a name and a command and puts it in the `+` menu.
The agent table, and where its signals stop
Fifteen agents are listed with three capability columns: waiting dot, tool pill, and session history. Claude Code, Pi, Oh My Pi and Reasonix have all three. Codex, Gemini CLI, OpenCode, Cursor CLI, Copilot CLI, Kimi Code and Droid have a waiting dot and session history but no tool pill. Grok Build and Kiro CLI have neither the dot nor the pill, only session history, and Amp and Antigravity CLI have a waiting dot but no session history.
The waiting dot is the feature with the clearest payoff: it turns amber when the agent stops and needs an answer, including a pending tool approval. The tool pill shows the tool currently running in the pane status bar. Both depend on the agent exposing something kooky can read, which is why the table has holes. The README is explicit that Grok Build and Kiro CLI expose no such signal, so their dot only reports running and finished.
Bring-your-own agents inherit this only partially. The README says a custom entry based on a built-in agent inherits its launch binary, brand mark and activity tracking, because the sidebar dot is reported by the built-in's wrapper. A standalone command runs fine but stays dark. That is a real limitation, not a footnote: the feature that makes kooky worth using is unavailable to agents kooky does not already know about.
Worktrees, SSH workspaces and keep-awake
Three features sit outside the terminal itself. Git worktrees are created by right-clicking a git workspace and choosing "Create Worktree…", which spins one up on a new branch or checks out an existing one; each worktree is nested under its source repo in the sidebar with its own tabs and agent. Worktrees created from the command line can be adopted through the same sheet, and sidebar entries whose directory has disappeared are cleaned up at launch. The use case the README names is letting Claude work on a feature branch without touching what is running on main.
SSH workspaces are created from File → New SSH Workspace… or with ⌘P. Every new tab, split and restored tab reconnects to the same host on its own, and agent tabs start the agent on the remote with the remote's shell setup loaded, so tools installed through nvm and similar are found. Pasting a local file or screenshot uploads it first and pastes a remote-readable path. Connections to the same host are shared, and password-authenticated hosts work, pasting included.
Keep-awake has three states: Off, Auto and Always. Auto keeps the Mac awake while an agent works or an SSH session is live, lid closed included, and the README notes a one-time admin authorization for that. If sleep is disabled elsewhere, the dial follows within seconds in both directions. That last detail is worth noticing because it means kooky reads system power state rather than only setting it.
What the documentation does not cover
The README is a feature tour, not a manual. It does not describe a configuration file, an environment variable for kooky itself, or a command-line interface. Everything is done through menus, shortcuts and the Settings window. If you manage your tools from dotfiles, kooky has nothing for you to commit.
Updating is also undocumented. Releases are frequent, with v0.51.10 on 2026-09-05 following v0.51.9 on 2026-09-03 and v0.51.8 on 2026-09-02, so the 0.51.x line moved three times in four days. The README links to CHANGELOG.md and the releases page but does not say whether kooky updates itself, prompts, or requires a fresh download. Rollback is not mentioned at all. On a project releasing this often, that is the gap to close before you rely on it for daily work.
The licence is MIT, and the repository carries a NOTICE.md alongside LICENSE. MIT permits commercial use, modification and redistribution provided the copyright notice and permission notice are included. One caveat worth checking yourself: kooky renders through libghostty, and the README does not state libghostty's licence or whether its terms differ from kooky's. Read NOTICE.md before shipping anything that bundles the app.
How kooky differs from a general terminal plus a multiplexer
The obvious alternative is a general-purpose terminal on macOS, such as Ghostty, plus tmux or a window manager for sessions. The difference is where the agent awareness lives. In a general terminal, a pane is a pane: the terminal does not know that the process inside it is an agent, whether it is waiting for approval, or which session ID to resume. kooky encodes that knowledge per agent, which is why it can offer a waiting dot, a tool pill and session history, and why those features are uneven across the fifteen agents.
The trade-off runs the other way too. A general terminal plus tmux works over SSH, on Linux, and inside containers, and its behaviour is defined by configuration files you can version. kooky is macOS-only, menu-driven, and its agent integrations depend on each CLI exposing a signal. If you switch agents often, or use one that is not in the table, you lose most of what kooky adds and keep only the sidebar and split panes.
Editorial conclusion
Adopt kooky if you already run several coding agents on a Mac and want their sessions, worktrees and waiting states visible in one window; the one-click launch and the per-agent waiting dot are the parts that change daily work. Skip it if your machines are Linux or Windows, or if you need a terminal whose behaviour is documented down to the last setting, because the README does not cover rollback, configuration files or updating. Before installing, check the releases page for a build matching your macOS version, confirm the agent CLIs you use appear in the supported list or can be added through Settings, and read CHANGELOG.md for the 0.51.x line so you know what changed most recently.
Frequently asked questions
What is kooky?
kooky is an MIT-licensed terminal emulator for macOS, described in its README as a minimal modern terminal for AI coding. It adds sidebar workspaces, split panes, one-click agent launch and per-agent activity readouts on top of a GPU-rendered terminal built on libghostty.
What macOS version does kooky require?
The README carries a platform badge for macOS 14 or later, and the repository is Swift with SwiftUI sources. There is no build for Linux or Windows described in the README.
How do I install kooky?
The README does not give a Homebrew formula or a build-from-source recipe; it links to the GitHub releases page, and the latest release at the time of writing is v0.51.10. Download the macOS build from there.
Which AI agents does kooky support out of the box?
The README lists fifteen, including Claude Code, Codex, Gemini CLI, OpenCode, Amp, Cursor CLI, Copilot CLI, Grok Build, Antigravity CLI, Kimi Code, Pi, Oh My Pi, Reasonix, Kiro CLI and Droid. Agents that are not listed can be added in Settings → Agents with a name and a command.
Does kooky send telemetry or require an account?
The README states there are no accounts and no telemetry, and that app state stays local.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/iamcorey-kooky)