claudeers.
// Automation & Workflows

GhosttyEXTREME

Ghostty for macOS, rebuilt to watch AI coding agents work live. Claude Code, Codex and more in a vertical sidebar, a code editor that types in their edits as…

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up GhosttyEXTREME (release-binary project) into my current project.
Found on https://claudeers.com/ghosttyextreme
Repo: https://github.com/steventsvik/GhosttyEXTREME
Homepage/docs: —
Detected install method: release-binary → inspect the README
Category: automation. Platforms: cli, api, desktop, web.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
unknown; community-verified: false. Confirm the source before running anything.
// or install directly (release-binary)

Grab the latest release asset from GitHub.

# download a build from https://github.com/steventsvik/GhosttyEXTREME/releases
// or clone
git clone https://github.com/steventsvik/GhosttyEXTREME

// compatibility

Platformscli, api, desktop, web
Operating systems—
AI compatibilityclaude
LicenseAGPL-3.0
Pricingopen-source
LanguageZig

Get your FREE $2.50 API credits to access TickAtlas financial data ↗

GhosttyEXTREME: the macOS terminal built for coding agents

Download · Live agents · Features · Install · Shortcuts · Security

GhosttyEXTREME with a live Claude Code agent: the agent sidebar, the terminal, the code editor typing in the agent's edit, and the code map tracing its path

One window, one live agent: the sidebar, the agent in the terminal, the editor typing in its edit as it happens, and the code map tracing every file it has read and changed.

GhosttyEXTREME is Ghostty, the fast native macOS terminal, rebuilt for working with AI coding agents like Claude Code and Codex. You see every agent work, live: what it's doing in each tab, the code it's writing as it writes it, where it is in your project and what part of your backend it touches. When it finishes, its changes wait for you in a review inbox.

Everything Ghostty does still works. This fork tracks official Ghostty releases and adds its features on top.

[!NOTE] Unofficial fork. Not affiliated with or endorsed by the Ghostty project.


Watch your agents work, live

Run Claude Code, Codex, Gemini CLI or another agent in a tab, the way you already do. GhosttyEXTREME follows each one as it works, with nothing to set up beyond its hooks.

As the agent……you see
starts a taskIts card in the sidebar shows the task, a working spinner and a timer. Its sprite starts typing and the terminal's frame lights up cyan.
reads a fileThe editor opens that file at the lines it read; the file lights up cyan on the code map, and a comet flies there.
edits a fileThe change types itself into the editor with the lines highlighted, the file turns orange on the map, and the turn's diff count goes up.
thinks or repliesThe agent panel shows its thinking, messages and every tool call as a timeline, sub-agents included.
touches your backendThe Worker, database or bucket that code belongs to lights up in the Backend view.
needs youIts card turns amber and jumps to the top of the command palette and Mission Control; you get a notification and a Dock badge.
finishesIts sprite sparkles, the sigil flares gold, and its changes land in Review with the full diff.

Several agents at once? Each tab follows its own, tabs in the same repository are grouped, and you're warned when two agents edit the same file.


Features

Agent sidebar
Live status for every agent in every tab
Code editor
Opens what the agent reads and animates its edits
Code map
Your project as a star map of what the agent touched
Backend view
Cloudflare, Supabase, Vercel and more, with live status
Database view
Tables, columns and relations from your schema
Visual Fix
Click an element in your app, say what to change
Review changes
An inbox for each agent's diff, with line comments
Agent races
Several agents, one task, keep the best result
Localhost sessions
Dev servers that outlive the agent that started them
Background processes
Find and close what's been left running
Command history
Every command as a block, with one-click fixes
Agent activity
Time, prompts, changes and tokens per day and project
Mission Control
Every agent in every window on one screen
Sessions
Agents, Docker sandboxes, Hermes and cloud sessions
Handoff
Pass a pane's work to Claude or Codex

Every agent, at a glance

A Warp-style vertical sidebar (⌃⌘S) lists every tab with its folder, git branch and uncommitted changes. Tabs can be pinned, colored and renamed, and hovering one shows a card with more detail.

  • It recognizes the agent in each tab: Claude Code, Codex, Gemini CLI, Copilot, Cursor, Amp, opencode, Goose, Droid and Hermes, each with its own logo.
  • Live status: working, waiting for permission, waiting for input, done or failed. Each card shows the task, how long the agent has been at it and its last action.
  • Agents act out their mood. Their sprite reads, types, runs commands and thinks, hops when it needs you and sparkles when it's done.
  • The sigil comes alive. One cyan pixel orbits the sidebar's sigil per working agent; it glows amber while one waits and flares gold when one finishes.
  • The terminal's frame lights up too. A cyan light travels around the edge while the tab's agent works, and the corners blink amber when it needs you.
  • Project groups: tabs whose agents share a repository are bracketed together, with a live summary ("2 working · 1 waiting") and a warning when two agents edit the same file.
  • Alerts: when an agent waits on you in a pane you aren't looking at, you get a notification (click it to jump there) and a count on the Dock icon.
  • Usage meters for your Claude and ChatGPT plans (5-hour and weekly windows), with graphs.

Mission Control

⌃⌘M shows every agent (or every pane) in every window as a live card: 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.

The command palette (⌘P) puts waiting agents at the top too, so you can answer one in two keystrokes. It also starts new sessions and opens every tool.


A code editor that follows the agent

The code map: the project as a star map, with the agent's path and a file's blast radius

Each tab has its own VS Code–style editor (Monaco, ⌃⌘E) on that tab's folder, in your terminal theme.

  • Follow mode: the editor opens each file the agent reads and animates its edits in as they happen. It follows even while closed, so opening it mid-task shows where the agent is right away.
  • Agent panel: a timeline of the session: prompts, thinking, messages, tool calls and results, sub-agents included. With several sub-agents, the editor splits into a pane for each.
  • AI POV: replay a session as if you were at the agent's keyboard: files opening, code being typed, commands running.

Code map

Your project as a star map. Folders are tinted by what they are: frontend, API, database, tests, config. Files light up as the agent reads (cyan) and edits (orange) them, and the agent flies between them as a comet.

  • Zoom levels: Overview shows the project's areas and how much the agent did in each. Files shows every file. Symbols shows the functions and classes inside, with the ones changed this turn lit.
  • Details for anything you click: what the agent did there, this turn's diff, the file's symbols, what imports it, and the backend pieces it uses.
  • Blast radius: what imports the file is drawn on the map, with a warning when no test covers the change.

See your backend

The Backend tab: frontend, compute, data and services, with live deploy status

The Backend tab shows what your project runs on, worked out from its own files (package.json, wrangler.jsonc, supabase/, .vercel/, Prisma, env variable names). It works offline and without logins.

  • Architecture: frontend → compute → data → services, with a line only where your code really connects two pieces.
    • Cloudflare Workers show their environments, domains, cron schedules and every binding: D1, Hyperdrive, KV, R2, Queues, Durable Objects, service bindings, Workers AI and more.
    • Supabase, Vercel, Prisma, Firebase, and services like Stripe, OpenAI and Resend, show up too.
  • Live status comes from each provider's own CLI (wrangler, supabase, vercel), using the logins you already have and only read-only commands. It shows deploys per environment, project health, migrations not applied yet, and commits newer than the last deploy.
  • Code links: click any piece to see every file that uses it, and open the provider's dashboard or your live site.
  • Agent awareness: when the agent edits something that belongs to a piece of your backend, that piece lights up.

Database

The Database view: tables, columns and relations

The Database view draws your schema: tables, columns and relations for Supabase, Cloudflare D1, Postgres behind Hyperdrive (read from your migrations) and Prisma.

  • Click a table to see its columns, what references it and where your code queries it.
  • Row-level security is checked on every Postgres table.
  • Large schemas can be searched, and unrelated tables fade back.

Visual Fix

Visual Fix: your running app beside the terminal, ready to pick an element

⌃⌘V previews your running dev server beside the terminal, at desktop, tablet or phone size.

  • Pick an element: hover any element and click it, then say what should change.
  • What the agent gets: the element's HTML and CSS selector, the component and source file that render it (React, Vue and Svelte), its computed styles, and a screenshot.
  • Where it goes: the request goes to the agent working in that project, pinned to the element. When the change lands, the preview reloads where you were.

Review changes

When an agent finishes working in a git repository, its changes land in an inbox (⌃⌘I).

  • Read the diff file by file.
  • Comment on lines and send the comments back as the agent's next prompt.
  • Finish up: approve or undo files, commit, or open a pull request.

Agent races

⌃⌘R gives the same task to several agents at once (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 their diffs side by side and apply the one you want.

Handoff

Pass a pane's work to a fresh Claude Code or Codex session in a split beside it. Its first prompt has the task, the last agent's final message and what's changed in git. Continue with picks up where the last agent stopped; Review with checks the work without editing anything.


Localhost sessions

When an agent starts a dev server (npm run dev, vite, rails s, python -m http.server, …), it opens in its own tab instead, so it keeps running after the agent is done. The agent is told the URL and how to read the logs.

  • Sidebar cards: each server gets a card with live status, its localhost URL, framework, uptime, restart and stop.
  • The Localhost manager (⌃⌘L) groups servers by project and shows their CPU and memory. It previews pages in a built-in browser and finds dev servers running elsewhere on your Mac, with Keep alive to move one into its own tab.
  • Start one yourself from New → Localhost Server…, which offers your package.json scripts.

Background processes

The Background window: leftover VMs, containers, agent sessions and browsers with staleness ratings

⌃⌘K finds everything left running: dev servers, Colima VMs and containers, agent sessions, browser automation, databases, watchers, log followers and login services.

  • Last really used: the last typing or output in its terminal, its agent transcript being written, a live connection to its port, or a busy container.
  • A staleness rating (Active, Idle, Stale or Ready to close), with the reasons.
  • Cleanup in one click, always with a confirmation first. Login services are never marked ready to close.

Command history

Every command becomes a block with its output, exit code and duration (⌃⌘B). When one fails, a chip offers Fix with Claude or Fix with Codex, which opens the agent in a split with the command and its output.

Agent activity

⌃⌘A shows active time, prompts, files and lines changed, commands, test runs and tokens, per day, hour, agent and project. It reads the session history Claude Code and Codex already keep.

  • Resume any recent session in a new tab.
  • API value shows what your usage would cost at API prices.

Sessions

+ New in the sidebar opens a terminal, Claude Code, Codex, a Claude Code cloud session, Hermes, or a localhost server.

  • Isolated sessions run Ubuntu, Python, Node, or sandboxed Claude Code or Codex in a throwaway Docker container. Only the project folder is shared (never your home folder), and the container is deleted when you exit.
  • Hermes tabs open Hermes's own app (chat, sessions, skills, models and cron) right in the tab.

Everything Ghostty already does

GPU-accelerated rendering, native tabs and splits, the quick terminal, hundreds of themes, ligatures, shell integration, AppleScript and Shortcuts. Your Ghostty config works as-is.


Light on your Mac

All of the sidebar's animations run in Core Animation, so the app does almost no work per frame. Anything you can't see pauses: background tabs, hidden and minimized windows. With six agents working at once, GhosttyEXTREME uses about 1–3% CPU.

Security and privacy

  • Nothing leaves your Mac. There's no account, telemetry or server. Agent tracking reads the session files Claude Code and Codex already write.
  • Only your own hooks can talk to it. Agent status arrives as terminal escape sequences, which any printed text could imitate. Each launch creates a secret that only its own terminals and hooks know, and events without it are ignored.
  • The Backend view never stores credentials. It runs your providers' own CLIs with their existing logins, read-only commands only. It reads only 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.

Install

Apple silicon Macs, macOS 13 or newer.

  1. Download GhosttyEXTREME-<version>-macos-arm64.zip from the latest release, unzip it, and move GhosttyEXTREME.app to /Applications.
  2. The app isn't notarized, so clear the download quarantine once:
    xattr -dr com.apple.quarantine /Applications/GhosttyEXTREME.app
    
  3. For agent status and everything built on it, install the hooks from GhosttyEXTREME-<version>-agent-hooks.zip:
    ./GhosttyEXTREME-agent-hooks/install.sh
    python3 ./GhosttyEXTREME-agent-hooks/install-codex.py   # if you use Codex
    
    Then connect Claude Code as described in Agent status setup.

Your existing Ghostty configuration (~/.config/ghostty/config) works as-is.

Keyboard shortcuts

Shortcut
⌘PCommand palette: agents waiting on you, new sessions, every tool
⌃⌘SShow or hide the sidebar
⌃⌘ECode editor
⌃⌘VVisual Fix
⌃⌘MMission Control
⌃⌘KBackground
⌃⌘LLocalhost sessions
⌃⌘IReview changes
⌃⌘RRace agents
⌃⌘BCommand history
⌃⌘AAgent activity

Agent status setup

Connect Claude Code, Codex and your shell

GhosttyEXTREME sets GHOSTTY_EXTREME_AGENT_EVENTS=1 in its terminals. The hook scripts in agent-hooks/ do nothing anywhere else.

First install them outside the repo:

./agent-hooks/install.sh

This copies the hooks to ~/.ghostty-extreme/agent-hooks/ and the localhost command to ~/.ghostty-extreme/bin/. Point your agents there rather than at the repo: macOS privacy protection can block terminal processes from reading ~/Desktop or ~/Documents, which silently breaks the hooks. Rerun it after updating.

Shell detection (shows the agent's logo as soon as you start it). Add to ~/.zshrc:

[[ -n "$GHOSTTY_EXTREME_AGENT_EVENTS" ]] && source ~/.ghostty-extreme/agent-hooks/ghostty-extreme.zsh

Claude Code status. In ~/.claude/settings.json, run ~/.ghostty-extreme/agent-hooks/agent-hook.sh claude <event> for these hooks:

HookEvent
SessionStartsession_start
UserPromptSubmitprompt_submit
PostToolUsetool_complete
PermissionRequestpermission_request
Notificationnotification
Stopstop
StopFailurestop_failure
SessionEndsession_end
PreToolUse (matcher Bash)pre_tool_use (moves dev servers into localhost sessions)
{ "type": "command", "command": "~/.ghostty-extreme/agent-hooks/agent-hook.sh claude stop" }

Codex status. Run python3 agent-hooks/install-codex.py to install Codex tracking and register its hooks without changing Claude's settings or any saved hook approvals. It keeps existing hook handlers, backs up the config when adding registrations, and retains the legacy command path when already configured. Restart Codex afterwards and approve the new registrations through its normal hook review.

Open a new terminal pane after installation. The GhosttyEXTREME zsh integration launches interactive Codex with --no-daemon and this pane's TTY, so local hooks reach the correct pane. Codex tracking uses session IDs, live tool hooks and native rollout records for reads, commands, multi-file patches, failures, messages and reasoning summaries; child agents appear in their own editor lanes. Private tracking journals live in ~/.ghostty-extreme/codex-tracking/.

Claude usage meter (optional). Have your Claude Code status line script save rate_limits to ~/.claude/ghostty-extreme/claude-usage.json as {"updated": <unix time>, "rate_limits": <rate_limits>}.

Build from source

Requirements and build steps
  • macOS 13 or newer (developed and tested on macOS 26, Apple silicon)
  • Xcode 26 or newer
  • Zig 0.15 from Homebrew: brew install [email protected] (the ziglang.org build fails to link against the macOS 26.4+ SDKs)
  • jq for the agent hooks: brew install jq
git clone https://github.com/steventsvik/GhosttyEXTREME.git
cd GhosttyEXTREME
/opt/homebrew/opt/[email protected]/bin/zig build -Doptimize=ReleaseFast -Dxcframework-target=native
ditto macos/build/ReleaseLocal/Ghostty.app /Applications/GhosttyEXTREME.app

If the repo is in an iCloud-synced folder (like Desktop or Documents), codesign fails on iCloud's extended attributes. Point macos/build at a folder outside iCloud first; update-ghostty.sh does this for you.

Staying up to date: ./update-ghostty.sh rebases this fork onto the newest official Ghostty release, rebuilds and installs it. ./update-ghostty.sh --check only reports whether a new release exists. It needs an upstream remote pointing at ghostty-org/ghostty.


License

AGPL-3.0, see LICENSE. Ghostty's own code is MIT (LICENSE-GHOSTTY). Parts of the sidebar are derived from Warp (AGPL-3.0). Full credits and trademark notes are in NOTICE.md.

For Ghostty itself (configuration, themes, keybindings), see the Ghostty documentation.

// faq

What is GhosttyEXTREME?

Ghostty for macOS, rebuilt to watch AI coding agents work live. Claude Code, Codex and more in a vertical sidebar, a code editor that types in their edits as they happen, a live code map, a backend view (Cloudflare, Supabase, Vercel), Visual Fix, agent races and change review. Unofficial fork.. It is open-source on GitHub.

Is GhosttyEXTREME free to use?

GhosttyEXTREME is open-source under the AGPL-3.0 license, so it is free to use.

What category does GhosttyEXTREME belong to?

GhosttyEXTREME is listed under automation in the Claudeers registry of Claude-compatible tools.

4 views
★ 27 stars
unclaimed
updated 1 day ago

// embed badge

GhosttyEXTREME on Claudeers
[![Claudeers](https://claudeers.com/api/badge/ghosttyextreme.svg)](https://claudeers.com/ghosttyextreme)

// retro hit counter

GhosttyEXTREME hit counter
[![Hits](https://claudeers.com/api/counter/ghosttyextreme.svg)](https://claudeers.com/ghosttyextreme)

// reviews

// guestbook

0/500

// related in Automation & Workflows

🔓

The agent that grows with you

// automationNousResearch/⟨Python⟩★ 251,451◷ MIT[ claude ]
🔓

The API to search, scrape, and interact with the web at scale. 🔥

// automationfirecrawl/⟨TypeScript⟩★ 185,150◷ AGPL-3.0[ claude ]
🔓

🌐 Make websites accessible for AI agents. Automate tasks online with ease.

// automationbrowser-use/⟨Python⟩★ 117,143◷ MIT[ claude ]
🔓

Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop

// automationLeonxlnx/⟨JavaScript⟩★ 89,892◷ MIT[ claude ]
→ see how GhosttyEXTREME connects across the ecosystem