# AgentHydra: A Local Dashboard for Claude Code, Codex, and OpenCode Sessions

> AgentHydra aggregates local AI coding sessions from Claude Code, Codex, and OpenCode into one browser tab, adds a schedulable queue, and manages isolated Claude Desktop instances. It is a dashboard, not a client, and it runs entirely locally.

**LunarWerxs/AgentHydra** — Every local AI coding session in one tab: Claude Code, Codex and OpenCode in a single list, with a queue you can schedule and isolated Claude Desktop instances kept apart. Local, private, MCP-native.

- Repository: https://github.com/LunarWerxs/AgentHydra
- Website: https://agenthydra.lunarwerx.com/
- Stars: 44 · Forks: 3
- Language: TypeScript
- License: MIT
- Published: 2026-08-27 · Updated: 2026-08-27 · Language: en
- Canonical page: https://hysenlabs.com/projects/lunarwerxs-agenthydra

## The Problem: Local AI Sessions Are Scattered

Developers who use more than one AI coding tool quickly lose track of what is running where. A Claude Code terminal in one repo, a Codex session in another, and an OpenCode desktop app on a different account: each has its own history, and nothing shows them together. You alt-tab between windows to remember which account is which, whether a session is still going, and what you asked it to do. AgentHydra addresses exactly that fragmentation. It is a local dashboard that pulls session history from Claude Code, Codex, and OpenCode into a single browser tab. The intended user is someone who runs AI tools in more than one place: a developer juggling multiple repositories or accounts, or a team that wants a shared view of local agent activity without sending data to a cloud service. The project is not a Claude client and does not replace one. It is the dashboard that the CLI and desktop apps do not provide.

## How It Works: Reading Local Session Stores

AgentHydra does not intercept or proxy your AI conversations. It reads the local data that each tool already writes. Claude Code sessions come from its JSONL files, Codex from its rollout JSONL files, and OpenCode from its SQLite session store, which is shared between CLI and Desktop. The README states that Codex and OpenCode support is read-only, while Claude sessions allow you to type back into a conversation directly from the dashboard. You can even select several Claude sessions and send the same message to all of them. The dashboard lists all sessions newest first, with filters by provider, recency, project, or Desktop instance for Claude. Clicking a session opens the conversation and live-tails it while it runs. For raw access, there are buttons to open a Claude or Codex JSONL file in your editor, download it under its real title, or copy it out. OpenCode conversations are rendered from its database and are not exposed as raw files. This design means AgentHydra is only as complete as the underlying tools' local storage allows.

## Queueing and Scheduling Claude Code Runs

Beyond viewing history, AgentHydra lets you build a queue of claude runs. Each queued run has its own prompt, working directory, model, effort, permission mode, and account. You can run one on demand or let the scheduler drain the queue, one at a time or a few at once, with spacing to avoid overloading anything. Each item can have a start time, so scheduling a run for 3am is a checkbox rather than a cron job you maintain. Two features make the queue survive real-world conditions. First, runs reattach after a restart: quitting the app or auto-updating does not kill in-flight work, and the app picks the runs back up. Second, an optional Orchestrator watches every live session each minute and publishes what needs attention: a chat that finished, a context that outgrew its thread, a dirty repo, an account near its weekly wall, or a thread killed by a restart. The Orchestrator is off by default, and every action it proposes is checked by a reviewer chat before it happens. Nothing is ever continued somewhere you cannot see it.

## Cost Tracking and the Spend Command

AgentHydra computes cost and usage metrics from the session list as it is built. The README claims the overhead is about half a megabyte for a store of 1,400 sessions, and no message text is kept. Costs are published list prices, so they represent what the same work would cost on the API, not what a subscription plan actually bills. This is an important caveat: if you use a Claude subscription, the numbers are not your real spend. For scripting, the command AgentHydra.exe --spend --json prints the same figures. The dashboard shows cost by day, by model, by project, and by account, plus when in the week you work, how many sessions run concurrently, which tools get used, which files changed recently, and which sessions are worth a second look because a tool kept failing or the context was compacted. This level of detail is useful for understanding where time and money go, but the pricing caveat limits its accuracy for subscription users.

## Managing Isolated Claude Desktop Instances

The project grew out of a tool called CCManagerUI, which managed Claude Desktop instances. AgentHydra continues that role. It tracks each isolated Claude Desktop instance, showing which account it is signed into, its plan, and, while running, its process, memory, and uptime. You can open, focus, quit, create, and presumably manage these instances from the dashboard. The README mentions that you can filter Claude sessions by Desktop instance, which ties session history to the specific account that ran it. This is a practical feature for anyone who keeps separate instances for separate accounts. The rename to AgentHydra reflects the broader scope, but the instance management remains a core part of the tool. The migration path is smooth: on first run, ~/.ccmanagerui is moved to ~/.agenthydra, and if the move cannot happen, the app reads the old folder rather than starting empty. Old CCMANAGERUI_* environment variables still work as fallbacks for the new AGENTHYDRA_* ones.

## Getting Started and Configuration

The README points to the GitHub releases page for downloads, and the built-in updater handles updates. After installation, the first run performs the data migration from the old folder. Configuration is primarily through environment variables: AGENTHYDRA_* variables take precedence, with CCMANAGERUI_* as fallbacks. The documentation includes a reference at docs/REFERENCE.md and an Orchestrator guide at docs/ORCHESTRATOR.md. For the Orchestrator, you enable it via a toggle in Settings or a command like /orchestrate full for full mode, which sweeps repositories for quality gates that have not passed since the code last changed, new FIXME comments, or unticked task boxes. The sweep only reads, never runs your repo's scripts, and never works in a repo another chat is in. The actual installation steps, such as system requirements or dependencies, are not detailed in the provided README, so you would need to check the releases or the reference doc for specifics.

## Limitations and the Wrong Tool Cases

AgentHydra has clear boundaries. It is read-only for Codex and OpenCode: you cannot send messages back into those sessions from the dashboard. If you need to interact with those tools, you still have to find their terminals. The cost tracking uses list prices, not actual subscription billing, so the numbers can mislead. The Orchestrator is off by default and requires a reviewer chat to approve actions, which adds overhead. Full mode sweeps repositories but only reads, so it cannot fix anything on its own. There is also a privacy consideration: even though data stays local, the dashboard reads all your session history, which might include sensitive code context. If you only use one AI tool and have no need for cross-session visibility or queueing, this tool adds complexity without benefit. The README does not mention any cloud sync or multi-user collaboration, so it is not a team server; it is a per-machine dashboard.

## Alternatives and Maintenance Considerations

A direct alternative is to use each tool's own interface: Claude Code's terminal, Codex's CLI, and OpenCode's desktop app. That approach has no central view, no queue, and no cross-tool cost tracking, but it also has no extra layer to maintain. Another alternative is a terminal multiplexer like tmux or a window manager, which can keep sessions visible but does not parse session history or provide scheduling. The key difference is that AgentHydra reads the underlying data files to build a unified view, whereas a multiplexer only arranges the raw terminals. Maintenance cost is moderate: the project is actively released, with recent versions like v0.36.0, and the built-in updater handles updates. The rename from CCManagerUI to AgentHydra means desktop shortcuts and MCP configs that reference the old binary need updating, though the repo URL redirects keep git operations working. The license is MIT, which permits commercial use and modification with attribution, but you should review the license text for exact terms.

## Conclusion

Adopt AgentHydra if you run multiple AI coding agents locally and want a single, private view of their history, plus a way to schedule Claude Code runs without a cloud service. Skip it if you only use one tool and have no need for cross-session visibility or instance management. Before adopting, verify that the data migration from the old CCManagerUI folder works for your setup, check that the built-in updater handles the repo rename, and confirm that the read-only support for Codex and OpenCode meets your needs, since you cannot send messages to those sessions from the dashboard.

## FAQ

### What is a Hydra agent in the AgentHydra repository?

Nothing to do with the Marvel character. AgentHydra is a local dashboard for AI coding agents that puts your Claude Code, Codex and OpenCode session history in one browser tab, lets you reply into running Claude chats, and runs without a cloud service or account signup.

### What changed when CC Manager UI was renamed AgentHydra?

GitHub redirects the old repository URL so clones and the built-in updater keep working, ~/.ccmanagerui is moved to ~/.agenthydra on first run with queue, settings and instance names intact, and every CCMANAGERUI_ variable still works as a fallback. Only shortcuts and MCP configs naming the old binary need editing.

### Does AgentHydra run headless sessions?

No. Every attempt to start a new headless run is refused on purpose, and the environment file says the refusal is permanent with no variable left that changes it. The run queue survives as an inspectable record of past runs, but creating or dispatching a new one is refused by policy.

### What does Corch do in AgentHydra?

It splits a task and hands each piece to a Claude Code CLI session on a signed-in account, then reads and checks the results, moving to another account by itself when one hits its usage limit. Workers run without a console window but each stays readable and steerable in the Corch view, and Corch only runs when you start it.

## Sources

- [Official documentation](https://agenthydra.lunarwerx.com/)
- [Official README](https://github.com/LunarWerxs/AgentHydra#readme)
- [Project repository](https://github.com/LunarWerxs/AgentHydra)
- [Release notes](https://github.com/LunarWerxs/AgentHydra/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/lunarwerxs-agenthydra
