I run Claude Code and Codex CLI side by side a lot. The coding part is great — the annoying part is everything around it. Which terminal is waiting for an approval? Which session is still working, and which one quietly finished ten minutes ago? Tabbing between terminal windows just to hit "yes" got old fast.
So I built any-ai-cli: a single local web dashboard that wraps these CLIs and lets me manage every session from one screen.
What it does
It wraps your AI coding CLIs in a PTY and mirrors their terminal output into a browser dashboard in real time. When a session hits an approval prompt, it surfaces in the UI so you can answer it from the browser — or from the terminal. Both stay in sync.
Beyond approvals, it grew into a small cockpit for parallel agent work:
- Unified approval panel — approve/reject Claude Code and Codex prompts from the browser, including batch answers for multiple numbered questions
- Real-time PTY output via xterm.js over WebSocket
- Chat history + split view — read a bubble-style transcript, search it, or keep it next to the live terminal
- Multi-pane tab — watch several live sessions at once in a grid
- Files tab — browse project files, preview Markdown/code, rename and move files
- Git view — branch history, commit details, and diffs without checking out refs; plus "Commit all" after an explicit review step
- Image & file attach — paste or drag-and-drop straight into a session
- Voice input (Chrome / Edge)
- Model picker with Ollama routing — pick Anthropic / OpenAI / Ollama models from the spawn form; the Hub injects the right env vars per session
- WSL launcher on Windows
How it's built
The whole thing is a single Go binary. No Electron, no separate frontend server.
- The browser UI is static HTML/CSS/vanilla JS, embedded into the binary with
go:embed - It talks to the Hub over a WebSocket
- Terminal rendering is xterm.js; approval detection works by scanning the terminal buffer for known prompt patterns
- PTY handling uses
creack/ptyon Unix and ConPTY (viaaymanbagabas/go-pty) on Windows, so the same binary behaves consistently across platforms
On privacy: the Hub binds to 127.0.0.1 only, puts a random token in the URL, and any-ai-cli sends no telemetry. It's a local-first tool — the point is to make the agents already running on your machine easier to watch, not to add another cloud console.
Trying it
Grab a binary from the GitHub Releases page (Windows / macOS / Linux), unzip, and:
- Double-click
any-ai-cli(or run it with no arguments) - Your browser opens at
http://127.0.0.1:47777/?token=<token>and the Hub is running - Click "+ New Session" to launch a Claude Code / Codex CLI session
- When an approval prompt shows up, an action bar appears under the input — click or use the keyboard to respond
You don't have to keep a separate terminal open; sessions are created, monitored, and approved from the Hub UI.
Heads up: v0.2.x is verified mainly on Windows (WSL supported via a separate launcher). Linux/macOS builds are expected to work but aren't fully validated yet — feedback from those platforms is especially welcome.
Where it's at
This is v0.2.2 and still early. If you run more than one coding agent at a time, I'd love to hear how this fits (or doesn't fit) your workflow.

Top comments (0)