{"slug": "show-hn-lanes-simple-claude-coordination-that-exploits-0-1x-cache-read-pricing", "title": "Show HN: Lanes, simple Claude coordination that exploits 0.1x cache-read pricing", "summary": "A developer known as adam-s released Lanes, a proof-of-concept for coordinating multiple Claude Code chats through a shared message file, exploiting Anthropic's 0.1x cache-read pricing to reduce costs. The system lets an orchestrator chat split tasks among worker chats that watch the file, with support for Codex and git worktrees for parallel coding. The project is hosted on GitHub under adam-s/lanes.", "body_md": "A Claude Code chat will keep a file watch running (like `tail -f`\n\n) if you ask,\nand wake up when a new line arrives. So several chats watching the same file\ncan send messages to each other.\n\nCache reads cost 0.1x (10%) of the normal token price. A chat that has already read the code is cheap to wake up again. Subagents start with an empty cache every time, so launching them over and over is expensive, even for small tasks.\n\nThis proof of concept combines the two ideas into agent lanes. Each chat joins a shared message file with the comms skill. One chat is the orchestrator, the rest are workers. You can also give workers a specialty, like reviewer or UI.\n\n## lanes-demo-edit-v1-fast-web.mp4\n\n- Open three Claude Code chats in this repo.\n- In the first, type\n`/comms main`\n\n. - In the second,\n`/comms child claude-1`\n\n. In the third,`/comms child claude-2`\n\n. - Tell main what to build. It splits the work into tasks, sends them out, verifies the results, and sends the next ones.\n\nIf two workers write code at the same time, give each its own git worktree.\n\nCodex can join a lane too (for example `/comms child codex-1`\n\n), but you have\nto explicitly tell it not to close the chat, or it ends the session instead\nof watching the file.\n\nIn the file, the `task`\n\nand `done`\n\nabove are one line each. Shown here\npretty-printed:\n\n```\n{\n  \"from\": \"main\",\n  \"to\": \"worker\",\n  \"at\": \"2026-09-01T01:28:13Z\",\n  \"type\": \"task\",\n  \"task\": \"usage-dashboard\",\n  \"text\": \"Build the dashboard view. Your tree: ../lanes-dashboard.\"\n}\n{\n  \"from\": \"worker\",\n  \"to\": \"main\",\n  \"at\": \"2026-09-01T01:32:42Z\",\n  \"type\": \"done\",\n  \"task\": \"usage-dashboard\",\n  \"text\": \"Committed 724d2d6. Ran node --test: 27 pass, 0 fail.\"\n}\n```\n\nThe rules the agents follow are in [AGENTS.md](/adam-s/lanes/blob/main/AGENTS.md). Why each rule\nexists is in [.agents/reference/protocol.md](/adam-s/lanes/blob/main/.agents/reference/protocol.md).", "url": "https://wpnews.pro/news/show-hn-lanes-simple-claude-coordination-that-exploits-0-1x-cache-read-pricing", "canonical_source": "https://github.com/adam-s/lanes", "published_at": "2026-09-01 15:14:22+00:00", "updated_at": "2026-09-01 15:23:20.463199+00:00", "lang": "en", "topics": ["ai-tools", "ai-agents", "developer-tools"], "entities": ["adam-s", "Claude Code", "Anthropic", "Codex", "GitHub", "Lanes"], "alternates": {"html": "https://wpnews.pro/news/show-hn-lanes-simple-claude-coordination-that-exploits-0-1x-cache-read-pricing", "markdown": "https://wpnews.pro/news/show-hn-lanes-simple-claude-coordination-that-exploits-0-1x-cache-read-pricing.md", "text": "https://wpnews.pro/news/show-hn-lanes-simple-claude-coordination-that-exploits-0-1x-cache-read-pricing.txt", "jsonld": "https://wpnews.pro/news/show-hn-lanes-simple-claude-coordination-that-exploits-0-1x-cache-read-pricing.jsonld"}}