{"slug": "i-hit-my-claude-code-limit-mid-feature-so-i-made-the-handoff-a-file-in-git", "title": "I hit my Claude Code limit mid-feature, so I made the handoff a file in git", "summary": "A developer built SpecWeave 3.0, an open-source tool that stores coding-agent session state in git so work can move between Claude Code, Codex, Grok Build, Gemini CLI and Cursor. The tool writes a handoff note, releases task claims, scrubs secrets and pushes the branch plus an uncommitted-diff snapshot on exit, then restores that context in the next agent via a pickup command, with automatic handoff triggered at 90% of Claude Code and Codex usage windows.", "body_md": "Last week I ran out of my Claude Max window halfway through a feature. I had Codex, and a second Claude account, and neither could see anything the first session knew. The plan, the decisions and my half-written code were stuck in a transcript no other tool can read.\n\nThat is not a bug in any one tool. Every coding agent keeps its session in its own store. So the only place that every agent can read is the repository.\n\nSpecWeave 3.0 keeps three things in git for each piece of work:\n\nAnd one AGENTS.md of about 760 tokens that Claude Code, Codex, Grok Build, Gemini CLI and Cursor all read.\n\nIn the tool you're leaving:\n\n```\nspecweave handoff --reason \"out of tokens\"\n```\n\nIt releases your task claims, writes the handoff note, scrubs secrets, and pushes your branch plus a snapshot of the uncommitted diff. Your working tree is left as it was.\n\nIn the next tool:\n\n```\nspecweave pickup\n```\n\nIt fetches the handoff, applies the edits when your checkout is clean, and prints the next task with its acceptance criteria, files and test. The agent starts with context instead of \"let me explain this project again\".\n\n```\nspecweave auto-handoff on\n```\n\nOn your own machine this hands off at 90% of the 5-hour or weekly window in Claude Code and Codex, and right after a rate limit in Grok Build. Cloud sessions have no usage meter to read, so there you just say \"hand off\".\n\nIt can't read another tool's transcript. Nobody can. It only works because the important parts were never in the transcript to begin with.\n\n```\nnpm i -g specweave@3\nspecweave init\n```\n\nIt's open source: [github.com/anton-abyzov/specweave](https://github.com/anton-abyzov/specweave). The full guide is at [spec-weave.com](https://spec-weave.com/docs/guides/cross-tool-handoff/), and the usage-limit walkthrough is at [spec-weave.com/docs/guides/claude-code-usage-limit](https://spec-weave.com/docs/guides/claude-code-usage-limit/).\n\nHow do you handle a limit mid-task today? A HANDOFF.md by hand, or just wait for the reset?", "url": "https://wpnews.pro/news/i-hit-my-claude-code-limit-mid-feature-so-i-made-the-handoff-a-file-in-git", "canonical_source": "https://dev.to/aabyzov/i-hit-my-claude-code-limit-mid-feature-so-i-made-the-handoff-a-file-in-git-3mkh", "published_at": "2026-10-10 04:20:17+00:00", "updated_at": "2026-10-10 04:30:50.341417+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools", "ai-products"], "entities": ["SpecWeave", "Claude Code", "Codex", "Grok Build", "Gemini CLI", "Cursor", "Anton Abyzov"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/i-hit-my-claude-code-limit-mid-feature-so-i-made-the-handoff-a-file-in-git", "markdown": "https://wpnews.pro/news/i-hit-my-claude-code-limit-mid-feature-so-i-made-the-handoff-a-file-in-git.md", "text": "https://wpnews.pro/news/i-hit-my-claude-code-limit-mid-feature-so-i-made-the-handoff-a-file-in-git.txt", "jsonld": "https://wpnews.pro/news/i-hit-my-claude-code-limit-mid-feature-so-i-made-the-handoff-a-file-in-git.jsonld"}}