Skip to content

maddada/Ghostex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

245 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

App was renamed from zmux to Ghostex to better represent what it does.

This app is my attempt to bring the best parts of Codex App's amazing UX to Agent CLI users with real native Ghostty terminals.
Sorry for any inconvienence cause by the rename 🙏🏻

The best parts of Ghostty & Codex App = Ghostex!

Fully-featured Native Agent CLIs Manager
Embedded Browser | Advanced Agents Support | Fast & Lower RAM

Install on macOS using brew or dmg in releases page

(Looking for help with dev/testing for Windows & Linux ports)
brew install --cask maddada/tap/ghostex
# The existing cask name remains accepted too:
brew install --cask maddada/tap/zmux

Work with tens of agents in multiple projects with ease:

image

All Agent CLIs supported (please send an issue or PR for integrating any missing agent cli)

Untitled

Includes Chromium based embedded browser with Devtools, profiles, and MCP access:

Ghostex sidebar with terminal and browser panes


Includes embedded VSCode for editing files, checking PRs, and working with git
(loaded on demand)

2026-05-08_CleanShot_18-38-12@2x

Best features:

  • Native swift macOS app for better performance
  • Native Ghostty for best cpu/ram use and compatibility
  • Inspired by Codex App's UX
  • Embedded browser is chromium not webkit (unlike cmux). Includes devtools & profiles!
  • Auto sleep unused terminals to save ram (auto-restore when clicked)
  • Auto session naming for Codex/Claude/Pi/Gemini/Copilot cli sessions (more soon)
  • Reopening the app always resumes your agent cli sessions
  • Light embedded VS Code based editor & git manager & managing PRs with github PR extension.
  • The best agent CLI rich prompt editor included! Press ctrl+g in Claude Code/Codex CLI to use it!
  • Rich Prompt Editing with Zapet can be enabled from Settings and installed from Homebrew inside the app.
  • Hotkeys use a recorder UI with direct split controls for creating real sideways and downward panes.
  • The installed Ghostex app also proxies terminal CLI commands such as ghostex sessions; gtx sessions is the short alias.
  • The macOS title bar follows the active project, and project headers now separate agent launch from plain terminal creation.
  • Combined mode's top row creates a new session in the active context, with chat creation kept in the Chats section.
  • Sidebar collapse state persists locally, and project editor rows can hide or show changed-file counts from Settings.
  • Menu bar working & done indicators and notification sounds for almost all agent clis
  • Embedded T3code
  • Integrations for all the popular Agent CLI

Other useful stuff:

  • Built in zmx/tmux/zellij support
    • Can continue via ssh then use ghostex or gtx cli to attach. Beta but working well already with especially zmx.
  • Automations and cross agent messages (coming very soon)
  • Better worktrees support coming very soon - Want to nail the UX
  • Prompt to find any past thread in your history with just a few keywords
    • Very useful if you want to continue with an agent that already has context about a complex feature
  • Auto sync of the terminal title and status with UI
  • Allows multiple panes and multiple groups per project, each with different split/tab layouts

Even more useful features:

Can be attached to your IDE: Shows a button on the attached IDE (Zed / VScode) to show Ghostex.

  • Follows your IDE size/position.
  • Project in IDE & Ghostex is mirrored.
  • Hotkey to hide/show.
  • Click on your IDE to hide Ghostex

Can also integrate with Chrome Canary as the default agentic browser (positions it inside Ghostex and adds it to the sidebar)

MCP setting to make Chrome Canary always used by your agent:

  1. Ask the agent to use "Chrome Devtools MCP"
  2. Enable remote debugging on Chrome Canary
  3. Set your mcp to use canary channel:
For Claude Code:

~/.claude.json

{
  ...
  "mcpServers": {
    "chrome-devtools": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "chrome-devtools-mcp@latest",
        "--channel=canary",
        "--autoConnect"
      ],
      "env": {}
    },
    ...
  },
  ...
For Codex:

~/.codex/config.toml

[mcp_servers.chrome-devtools]
command = "npx"
enabled = true
args = [ "chrome-devtools-mcp@latest", "--auto-connect", "--channel=canary" ]

Dev Setup With The zmux Ghostty Fork

Clone both repositories into the same parent directory and keep the Ghostty folder named ghostty:

mkdir -p ~/dev/zmux-repos
cd ~/dev/zmux-repos
git clone https://github.com/maddada/zmux.git zmux
git clone https://github.com/maddada/ghostty.git ghostty

Build Ghostty's native macOS framework first:

cd ghostty
env DEVELOPER_DIR=/Library/Developer/CommandLineTools \
  SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX15.4.sdk \
  GHOSTTY_METAL_DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer \
  zig build -Demit-xcframework -Dxcframework-target=native -Demit-macos-app=false

Then build or run zmux:

cd ../zmux
bun run build

If the Ghostty checkout is not beside zmux or is not named ghostty, set GHOSTTY_ROOT explicitly:

GHOSTTY_ROOT=/path/to/ghostty bun run build

About

Native Agent CLIs manager for macOS. Ghostty + Codex app = zmux! Embedded browser. Strong agents support.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors