{"schemaVersion":"1.0","publication":{"slug":"pivot-claude-code","name":"Claude Code Review","description":"Workflows, releases, and field notes for Anthropic's coding agent.","audience":"Developers and teams adopting Claude Code.","geography":null},"edition":{"id":"074cd9af-1939-4f85-beba-416b908a609f","date":"2026-09-08","status":"open","createdAt":"2026-09-08T02:56:36.926Z","storyCount":10,"newsletterSubject":null},"updatedAt":"2026-09-07T13:14:20.245Z","stories":[{"id":"2e2d8b46-6bf8-4b69-81f1-2b3e6b6fed42","title":"Hackathon winner open-sources a 181-skill Claude Code plugin","dek":"Everything Claude Code packages the sub-agents, skills, and commands one developer used to take Anthropic's hackathon grand prize into a setup any team can install.","bodyMd":"A developer who won the grand prize at an Anthropic hackathon has open-sourced the entire Claude Code configuration he used to do it. The plugin, called Everything Claude Code, ships with 181 pre-built skills, 47 sub-agents, and 79 ready-to-run commands, according to a post by its creator, Kayvon Jafarzadeh.\n\nThe pitch is aimed at what Jafarzadeh calls the blank-cursor problem: the dead time a developer spends figuring out what to type into Claude Code before any real work starts. Instead of writing prompts and agent structures from scratch on every new project, a team installs a setup that was already tested under hackathon time pressure and, per Jafarzadeh, built over 10 months of production use.\n\nThe plugin auto-detects a project's tech stack and configures itself around it, removing a manual setup step that normally falls to whoever is running the session. Among the 47 sub-agents are specialists for security scanning, a memory-optimization agent meant to stop long sessions from degrading, and a learning agent that adjusts based on a team's past sessions rather than starting cold each time. Jafarzadeh says the setup also runs across Cursor, Codex, OpenCode, and Gemini, not just Claude Code.\n\nThat cross-tool compatibility is the more consequential part of the release for teams standardizing on agent workflows: a skill or sub-agent built once doesn't have to be rebuilt for whichever coding tool a given engineer prefers. For \"vibe coders\" running Claude Code as a single assistant, Jafarzadeh frames the effect as turning one tool into a coordinated team with defined division of labor, rather than one agent trying to hold an entire project in its head.\n\nWhat's not yet clear from the release is how the plugin's 181 skills are organized or discoverable at that scale, and whether teams adopting it wholesale inherit the maintenance burden of keeping that many components current as Claude Code itself evolves.","status":"published","storyType":"news","category":"Ecosystem","clusterKey":"hackathon-181-skill-setup","slug":"hackathon-winner-open-sources-a-181-skill-claude-code-plugin-2e2d8b","url":"https://claudecodereview.ai/a/hackathon-winner-open-sources-a-181-skill-claude-code-plugin-2e2d8b/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/2e2d8b46-6bf8-4b69-81f1-2b3e6b6fed42","role":"lead","position":0,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/hackathon-winner-open-sources-a-181-skill-claude-code-plugin-2e2d8b/66c21c9e05c70eb2-9ae60c8576d77e70/web_hero.webp","imageAlt":"A tall column made of 181 stacked tiles flanked by a stack of 47 square blocks and a stack of 79 circular discs, showing many components assembled into one plugin.","createdAt":"2026-09-06T02:40:32.024Z","updatedAt":"2026-09-06T03:12:21.221Z","sources":[{"role":"primary","title":"Anthropic Hackathon Winner Open Sources Complete Claude Code Setup With 181 Skills","url":"https://tiktok.com/@kayvon.ai/video/7681372099897822478","sourceName":"Kayvon Jafarzadeh","author":"Kayvon Jafarzadeh","publishedAt":"2026-09-03T18:07:04Z"}]},{"id":"3549d765-3b62-42da-9630-a69565676808","title":"Paper's MCP server lets Claude Code copy design tokens straight from mockups","dek":"A new setup lets Claude Code query a Paper mockup's exact design tokens and layout details instead of guessing at CSS from a screenshot.","bodyMd":"Developer Jarek described a workflow, published September 2, that connects Paper's MCP server to Claude Code so the agent can read design tokens and component specs directly instead of eyeballing them off a screenshot. The pitch is specific: design polish, not logic or plumbing, is usually the biggest bottleneck once an AI-built app moves past its first draft, and this closes the gap between a mockup and the code that's supposed to match it.\n\nThe setup runs through Paper itself. A developer installs Paper, links its MCP server to Claude Code, then asks Claude to add their Tailwind colors as design tokens. From there they build pixel-perfect mockups inside Paper and name each main component, which gives the agent stable labels to map back to the actual codebase later.\n\nThe polish step is where the workflow pays off. Once the mockup is done, the developer prompts Claude to reference Paper, and the agent reads the exact tokens and layout details to update the codebase, producing what Jarek calls a 1:1 match between mockup and implementation.\n\nThe framing Jarek uses is worth sitting with: a Paper mockup stops being a static reference image and becomes an executable design spec, something Claude can query rather than merely look at. That's aimed squarely at what Jarek calls vibe coders, people who want visual precision without hand-writing CSS themselves.\n\nThe source here is a single account of the workflow, so the details on setup friction, token limits, or how it behaves on more complex component libraries aren't established yet. What's clear is the shape of the loop: tokens defined once, mockups built against them, and Claude closing the last mile by reading the spec instead of guessing at it.","status":"published","storyType":"news","category":"Workflow","clusterKey":"paper-mcp-pixel-perfect-design","slug":"paper-s-mcp-server-lets-claude-code-copy-design-tokens-straight-from-moc-3549d7","url":"https://claudecodereview.ai/a/paper-s-mcp-server-lets-claude-code-copy-design-tokens-straight-from-moc-3549d7/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/3549d765-3b62-42da-9630-a69565676808","role":"item","position":1,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/paper-s-mcp-server-lets-claude-code-copy-design-tokens-straight-from-moc-3549d7/aa54dcbba285a795-0d91ea9d3f3933ff/web_hero.webp","imageAlt":"Five stacked mockup cards linked by a single clay-orange bar to five stacked implementation boards, a column of seven step-tiles beneath, and a before (misaligned) and after (perfectly aligned) mockup–implementation pair.","createdAt":"2026-09-05T11:35:17.875Z","updatedAt":"2026-09-05T12:14:34.202Z","sources":[{"role":"primary","title":"New Paper MCP Workflow Gets Claude Code to Match Designs Pixel-Perfectly","url":"https://x.com/jarekceborski/status/2095059044025123246","sourceName":"Jarek","author":"Jarek","publishedAt":"2026-09-02T07:59:35Z"}]},{"id":"09960363-cd82-4477-b369-2c381283e57b","title":"Phone Harness lets Claude Code tap real phones to test mobile apps","dek":"The project pairs agents with iPhones and Android hardware through Mac's iPhone Mirroring or Android's ADB, letting them click through onboarding and checkout flows without a jailbreak or Xcode install.","bodyMd":"Phone Harness launched September 3, connecting Codex and Claude Code to physical iPhones and Android devices through standard screen-mirroring protocols, according to a post from The Startup Ideas Podcast on X. The agent sees the actual device screen and executes real taps, scrolls, and text entry against a live mobile app, then reports back exactly where users hit friction or bugs.\n\nThe setup is the pitch: no jailbreaking, no Xcode, no proprietary phone app. Developers clone the repository, follow its install.md to register phone-harness as an agent skill, then pair a device through Mac's built-in iPhone Mirroring or Android's ADB. From there the agent can run multi-step flows unassisted: signing up for an account, working through onboarding, attempting a checkout, and documenting each point where the flow breaks.\n\nThe reasoning is that emulator testing and API checks miss what a real device catches. An API test can confirm an endpoint returns the right payload without ever confirming the screen renders correctly or that a tap lands where a finger actually would. By routing agent input through mirroring protocols already built into macOS and Android rather than a custom test harness, Phone Harness sidesteps the usual friction of mobile device automation: no signing certificates, no injected test frameworks, no rooted hardware.\n\nThat also means the tool inherits whatever limits the underlying agent has. Since it's built to register as a skill for both Codex and Claude Code, the quality of the testing loop depends on how well that agent can read a screen and decide what to tap next, and the announcement doesn't say how it handles flaky UI states or how findings get scored beyond the plain report of where a flow failed.","status":"published","storyType":"news","category":"Workflow","clusterKey":"phone-harness-mobile-testing","slug":"phone-harness-lets-claude-code-tap-real-phones-to-test-mobile-apps-099603","url":"https://claudecodereview.ai/a/phone-harness-lets-claude-code-tap-real-phones-to-test-mobile-apps-099603/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/09960363-cd82-4477-b369-2c381283e57b","role":"item","position":2,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/phone-harness-lets-claude-code-tap-real-phones-to-test-mobile-apps-099603/f739915f4fa0686a-bef6ea7259e67638/web_hero.webp","imageAlt":"An iPhone being fed by three rectangular step tiles fanning inward toward its edge, representing signup, onboarding, and checkout flows funneling into one device.","createdAt":"2026-09-05T11:34:48.028Z","updatedAt":"2026-09-05T12:17:45.686Z","sources":[{"role":"primary","title":"Phone Harness Lets AI Agents Test Your Real Mobile App on Actual Devices","url":"https://x.com/startupideaspod/status/2095609451160256584","sourceName":"The Startup Ideas Podcast (SIP) 🧃","author":"The Startup Ideas Podcast (SIP) 🧃","publishedAt":"2026-09-03T20:26:42Z"}]},{"id":"05aacd93-301a-4345-b87a-83eb940636a1","title":"Claude Mem gives coding agents persistent memory across sessions","dek":"The new tool records and compresses past Claude Code sessions so agents stop needing the same project explained to them every time.","bodyMd":"Claude Mem launched September 2 as a memory layer for coding agents, aimed at a specific annoyance: every new session starts from zero, forcing developers to re-explain project structure, past decisions, and scaffolding they already covered days earlier.\n\nThe tool works by silently recording a full agent session in the background, then running that raw log through AI compression to distill only what matters into a reusable memory bank, according to a post on X by developer Juan. That compressed context then auto-injects into future conversations, so the agent opens already knowing the project's architecture and prior work rather than waiting to be told again.\n\nThe compression step is the load-bearing part of the design. Raw session logs are too large to hand back to a model wholesale: dumping them straight into a new conversation would blow past context window limits before the agent did any real work. By summarizing first and injecting only the distilled version, Claude Mem keeps that history usable instead of just archived.\n\nJuan's post describes the tool as working across Claude Code, OpenAI Codex, Gemini, and GitHub Copilot, rather than being locked to a single agent. That cross-tool reach matters most for what the post calls vibe coders juggling multiple projects, or anyone returning to a codebase after a few days off, since it removes the ritual re-explanation of dependencies and prior choices at the start of every session.\n\nWhat isn't in the source material is how the compression is scored for accuracy, what happens when a memory bank grows stale against a fast-changing codebase, or how the tool is priced or distributed. For now, the claim is architectural: persistent, compressed memory instead of a clean slate every time.","status":"published","storyType":"news","category":"Workflow","clusterKey":"claude-mem-session-compression","slug":"claude-mem-gives-coding-agents-persistent-memory-across-sessions-05aacd","url":"https://claudecodereview.ai/a/claude-mem-gives-coding-agents-persistent-memory-across-sessions-05aacd/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/05aacd93-301a-4345-b87a-83eb940636a1","role":"item","position":3,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/claude-mem-gives-coding-agents-persistent-memory-across-sessions-05aacd/b059dddf1e05001a-c9045bd6ce96f002/web_hero.webp","imageAlt":"Four large stacks of session logs funnel through a compression mechanism into one clay-orange vault labeled in the brief only; an empty single-session notebook sits left and a compact memory block emerges right.","createdAt":"2026-09-05T11:34:01.437Z","updatedAt":"2026-09-05T12:19:28.017Z","sources":[{"role":"primary","title":"Claude Mem Captures and Compresses Agent Sessions for Smarter Context","url":"https://x.com/7uanF/status/2095161269338665210","sourceName":"Juan","author":"Juan","publishedAt":"2026-09-02T14:45:47Z"}]},{"id":"73c87372-ce29-4aa8-8ad3-3c34f719d307","title":"Blume watches your coding sessions and turns fixes into repo rules","dek":"The new menu-bar app notices when a developer corrects an AI coding agent the same way twice and offers to save that fix as a rule both Claude Code and Codex will read on future sessions.","bodyMd":"Blume, a new menu-bar app, launched September 1 with a narrow but specific job: it sits on the desktop and watches AI coding sessions locally, according to a post from KP (@thisiskp_) on X. It isn't logging everything a developer does. It's watching for one pattern in particular, a developer correcting an agent's output the same way more than once.\n\nWhen that pattern shows up, Blume suggests turning the correction into a persistent rule and writes it into the project's repo, per the same post. The idea is to stop a developer from having to make the identical correction to an agent over and over across sessions, by capturing the fix once and storing it somewhere agents can read it going forward.\n\nThe friction this targets is familiar to anyone running agents daily: each session typically starts with no memory of a team's conventions, so a developer re-explains the same preferences, naming choices, error handling, whatever the agent got wrong last time, session after session. Blume's bet is that a correction repeated twice is a strong enough signal to promote it from one-off feedback to a standing rule, rather than leaving developers to write and maintain that guidance by hand.\n\nStoring the rule in the repo rather than inside a single tool's local settings is what makes it portable. KP's post says Claude Code and Codex both start a session already knowing a project's standards, rather than each tool building up its own separate memory of corrections a developer already made once elsewhere.\n\nThat's what's public about Blume so far: a menu-bar app, a local-only watcher, and a repo-stored rule file meant to travel between agents.","status":"published","storyType":"news","category":"Ecosystem","clusterKey":"blume-shared-agent-memory","slug":"blume-watches-your-coding-sessions-and-turns-fixes-into-repo-rules-73c873","url":"https://claudecodereview.ai/a/blume-watches-your-coding-sessions-and-turns-fixes-into-repo-rules-73c873/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/73c87372-ce29-4aa8-8ad3-3c34f719d307","role":"item","position":4,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/blume-watches-your-coding-sessions-and-turns-fixes-into-repo-rules-73c873/1ea186e3a7fcc862-b72455958ea5166d/web_hero.webp","imageAlt":"One sheet lifted out of a horizontal row and placed into an open repo folder, with two identical correction slips stacked beside it to show the fix occurred twice.","createdAt":"2026-09-05T11:30:07.165Z","updatedAt":"2026-09-05T12:22:20.584Z","sources":[{"role":"primary","title":"New App Blume Saves Your Coding Rules So AI Agents Share Memory","url":"https://x.com/thisiskp_/status/2094787878643478959","sourceName":"KP","author":"KP","publishedAt":"2026-09-01T14:02:04Z"}]},{"id":"2309b636-5a73-43aa-8eeb-b618fd8cc3eb","title":"AFK Pilot Cloud launches $5 dedicated machines for coding agents","dek":"The $5 machine bundles Claude Code, Codex, and Grok Build with persistent storage, splitting compute costs from model costs that users cover through their own subscriptions.","bodyMd":"AFK Pilot Cloud launched a $5-a-month dedicated cloud machine on September 3 built to run Claude Code, Codex, and Grok Build around the clock, according to a post on X by Paweł Huryn. Each machine ships with 8GB of RAM, 8 cores, and 100GB of persistent storage, with all three coding agents preinstalled and ready to run without local setup.\n\nThe pricing model is the notable part. Instead of metering usage through API fees, AFK Pilot Cloud charges a flat $5 for the machine itself and expects users to bring their own subscriptions to cover the models: Grok 4.6, GPT-5.6 Sol, or Fable 5.1. That splits the cost of running an always-on agent environment into two pieces a developer already budgets separately, rather than one unpredictable usage bill.\n\nThe \"always-on\" part is qualified by a sleep-wake mechanism: the machine sleeps when idle to hold down costs and wakes within 2 to 3 seconds when needed. That's what makes a persistent 8-core box viable at $5 a month, since the provider isn't billing for compute nobody is using between agent sessions. Anything a user installs on the machine stays put between sessions, so a coding environment configured once doesn't need to be rebuilt every time an agent wakes up.\n\nAround that core, AFK Pilot Cloud bundles two-click GitHub repo cloning, hands-free voice control, read-aloud output, and an installable web app for accessing the machine. Current rendering support covers image generation, Mermaid diagrams, and LaTeX, according to the post.\n\nSome pieces aren't live yet. Terminal access, GitHub personal access token support, and dedicated Android and macOS apps are listed as planned for release soon, which means the current version is aimed at running preinstalled agents through the web app rather than giving developers a full shell into the box.","status":"published","storyType":"news","category":"Ecosystem","clusterKey":"afk-pilot-cloud-launch","slug":"afk-pilot-cloud-launches-5-dedicated-machines-for-coding-agents-2309b6","url":"https://claudecodereview.ai/a/afk-pilot-cloud-launches-5-dedicated-machines-for-coding-agents-2309b6/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/2309b636-5a73-43aa-8eeb-b618fd8cc3eb","role":"item","position":5,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/afk-pilot-cloud-launches-5-dedicated-machines-for-coding-agents-2309b6/705d3e9171c89f13-bc935ad2eb38579c/web_hero.webp","imageAlt":"A single rack unit pulled forward from a row of five, highlighted; three small tokens atop it and three stacked spec blocks on its face, with an inset showing a dimmed sleep copy and a stopwatch at 2–3 seconds.","createdAt":"2026-09-05T11:28:31.403Z","updatedAt":"2026-09-05T11:35:22.693Z","sources":[{"role":"primary","title":"AFK Pilot Cloud Launches $5/Month Personal Cloud Machines for AI Agents","url":"https://x.com/PawelHuryn/status/2095481010100076705","sourceName":"Paweł Huryn","author":"Paweł Huryn","publishedAt":"2026-09-03T11:56:19Z"}]},{"id":"170d6d3a-d815-446a-9d55-cb085cd412d9","title":"Claude Cowork and Claude Code gain background computer control","dek":"Anthropic's agents can now click, type, and launch apps on their own, handling file cleanup and data entry while a developer keeps working elsewhere.","bodyMd":"Anthropic announced on September 2 that Claude Cowork and Claude Code can now control a computer in the background: clicking, typing, launching applications, and navigating the operating system without a person watching each step. Previously, using Claude to drive desktop actions meant sitting through the automation as it happened. Now the work runs off to the side while the developer does something else.\n\nThe shift is from chat-based assistance to actual task delegation. Anthropic's announcement points to file organization, data entry, environment setup, and other repetitive desktop workflows as the kind of busywork Claude can now take off someone's plate, rather than just walking a user through it step by step in a chat window.\n\nAnthropic frames the audience as \"vibe coders,\" arguing the payoff is less context switching: a developer can keep shipping features in the foreground while Claude handles the surrounding grunt work in parallel. The announcement, posted to X, doesn't detail rollout specifics, permission controls, or which platforms support the feature first, so how much autonomy Claude gets over a given machine, and what guardrails exist around it, remains to be seen in practice.","status":"published","storyType":"news","category":"Release","clusterKey":"claude-background-computer-control","slug":"claude-cowork-and-claude-code-gain-background-computer-control-170d6d","url":"https://claudecodereview.ai/a/claude-cowork-and-claude-code-gain-background-computer-control-170d6d/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/170d6d3a-d815-446a-9d55-cb085cd412d9","role":"item","position":6,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/claude-cowork-and-claude-code-gain-background-computer-control-170d6d/1e590cbd7a3d7acf-ca94805e2f4e95b0/web_hero.webp","imageAlt":"Side-by-side states: a row of six task folders, and the same row with the fourth folder separated and a rounded Claude Cowork agent token lifted out and working beside it with three small task artifacts.","createdAt":"2026-09-05T11:23:28.327Z","updatedAt":"2026-09-05T11:43:31.351Z","sources":[{"role":"primary","title":"Claude Now Controls Your Computer in the Background While You Work","url":"https://x.com/claudeai/status/2095226833293685100","sourceName":"Claude","author":"Claude","publishedAt":"2026-09-02T19:06:19Z"}]},{"id":"4bd35aa6-f6f0-4fcd-83aa-fc7bc5961216","title":"Ulanzi ships the AU05 VibeKey, a hardware keyboard built for AI coding","dek":"The keyboard-mic combo remaps every key and its dial through companion software, letting developers dictate into Claude Code and scroll context without touching the keys.","bodyMd":"Ulanzi has started shipping the AU05 VibeKey, a hardware keyboard and microphone built specifically for AI coding workflows, and the device is now in stock.\n\nThe pitch is simple: stop switching between keyboard, mouse, and a chat window every time you want to talk to a coding agent. The VibeKey folds a microphone and a set of physical controls into one unit, so a developer can dictate a prompt, send it, stop generation, or scroll through output without reaching for a trackpad.\n\nEvery key and the dial are remapped through companion software rather than fixed in firmware. According to Ulanzi founder William, who demonstrated the device in a TikTok post published September 4, the current configuration assigns voice input, send, and stop to individual keys, with scrolling handled by the dial. That software layer is the actual product: the hardware is just switches and a dial, and what it does depends entirely on how a given workflow maps those inputs.\n\nIn William's demo, the setup is tuned for Claude Code specifically. A single press starts dictation straight into the tool, and the dial lets a developer review context in the terminal without touching the keyboard at all. It's a narrow use case, but a telling one: enough developers are now talking to their coding agents, rather than typing at them, that a dedicated piece of hardware for it makes commercial sense.\n\nWhat's not yet clear from the announcement is pricing, which platforms beyond Claude Code the companion software supports out of the box, and how much remapping a buyer has to do themselves versus what ships preconfigured. Those are the details that will decide whether the VibeKey is a niche accessory or something that shows up on more developers' desks.","status":"published","storyType":"news","category":"Ecosystem","clusterKey":"vibekey-coding-keyboard-mic","slug":"ulanzi-ships-the-au05-vibekey-a-hardware-keyboard-built-for-ai-coding-4bd35a","url":"https://claudecodereview.ai/a/ulanzi-ships-the-au05-vibekey-a-hardware-keyboard-built-for-ai-coding-4bd35a/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/4bd35aa6-f6f0-4fcd-83aa-fc7bc5961216","role":"item","position":7,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/ulanzi-ships-the-au05-vibekey-a-hardware-keyboard-built-for-ai-coding-4bd35a/ff337c3dcb3556ab-b4de1bf26b0ff8fe/web_hero.webp","imageAlt":"Editorial illustration accompanying “Ulanzi ships the AU05 VibeKey, a hardware keyboard built for AI coding”.","createdAt":"2026-09-05T06:22:03.871Z","updatedAt":"2026-09-07T13:14:11.227Z","sources":[{"role":"primary","title":"Dedicated Vibe Coding Keyboard Mic Ships With Customizable Keys and Dial","url":"https://tiktok.com/@ulanzi_william_global/video/7681573030337760542","sourceName":"Ulanzi Founder William","author":"Ulanzi Founder William","publishedAt":"2026-09-04T07:07:20Z"}]},{"id":"a0932de2-afe7-4f38-8ced-b2f25a05be1c","title":"TokenRay debuts a dashboard that itemizes Claude Code and Cursor spend","dek":"The hosted tool splits AI coding agent costs by project and machine, targeting the aggregate billing that tools like Cursor and Claude Code normally show instead.","bodyMd":"A developer posting as u/ReasonableClub6605 introduced TokenRay on the r/OnlyAICoding subreddit, describing it as a hosted dashboard that breaks down AI coding agent spending by individual project and machine.\n\nThe pitch targets a specific gap: tools like Cursor and Claude Code typically bill in aggregate, so a team running several projects across several machines sees one combined number rather than a breakdown of which project or box is actually driving the bill. TokenRay's stated job is to surface that hidden cost and attribute it back to the workflow that generated it.\n\nThe creator frames it for builders managing multiple projects at once, who need visibility into which specific workflows are burning tokens rather than just watching a total climb. That's a narrower use case than a general LLM-spend tracker: it's built around the reality of someone running Claude Code or Cursor on more than one codebase or machine at a time and losing track of which one is expensive.\n\nThe post, published September 2, gives no pricing, no supported-agent list beyond \"Cursor, Claude Code, and other agents,\" and no detail on how usage data actually gets from those tools into the dashboard. For now, TokenRay exists as a launch announcement rather than a documented product, and the questions an adopting team would ask first, how it captures per-machine usage, what it costs, and whether it needs anything installed alongside the agents themselves, remain unanswered outside the thread.","status":"published","storyType":"news","category":"Ecosystem","clusterKey":"tokenray-cost-dashboard","slug":"tokenray-debuts-a-dashboard-that-itemizes-claude-code-and-cursor-spend-a0932d","url":"https://claudecodereview.ai/a/tokenray-debuts-a-dashboard-that-itemizes-claude-code-and-cursor-spend-a0932d/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/a0932de2-afe7-4f38-8ced-b2f25a05be1c","role":"item","position":8,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/tokenray-debuts-a-dashboard-that-itemizes-claude-code-and-cursor-spend-a0932d/daf6f09c1b64678a-07394c5500b96587/web_hero.webp","imageAlt":"Editorial illustration accompanying “TokenRay debuts a dashboard that itemizes Claude Code and Cursor spend”.","createdAt":"2026-09-05T06:18:34.202Z","updatedAt":"2026-09-07T13:14:18.979Z","sources":[{"role":"primary","title":"TokenRay Launches Dashboard to Track AI Coding Agent Costs Per Project","url":"https://reddit.com/r/OnlyAICoding/comments/1w5k39a/i_built_tokenray_a_hosted_dashboard_that_shows","sourceName":"u/ReasonableClub6605","author":"u/ReasonableClub6605","publishedAt":"2026-09-02T19:16:21Z"}]},{"id":"516e3d51-7335-4713-bed7-a680729104b0","title":"Claude Gateway pools API tokens to cut Claude Code bills by 80%","dek":"The third-party proxy buys Anthropic tokens in bulk and shares them across its user base, letting Claude Code developers draw on pooled capacity instead of provisioning their own rate-limited keys.","bodyMd":"A new service called Claude Gateway is pitching developers on a way around Claude Code's individual rate limits: stop provisioning your own capacity, and draw from a shared pool instead. In an Instagram post on September 2, the account @claudegateway said the service buys tokens in bulk and shares them across its user base, so customers \"pay only for what you actually use instead of hitting individual rate limits.\"\n\nThe pitch targets a specific pain point for Claude Code users on metered plans: the wait after burning through a usage window before it resets. Claude Gateway's post frames the value proposition around skipping that \"5-hour wait\" entirely, the implication being that a shared pool carries enough spare capacity that one user's heavy session doesn't leave another stuck waiting on a reset clock. The company puts the resulting savings at up to 80% off effective API costs.\n\nThe integration is deliberately minimal, according to the post. Claude Gateway says it works with Claude Code running on a developer's own machine, using the same projects, commands, and agents already configured there. The only change described is pointing an API key at the gateway instead of at Anthropic directly. The service lists support for Sonnet 5, Opus 5, and Fable 5.1, positioning it in front of Anthropic's current model lineup rather than a single tier.\n\nThe economics hinge entirely on pooling working the way Claude Gateway describes it. Buying tokens at bulk rates and reselling access more cheaply than a developer would pay provisioning solo only holds up if enough of the user base isn't drawing on the pool at the same time, the same utilization bet any shared-capacity reseller makes. Beyond the Instagram post, Claude Gateway hasn't published pricing tiers, a waitlist, or usage terms, so how the pooled-key arrangement handles individual account limits, security of routed API traffic, or peak-demand contention remains unstated. For teams weighing it against paying Anthropic directly, that's the open question before the 80% figure means anything at scale.","status":"published","storyType":"news","category":"Ecosystem","clusterKey":"claude-gateway-token-pooling","slug":"claude-gateway-pools-api-tokens-to-cut-claude-code-bills-by-80-516e3d","url":"https://claudecodereview.ai/a/claude-gateway-pools-api-tokens-to-cut-claude-code-bills-by-80-516e3d/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/516e3d51-7335-4713-bed7-a680729104b0","role":"item","position":9,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/claude-gateway-pools-api-tokens-to-cut-claude-code-bills-by-80-516e3d/edd959b3519c8cd8-203195e7d5de04ba/web_hero.webp","imageAlt":"Editorial illustration accompanying “Claude Gateway pools API tokens to cut Claude Code bills by 80%”.","createdAt":"2026-09-05T06:17:31.608Z","updatedAt":"2026-09-07T13:14:20.245Z","sources":[{"role":"primary","title":"New Claude Gateway Cuts API Costs 80% by Pooling Tokens Across Users","url":"https://instagram.com/p/DczGYAzlKQh","sourceName":"@claudegateway","author":"@claudegateway","publishedAt":"2026-09-02T20:30:42Z"}]}],"tips":[{"id":"a1514f8d-452e-45f5-a72a-2b9592d638e2","title":"Which Claude Code project files to commit, and what goes in CLAUDE.md versus .claude","dek":"Anthropic's docs contrast CLAUDE.md, the instructions file Claude reads every session, with skills, which load only when called or relevant; the hidden .claude folder holds the rest of the project's Claude Code configuration.","bodyMd":"Claude Code's docs say what each project file does and when it loads, and that decides where an instruction belongs. The clearest contrast is between `CLAUDE.md`, the instructions file Claude reads at the start of every session, and skills, which load only when you call them or when they are relevant. Here is the layout, drawn from Anthropic's pages on memory, the `.claude` directory, skills, subagents, MCP and settings (read October 25, 2026).\n\n**CLAUDE.md: what every session needs.** Put build and test commands, naming conventions, project layout and \"always do X\" rules in `CLAUDE.md` at the repo root or in `.claude/CLAUDE.md`. Keep it under 200 lines: longer files use more context and Claude follows them less reliably. Write checkable instructions (\"Run `npm test` before committing\", not \"Test your changes\"). Run `/init` to draft one from your codebase and `/context` to confirm it loaded. Anthropic's trigger for adding a line: Claude made the same mistake twice, a code review caught something it should have known, or you retyped the same correction.\n\nCLAUDE.md is context, not enforcement. If something must happen every time, such as blocking edits to `.env`, use a hook in settings.\n\n**Everything else under `.claude`**\n\n`.claude` is the hidden project folder that holds Claude Code's configuration, skills, agents and rules.\n\n- `.claude/rules/*.md`: topic-specific instructions. A rule with `paths` frontmatter (for example `\"src/api/**/*.ts\"`) loads only when Claude reads or edits a matching file. A rule without `paths` loads at launch, with the same priority as `.claude/CLAUDE.md`. `@path` imports in CLAUDE.md still load with it, so they don't save context. Path-scoped rules do.\n- `.claude/skills/<name>/SKILL.md`: workflows and long checklists that load when called or relevant. The folder name becomes a command such as `/deploy`.\n- `.claude/agents/<name>.md`: subagents with their own system prompt, tools and optional model. They run in a separate context window and return a summary, which suits tasks that read dozens of files.\n- `.claude/settings.json`: team permissions, hooks, plugins and environment variables.\n- `.mcp.json` at the repo root: project MCP servers, added with `claude mcp add --scope project`. Each person is asked to approve them before use. Use `${API_KEY}` or `${VAR:-default}` placeholders so keys expand from each person's environment.\n\n**What to commit.** `CLAUDE.md` (or `.claude/CLAUDE.md`), `.claude/rules/`, `.claude/skills/`, `.claude/agents/`, `.claude/settings.json`, and `.mcp.json` with placeholders.\n\n**What to keep out of git.** `CLAUDE.local.md` (add it to `.gitignore`) and `.claude/settings.local.json`, which holds personal overrides and wins over the team file. Claude Code creates the latter when you pick \"Yes, and don't ask again\" on a permission prompt and adds it to your global git excludes. If you create it by hand, ignore it yourself. Files in `~/.claude` and auto memory under `~/.claude/projects/` never enter the repo.\n\n**If the repo also serves other agents.** By default Claude Code reads `AGENTS.md` only when no `CLAUDE.md`, `.claude/CLAUDE.md` or `CLAUDE.local.md` exists in the working directory or above. Adding a `CLAUDE.local.md` therefore makes Claude stop reading `AGENTS.md` for you. To keep one shared file, put `@AGENTS.md` on the first line of `CLAUDE.md` and add Claude-only notes below. Alternatively, set **Project instructions** in `/config` to `claude-md-and-agents-md` to read both. Reading `AGENTS.md` directly needs Claude Code v2.1.277 or later, so use the import on older installs.\n\nAnything under `.agents/` is not read as instructions, and the skills docs list only `.claude/skills` locations. Cursor documents reading `.claude/skills`, which makes it the one skills path both tools document.","category":"Workflow","slug":"which-claude-code-project-files-to-commit-and-what-goes-in-claude-md-ver-a1514f","url":"https://claudecodereview.ai/a/which-claude-code-project-files-to-commit-and-what-goes-in-claude-md-ver-a1514f/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/a1514f8d-452e-45f5-a72a-2b9592d638e2","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/which-claude-code-project-files-to-commit-and-what-goes-in-claude-md-ver-a1514f/88eda2ba5e65f4bd-18af441a6d0bd9f4/web_hero.webp","imageAlt":"A tall rectangular prism stands taller than a group of small, varied blocks, representing the distinction between core instructions and modular project configuration.","createdAt":"2026-10-30T03:33:49.533Z"},{"id":"012d35b5-2133-4478-8cb3-f1e7957e1fbe","title":"Keep long sessions from filling up on tool output with the Context Mode plugin","dek":"Context Mode routes raw MCP output into a sandbox and tracks session events in SQLite, which its README says keeps far less raw output from heavy browser, GitHub and log tools in your context.","bodyMd":"Context Mode is an MCP server plus a set of hooks that keeps raw tool output out of the chat. According to its README, a Playwright snapshot costs 56 KB, twenty GitHub issues cost 59 KB and one access log is 45 KB. After about 30 minutes of work, roughly 40% of a Claude Code context can be gone, and after compaction the agent can lose track of which files it was editing. Context Mode keeps the raw output in a sandbox so only a small result reaches the conversation. It also records session events in SQLite so work survives compaction.\n\n## Set it up\n\nYou need Claude Code v1.0.33 or newer (`claude --version`). If `/plugin` is not recognized, update with `brew upgrade claude-code` or `npm update -g @anthropic-ai/claude-code`.\n\n1. **Install.** Inside Claude Code run `/plugin marketplace add mksglu/context-mode`, then `/plugin install context-mode@context-mode`. Restart Claude Code or run `/reload-plugins`.\n2. **Verify.** Run `/context-mode:ctx-doctor`. Every check should show `[x]`. It validates runtimes, hooks, FTS5 and plugin registration. Fix anything red first, because the routing hooks are what make the savings automatic.\n3. **Let the model write code instead of reading files.** Routing is automatic: a SessionStart hook injects instructions at runtime, so nothing is written into your project. The README's example replaces 47 `Read()` calls (700 KB) with one `ctx_execute()` script that prints only line counts (3.6 KB). The README quotes 315 KB shrinking to 5.4 KB for sandboxed output. Those are the project's own numbers, so measure yours.\n4. **Measure.** `/context-mode:ctx-stats` shows a per-tool breakdown, tokens consumed and the savings ratio. For a live meter, add this to `~/.claude/settings.json` and restart:\n\n```json\n{\n  \"statusLine\": {\n    \"type\": \"command\",\n    \"command\": \"context-mode statusline\"\n  }\n}\n```\n\n5. **Index docs you keep re-reading.** `/context-mode:ctx-index` loads a local file or directory into a persistent FTS5 knowledge base. `/context-mode:ctx-search` then returns only the relevant passages through BM25 search. `/context-mode:ctx-purge` permanently deletes everything indexed.\n\n## Try it without the plugin\n\n`claude mcp add context-mode -- npx -y context-mode` adds only the MCP server. You get all 11 tools but no automatic routing or slash commands, so the model is not nudged away from raw Bash, Read and WebFetch and savings are smaller. It works as a low-commitment test.\n\n## When it is worth it\n\nThe plugin targets long sessions that lean on browser, GitHub or log-heavy MCP tools and keep hitting compaction. For short sessions, the write-up says the overhead is not worth it.\n\nOne caution from the README: if you do not start with `--continue`, previous session data is deleted immediately, so a fresh session is a clean slate. After a compaction, Context Mode indexes the recorded events (file edits, git operations, tasks, errors, decisions) and retrieves only what is relevant rather than replaying the history.","category":"Workflow","slug":"keep-long-sessions-from-filling-up-on-tool-output-with-the-context-mode-012d35","url":"https://claudecodereview.ai/a/keep-long-sessions-from-filling-up-on-tool-output-with-the-context-mode-012d35/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/012d35b5-2133-4478-8cb3-f1e7957e1fbe","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/keep-long-sessions-from-filling-up-on-tool-output-with-the-context-mode-012d35/64ab7afaa95425f6-2859cb9dfee6cb92/web_hero.webp","imageAlt":"A funneling graphic showing forty-seven rectangular blocks passing through a narrow aperture into one single, small cube.","createdAt":"2026-10-30T03:31:19.263Z"},{"id":"a3b34cbb-9e00-4643-bdea-82b6d27706e5","title":"Shrink test logs and JSON output before they hit your token bill","dek":"Headroom, an open-source local proxy (a program on your machine that sits between Claude Code and the model), compresses logs and tool output, including JSON and token-heavy text, before it is sent, and one command wraps your sessions.","bodyMd":"Test runs, build logs, large JSON (the structured data format many tools print) and long diffs go back to the model on every step, and you pay for those tokens each time. Tokens are the units of text the model bills by. Headroom is an open-source tool that sits between Claude Code and the model and compresses that material first. Its README gives one example: a log that costs 10,144 tokens shrinks to 1,260 while the same fatal error is still found.\n\nCompression runs on your machine. Headroom routes each piece of content to a fitting compressor (one for JSON, one that understands code structure, a text model for prose) and caches the originals locally. The model gets a `headroom_retrieve` tool to pull back the full text when it needs it. Headroom flags content that would break your provider's prompt cache but does not rewrite your prompts.\n\n## Setup\n\n1. Install the CLI with `uv tool install --python 3.13 \"headroom-ai[all]\"` or `pip install \"headroom-ai[all]\"`. The npm package (`npm install headroom-ai`) is the TypeScript SDK only and has no CLI.\n2. Run `headroom wrap claude`. It starts a local proxy (a program on your machine that sits between Claude Code and the model), installs the Serena MCP server for semantic code navigation (registered for the wrapped project only) and launches Claude Code routed through Headroom. Launch Claude Code this way each session. To back out, run `headroom unwrap claude`.\n3. Check it works: `headroom doctor` confirms routing, `headroom perf` shows compression stats, and `headroom dashboard` shows live savings while the proxy is running. Run `doctor` first.\n4. If you would rather not wrap anything, run `headroom proxy --port 8787` and point your tools at it. Anything that can set an API base URL can use it, including your own scripts.\n5. Optionally, run `headroom learn`. It mines failed sessions and writes corrections to `CLAUDE.local.md` (gitignored) by default, or to `CLAUDE.md` or `AGENTS.md` if you choose. Review what it proposes before committing it to a shared file.\n\n## When it pays off\n\nLong sessions on a large repo, usage limits you keep hitting, or per-token billing are the cases where a quick trial makes sense. Sessions heavy on test runs, build logs and large JSON compress well. A session of short prompts will not move much.\n\n## Caveats\n\nThe 10,144 to 1,260 figure is the README's own example, not a benchmark of your repo, so measure with `headroom perf` on real sessions. Headroom also adds a local proxy to your setup, one more moving part when something breaks. The same `wrap` command works for Codex, Cursor, Aider, Cline, Goose and OpenHands.","category":"Workflow","slug":"shrink-test-logs-and-json-output-before-they-hit-your-token-bill-a3b34c","url":"https://claudecodereview.ai/a/shrink-test-logs-and-json-output-before-they-hit-your-token-bill-a3b34c/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/a3b34cbb-9e00-4643-bdea-82b6d27706e5","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/shrink-test-logs-and-json-output-before-they-hit-your-token-bill-a3b34c/5aa2e890dcb437f0-544c3236601d11e5/web_hero.webp","imageAlt":"A wide funnel feeds three types of data blocks into a single narrow tube, where a clay-orange filter section represents compressed data output.","createdAt":"2026-10-29T21:58:29.261Z"},{"id":"bbbd9b99-2dd4-4c09-9d14-30e77a90254a","title":"Catch file changes a PostToolUse hook misses with a Stop hook that asks git","dek":"In a scripted test, a PostToolUse hook matching Edit|MultiEdit|Write saw 3 of 7 file changes, while a Stop hook running git status saw all 7.","bodyMd":"In a scripted test, a PostToolUse hook matched on `Edit|MultiEdit|Write` saw only the changes made through Claude's file tools. On Claude Code 2.1.312, it caught 3 of 7 changes. The four it missed were made through Bash: `sed -i`, a `>` redirect, `rm` and `git mv`. A Stop hook that runs `git status` listed all seven, including the delete and the rename.\n\nA quick gloss on the terms: a hook is a script Claude Code runs automatically at set points. A PostToolUse hook runs after each tool call, and a Stop hook runs when Claude finishes. Git is the version-control tool that tracks uncommitted changes in a repo, and `git status` lists them.\n\nThe test used a scripted fake model (a local server standing in for the Messages API) that issued a fixed list of tool calls against the real Claude Code binary, so no API key was needed. A real model picks its own routes, and seven routes are a sample, not a census.\n\n**Add the git-backed Stop hook**\n\n1. Create `.claude/stop-check.sh`:\n\n```\ngit status --porcelain -uall > .git/hk-status\ngrep -q '\"stop_hook_active\":true' && exit 0\n[ -s .git/hk-status ] || exit 0\ncat .git/hk-status >&2\nexit 2\n```\n\n2. Register it in `.claude/settings.json` as a `Stop` hook with the command `cd \"$CLAUDE_PROJECT_DIR\" && sh .claude/stop-check.sh`.\n\nThe `cd` matters because hooks run in Claude's current directory, which moves when Claude runs `cd`. Exit code 2 tells Claude Code not to stop yet and passes stderr to the model, so Claude sees the list of changed files before it finishes. The `stop_hook_active` check lets the second stop through, so the hook can't loop. In the test, this cost one extra model call and delivered all seven status lines.\n\n**Why adding Bash to the matcher doesn't fix it**\n\nMatching `Edit|Write|Bash` makes the hook fire on the four Bash changes. But those payloads hold the command string, with no `file_path` and no patch. To learn which files `rm` or `git mv` touched, the hook would have to parse shell.\n\n**New files arrive with an empty patch**\n\nA file created with Write reports `type=create` and `structuredPatch=[]`; the text sits in `tool_response.content`. A hook that reviews `structuredPatch` sees nothing for new files, so read `content` when `type` is `create`.\n\n**Worth using when** a review loop depends on knowing what Claude changed. Keep PostToolUse for instant per-edit checks, since Stop only runs when Claude finishes.\n\n**Limits**\n- Git skips gitignored files, files outside the repo, and anything Claude commits itself.\n- The hook also lists your own uncommitted work.\n- `MultiEdit` did not appear in the request Claude Code 2.1.312 sent the model, so it widens nothing.\n- `NotebookEdit` appears as a deferred tool and the usual matcher doesn't name it; its payload wasn't tested.\n- PostToolUse behavior in subagents wasn't tested.","category":"Workflow","slug":"catch-file-changes-a-posttooluse-hook-misses-with-a-stop-hook-that-asks-bbbd9b","url":"https://claudecodereview.ai/a/catch-file-changes-a-posttooluse-hook-misses-with-a-stop-hook-that-asks-bbbd9b/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/bbbd9b99-2dd4-4c09-9d14-30e77a90254a","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/catch-file-changes-a-posttooluse-hook-misses-with-a-stop-hook-that-asks-bbbd9b/77803526806d849e-d986ba588b19e4b0/web_hero.webp","imageAlt":"A diagram shows seven file blocks being caught by a container versus a sieve that only catches three.","createdAt":"2026-10-29T21:56:56.756Z"},{"id":"8d01e30d-2c9d-4811-9baa-5d6f7de00bfd","title":"See every waiting session, subagent and Codex run that Agent View leaves off its list","dek":"Agent View only lists background sessions, so a JSON command, a Notification hook or ccdeck, a free, open-source dashboard that runs on your machine and shows Claude Code and Codex sessions, has to cover the rest.","bodyMd":"Agent View, opened with `claude agents`, is one screen for background sessions. Anthropic's documentation says interactive sessions open in other terminals don't appear until you background them, and that subagents and teammates a session spawns aren't listed as separate rows. Codex isn't listed either. The feature is in research preview, and a row shows only the session's name, current activity and age: no spend or quota.\n\nTwo terms used below: a subagent is a helper session that a main Claude Code session spawns. Codex is a separate coding-agent CLI that has its own `codex agents` dashboard and writes rollout files under `~/.codex/sessions`.\n\nThree ways to see the rest:\n\n1. **Poll `claude agents --json`.** In Claude Code 2.1.312 the command prints active sessions, interactive and background, as a JSON array. Each entry has a `kind` and, while its process is alive, a `status` of `busy`, `waiting` or `idle`. A waiting session adds `waitingFor`, such as `permission prompt` or `input needed`. Filter it with jq: `claude agents --json | jq '.[] | select(.status == \"waiting\")'`. It lists sessions, not subagents, and it is a snapshot, so poll it to keep it current.\n\n2. **Add a `Notification` hook** to `~/.claude/settings.json`. It applies to every session that reads that file, whichever terminal started it. Match `permission_prompt|idle_prompt` and have the hook command append one line per wait to a log, for example with `jq -c` writing to `~/.claude/waiting.log`. Notification hooks can't block or modify notifications, so this only observes.\n\n3. **Run a dashboard.** ccdeck, a free, open-source dashboard, starts with `npx ccdeck`. Its first run adds a hook to `~/.claude/settings.json`, so sessions from any terminal report to it. Each subagent gets its own card joined to its session, and Codex CLI sessions appear on the same canvas, read from the rollout files under `~/.codex/sessions`. The topbar names Claude Code sessions stopped on a prompt or question, with how long each has waited. It also shows estimated spend per session. `ccdeck sessions` prints the waiting list in a terminal.\n\nFor subagents without a dashboard, hooks from settings files also run inside subagents. Tool events such as `PreToolUse` carry `agent_id` and `agent_type` when a subagent made the call, and `SubagentStart` and `SubagentStop` mark each one's life.\n\n**When to use which.** Dispatch and reply in Agent View. Poll the JSON if all you need is who is waiting in any terminal. Add a hook or dashboard when you want subagents, Codex or spend alongside.\n\n**Limits.** ccdeck can't reply, start or attach to sessions, because its hook is a one-way forwarder. It keeps nothing while no deck is running. Its waiting list covers Claude Code only, and the tool name beside a wait is its inference. Codex logs record no approval request, so a running Codex session shows \"approvals not visible\". Because the hook only observes, it doesn't change what Agent View does, and background sessions read user settings, so they report too.","category":"Workflow","slug":"see-every-waiting-session-subagent-and-codex-run-that-agent-view-leaves-8d01e3","url":"https://claudecodereview.ai/a/see-every-waiting-session-subagent-and-codex-run-that-agent-view-leaves-8d01e3/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/8d01e30d-2c9d-4811-9baa-5d6f7de00bfd","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/see-every-waiting-session-subagent-and-codex-run-that-agent-view-leaves-8d01e3/00195507b7b60ff9-5f4c5c671f925426/web_hero.webp","imageAlt":"A diagram shows rectangular session strips, square subagent tiles, and circular coding-agent discs being connected by a single line into a unified cluster.","createdAt":"2026-10-29T21:52:06.001Z"}]}