Show HN: Claude Code hits its 5-hour limit, Codex picks up in the same terminal LegCli released Leg, a terminal tool that watches coding-agent usage limits and hands off work to the next agent in the same terminal when a limit is hit, starting with Claude Code's five-hour cap and moving to Codex. Leg tracks usage per agent and account via Claude Code's usage endpoint and StopFailure hook, Codex's read-only app-server rate-limit read, agy's log, and Grok's billing proxy endpoint, and refreshes a context-handoff-bundle published on PyPI so the session resumes without retyping. The default ladder runs claude/fable, claude/opus, claude/sonnet, then each remaining installed agent, and Leg strips API-key environment variables such as ANTHROPIC_API_KEY and OPENAI_API_KEY to enforce subscription logins. Type leg claude , leg codex , leg agy or leg grok instead of the bare command. You get the same interactive agent; Leg opens a board next to it, watches the usage limit, keeps a handoff bundle current, and when the limit hits it starts the next agent in the same terminal from that bundle. Claude hits the five-hour wall. The terminal reads handing off to codex , and codex carries on there. Nothing is retyped. the full 53-second run https://legcli.com/ handoff You keep using your coding agents exactly as you do today, in any terminal, from your own config directory: Leg adds its hooks in a separate per-session settings file and never edits yours unless you turn on the portable harness https://github.com/ucsandman/LegCli/blob/main/docs/harness.md , which writes only marked, backed-up, Leg-owned files and regions . leg claude --model opus is claude --model opus with four things running alongside it: 1. A board. Opened once in your browser, reused after that. Every Leg session in every terminal is a row on it, and the row's register reads status, repo on branch, uncommitted and unpushed counts, agent and model, and how long it has been quiet: waiting on you leg on main dirty 3 ahead 2 claude/fable . Under that come the prompt, the one thing worth knowing, the files it is touching and the usage bucket that will stop it. Capacity is one strip at the top rather than a region, with the login panels and their gauges behind Capacity and models . Two sessions editing the same file in one repo are flagged on both rows, and a second session in a checkout that already has one gets its own worktree and a Land button instead of writing over the first. 2. Usage tracking per agent and account, from what each CLI already exposes: Claude Code's usage endpoint and its StopFailure hook, Codex's read-only app-server rate-limit read, agy's log, and Grok's billing proxy endpoint. 3. A context handoff bundle context-handoff-bundle https://pypi.org/project/context-handoff-bundle/ refreshed as the session goes, so the work is always ready to hand off. 4. The handoff itself. Near the limit you get a warning. At the limit Leg saves the bundle, stops the agent, and starts the next option in the same terminal from that bundle. The options are a ladder of rungs, and a rung is an agent, a login and a model: the default is claude/fable , claude/opus , claude/sonnet , then each remaining installed agent. A Fable limit walls Fable and not the login, so the first move is usually to another model on the same subscription, and for claude that move is claude --resume