OPEN SOURCE · AGPL-3.0NO ACCOUNTNO TELEMETRYYOUR GHOSTTY CONFIG WORKS AS-IS
FEATURE SELECT
Pick a feature.
Twenty-two of them, each built for
running agents. Hover to preview. Click for the full details. Every one can
be switched off in Settings, where it does no background work at all.
↑↓←→ MOVE⏎ DETAILSR RANDOMESC CLOSE
Scroll
The turnFeatherweightHouse rules
CHAPTER 1 · THE TURN
One agent turn, end to end
CHAPTER 2 · FEATHERWEIGHT
Add agents. The needle stays.
CHAPTER 3 · HOUSE RULES
Yours, and only yours.
acme-shop⌘1▾
~/Demo/acme-shop main
Add free shipping over $80 to check…
Claude Code·Working+9−1
⏱0s · Prompt sent
snapshot saved — this turn can be undone
✓ Allow✕ Deny
USAGE
5h21%
Week11%
AI POV◇ CartSummary.tsx ✕cart.ts
src › components › CartSummary.tsx
Claude · editing lines 5–9
9{shipping > 0 && <small>Free over $80</small>}Claude
10</aside>
11)
3 files changed · +19−3ReviewUndo turn
✓ npx vitest — 42 passed in 3.2s
29 files0 visited0 edited+19−3 this turn
mainLn 1, Col 1Spaces: 2TypeScript
You prompt, it begins. The card shows the task, a
working status and a timer — and a snapshot of your project is saved, so the whole turn
can be undone.
It reads a file. The editor opens it at the lines the agent
read, and the file lights up cyan on the code map.
It edits. The change types itself in with green gutter
marks, the Claude cursor shows where it is, and the turn’s diff count goes up.
It needs you. The card turns amber with Allow and Deny — on
the card, in Mission Control, and in a notification you can answer from.
It verifies. Commands and test runs stream into the
timeline, sub-agents included.
Done — review it. The changes land in an inbox with the
full diff. Not what you wanted? Undo puts every file back.
Claude Code · acme-shop
◎Codex · api-gateway
Claude Code · docs-site
◎Codex · cli-tools
Claude Code · pixel-docs
Terminal · npm run dev
1agent working
0%50%100%
1.4% CPU
All of the sidebar’s animation runs in Core Animation, and anything
you can’t see pauses — background tabs, hidden and minimized windows.
Measured on an Apple silicon MacBook. This page plays by the same
rules: every loop stops when it leaves your screen.
Nothing leaves your Mac
No account, telemetry or server. Agent tracking and shared memory read the files
Claude Code and Codex already write.
Only your own hooks can talk to it
Agent status arrives as escape sequences any printed text could imitate — so each
launch creates a secret only its own terminals and hooks know. Events without it are
ignored.
No credentials, ever
The Backend view runs your providers’ own CLIs with their existing logins, read-only
commands only. It reads the names of your env variables, never their values.
The editor stays local
It can only show its own pages, and Visual Fix only talks to your local dev
server.
NO ACCOUNT · NO TELEMETRY · NO NEW DOORS
CHAPTER 4 · VS MODE
How it compares
GhosttyEXTREME is for watching and steering the CLI
agents you already use. If you want a terminal or editor with its own built-in AI, Warp or Zed
may suit you better.
What matters
GhosttyEXTREME
Ghostty
cmux
Warp
Zed
Runs Claude Code, Codex & co. unchanged
Yes
Yes
Yes
Yes
In its terminal; also via ACP
Status of every agent at a glance
Sidebar card per agent
—
Pane rings, tab highlights
Tab status, notifications
For agents in its panel
Answer a permission prompt without switching
Sidebar, Mission Control or notification
—
—
Notifies you
For agents in its panel
See the code as the agent writes it
Editor follows the CLI agent live
—
—
Diff review panel
Follows agents in its panel
Map of what the agent touched
Code map with blast radius
—
—
—
—
Undo an agent’s turn
Yes
—
—
Not documented for CLI agents
Checkpoints in its panel
Backend view (Cloudflare, Supabase, Vercel)
Yes
—
—
—
—
Open source
AGPL-3.0
MIT
GPL-3.0 / BSL server
Partly; AI proprietary
GPL-3.0
Platforms
macOS, Apple silicon
macOS, Linux
macOS
macOS, Linux, Windows
macOS, Linux, Windows
Where others are ahead: Warp and Zed run on Linux and
Windows and come with their own AI. cmux has SSH workspaces and a browser agents can drive.
Ghostty is the lean original all of this is built on. GhosttyEXTREME is macOS-only, Apple
silicon only, and maintained by one person. Compared from each
project’s public docs on October 7, 2026 —
corrections welcome.
CHAPTER 5 · PRESS START
Install in a minute
~ — zsh — 80×14
❯
downloading GhosttyEXTREME 1.5.8 … done
verifying SHA-256 checksums … ok
✓ GhosttyEXTREME.app installed — opening the welcome window
Run the one-liner. It downloads the latest release, checks
it against the release’s SHA-256 checksums, and puts GhosttyEXTREME.app in /Applications.
Open it. The welcome window finds Claude Code
and Codex, connects them in one click (backing up each file it changes), and runs a live
test. Check Setup re-verifies everything later, with a fix button on each
problem.
That’s it. Updates arrive in the app, signed
with this project’s key — nothing else is accepted. Your existing Ghostty configuration
works as-is.
Installing by hand instead
Download GhosttyEXTREME-<version>-macos-arm64.zip
from the latest release,
unzip it and move GhosttyEXTREME.app to /Applications. It’s signed with a Developer ID
and notarized by Apple, so it opens like any other download.
Requires an Apple silicon Mac on macOS 13 or newer. To build from source, see the
build instructions.
The shortcuts you’ll live in
⌘P Command palette — waiting agents first
⌃⌘S Sidebar
⌃⌘M Mission Control
⌃⌘E Code editor
⌃⌘Y Project memory
⌃⌘V Visual Fix
⌃⌘L Localhost sessions
⌃⌘I Review changes
⌃⌘R Race agents
⌃⌘K Background
⌃⌘B Command history
⌃⌘A Agent activity
⌃⌘U Skills
⌃⌘N Environment
Hold ⌃⌘
for a moment in the app and every shortcut appears over the window; ⌃⌘/ keeps
the overlay open.
Every agent’s status, in the corner of your eye.
Live status per card: working, waiting for permission, waiting for input,
done or failed — with the task, how long it’s been at it, and its last action.
Project groups: tabs that share a repository group together, with a live
summary and a warning when two agents edit the same file.
Alerts: a notification you can answer from and a Dock badge when an agent
waits in a pane you aren’t looking at.
Every agent you run: Claude Code and Codex, plus GitHub Copilot CLI,
Droid, Gemini CLI, Antigravity, Kiro, Cursor CLI and OpenCode — Check Setup connects each
one it finds with a small observer hook that never approves, blocks or changes anything,
and backs up any settings file it touches. Amp, Goose, Hermes, Aider, Crush, Qwen Code,
Kimi and Mistral Vibe are recognized by name and logo too.
Usage meters for your Claude and ChatGPT plans, with graphs.
The real sidebar: Allow and Deny, right on the card.
Every agent in every window, on one screen.
A live card per agent: status, task, last action, time in that state and
the last lines of its terminal. Agents waiting on you come first.
Click a card to jump to it, or hand its work off from there.
The command palette ⌘P puts waiting agents at the top too — answer one in
two keystrokes.
• Working (10s · esc to interrupt) > Ask Codex to do anything ~/Demo/pixel-docs · No changes · Context 6% used
OpenHand off
Claude Code
✳ Dev server · ~/Demo/acme-shop
Done
Fix the product grid and reload the preview
⚡ Bash: curl -s http://localhost:3000/1m
The dev server reloaded on its own. ✳ Cooked for 22s · done 9:59 PM
OpenHand off
RACES
⚡⚡Add searchProducts(query) to src/products.js with tests2 agents · pixel-shop
The real thing, mid-session.
Opens what the agent reads. Types what it writes.
Follow mode: the editor opens each file the agent reads and animates its
edits in as they happen — even while closed, so opening it mid-task shows where the agent is
right away.
A VS Code–style editor per tab, on that tab’s folder, in your terminal
theme.
Agent panel: prompts, thinking, messages, tool calls and results as a
timeline, sub-agents included — with a pane per sub-agent.
AI POV: replay a session as if you were at the agent’s keyboard.
Sidebar, terminal, editor and code map — all following one Claude Code turn.
Your project as a star map of what the agent touched.
Folders tinted by what they are — frontend, API, database, tests, config.
Files light up cyan as the agent reads them, orange when it edits.
Three zoom levels: project areas, every file, and the symbols inside —
with the ones changed this turn lit.
Blast radius: what imports a file is drawn on the map, with a warning when
no test covers the change.
CLAUDE CODE⚙ CodeBackendLogWorking
29 files3 visited3 edited+19−3 this turn
Claude · Editing · CartSummary.tsxblast radius: 3 files import this — no test covers the change
Frontend 8Database 6Config 5OverviewFilesSymbols
The real map, tracing a real turn.
X-ray vision for Cloudflare, Supabase, Vercel and friends.
Architecture from your own files: frontend → compute → data → services,
with a line only where your code really connects two pieces. Works offline, no logins.
Cloudflare Workers with every binding: D1, Hyperdrive, KV, R2, Queues,
Durable Objects, service bindings, Workers AI and more — plus Supabase, Vercel, Prisma,
Firebase, Stripe, OpenAI, Resend.
Live status from each provider’s own CLI: deploys per environment,
migrations not applied yet, commits newer than the last deploy.
The Database view draws your schema — tables, columns, relations — and
checks row-level security on every Postgres table.
FRONTEND
acme-shopvercel
adminpages
COMPUTE
api-worker2m ago
DATA
orders-d1D1
mediaR2
routes.ts → api-worker
The Database view: your schema, drawn and checked.
Time, prompts, diffs and tokens — scored per agent, per day.
Everything the agents did: active time, prompts, files and lines changed,
commands, test runs and tokens — per day, hour, agent and project.
Any period: today, 7, 30 or 90 days, this year, all time, or custom
dates.
Resume any recent session in a new tab, and API value
shows what your usage would cost at API prices.
What one agent learns, the next one knows.
One window for a project’s memory: Claude Code’s notes (read, edit,
delete), Codex’s memories (read-only — Codex rewrites them itself), and the CLAUDE.md,
CLAUDE.local.md and AGENTS.md files the agents load every session.
Shared between agents: a new Codex session starts with what Claude Code
has learned about the project, and the other way round — labelled as notes that may be out of
date.
Nothing leaves your Mac, and you can turn it off in Settings.
A fresh Codex session answers from Claude Code’s notes — without opening a file.
Pass the work — task, diff and notes included.
What it carries: the task, the recent conversation, exactly what the first
agent changed (a diff since its first prompt), failed commands, and what it remembers about
the project. You read and edit the message first.
Three modes: continue where the last agent stopped, review the work
without editing, or get a second opinion on the approach.
To anyone: a new Claude Code or Codex in a split beside it, or one that’s
already running.
Same quest, several agents. Keep the best run.
One task, many challengers: Claude Code and Codex, or several of one,
each in its own git worktree so they can’t touch each other’s work or yours.
Compare the diffs side by side and apply the one you want.
Every finished turn lands in an inbox with the full diff.
Read the diff file by file, and approve or undo each file.
Comment on lines and send the comments back as the agent’s next
prompt.
Finish up: commit, or open a pull request.
Rewind any turn. The rewind can be rewound.
A snapshot before every turn. Undo the last one, or restore to before any
prompt in the agent timeline.
It asks first: every undo lists the files it will change — and your
current files are saved too, so the undo can be undone.
No git noise: snapshots are git objects only. No commits, branches or
stash entries, staged changes untouched. Folders that aren’t repositories work too.
jj too: in a Jujutsu repository, Restore with jj also puts jj’s
operation log back to where it was, if the agent ran jj commands during the turn.
Point at your app. Say the change. Watch it land.
Pick an element in your running dev server — previewed beside the
terminal at desktop, tablet or phone size — and say what should change.
The agent gets everything: the element’s HTML and CSS selector, the
component and source file that render it, its computed styles, and a screenshot.
When the change lands, the preview reloads right where you were.
localhost:5173 · Visual Fix
Our products
“make these a card grid” → Claude Code · acme-shop
Before and after: pick the heading, ask for cards, get cards.
One writes, one reviews, round after round.
Pair an agent with a reviewer. Each time the writer finishes a turn, the
reviewer gets its changes and answers APPROVED or CHANGES NEEDED, and its findings go back to
the writer — until it approves or a round limit.
You stay in charge: every message waits for your Send unless you turn on
Send automatically — and nothing is ever typed into an agent mid-turn or over your own
typing.
Claude writes⇄◎Codex reviewsAPPROVED
Dev servers that outlive the agent that started them.
Caught automatically: npm run dev, vite, rails s, make dev, SSH tunnels,
kubectl port-forward, ngrok, cloudflared — each moves into its own tab and keeps running after
the agent is done. The agent is told the URL and how to read the logs.
Sidebar cards with live status, localhost URL, framework, uptime, restart
and stop.
The manager groups servers by project, shows CPU and memory, previews
pages in a built-in browser, and finds dev servers running elsewhere on your Mac.
acme-shop · Live · 4mlocalhost:3000 ↗$ npm run dev✳ by Claude Code
Knows what’s listening — and who’s hogging :3000.
Every listening port in the sidebar, with the project it belongs to —
Next.js, Vite, Django and more get their own badge.
When a command fails on a taken port (“address already in use”), the
sidebar names what holds it and offers to stop it.
One click to open it in the browser or Visual Fix, jump to its tab, or
stop it.
:3000 — address already in useheld by next dev · Stop it?
Branch, PR, checks and stashes, one click from the tab.
Click a tab’s branch for its pull request — title, review state and every
check, failing ones first, each linked to its log — plus branches, stashes and recent
commits.
On the tab itself: commits to push and pull (↑2 ↓1) and the PR’s number
and checks beside the branch.
Agent-aware: switching branches warns when an agent is working in the tab
and offers to stash first.
jj (Jujutsu): the change you’re on, the changes around it, bookmarks
and the operation log — Describe, Commit, New change, Squash, Fetch, Push, and Undo for any
jj command, an agent’s included.
GitButler: the branches it has applied, side by side, each with its
commits, push state and pull request, plus Commit to the branch you pick, New branch, Push and
Undo.
Graphite: the stack your branch is in, trunk to top, with each pull request
and a “needs restack” marker — Restack, Submit and Sync run in a tab.
PR #124✓ build✓ lint✗ e2e↑2 ↓1
A throwaway container. Your home folder stays home.
Ubuntu 24.04, Python 3.13, Node 22, or a sandboxed Claude Code or Codex —
in a container that’s deleted when you exit.
Only the tab’s folder is mounted, at /workspace. Your home folder is not,
and sandboxed agents keep their own login in a Docker volume.
Bring your own runtime: Docker Desktop, OrbStack or Colima — and if
Docker isn’t running but Colima is installed, it starts it and stops it again after.
/Users doesn’t exist in here.
Finds everything left running, and reaps the stale.
The full haunt: dev servers, Colima VMs and containers, agent sessions,
browser automation, databases, watchers, log followers and login services.
Last really used, judged by real signals: typing or output in its
terminal, its transcript being written, a live connection to its port, a busy container.
A staleness rating — Active, Idle, Stale or Ready to close — and cleanup
in one click, always with a confirmation first.
colima VM — activewatcher — stalelog tail — stale
Every command is a block. Failed ones fight back.
Command blocks: every command with its output, exit code and
duration.
When one fails, a chip offers Fix with Claude or Fix with Codex — or
sends it, output included, to the agent already working on the project.
pnpm test — exit 1Fix with Claude
What a folder needs, what Docker runs, which models are loaded.
This Folder: the tool versions it asks for (mise, asdf, .nvmrc,
.python-version and friends), which are missing, and the environment variables mise and direnv
add — names only, values are never read. Install what’s missing, trust a mise config, and
allow an .envrc after seeing what it runs.
Containers: everything Docker Desktop, OrbStack or Colima runs, grouped by
Compose project, with CPU, memory and ports — Start, Stop, Restart, Logs, a shell inside, and
Remove.
Local Models: what’s in Ollama and LM Studio, which models are loaded and
how much memory and GPU they take — Unload, Run, Pull and Remove.
Every skill your agents have, kept current, and what’s catching on.
One list for every agent: Claude Code, Codex, Cursor and Hermes, plus
Claude Code plugins, Claude.ai skills and the ones in your project — grouped by where they
live, with the skills each agent ships with folded away.
Updates: checks each skill against the repo it came from and updates it in
one click, or all of them at once. Git clones, plugins and Hermes hub skills too.
Discover: Trending, Hot and All time from skills.sh, with search, each
skill’s description, install counts and security reviews. Official company skills can be
hidden to see what the community is building.
Install where you choose: pick the agents and whether it goes in all your
projects or just this one. Every command runs in a tab, so you see exactly what happens.
grill-me · Claude Code, Codexreverse-engineer-anything · update▲ trending on skills.sh
Updates itself, then puts every window back.
An update card appears in the sidebar — checked shortly after launch and
every hour. Click it for the update window: the new version, what’s new, and Update and
restart.
Everything comes back: windows, tabs, splits and folders reopen, Claude
Code and Codex sessions resume in their panes, localhost servers restart in their tabs.
Mid-turn safe: if an agent is working, Update when done waits for it.
Signed with this project’s key — nothing else is accepted.