Open-source Electron-based AI-native IDE built around the real Claude Code and Codex CLIs.
Agent Code is an open-source Electron IDE for driving the real Claude Code and Codex CLIs from a workspace built for multi-agent development.
Claude Code and Codex are strong runtimes: real permission flows, tool loops, compaction, resume behavior, and provider-specific decisions. Wrappers usually throw that away — they call a thin API, reuse fragile token paths, or rebuild a tiny chat surface. That may look clean, but it loses most of what makes the real products useful.
At the same time, Anthropic is closing OAuth to non-official clients. OpenCode and similar projects have already been blocked. The official Claude Code app works, but it is not built for deep customization or serious parallelization — running many agents means managing panes, prompts, transcripts, worktrees, and provider limits manually in a terminal.
Agent Code takes a third route: keep the native runtimes, own the workspace around them.
Agent Code launches the user's already-installed claude and codex CLIs
through two standalone open-source packages:
claude-code-headless
and codex-headless.
They wrap each CLI in a PTY and expose the runtime as an API — JSONL transcripts, provider conditions, permission and trust prompts, semantic streaming, and screen state for anything the CLI only shows in the terminal. Agent Code consumes that API to rebuild the agent surface in React without replacing the underlying agent loop. Same auth. Same tools. Same session behavior.
Because Agent Code also owns transcript translation
(agent-transcript-parser),
a running session can move mid-task from Claude Code to Codex or back.
-
Tiled workspace — many agent and terminal sessions in a real pane layout.
-
Fleet management — manage detached agents outside the fixed grid. Bulk actions cover the multi-project cases: closing agents that have been inactive across every project, pinning them for quick access, or reattaching them to the grid.
-
Provider switching — move any session between Claude and Codex, individually or in bulk, without losing state.
-
Custom rendering — React feed built from committed transcripts, semantic streams, tool calls, and provider conditions. The raw terminal stays available.
-
Persistent terminals — tmux-backed shells that survive UI reloads.
-
Built-in MCP + orchestration — a parent agent can create real Agent Code child agents, prompt them, wait for them, and read their outputs.
-
Prompt and transcript tools — search, rewind, duplicate, resume-command copy, prompt templates. Reader Mode gives a paginated, distraction-free view of long sessions for reviewing what an agent actually did.
-
Voice dictation — via
agent-voice-dictation. -
Diagnostics — durable local evidence for provider exits, transcript drift, rendering issues, and near-OOM events.
Requires Node 22, plus claude and codex on PATH. The headless runtimes
live as git submodules, so clone with them included:
git clone --recurse-submodules https://github.com/Juliusolsson05/agent-code.git
cd agent-code
npm install
npm run devIf you already cloned without --recurse-submodules, initialize them once:
git submodule update --init --recursiveTo build a distributable macOS app, first fetch the bundled runtime artifacts (tmux, mitmproxy), then package:
npm run runtime:prepare:mac
npm run dist:macdist:mac is shaky in this early beta stage — packaging edge cases around
bundled binaries and code signing are still being ironed out. For day-to-day
use, run Agent Code with npm run dev instead.
claude-code-headless— headless Claude Code control layercodex-headless— headless Codex control layeragent-transcript-parser— Claude/Codex transcript conversion and rewindagent-voice-dictation— dictation primitives for agent composer UIs
Active beta. The upstream CLIs move quickly; so does this project.



