Claude Code on GPT or Gemini. Codex on Claude. bro's proxy translates between them, live.
Anthropic Messages
OpenAI Chat
OpenAI Responses
Gemini
ClaudeOpus 5, Sonnet 5, Fable 5
OpenAIGPT and Codex logins
GeminiGemini 4 Argon
OpenRouter463 live models
xAIGrok 4
DeepSeekChat, Reasoner
MoonshotKimi K2
Z.aiGLM 5.3
MetaMuse Wonder 1.0
MistralLarge, Codestral
GroqLlama 3.3 70B
OllamaLocal models
LM StudioLocal models
One proxy, every login
Several Claude accounts pool together and fail over before your agent sees a byte. Tools, images and thinking come through intact.
$ bro proxy pool -m claude-opus-5
57 themes. Pick one.
19 bundled terminal fonts, live preview, and your own in a TOML file.
Neon glow in the desktop app
HughOrchestrator · on the Claude pool
★
Mal opus-5wire the launcher to the proxy routes2 of 3 teammates working
Working
Pinky gpt-5.2-codexadd golden fixtures for responses streamingAll 41 proxy tests pass.
Done
Toastπ kimi-k2summarise the bridge protocolThe bridge speaks /ws with hello and snapshot events.
Done
Minty sonnet-5justgains: add a loading stateApprove the plan?
Needs you
LilacNext session gets this name
Free
SkyNext session gets this name
Free
BittyNext session gets this name
Free
Hugh runs the crew.
bro's orchestrator is named after the JustGains mascot. Every session it opens gets a name from the marshmallow crew.
It opens sessions, hands out the work, waits, and tells you when it's done. Ask it out loud, from your phone, or on a schedule.
$ bro ctl open_session project=justgains agent=codex task="add a loading state"
26 tools over MCP
The same tools run from any shell as bro ctl.
Watch
list_sessionsEvery tab: agent, folder, branch, what it's doing
read_sessionA tab's screen and recent scrollback
wait_for_outputWait for new output, then quiet
wait_for_sessionsWait on several tabs, all or any
get_usage5-hour and weekly limits for every login
list_chatsPast Claude Code and Codex chats
read_chatA chat's conversation
Drive
send_inputType into a tab and submit
send_keysEnter, Esc, arrows, ctrl+c
answer_promptAnswer the question an agent is waiting on
clear_context/clear or /new in a tab
watchdog_updateMark milestones, stand a watchdog down
Sessions
open_sessionNew agent in a project, with a task
create_sessionNew shell, claude, codex, pi or omp
find_projectResolve a spoken project name
focus_sessionBring a tab to the front
show_projectTile one project's sessions
rename_sessionRename a tab
list_projectsProjects and recent folders
close_sessionClose a tab
close_all_sessionsClose a project's tabs, skipping busy ones
Time
clear_own_contextRestart itself fresh, with handoff notes
schedule_addin 10m, at 17:30, every 30m, daily 09:00
schedule_listScheduled prompts
schedule_removeRemove a scheduled prompt
notify_userSound and a toast on your devices
See who needs you.
Alt+I flips a session: its plan, the files it touched, its last reply.
Usage left on every login, and which one bro would pick.
Your agents, in your pocket.
Pair the Just Terminal app with a QR code. Answer, approve and type from anywhere.
And the rest of the kit.
Caveman mode
Same facts, far fewer tokens.
> why do sessions die after an hour?
● Sure! I'd be happy to help. The issue you're experiencing is most likely caused by the token expiry check in your auth middleware, which appears to use a strict less-than comparison instead of less-than-or-equal…
● Bug in auth middleware. Expiry check uses <, not <=. Fix:
● Auth middleware. < → <=.
● 驗證中介之誤。< 當作 <=。
376 sound packs
Game voice lines when an agent finishes or needs you.
“Work, work.”
From the PeonPing registry
128 keybindings
AltNStart an agent
AltPCommand palette
AltAJump to whoever needs you
AltIFlip a session over
AltOThe orchestrator
AltLMove a session to another login
AltYProxy
AltGPair a phone
Talk to Hugh
Hold Right Win in any app, say what you need, let go.
“Open a session in justgains.”
24 tools, one checklist
bro install sets up a new machine.
JustTools
JustPaste
JustWatch
JustImagine
JustBrowseMCP
Git
GitHub CLI
Node.js
Bun
Python
uv
.NET 9, 10, 11
Claude Code
Codex
πPi
ωomp
ripgrep
FFmpeg
yt-dlp
Tailscale
PowerToys
ShareX
Keys that travel
Export your API keys encrypted, load them on the next machine.
$ bro --export-env $ bro --env bro.env --save
Argon2id and XChaCha20-Poly1305
Watchdogs
A fresh reviewer reads a quiet session and hands it the next task.
watchdog 2/5
Sessions that outlive the window Next release
Close bro, update it, even crash it. Your agents keep working.
22 days from Rust rewrite to desktop app.
Built in bro, mostly by agents running in bro.
First commitbro v1, in Node: profiles, providers, resume
Rewritten in RustWorkspace, bridge, proxy and TUI in one day
v2.0.0-alpha.1Release workflow and the README
WatchdogsSessions keep moving while you're away
The orchestratorHugh, the scheduler and bro ctl
The desktop appwgpu renderer, media panel, three OSes