catchup / keep working after a usage limit

How to keep working after a coding agent hits its usage limit

Hand the work to an agent that still has quota: catchup fork claude --into codex. It starts the other agent with the conversation and source-marked failed tool calls, so you can continue the task without re-explaining it.

$catchup fork claude --into codex

Substitute the source agent that stopped and a target that still runs. All eleven supported agents can supply a session. Claude Code, Codex, Copilot CLI, Cursor, Cline, Antigravity (agy), OpenCode, and Pi Agent can be launched as interactive targets.

This does not raise or bypass any limit. The limited agent stays limited until it resets. What moves is the handoff context. This only helps if you already have a second agent you can run.

Send only the part that matters

The whole session is usually more than the next agent needs, and a long opening prompt costs context you would rather spend on the work:

$catchup fork claude --into codex --since-compact

--since-compact keeps the tail after the last compaction, which is normally exactly the stretch that was in flight when the limit hit. --last 20 keeps the last 20 exchanges instead.

If you would rather wait it out

When the limit resets in minutes, or the work depends on state the transcript cannot carry, resume the same agent instead:

$catchup fork claude

Without --into, this delegates to the agent's own resume path and keeps real session state. It is the better option whenever waiting is acceptable — see the comparison.

Make the next time automatic

Install the skill once and the agents learn the command themselves:

$catchup install-skill

After that you say "catch up on the last Claude session" in plain words and the agent runs the right invocation. No flags to remember at 4:50 on a Friday.

Questions

Does this get around the usage limit?

No, and nothing does. The limited agent stays limited until it resets. What moves is the handoff context, so a different agent you already use can carry on without you re-explaining the task.

What if I would rather wait for the limit to reset?

Then wait, and resume the same agent later with catchup fork <agent>. That path uses the agent's own resume mechanism and keeps real session state, which crossing agents cannot do.

How do I stop losing context to this in the first place?

Run catchup install-skill once. It writes catchup's SKILL.md for every supported agent, so the next agent can recover the previous session on its own when you ask it to catch up, without you remembering any flags.