Web UI for Claude Code and Codex sessions.
Run multiple agents, inspect every tool call, and gate risky actions with explicit approvals.
Requirements:
- Bun
- Claude Code and/or Codex CLI available on your machine
Run:
bunx the-companionOpen http://localhost:3456.
Alternative foreground command:
the-companion serve- Parallel sessions: work on multiple tasks without juggling terminals.
- Full visibility: see streaming output, tool calls, and tool results in one timeline.
- Permission control: approve/deny sensitive operations from the UI.
- Session recovery: restore work after process/server restarts.
- Dual-engine support: designed for both Claude Code and Codex-backed flows.
| Chat + tool timeline | Permission flow |
|---|---|
![]() |
![]() |
Browser (React)
<-> ws://localhost:3456/ws/browser/:session
Companion server (Bun + Hono)
<-> ws://localhost:3456/ws/cli/:session
Claude Code / Codex CLI
The bridge uses the CLI --sdk-url websocket path and NDJSON events.
make devManual:
cd web
bun install
bun run devChecks:
cd web
bun run typecheck
bun run test- Protocol reverse engineering:
WEBSOCKET_PROTOCOL_REVERSED.md - Contributor and architecture guide:
CLAUDE.md
MIT

