One daemon, reading what your tools already wrote
AgentHydra does not sit between you and Claude, and it is not another client to sign into. It reads the local stores your tools write anyway, and gives them a window.
Start the daemon
Run the tray app, or bun run start from a checkout. It serves the dashboard, opens your browser at localhost:7787, and leaves no console window behind.
It finds what is already there
It scans your Claude transcripts, Codex rollout files, the OpenCode database and every isolated instance on the machine. Nothing to import and nothing to configure.
Reply, queue, or hand it over
Type back into a Claude session, build a queue of claude runs for later, or let your agents drive the same state over MCP.
Three tools, and an honest line between them
Every provider's history shows up in the same list. Only Claude takes instructions back, because only Claude ships a CLI that can be handed a prompt. Open a Codex or OpenCode session and the reply box is not there, rather than a send button that quietly does nothing.
| What you can do | Claude | Codex | OpenCode |
|---|---|---|---|
| Read and live-tail the conversation | Yes | Yes | Yes |
| Search and filter alongside everything else | Yes | Yes | Yes |
| Type back into the session | Yes | No | No |
| Message several sessions at once | Yes | No | No |
| Queue and schedule runs | Yes | No | No |
| Isolated instances, per account | Desktop + CLI | Desktop + CLI | Not applicable |
| Remaining quota per account | Yes | No | No |
| Open, download or copy the raw file | Yes | Yes | Rendered from its database |
Scroll the table sideways for Codex and OpenCode.
Codex is read from its rollout JSONL files. OpenCode CLI and Desktop share one local SQLite store, so both turn up without a second setting. A provider you do not have simply never appears.
The part your terminal window is missing
One list, three tools
Claude, Codex and OpenCode conversations sit together, newest first, with a badge saying which wrote which. Filter by provider, project, recency or Desktop instance. Click one to read it and watch it stream while it runs.
Isolated Claude instances
Every separate Claude Desktop profile on the machine, showing which account it is signed into, its plan, and, while it runs, its process, memory and uptime. Open, focus, quit, create and delete from the row. Give each one a name, an icon and a colour so they stop looking identical.
Codex gets its own windows
Each Codex instance gets its own CODEX_HOME and desktop profile, so a work OpenAI login and a personal one run in separate Codex windows at the same time. The CLI Launch and Log in actions use that same isolated login.
A composer that reaches the session
Type at the bottom of a Claude transcript and it goes to that session, without you finding its terminal. Send now, drop it in the queue, or set it for later. Select several sessions and the same message reaches all of them.
A queue you can walk away from
Each run carries its own prompt, working directory, model, effort, permission mode and account. Run one by hand, or let the scheduler drain the list with limits on how many go at once and how far apart. Anything queued can be given a start time, so "do this at 3am" is a checkbox rather than a cron job you maintain.
Runs that survive a restart
Dispatched runs sit under a detached supervisor. Quitting the app, or letting it update itself, does not kill what is in flight. It picks the runs back up.
A rate limit is not a dead end
Sessions stopped by a 5-hour limit can pick themselves back up once the window resets, including ones you started yourself in a terminal. It is gated on your weekly usage so it does not spend everything the moment it can, and it stays off until you turn it on.
Handing a task to ChatGPT
The composer can turn the current task and repository into a bounded Markdown context file, copy a ready-to-paste prompt, and open ChatGPT. Common secret files and likely credentials are left out. You still read the attachment and press submit yourself.
Quick instance mode
When you only want to start an instance, AgentHydra.exe --instances skips the session scanner, the database, queue recovery, the scheduler, the monitor, usage refresh, settings sync and the updater. You get a small window with start, focus and stop for Claude Desktop, Claude CLI and Codex. It runs on its own port, so the full manager can still open later.
Built for you and your agents
You get a dashboard
Click through your sessions, instances, queue and accounts in your regular browser. Message a session, schedule a run, watch it stream back, with no terminal juggling.
Your agents get MCP
The whole API is on MCP stdio, so Claude Code, Claude Desktop or Cursor can drive the exact state you click: sessions, the run queue, the scheduler, the auto-resume monitor, accounts, quota, and the Claude, CLI and Codex instance managers.
get_session
tail_session
run_queue_item
get_run_events
set_scheduler
set_monitor
launch_instance
quit_instance
create_codex_instance
launch_codex_instance
check_my_usage
usage_budget
That is a sample. The full list also covers CLI instances, accounts and the updater, and it is the same API the dashboard itself calls.
{
"mcpServers": {
"agenthydra": {
"command": "bun",
"args": ["run", "--cwd", "<path-to-agenthydra>", "mcp"]
}
}
}
Start the daemon first; the MCP server follows whichever port it actually bound. Mutating tools say MUTATES: in their description, and there is deliberately no shutdown tool.
Agents that know when to stop
Any MCP-speaking agent can read an account's remaining quota before it starts a heavy fan-out, with no human in the loop. Reading it costs nothing, and the repo ships a short doc telling an agent how to use the number it gets back.
Pace the fan-out, don't crash into the wall
Switching the flagship model doesn't dodge the shared weekly bucket, so an agent that checks first can route heavy work to whichever account has the most left.
And when a session does hit the 5-hour wall, the auto-resume monitor picks it back up once the window resets, including runs you started yourself in a terminal.
Two ways in
Download a build
On Windows, run the versioned .exe straight from Releases. It carries its own icon, embeds the web app, and opens no console window. The ZIP next to it is the smaller transport the updater uses. Linux and macOS builds are one-executable archives. No Bun, no sidecar folders.
Or run from source
With Bun on the machine, it is a clone, bun install, bun run build and bun run start. Either way the dashboard is at http://localhost:7787, bound to loopback only.
Set AGENTHYDRA_FAKE=1 and dispatch uses a harmless stand-in for the claude CLI, so nothing touches your quota or your repos. The scheduler is off until you turn it on. Instance actions still act on real instances, and deleting one asks you to type its name.
The claude CLI for dispatch, Claude Desktop for Claude instance management. Codex and OpenCode are optional: their sessions turn up on their own once their normal local stores exist.
The tray launcher is Windows only. macOS and Linux builds exist, and the instance-account code is written for them, but they are not verified there yet. Windows instance management also needs the classic Claude Desktop installer, because the newer MSIX package cannot be launched with an isolated profile. The Instances tab spots this and links the right one.
Local by default, with one automatic exception: one daemon on loopback, your regular browser, and a tray icon. There is no cloud service behind this and no account to sign up for. It reads the local stores your tools already write and talks to localhost. A periodic update check against studio.connections.icu does send the app version, a coarse OS tag, and a random per-install id; the server derives a coarse location, your network's ASN, locale, and a truncated user agent from that, but never an IP address, hostname, username, file path, account, or email. Set AGENTHYDRA_NO_PING=1 to opt out. The other exception is the ChatGPT handoff, which opens the provider and leaves the final upload to you. Open source under MIT.
What people weigh AgentHydra against
AgentHydra is not the only way to keep several AI coding sessions straight. Here is how it differs from the alternatives people usually reach for first, described from each tool's own public docs.
Separate terminal windows
The default: one terminal per session, switched with alt-tab, and history that lives wherever each CLI happened to write it. AgentHydra's whole reason to exist is putting that history and those instances in one list instead.
Crystal (now Nimbalyst)
An Electron desktop app that runs multiple coding-agent sessions in parallel, each in its own git worktree, so you can test and compare approaches side by side. It covers Claude Code and Codex, with OpenCode and Copilot in alpha. AgentHydra doesn't spin up new worktrees or sessions at all; it reads the sessions you already have.
Conductor
A Mac app from Melty Labs for running a team of parallel Claude Code, Codex, Cursor and OpenCode agents, each in an isolated git worktree, with your own subscription paying for the compute. AgentHydra runs on Windows, macOS and Linux and is a dashboard over your existing sessions rather than a worktree launcher.
ccmanager
A tmux-free terminal UI, distributed as an npm package, for managing Claude Code, Codex, Gemini and other CLI sessions across git worktrees. AgentHydra is a browser dashboard plus an MCP server instead of a TUI, and it also handles instance identity, a run queue and scheduler, and quota checks.
Stop alt-tabbing to remember what is running
One daemon. Every Claude, Codex and OpenCode session in one list, every isolated instance in one table, and an MCP door for your agents.
Download a releaseQuestions people actually ask
Is AgentHydra free?
Yes. AgentHydra is free and open source under the MIT license, and no account is needed to run it. There's no cloud service behind it and nothing to sign up for: it reads the local Claude, Codex and OpenCode stores already on your machine and serves a dashboard on localhost.
What AI coding tools does AgentHydra support?
AgentHydra reads and lists sessions from Claude Code, Codex and OpenCode side by side, newest first, each badged with the tool that wrote it. Claude Code sessions come from your transcripts, Codex from its rollout JSONL files, and OpenCode CLI and Desktop share one local SQLite store, so both show up automatically.
Can I reply to a Codex or OpenCode session from AgentHydra?
No, only Claude sessions can be messaged back. AgentHydra can read and live-tail Codex and OpenCode conversations just like Claude's, but only Claude ships a CLI that can be handed a prompt, so Codex and OpenCode sessions open without a reply box instead of a send button that quietly does nothing.
Is AgentHydra private, or does it send my data anywhere?
Not entirely. The one thing that leaves your machine on its own is a periodic update check against studio.connections.icu: it sends the app version, a coarse OS tag, and a random per-install id, and the server derives a coarse location (country, region, city, timezone), your network's ASN, locale, and a truncated user agent from that request, but never an IP address, hostname, username, file path, account, or email. Set AGENTHYDRA_NO_PING=1 to opt out; the check then goes straight to GitHub's API, with no install id or telemetry. Otherwise AgentHydra is one daemon on loopback with your regular browser and a tray icon: no cloud service, no account to sign up for. The other thing that leaves is the optional ChatGPT handoff, which opens the provider and leaves the final upload to you.
What can my AI agents do through AgentHydra's MCP server?
AgentHydra exposes its whole API over MCP stdio, so Claude Code, Claude Desktop or Cursor can drive the same state as the dashboard: sessions, the run queue, the scheduler, the auto-resume monitor, accounts, quota, and the Claude, CLI and Codex instance managers. Agents can also check an account's remaining quota before fanning out work.
Does AgentHydra work offline?
Yes, for reading and messaging: AgentHydra needs no network connection to list, tail, search or reply to sessions, since it only reads local transcript, rollout and SQLite files already on your machine. The claude CLI calls it dispatches still need whatever connectivity Claude itself requires, and the optional update check and ChatGPT handoff are both online-only and skippable.
How is AgentHydra different from tools like Crystal, Conductor or ccmanager?
Those tools launch new Claude Code or Codex sessions in fresh git worktrees so you can run several tasks in parallel. AgentHydra instead reads the sessions you already have across Claude Code, Codex and OpenCode in one browser dashboard, and adds a queue, scheduler, instance manager and MCP server on top, without needing a new worktree per session.
Do I need Bun installed to use AgentHydra?
No. Bun is only needed to run AgentHydra from source (bun install, bun run build, bun run start). The packaged Windows .exe, and the one-executable Linux and macOS builds on the Releases page, bundle everything and need nothing else installed.