CLI tool
maddada/Ghostex avatar
maddada/Ghostex

Ghostex: A Native Desktop Hub for Running Multiple CLI Agents Side by Side

Ghostex is an extensible platform for building AI workflows and agent integrations with practical deployment-oriented tooling.

789 stars42 forksRustMIT

At a glance

What is it?
Ghostex is a Rust-based desktop app that wraps Ghostty terminals, an embedded browser, and a client/server daemon around Claude Code, Codex, and other CLI agents. It targets developers who juggle multiple agent sessions and want to control them from a phone or a remote host.
Who is it for?
Adopt Ghostex if you are a developer who runs several CLI agents at once and wants a native desktop workspace with terminal, browser, and mobile access. Skip it if you need a stable Windows experience outside WSL2, or if you prefer a web-based interface.
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 1 day ago.
What is it written in?
Mainly Rust, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Ghostex Solves and Who It Is For

Ghostex addresses a specific pain: developers who keep multiple AI coding agents alive at once. The README names Claude Code, Codex, OpenCode, and any other CLI agent. The problem is that each agent runs in its own terminal, and switching between them is clumsy. Ghostex gives you a single desktop workspace where those terminals live side by side. It also adds a chat GUI that renders the same session as the CLI, so you can toggle between the two. This is for people who are comfortable with terminal-based agents but want a more visual layer. It is not a beginner tool. The target user is someone who already runs multiple agents and wants to manage them from one place, including from a phone.

The Architecture: Client Apps, gxserver, and zmx Persistence

Ghostex is built around a client/server split. The README describes it as 'client apps <-> gxserver daemon <-> zmx persistence'. The gxserver daemon runs on a host machine, and client apps connect to it. This means you can install gxserver on a remote machine and control the agents there from any client device. Supported clients include macOS, Linux, Windows WSL2 beta, Android, and a TUI based on herdr. Supported hosts are macOS and Linux, tested on Ubuntu x64 and arm64. The zmx persistence layer stores session data. This architecture is what enables mobile access and remote control. It is a meaningful design choice: instead of a single monolithic app, you get a daemon that can run headless on a server. This is more flexible than a purely local app, but it also means you have to manage a daemon process.

Getting It Running: Install Commands and Platform Notes

The install paths differ by OS. On macOS, the Homebrew cask installs the Apple Silicon build: `brew trust maddada/tap && brew install --cask maddada/tap/ghostex`. There is also a direct DMG download. On Windows, the app is a beta for WSL2 workflows only. The README warns it may have bugs and that native Windows shell workflows are not the intended setup. Ghostex manages terminals, gxserver, and the Source editor inside the selected WSL2 distribution. Starting with 7.0.0, Windows gets automatic updates from GitHub Releases. On Linux, there are DEB, RPM, and Arch tarballs. The portable tarball is a prefix-preserving tree: you extract it at the filesystem root with `sudo tar -xpf ghostex-*-linux-x64.tar.zst -C /`, which installs `/opt/ghostex` and puts `ghostex` and `gx` on your PATH. The Arch dependencies are listed, including gtk3, nss, nspr, mesa, and others. Ghostex does not bundle Chromium; the first GUI launch downloads the browser runtime into your cache. Android APKs are in GitHub Releases, and iOS access is via TestFlight through the Discord.

The Embedded Browser and the /ghostex-embedded-browser-use Skill

One distinctive feature is the embedded Chromium browser. It comes with Annotations, Chrome Devtools MCP for Agents, and Profiles. The README mentions a skill called `/ghostex-embedded-browser-use` that lets the agent control your embedded browser tabs. This is a concrete mechanism: an agent, such as Claude Code, can drive the browser inside Ghostex. That is useful for tasks that involve web pages, like testing a UI or fetching a page. The browser is not just a viewer; it is a tool the agent can operate. The documentation does not explain exactly how the skill is invoked or what permissions it grants. But the existence of a dedicated skill suggests a deliberate integration. This is more than a simple web view. It turns the browser into an agent-controlled surface, which is a different approach from letting the agent use its own headless browser.

Terminal and Chat GUI: The Same Session, Two Views

Ghostex solves a real annoyance: editing long prompts in a terminal is painful, and you cannot click on images. The README says the terminal is more powerful than chat interfaces and gets features first. So Ghostex renders the same session as a CLI or as a chat GUI, and you toggle between them with a hotkey or click. This is not a separate chat client; it is a view over the same agent session. The chat GUI includes a rich prompt editor with Ctrl+G, which supports hotkeys and image previews. The README specifically calls out the problem of uneditable '[Pasted 50+ lines]' text. This is a practical improvement for anyone who has struggled to edit a long prompt in a terminal. The trade-off is that the chat GUI may not expose every terminal feature, but the toggle lets you switch back when you need the raw CLI.

Cross-Agent Orchestration and the Kanban Board

Ghostex includes cross-agent orchestration. The README says agents can launch other agent sessions using the `ghostex` CLI command. For example, you can ask Claude Code to launch Codex sub-agents and send prompts to them, then read their output. There is also a skill called `/ghostex-cli` that you can use to write your own skills. This is a notable capability: it breaks the wall between different agent CLIs. The Kanban board is another feature, described as 'based on beads'. You put thoughts on the board, then an orchestrator agent manages subagents to tackle them. The README explicitly says Ghostex supports cross Agent CLI orchestration, where Claude Code can launch and steer Codex agents. This is a differentiator from running agents in isolation. The exact mechanics of the orchestration are not detailed in the provided material, but the existence of a CLI command and a skill suggests a scriptable interface.

Session Search and Inbox Management

Ghostex provides a unified search across all your previous agent sessions. The README says you can fuzzy search by typing a few words from your prompts, then press enter to resume that session. You can start it from the sidebar or run `ghostex find` or `gx f`. There are filters, and you can see a list of all previous sessions by title, tag, or last active. This is a big time-saver if you work with multiple agents and lose track of where you left off. There is also an optional Inbox for agent management. The README describes it as moving work beyond individual sessions, organizing around threads and worktrees. You can focus on one project or see every project together, and snooze or settle threads. This is a higher-level organization layer. It is optional, so you can ignore it if you prefer a simpler workflow.

Limitations and When Ghostex Is the Wrong Tool

The most obvious limitation is Windows support. The Windows app is a beta for WSL2 only, and the README warns it may still have bugs. If you need a native Windows shell workflow, Ghostex is not ready for you. Another limitation is that Ghostex does not bundle Chromium. The first GUI launch downloads the browser runtime into your cache. That means an offline first-run will fail, and you depend on a network connection. The README lists many runtime dependencies for Linux, which could be a hurdle on minimal systems. The project is also under active development, with three releases in four days (v8.0.0, v8.1.0, v8.2.0). That pace means frequent changes and potential instability. If you prefer a stable, slow-moving tool, this might be a concern. Finally, the client/server architecture adds a daemon process. That is a management overhead. If you just want a single terminal for one agent, Ghostex is overkill.

Alternatives: How They Differ in Approach

The main alternative is to use a general-purpose terminal multiplexer like tmux or a terminal emulator like Ghostty directly. That approach gives you multiple panes and sessions, but it lacks the agent-specific features: the chat GUI, the embedded browser skill, cross-agent orchestration, and mobile access. Another alternative is a web-based agent UI like Open WebUI or a project-specific dashboard. Those run in a browser and do not require a native app, but they do not give you a native terminal with low RAM usage. The README specifically mentions Ghostty terminals as a base, so a plain Ghostty setup is a valid alternative. The difference is that Ghostex layers agent management on top of the terminal, whereas a bare terminal just gives you the shell. If you only need to run one agent at a time, a simple terminal is lighter. If you need orchestration and mobile control, Ghostex offers something a plain terminal cannot.

Maintenance, Upgrade Cost, and License

Ghostex is licensed under MIT, which is permissive and allows commercial use without a copyleft obligation. That is a low-license-risk choice for most teams. The project is actively maintained, with releases on a near-daily basis in the observed period. That means you will need to keep up with updates to get fixes and new features. The Windows updater is automatic from 7.0.0 onward, but the macOS and Linux update paths are not described in the material. You may need to manually download new versions. The client/server split means you have to update both the client and the gxserver daemon. That is a maintenance cost. The daemon runs on a host, so you need to manage that process as part of your infrastructure. The README does not mention a migration path for config or sessions between versions, so you should test upgrades carefully.

Editorial conclusion

Adopt Ghostex if you are a developer who runs several CLI agents at once and wants a native desktop workspace with terminal, browser, and mobile access. Skip it if you need a stable Windows experience outside WSL2, or if you prefer a web-based interface. Before adopting, verify that your Linux distribution has the required Chromium runtime libraries, and check the beta status of the Windows build. Confirm that the gxserver daemon supports your target host OS, since only macOS and Linux are listed as supported hosts. The project is under active development with frequent releases, so plan to track updates.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes