terminal
A macOS-native terminal workspace for AI-driven development.
Run your coding agents in the shell you already use — and read the diff, the git state, and the files they touched without leaving it.
Free, no telemetry, no subscription.
xattr -dr com.apple.quarantine /Applications/Terminal.app
Features
beyond kero
- Compare any revisionCmd+Shift+C puts a branch, a commit, or any revision git understands beside your working tree — read the diff, keep editing your side, blame a line, revert a file
- The panels follow you over sshconnect to another machine and Files, Git, and Compare all describe that machine — the tree browses it, Git shows its branch, history and changed files, and Compare puts any revision beside its working tree, all read-only over the connection you already have. They follow you as you cd around that host with nothing to set up there, and a host that would need a password says so instead of hanging
- Files that open instantlyswitching back to an open file keeps its undo history instead of rebuilding the editor, and a large one no longer stalls as you scroll
- Hardened against untrusted inputa folder you open cannot make its own git config run commands, links that leave the browser ask first, and saved scrollback is yours to read alone
- Builds without ceremonymake build, run, test, install — unsigned by default, so it launches without a Developer ID
projects & sessions
- Projects, not windowseach repo is a project in the sidebar — Cmd+1–9 switches, Cmd+N adds one
- Sessions per projectopen as many terminal tabs as a project needs with Cmd+T, each with its own directory and scrollback — one per agent run, kept apart
- Split panesCmd+D splits right, Cmd+Shift+D splits down, Opt+Cmd+arrows moves focus between panes
- Restored on relaunchquit and reopen: projects, tabs, and pane layout come back, each shell fresh beneath its previous scrollback
- Command paletteCmd+P to jump to any project or session, or run any command
review what the agent wrote
- Git panelstage, unstage, discard, and commit — amend included — beside the shell that made the changes
- Inline diffsclick a changed file to read its diff in place, without leaving the window
- Branch workswitch or create a branch, fetch, fast-forward pull, push, publish a new upstream, or stash
- Files panelbrowse the working tree, open a file, edit it with tree-sitter highlighting, Cmd+S to save
- Session infothe processes running under a session and the TCP ports they are listening on
the terminal itself
- Your shell, unchangedzsh, fish, or bash exactly as you configured it — prompt, aliases, dotfiles and all, so any agent CLI runs the way it does today
- Built on Alacritty, or GhosttyAlacritty's emulator core by default, drawn by terminal's own Metal renderer; libghostty is a switch away in Settings
- Scrollback that glidesa trackpad scrolls the scrollback by the pixel, not a row at a time — it tracks your fingers and stops where you let go
- Keys that repeatholding a key down repeats it — hold j or k to run through git log or a file in less, instead of tapping
- Desktop notificationsa bell in an unfocused session, or a notification escape from a long-running command, reaches Notification Center
- Progress reportsOSC 9;4 progress shows as a slim bar above the terminal, error and pause states included
- Fontsships with JetBrains Mono and Nerd Font symbols; swap in any monospace family and size, or zoom with Cmd+Plus and Cmd+Minus — which resizes the sidebars instead when that is what you last clicked into
- No update checksSparkle is built in but never starts — this fork ships no update feed and no signing key, so nothing checks in; download the newest release or pull and rebuild to move up
Shortcuts
- Cmd+Nnew project
- Cmd+Tnew session
- Cmd+Wclose the focused pane
- Cmd+1–9switch project
- Ctrl+1–9switch tab
- Ctrl+Tabopen the tab switcher
- Cmd+Pcommand palette
- Cmd+D / Cmd+Shift+Dsplit right / split down
- Opt+Cmd+arrowsfocus the pane in that direction
- Cmd+[ / Cmd+]cycle pane focus
- Cmd+Shift+Returnzoom the focused pane
- Ctrl+Cmd+arrows / =resize / equalize panes
- Cmd+B / Cmd+Shift+Btoggle the left / right sidebar
- Cmd+Shift+G / E / Igit / files / info panel
- Cmd+Shift+Ccompare against a branch or commit
- Cmd+F / Cmd+Gfind / find next
- Cmd+Kclear the terminal
- Cmd+Plus (or Cmd+=) / Cmd+Minus / Cmd+0zoom in, out, or back to the default size — whatever you last clicked into: the terminal text, the page in a browser pane, or the sidebars and panels
- Cmd+Ssave the open file
FAQ
How is this different from Kero?
Terminal is a fork of Kero that leans harder on reviewing what coding agents write. The Compare panel is the main addition: any branch or commit beside your working tree, editable, with blame and revert. The Files, Git, and Compare panels also follow a terminal over ssh, describing the host you connected to. Opening files got faster, the paths that handle a repository's own data were hardened against untrusted input, and a Makefile replaced the build incantations. It tracks Kero and merges upstream work back in, so everything Kero does is still here. The practical difference is distribution — Kero ships notarized builds and a Homebrew cask; this fork has no signing key, so its .dmg is unsigned — macOS quarantines it until you clear the flag, and there is no in-app updater.
What makes it "for AI-driven development"?
Where the work lands. Agents run in the shell, and everything that follows — reading the diff, checking git state, comparing against the branch you started from, opening the file it changed — is a pane away instead of a window away. There is no model, no API key, and no agent built in: you run Claude Code, Codex, Cursor, or your own script, and Terminal is the workspace around it.
Does it run the agent for me?
No. Terminal never wraps, proxies, or rewrites what you type — the agent CLI you install is the one that runs, with your shell and its config untouched. Nothing is sent anywhere on your behalf.
Is terminal free?
Yes. Free to download, no subscription, no account.
Does it replace my shell?
No. terminal hosts the shell you already run and leaves your prompt, aliases, and dotfiles untouched. The terminal underneath is Alacritty's emulator core, drawn by terminal's own renderer; you can switch to libghostty, the same core as Ghostty, in Settings.
Does it collect any data?
No telemetry, no analytics. The only network call Terminal makes is the update check, and that is off until an update feed is configured.
What happens to my sessions when I quit?
Projects, tabs, and pane layout come back on relaunch. Each terminal reopens as a fresh shell in its old directory, with the previous scrollback restored above a "Session Contents Restored" divider.
Is this an IDE?
No — the terminal stays the center of gravity. The git, files, and compare panels exist so you can review and ship what an agent did in the terminal without switching to an editor.