Skip to content

Juliusolsson05/agent-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,093 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agent Code

Agent Code

Open-source Electron-based AI-native IDE built around the real Claude Code and Codex CLIs.

Stars Forks Issues License Last commit GitHub


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.

Agent Code tiled workspace with multiple Claude and Codex sessions running side by side across project tabs

Why it exists

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.

How it works

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.

What you can do with it

  • 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.

    Agent Code Close Old Agents modal — inactive-hours threshold, per-project scope, and a preview of the Claude and Codex agents that will be closed

  • 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.

    Agent Code Dispatch sidebar with orchestration MCP tool calls (send_prompt, wait_agents, read_agent, close_run) running in a live session

  • 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.

    Agent Code Reader Mode — paginated distraction-free view of a long agent session with Older/Newer navigation across project tabs

  • Voice dictation — via agent-voice-dictation.

  • Diagnostics — durable local evidence for provider exits, transcript drift, rendering issues, and near-OOM events.

Getting started

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 dev

If you already cloned without --recurse-submodules, initialize them once:

git submodule update --init --recursive

To build a distributable macOS app, first fetch the bundled runtime artifacts (tmux, mitmproxy), then package:

npm run runtime:prepare:mac
npm run dist:mac

dist: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.

Companion packages

Status

Active beta. The upstream CLIs move quickly; so does this project.

License

MIT

About

An open-source AI-native IDE that wraps the real Claude Code and Codex CLIs, preserving their native runtimes while adding custom rendering, orchestration, tiled sessions, provider switching, and transcript tooling.

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors