{"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":"1ca2549b-d9e8-4a1f-a039-78234b26b21d","date":"2026-10-09","status":"locked","createdAt":"2026-10-08T16:21:02.458Z","storyCount":10,"newsletterSubject":"Claude Code Pro gets cloud credit, Version 2.1.291 fixes message losses, Claude Code runs tasks on VMs"},"updatedAt":"2026-10-08T15:32:32.550Z","stories":[{"id":"82d9a968-e332-460a-8c48-db7c8dd84cd2","title":"Anthropic is giving Claude Code Pro and Max subscribers a one-time cloud credit, claimable until October 7","dek":"The credit is $100 on Pro and $250 on Max, and it only pays for cloud sessions, where Claude Code runs on Anthropic's servers so work continues after you close your laptop.","bodyMd":"Anthropic is offering existing Claude Code subscribers a one-time credit for cloud sessions: $100 on Pro, $250 on Max. Subscribers have to claim it by October 7 at 11:59 PM PT. Anthropic's help page says some accounts may receive it automatically, according to one walkthrough. Accounts that didn't get it won't receive it unless the owner claims it.\n\nEligibility is narrow. Per that walkthrough, quoting Anthropic's help page, the credit goes to individuals who held an active Pro or Max subscription when the promotion began on September 23 at 2:00 PM PDT. Team and Enterprise plans, free trials, new subscriptions started after that moment, and accounts with overdue payments are excluded. The same day, the walkthrough says, cloud sessions moved from research preview to general availability.\n\nA cloud session runs Claude Code on a virtual machine Anthropic manages rather than on your computer. It clones your GitHub repository, works on its own branch and hands back a pull request. That is why the work survives a closed laptop. The claim flow asks you to connect GitHub, and cloning and pull requests need it. For GitLab and other repositories, the walkthrough says you can bundle and upload your local repository (under 100MB), though the results can't be pushed back. You can start a session from claude.ai/code, the Code tab in the Claude app, the desktop app's Cloud option, or the terminal with `claude --cloud`.\n\nTo claim, type `/claim-credit` in Claude Code, use the banner on the Usage page in claude.ai settings, or follow the link in Anthropic's announcement. The credit sits on its own line on the Usage screen. It is described as \"on top of your plan limits\": while a cloud session runs, this credit is drawn first, then usage falls back to the regular plan allowance. One catch for Pro users: using Claude Fable 5.1, Anthropic's model, requires pay-as-you-go usage credits to be switched on with a balance.\n\nThe credit has several exclusions. It does not cover local Claude Code, Remote Control sessions, chat, Cowork, or Projects and Routines. Scheduled Routines run as cloud sessions, but this credit can't pay for them. Unused credit disappears on November 4 at 11:59 PM PT. The app shows deadlines in local time, so a user in Japan sees the claim deadline as October 8 and the spend deadline as November 5.\n\nThe walkthrough's author says they couldn't find, in the official material they checked, how many hours of work $250 buys, and had not yet measured it. Some setup gotchas will burn credit if missed. `--cloud` clones the branch as it exists on GitHub, so unpushed local commits don't reach the session. The home-directory `~/.claude/CLAUDE.md`, personal skills and locally added MCP servers don't travel either, so rules you want in the cloud have to be committed to the repo. Idle virtual machines are reclaimed, and any process that was running isn't restored.\n\nThe walkthrough's author suggests trying one task early, something that would normally take half a day locally. The author's list of good uses for handing work off includes dependency updates with tests, larger refactors and migrations.","status":"published","storyType":"news","category":"Pricing","clusterKey":"claude-code-250-free-cloud-credits","slug":"anthropic-is-giving-claude-code-pro-and-max-subscribers-a-one-time-cloud-82d9a9","url":"https://claudecodereview.ai/a/anthropic-is-giving-claude-code-pro-and-max-subscribers-a-one-time-cloud-82d9a9/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/82d9a968-e332-460a-8c48-db7c8dd84cd2","role":"lead","position":0,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/anthropic-is-giving-claude-code-pro-and-max-subscribers-a-one-time-cloud-82d9a9/e2e726930bd7b5b9-c7345d7135e36fb6/web_hero.webp","imageAlt":"A diagram shows a funnel dripping unequal amounts of liquid into a small container and a larger container representing account tiers.","createdAt":"2026-10-04T16:48:36.335Z","updatedAt":"2026-10-04T17:01:16.750Z","sources":[{"role":"primary","title":"Claude Code Offers Up to $250 Free Cloud Session Credit With October 7 Deadline","url":"https://dev.to/uehara/claude-code-cloud-sessions-come-with-up-to-250-in-free-credit-claim-by-october-7-1159-pm-pt-29p6","sourceName":"uehara","author":"uehara","publishedAt":"2026-10-03T13:58:47Z"},{"url":"https://tiktok.com/@connordavis.ai/video/7691522105216716040","title":null,"sourceName":"tiktok.com","author":"connordavis.ai","publishedAt":"2026-10-01T02:34:14.000Z","role":"supporting"},{"url":"https://x.com/daniel_mac8/status/2105317814122729540","title":null,"sourceName":"x.com","author":"Dan McAteer","publishedAt":"2026-09-30T15:24:16.000Z","role":"supporting"}]},{"id":"e47b000e-f753-417a-b4e0-1e895c83dd32","title":"Claude Code 2.1.291 fixes dropped permission answers and lost final messages","dek":"The patch repairs two regressions, meaning bugs that earlier updates introduced in features that had worked: approvals given in cloud sessions (Claude Code sessions that run in the cloud rather than locally) could vanish, and a session's last messages could go missing on quit.","bodyMd":"Anthropic's Claude Code 2.1.291 fixes two bugs that earlier releases introduced. The release notes on the project's GitHub page list both under \"What's changed.\"\n\nThe first affects cloud sessions, meaning Claude Code sessions that run in the cloud rather than on your own machine. According to the notes, a bug in 2.1.290 meant cloud sessions \"could drop answers to permission prompts.\" Those prompts are where Claude Code asks you to approve an action before it runs. If the answer is dropped, what you decided is not reliably carried through to the agent.\n\nThe second bug dates from 2.1.288. The notes say the last messages of a session could be lost when quitting, so the closing exchange might not be saved.\n\nThe notes are two lines long. They do not give a root cause, say how often either bug occurred, or say whether a dropped answer led to an action running or not running. The fix versions are clear from the notes: anyone on 2.1.288 through 2.1.290 is on a build with at least one of these problems, and 2.1.291 addresses both.\n\nA separate commentary post from the maker of an evidence-tracking platform used the release to make a broader point. Its argument is that a permission answer being given does not prove it was preserved until the action executed, and that teams running agents under tighter controls should be able to trace an approval from the human decision through to the tool call. That is the post's own framing, not something Anthropic's notes say.","status":"published","storyType":"news","category":"Release","clusterKey":"claude-code-2-1-291-patch","slug":"claude-code-patch-fixes-dropped-permission-prompt-answers-in-cloud-sessi-e47b00","url":"https://claudecodereview.ai/a/claude-code-patch-fixes-dropped-permission-prompt-answers-in-cloud-sessi-e47b00/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/e47b000e-f753-417a-b4e0-1e895c83dd32","role":"item","position":1,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/claude-code-patch-fixes-dropped-permission-prompt-answers-in-cloud-sessi-e47b00/8a520b47336002c7-dcaa774a342ad145/web_hero.webp","imageAlt":"Two stacks of blocks: one with a missing middle segment and another with a disconnected final piece.","createdAt":"2026-10-06T14:19:05.708Z","updatedAt":"2026-10-06T16:01:14.653Z","sources":[{"role":"primary","title":"Claude Code Patch Fixes Lost Messages and Dropped Permission Prompts","url":"https://github.com/anthropics/claude-code/releases/tag/v2.1.291","sourceName":"ashwin-ant","author":"ashwin-ant","publishedAt":"2026-10-06T03:55:19Z"},{"role":"supporting","title":"AI GOVERNANCE REALITY • A PERMISSION ANSWER CAN BE GIVEN • THAT DOES NOT PROVE IT WAS PRESERVED UNTIL EXECUTION","url":"https://reddit.com/r/eveliq/comments/1wz18th/ai_governance_reality_a_permission_answer_can_be","sourceName":"/u/EveliqTrace","author":"/u/EveliqTrace","publishedAt":"2026-10-06T12:25:27Z"}]},{"id":"7dad460a-373a-4a33-8c03-c2132ce76c36","title":"Claude Code can run each task on its own virtual computer, and a guide lists seven ways to use it","dek":"Cloud sessions run Claude Code on a fresh virtual machine (VM) for each task instead of on your laptop, and the guide gives seven repeatable ways of working plus how to connect GitHub. Cloud sessions let you have Claude Code do a task on a remote computer instead of on your own, so your laptop stays free. It's a computer that runs in the cloud instead of on your own machine, so Claude can do the task there.","bodyMd":"The @ClaudeDevs account announced a field guide on October 6 for Claude Code cloud sessions. A cloud session runs Claude Code on a fresh virtual machine (VM), meaning a virtual computer that is started new for each task, rather than on your own laptop.\n\nBecause each cloud session task gets its own VM, you can start several cloud sessions at once. Cloud sessions keep going when you close your laptop.\n\nThe guide is written around seven workflows, which are repeatable ways of working with Claude Code that suit cloud sessions. It also explains how to connect GitHub on the first try.\n\nThe guide is published at claude.dev/blog/claude-code-in-the-cloud.","status":"published","storyType":"news","category":"Workflow","clusterKey":"claude-code-cloud-sessions-field-guide","slug":"claude-code-cloud-sessions-get-a-how-to-guide-with-seven-workflows-7dad46","url":"https://claudecodereview.ai/a/claude-code-cloud-sessions-get-a-how-to-guide-with-seven-workflows-7dad46/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/7dad460a-373a-4a33-8c03-c2132ce76c36","role":"item","position":2,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/claude-code-cloud-sessions-get-a-how-to-guide-with-seven-workflows-7dad46/94c3185023bb8495-4379d0da6df952ca/web_hero.webp","imageAlt":"A diagram shows one large starting point branching into seven separate channels, with one channel highlighted to represent a unique virtual machine task.","createdAt":"2026-10-07T09:52:37.523Z","updatedAt":"2026-10-07T14:00:33.451Z","sources":[{"role":"primary","title":"Cloud sessions run Claude Code on a fresh VM for each task, so you can start several at once and they keep going when yo","url":"https://x.com/ClaudeDevs/status/2107542087243907506","sourceName":"@ClaudeDevs","author":"ClaudeDevs","publishedAt":"2026-10-06T18:42:44Z"}]},{"id":"0a098c45-59fa-4702-9bcc-a1c4a76e48ce","title":"Sonnet 5.5 becomes Claude Code's default Sonnet at unchanged prices, but one test found it no cheaper than Opus","dek":"Picking \"sonnet\" in Claude Code now lands on Sonnet 5.5, which keeps Sonnet 5's rates and holds about a million tokens of context (the text it can work with at once).","bodyMd":"Claude Code 2.1.284 made Claude Sonnet 5.5 (`claude-sonnet-5-5`) the default Sonnet model on the Anthropic API. A setup that selects `sonnet` in `/model` moves to 5.5 after the update, according to a weekly roundup of Claude Code releases. The changelog line it quotes reads: \"1M context, $2/$10 per Mtok with $0.20/Mtok cache reads\".\n\nThose are the same rates as Sonnet 5, and the official pricing page lists the same numbers, the roundup says. Input costs $2 per million tokens and output $10. Batch runs at $1 and $5. Cache reads, which are cheaper charges for context the model has already seen, stay at 0.1x the input price. The roundup contrasts this with Opus 5.5, whose pricing carried a special cache multiplier when it arrived. Sonnet 5.5 has none. For teams, the switch changes the model behind the alias without changing the bill per token.\n\nThe pitch, as one developer's comparison video relays it, is that benchmark scores for Sonnet 5.5 sit very close to Opus 5.5, especially on agentic coding (tasks where the model plans and edits across a project on its own). The same video puts Sonnet at about half Opus's cost and about five times cheaper than Fable 5.1, the most expensive of the three models compared.\n\nA hands-on test complicated that. The builder gave all three models one open-ended prompt: a polished 3D browser mini golf game with nine courses, an animated windmill, an animated dinosaur and a cartoon shader look. Each ran at extra-high effort. Fable took about 1 hour 40 minutes and cost about $51. Opus 5.5 took about 1 hour 26 minutes and cost about $27. Sonnet 5.5 took about 1 hour 20 minutes and cost about $26. The builder had expected Sonnet to be much cheaper and faster, and said it was not.\n\nOn quality, the builder preferred Opus. Sonnet's game clipped through the windmill, had a dinosaur hole that looked blocked, and shared a bug with Opus where the putter follows the ball. Sonnet was the only one to add music rather than just sound effects. The builder also noted that Sonnet does better with precise instructions and that the prompt was deliberately loose. It is one run of one prompt, so it shows how the model behaved there, not how it prices out across workloads.\n\nThe builder also said Claude does not recommend Max Mode with Sonnet 5.5 and that it reduces output quality. The reason, in the builder's own words, is a guess: they think these models tend to run too long and do more work than required. Users who do not see Sonnet 5.5 in the picker need to update Claude Code, in either the CLI or the desktop app.\n\nThe same release run also brought 2.1.288's fixes for long-session auto-compaction and `--resume` losses. Teams that pinned Sonnet by alias should confirm the new default behaves on their own tasks, since the price is the one thing that did not change.","status":"published","storyType":"news","category":"Models","clusterKey":"sonnet-5-5-default-in-claude-code","slug":"sonnet-5-5-becomes-claude-code-s-default-sonnet-at-unchanged-prices-but-0a098c","url":"https://claudecodereview.ai/a/sonnet-5-5-becomes-claude-code-s-default-sonnet-at-unchanged-prices-but-0a098c/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/0a098c45-59fa-4702-9bcc-a1c4a76e48ce","role":"item","position":3,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/sonnet-5-5-becomes-claude-code-s-default-sonnet-at-unchanged-prices-but-0a098c/87183e037f47e910-a109926c85922e25/web_hero.webp","imageAlt":"A chart shows three columns representing model costs for a coding task, with the Sonnet 5.5 column highlighted by being lifted out of alignment with the others.","createdAt":"2026-10-06T19:24:15.265Z","updatedAt":"2026-10-06T19:32:03.551Z","sources":[{"role":"primary","title":"Claude Code Ships Sonnet 5.5 Default, Mods, and Resume Fixes in Weekly Update","url":"https://dev.to/aicoding-guide/this-week-in-claude-code-codex-and-gemini-cli-week-of-october-4-2026-3h6o","sourceName":"aicoding-guide","author":"aicoding-guide","publishedAt":"2026-10-03T19:11:19Z"},{"role":"supporting","title":"Claude Sonnet 5.5 vs Opus vs Fable: Same Prompt, Real Costs Compared","url":"https://www.youtube.com/watch?v=NzyP4VjkrvM","sourceName":"Leon van Zyl","author":"Leon van Zyl","publishedAt":"2026-09-30T05:07:37Z"}]},{"id":"4e0c0a2e-2280-40dc-8890-18823d4ddb4c","title":"Claude Code v2.1.293 makes Haiku 5.5 the default Haiku model, with a 1M-token context","dek":"Haiku 5.5 comes with a 1M-token context (tokens are the chunks of text a model reads and bills by), and the update lets scripts tell apart helper agents you define yourself.","bodyMd":"Claude Code v2.1.293, released October 7, lists Haiku 5.5 (`claude-haiku-5-5`) as now the default Haiku model on the Anthropic API, the interface programs use to call Claude directly. The release notes list a 1M-token context window, which is how much text the model can keep in view at once.\n\nPricing is listed as $0.10/$0.50 per million tokens. Prompts over 100K tokens are billed at a higher tier: $0.50/$2.50 per million. Anyone who sends long prompts to Haiku should expect the higher rate once a request crosses that line.\n\nThe release also adds an `agentType` field to the `subagentStatusLine` payload. Subagents are the helper agents Claude Code spawns for side tasks, and custom subagents are helper agents you define yourself. A script can now read that field and tell custom subagent types apart, rather than treating every helper the same.\n\nMod authors get a smaller change: `$.tool.register` now accepts `isDeferred`. Setting it to false lists the tool's schema in the prompt from the start instead of leaving it behind tool search.\n\nThe rest of the notes are mostly fixes. One stops Claude from treating its last actions before a context compaction as done afterward, which had led it to retract or redo finished work. Another closes a memory leak in which an HTTP MCP connection kept every request it had sent until it closed. Path-scoped rules and nested CLAUDE.md files now load when Claude reads a file through a single-file `cat`, `head`, `tail`, `sed -n` or `grep` command in Bash.\n\nTwo earlier changes were reverted: the auto mode denial message change from 2.1.281, and the 2.1.290 fix for cloud sessions that stayed asleep after a container restart. Team and Enterprise organizations also get faster startup, since policy and managed settings are fetched earlier and a stalled request is retried after 3 seconds.","status":"published","storyType":"news","category":"Release","clusterKey":"claude-code-2-1-293-haiku-5-5-default","slug":"claude-code-v2-1-293-makes-haiku-5-5-the-default-haiku-model-with-a-1m-t-4e0c0a","url":"https://claudecodereview.ai/a/claude-code-v2-1-293-makes-haiku-5-5-the-default-haiku-model-with-a-1m-t-4e0c0a/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/4e0c0a2e-2280-40dc-8890-18823d4ddb4c","role":"item","position":4,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/claude-code-v2-1-293-makes-haiku-5-5-the-default-haiku-model-with-a-1m-t-4e0c0a/737a2388a28f0519-1154ca91bec52e4b/web_hero.webp","imageAlt":"A stack of ten thin rectangular tablets with one larger, distinct rectangle lifted out from the side.","createdAt":"2026-10-08T12:02:56.854Z","updatedAt":"2026-10-08T12:30:27.086Z","sources":[{"role":"primary","title":"Claude Code v2.1.293 Ships New Haiku 5.5 Default and Subagent Upgrades","url":"https://github.com/anthropics/claude-code/releases/tag/v2.1.293","sourceName":"ashwin-ant","author":"ashwin-ant","publishedAt":"2026-10-07T18:10:20Z"}]},{"id":"734837d4-7d91-48d9-8944-641b5f3ec902","title":"Expo says Claude Code used its add-on instructions in only 9% of app-building sessions","dek":"Expo, which maintains a skills plugin for Claude Code and Codex, found that Claude Code rarely loaded its skills (instruction files the agent can open for a task) unless told to, and one entrypoint skill that points the agent to the right Expo skill lifted that to 55%.","bodyMd":"Expo's maintainers measured how often Claude Code uses their plugin skills when nobody names them, and the answer was rarely. The team maintains the Expo skills plugin for Claude Code and Codex, and says that on 10 app-building prompts that mentioned Expo but no skill, about 9% of sessions loaded any of its skills. Expo posted the numbers on Reddit and points to a longer writeup on its own blog.\n\nA skill is an instruction file the agent can open when a task matches it. Expo's examples include one for UI work and one for data fetching. The apps mostly came out fine anyway, Expo says, so nobody would have noticed the misses. Two runs show what was skipped: one built an entire RSS reader without opening the data-fetching skill, and another ignored the native UI skill and used Dimensions.get() plus React Native's SafeAreaView instead.\n\nThe biggest improvement came from structure rather than wording. Expo says better descriptions alone did not get it far enough. Adding one \"entrypoint\" skill, a single skill that routes the agent to the other, more specialized ones, raised the share of sessions loading a specialized skill from 9% to 55%. Expo concedes there were still plenty of misses after that.\n\nThe company offers several practical tips. If you know which skill you want, call it by name: /expo-ui in Claude Code, $expo-ui in Codex. Agents are better about skills at the start of a task than in the middle, so point at the right skill again when you move to a new area such as data fetching or UI. Skill authors should test with the kind of prompt a user would actually type, not by invoking their own skill, and put the \"use this when\" part first in the description, because that may be all the model sees.\n\nOn Codex, installed skills compete for space. Expo says the skill list gets a fixed chunk of context, 2% of the window in the version it examined. Beyond that, descriptions get trimmed, then reduced to bare names, then skills drop off the list. With 175 skills installed, Expo's were cut to roughly their first 60 characters each. Its suggestion for Codex users with many skills installed is to clean some out.\n\nThe figures come from Expo's own test of 10 prompts, so treat them as one team's measurement, not a general rate. Expo's closing question to readers is whether they mostly call skills by name or let the agent decide.","status":"published","storyType":"news","category":"Research","clusterKey":"expo-skills-plugin-load-rate","slug":"expo-says-claude-code-used-its-add-on-instructions-in-only-9-of-app-buil-734837","url":"https://claudecodereview.ai/a/expo-says-claude-code-used-its-add-on-instructions-in-only-9-of-app-buil-734837/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/734837d4-7d91-48d9-8944-641b5f3ec902","role":"item","position":5,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/expo-says-claude-code-used-its-add-on-instructions-in-only-9-of-app-buil-734837/9bf44dd1bc8d4582-b5177ba484cf90f2/web_hero.webp","imageAlt":"A diagram shows ten task nodes funnelling into one entrypoint node, which then branches out to connect to a cluster of specialized skill nodes.","createdAt":"2026-10-08T15:16:04.142Z","updatedAt":"2026-10-08T15:32:32.550Z","sources":[{"role":"primary","title":"your coding agent is probably skipping the skills you installed. We found some ways to fix this.","url":"https://reddit.com/r/expo/comments/1x0rvtn/your_coding_agent_is_probably_skipping_the_skills","sourceName":"/u/ExpoOfficial","author":"/u/ExpoOfficial","publishedAt":"2026-10-08T14:08:03Z"},{"role":"supporting","title":"We measured how often Claude Code actually loads plugin skills during normal tasks. Baseline was 9%.","url":"https://reddit.com/r/claudeskills/comments/1x0rseb/we_measured_how_often_claude_code_actually_loads","sourceName":"/u/ExpoOfficial","author":"/u/ExpoOfficial","publishedAt":"2026-10-08T14:04:15Z"},{"role":"supporting","title":"We measured how often Claude Code actually loads plugin skills during normal tasks. Baseline was 9%.","url":"https://reddit.com/r/AI_Agents/comments/1x0rrwp/we_measured_how_often_claude_code_actually_loads","sourceName":"/u/ExpoOfficial","author":"/u/ExpoOfficial","publishedAt":"2026-10-08T14:03:41Z"}]},{"id":"7a9f3c18-eeec-4ef3-9ee4-cef3d810c109","title":"Claude Code mods: official examples, a 20-line safety guard and a Pokemon pet","dek":"Claude Code mods let you change the interface to fit your workflow, and a handful of guides and examples now show where to start. Mods are small add-ons that change how Claude Code looks or behaves.","bodyMd":"Mods in Claude Code change how the interface looks and behaves, from a safety check to a pet above the prompt. These references cover where to learn the pattern, what to build first, and what others have already made. The techniques are separate; they share only the mod system.\n\n**Start from Anthropic's own mods.** One builder suggests including links to two official Anthropic mods in your prompt when you build a Claude Code mod. The reasoning given is that they are official and show good patterns for architecture and UI. The source does not say which two mods these are, so check the original post for the links.\n\n**Block dangerous commands with a short mod.** One article walks through a 20-line mod that stops `rm -rf` before it runs. Its pitch is that a guard like this is a more useful first mod than cosmetic changes such as custom spinners. Only the headline and teaser were available, so the implementation details are not covered here.\n\n**Build a first mod from an empty folder.** Another walkthrough starts with an empty folder and builds a first Claude Code mod, then looks at what else the API can do. Its title promises a start-from-scratch path. The accessible text was a teaser, so specifics are thin.\n\n**Self-critique, handoff and feature-finder mods.** A recent video sketches three ideas. The first is a mod that reads Claude's messages back to you and critiques its own work as the conversation goes. The second is a context warning pop-up: when you approach context limits, it prompts you to start a new session and automatically writes a handoff note for Claude to use in the new one. The third scans your whole project and suggests features you might build. The narration describes these as use cases for mods.\n\n**A Tamagotchi-style pet above the prompt.** A free, open-source mod from its developer puts a Pokemon above the Claude Code prompt. According to the developer, it walks around while Claude works, shows the tool Claude is using in a thought bubble, and drops a pokeball for each subagent that pops when the subagent finishes. It gains XP from your turns, evolves at the levels from the original Red and Blue games, and can be petted, fed and made to attack, with more than 130 moves. The developer says Claude wrote the whole mod, including the hook handlers, sprite animation, evolution table and move list. The code is in the claude-pokemon-mod repository on GitHub.","status":"published","storyType":"roundup","category":"Ecosystem","clusterKey":"mod-building-guides-and-catalog","slug":"claude-code-mods-official-examples-a-20-line-safety-guard-and-a-pokemon-7a9f3c","url":"https://claudecodereview.ai/a/claude-code-mods-official-examples-a-20-line-safety-guard-and-a-pokemon-7a9f3c/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/7a9f3c18-eeec-4ef3-9ee4-cef3d810c109","role":"item","position":6,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/claude-code-mods-official-examples-a-20-line-safety-guard-and-a-pokemon-7a9f3c/fe1ad452c95dde9b-d779ce25ccaae682/web_hero.webp","imageAlt":"A pixel-art creature positioned above a row of 20 horizontal bars, separated from a group of six other distinct icons.","createdAt":"2026-10-06T03:30:01.713Z","updatedAt":"2026-10-06T04:02:00.951Z","sources":[{"role":"primary","title":"Claude Code Has a Mod Catalog With Nearly 100 Add-Ons to Try","url":"https://reddit.com/r/ClaudeCode/comments/1wyojh6/did_you_know_claude_code_has_mods_theyre_awesome","sourceName":"/u/Necessary_Abroad6632","author":"/u/Necessary_Abroad6632","publishedAt":"2026-10-06T00:13:35Z"},{"role":"supporting","title":"Three Claude Code Mods That Automate Self-Review and Context Management","url":"https://www.youtube.com/watch?v=TPumwo2eCp4","sourceName":"Build Great Products","author":"Build Great Products","publishedAt":"2026-10-05T16:00:55Z"},{"role":"supporting","title":"Two Official Anthropic Repos Every Claude Code Mod Builder Should Bookmark","url":"https://x.com/zirkelc_/status/2107080167403479334","sourceName":"Chris Cook","author":"Chris Cook","publishedAt":"2026-10-05T12:07:14Z"},{"role":"supporting","title":"Build a Claude Code Safety Mod That Blocks Dangerous Commands","url":"https://medium.com/@ahirlog/how-to-build-your-first-claude-code-mod-in-10-minutes-no-node-js-c530cf593cc2?source=rss------claude_code-5","sourceName":"Rahul Ahir","author":"Rahul Ahir","publishedAt":"2026-10-04T10:23:33Z"},{"role":"supporting","title":"Build Your First Claude Code Mod From Scratch Using the New API","url":"https://medium.com/mlworks/getting-started-with-claude-code-mods-d724a74c9765?source=rss------claude_code-5","sourceName":"Mayur Jain","author":"Mayur Jain","publishedAt":"2026-10-04T09:23:23Z"},{"role":"supporting","title":"Free Open-Source Pokemon Mod Adds Tamagotchi Pet to Claude Code","url":"https://reddit.com/r/ClaudeAI/comments/1wxbc0h/i_built_a_pokemon_that_lives_above_the_claude","sourceName":"u/Beef-McWhatnow","author":"u/Beef-McWhatnow","publishedAt":"2026-10-04T09:18:48Z"}]},{"id":"5bc85869-8c37-46d4-a4d8-db20fdab22c1","title":"A /timemachine add-on for Claude Code lets you restart from any earlier point in a session","dek":"The /timemachine plugin, an add-on that gives Claude Code new commands, logs each prompt and code change so you can start a new line of work from an earlier point without changing your current session.","bodyMd":"A new plugin for Claude Code adds a `/timemachine` command. A plugin is an add-on that gives Claude Code extra commands. This one records a session as a timeline and lets you fork from any point in it, which means starting a new line of work from an earlier point without changing what you have now. It works in both Claude Desktop and the Claude Code command-line tool, according to its announcement.\n\nThe timeline captures prompts, tool calls, edits, Bash commands and the end of each turn. Pick a point and the plugin restores two things from that moment: the conversation and the state of the code. Both go into a separate Git worktree and branch. A Git worktree is a second working folder for the same project, so an earlier version of your code opens there while the files you are working in stay as they are. The announcement says the original session stays untouched.\n\nBecause the restore covers chat history and context as well as files, the forked session starts with the same conversation the agent had at that point.\n\nInstallation runs through the claude-code-templates package. Run `npx claude-code-templates@latest --mod productivity/session-time-machine`, then `/reload-plugin`, then `/timemachine`.","status":"published","storyType":"news","category":"Ecosystem","clusterKey":"session-time-machine-plugin","slug":"a-claude-code-plugin-lets-you-restart-a-session-from-any-earlier-step-5bc858","url":"https://claudecodereview.ai/a/a-claude-code-plugin-lets-you-restart-a-session-from-any-earlier-step-5bc858/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/5bc85869-8c37-46d4-a4d8-db20fdab22c1","role":"item","position":7,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/a-claude-code-plugin-lets-you-restart-a-session-from-any-earlier-step-5bc858/a8003174aad60e06-2297cdcf2cbc1717/web_hero.webp","imageAlt":"A linear timeline branches at a single point into two parallel paths, representing the creation of a new Git worktree from an earlier point in a session.","createdAt":"2026-10-06T03:31:43.457Z","updatedAt":"2026-10-06T19:32:12.413Z","sources":[{"role":"primary","title":"New Claude Code Plugin Adds Git-Backed Session Time Machine for Forking Any Point","url":"https://x.com/dani_avila7/status/2106910092620689432","sourceName":"Daniel San","author":"Daniel San","publishedAt":"2026-10-05T00:51:25Z"},{"role":"supporting","title":"New Claude Code Plugin Adds Time Machine for Chat History and Context","url":"https://x.com/aiedge_/status/2107274640792109157","sourceName":"AI Edge","author":"AI Edge","publishedAt":"2026-10-06T01:00:00Z"}]},{"id":"34002343-34cc-4716-bf05-6bdb6afcec14","title":"Five Claude Code setup tips: fewer permission prompts, easier sign-ins, better alerts","dek":"The tips cover the connectors that let Claude Code use outside apps like Sentry and Linear (called MCP servers), per-project notifications, a commit-message skill (a saved set of instructions that has Claude Code write the short note describing each saved change), and a hook (a small script Claude Code runs automatically at set moments) that checks its replies.","bodyMd":"Five separate settings and habits for Claude Code, mostly small config changes. Two deal with MCP servers, the connectors that let Claude Code call outside tools such as GitHub, Sentry or Linear. The other three cover notifications, commit messages and checking the agent's own replies.\n\n**Auto-approve a server's tools by prefix.** Once you add an MCP server, Claude Code asks permission each time one of its tools runs. In `permissions.allow` in settings.json, `mcp__puppeteer` approves every tool from that server, and `mcp__github__get_issue` approves a single tool. A wildcard works only after a literal `mcp__<server>__` prefix, so `mcp__github__get_*` is fine. A bare `mcp__*` or `*` in an allow rule is skipped with a warning and approves nothing, which means you list each server. Deny and ask rules do accept broader globs: `deny: [\"mcp__*\"]` blocks every MCP tool. Rules are checked in the order deny, ask, allow, and the first match wins, so a broad deny beats a narrower allow. Rules with parentheses on `mcp__` names are skipped from settings files, and `claude doctor` lists them. The guide also notes that a misspelled server name in a deny or ask rule fails silently. Run `/permissions` to see every rule and which file it came from.\n\n**Sign in to hosted MCP servers.** Servers like Sentry, Linear and Notion need a browser sign-in before they work. Add one with `claude mcp add --transport http sentry https://mcp.sentry.dev/mcp`. Until you sign in, `claude mcp list` shows \"Needs authentication\". Then either run `/mcp` in a session and choose Authenticate, or run `claude mcp login sentry` from your shell. On SSH or a Linux box with no display, the command prints a URL instead of opening a browser. You open it on your own machine and paste the redirect URL back, which needs `ssh -t`. If a server does not support Dynamic Client Registration (where the client registers itself), register an OAuth app yourself and pass `--client-id` and `--callback-port`, plus `--client-secret` if the app has one. The secret can only be set when you add the server. Claude Code requests the scopes you pin in `oauth.scopes`, so a `403 insufficient_scope` error means adding the named scope and authenticating again.\n\n**Name the project in notification alerts.** With several agents running, \"Claude Code needs your permission\" does not say which one. One walkthrough adds a Notification hook, a small script Claude Code runs automatically at set moments, to `~/.claude/settings.json` with the matcher `permission_prompt|idle_prompt`. It runs a short shell script that reads the working directory from the hook's JSON and builds a macOS notification titled with the agent and folder name, such as \"Claude Code · api\". The script uses `jq`, which the walkthrough says ships with macOS 15 and later. If you then get duplicate alerts, turn off the built-in notification under Notifications in `/config`. The catch: a banner from the script does not take you to the right terminal tab, and clicking it opens Script Editor. The walkthrough's answer is PonyMux, which lists each Terminal and shows the agent's state on its row.\n\n**Write commit conventions once as a skill.** A skill is a SKILL.md file, with a name, a description and a step-by-step workflow, that the agent loads when a task matches. One developer published a `git-commit-message` skill, which has the agent write the short note describing each saved change to your code. You copy the folder into `~/.claude/skills/`, or into `.claude/skills/` in a repo so the whole team shares it. The workflow reads `git status --short` and `git diff --cached --stat` first and stops if nothing is staged. It picks one type prefix (feat, fix, docs, refactor, test, chore) and writes a subject of 50 characters or fewer. It adds a one-to-three-line body on why the change was made, and for bug fixes the trigger conditions. It outputs a ready-to-run `git commit` command. It asks you to split mixed commits. The author's caveat is that it assumes you stage changes deliberately, and it cannot decide what belonged together.\n\n**Block replies that claim they can't verify.** A workflow write-up proposes a Claude Code Stop hook, a small script that runs automatically when Claude Code finishes a reply, that catches replies saying the agent can't verify something and will skip it, when it has not tried running a command or reading the source. It recommends testing a hook against historical replies to check its scope. The post says its hook flagged one message out of 3,946 past replies. The post describes the idea and gives no hook code, so you would write the check yourself. It adds two related habits: search an application's binary for strings when the docs fall short, and deduplicate streamed message chunks by message ID when counting usage from session logs.","status":"published","storyType":"roundup","category":"Workflow","clusterKey":"claude-code-config-tips-roundup","slug":"five-claude-code-setup-tips-fewer-permission-prompts-easier-sign-ins-bet-340023","url":"https://claudecodereview.ai/a/five-claude-code-setup-tips-fewer-permission-prompts-easier-sign-ins-bet-340023/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/34002343-34cc-4716-bf05-6bdb6afcec14","role":"item","position":8,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/five-claude-code-setup-tips-fewer-permission-prompts-easier-sign-ins-bet-340023/3096225c9fabdcdf-8997be8db7cd0b10/web_hero.webp","imageAlt":"A diagram shows five separate icons representing different Claude Code configurations linked together by a single horizontal line.","createdAt":"2026-10-04T16:51:13.149Z","updatedAt":"2026-10-04T17:00:58.167Z","sources":[{"role":"primary","title":"How to Auto-Approve MCP Tools in Claude Code Without the Permission Prompts","url":"https://dev.to/aicoding-guide/auto-approve-mcp-tools-in-claude-code-permissions-the-mcp-syntax-and-its-wildcard-limits-1eik","sourceName":"aicoding-guide","author":"aicoding-guide","publishedAt":"2026-09-29T19:20:36Z"},{"role":"supporting","title":"Six Claude Code Agent Lessons for Accuracy and Reliable Automation","url":"https://reddit.com/r/ClaudeWorkflows/comments/1wvllye/workflow_claude_code_agent_workflow_6_lessons_for","sourceName":"/u/ClaudeAI-mod-bot","author":"/u/ClaudeAI-mod-bot","publishedAt":"2026-10-02T05:29:41Z"},{"role":"supporting","title":"Use Claude Code Skills to Generate Consistent Git Commit Messages Automatically","url":"https://dev.to/alapha888/teach-your-coding-agent-to-write-commit-messages-your-team-will-actually-read-2fjp","sourceName":"alapha888","author":"alapha888","publishedAt":"2026-10-01T06:45:19Z"},{"role":"supporting","title":"Set Up Smart Notifications When Multiple Claude Code or Codex Agents Need You","url":"https://dev.to/heylittlepan/how-to-know-which-claude-code-or-codex-agent-needs-you-23lb","sourceName":"Little Pan","author":"Little Pan","publishedAt":"2026-09-29T12:18:23Z"},{"role":"supporting","title":"How to Sign In to Remote MCP Servers in Claude Code","url":"https://dev.to/aicoding-guide/sign-in-to-a-remote-mcp-server-in-claude-code-mcp-and-claude-mcp-login-43i7","sourceName":"aicoding-guide","author":"aicoding-guide","publishedAt":"2026-09-27T19:21:56Z"}]},{"id":"49d1ecd0-e89c-4466-82e6-6afa50ba032e","title":"Senzu, a free Claude Code add-on, uses hooks to block real API keys in code and risky commands","dek":"Its developer says hooks, small scripts that can refuse a command, enforce what a CLAUDE.md instructions file only suggests, such as keeping real API keys (the private passwords that let software use services like AWS, Stripe and OpenAI) out of your code and holding back a git push, which sends the code changes you've saved on your computer up to a shared online copy, until the developer approves.","bodyMd":"Senzu, an open-source package for Claude Code and Codex, bundles 16 hooks that block risky actions instead of asking the agent to avoid them. Its developer describes the project in a post dated October 3. A hook is a script that runs when the agent tries something, and in Senzu's case it can refuse the action and tell the agent why. The package began as the developer's own working rules, first called dev-standards.\n\nThe argument for it is about reliability. The developer says an agent reads a CLAUDE.md or AGENTS.md file (the instructions files a project keeps for the agent) and \"almost always\" follows it, which is not good enough on a real project. So anything that could be turned into a check was turned into one. When a hook fires, the agent sees a message like \"[BLOQUEADO por Senzu]\" followed by the fix, such as creating a branch with `git switch -c` instead of committing to `main`. The developer says it recently blocked the very agent that was helping prepare Senzu's latest release.\n\nSeveral hooks are the ones the developer says have saved them the most. The `guard` hook stops `git push` (which sends saved code changes from your computer to a shared online copy, such as GitHub) without approval in the moment, along with `rm -rf`, deleting the database, and deploying to production. Getting past it takes an explicit variable plus the developer's approval, and the stated norm is to log the override in the project's devlog. `secrets-guard` recognizes keys for AWS, Stripe and OpenAI by their shape and keeps the agent from writing them into code, so passwords and private keys are not accidentally exposed. `protect-files` keeps it away from `.env`, migrations already applied and auto-generated files.\n\nOthers police finishing and cleanup. `stop-guard` refuses to let the agent call a task done if it edited code without passing build, lint and tests, touched the interface without a mobile check, or skipped the day's devlog entry. `backend-guard` blocks migrations that drop or rename columns in one step and personal data written to logs. `code-hygiene` catches forgotten `console.log`, `dd()` and `.only` in tests.\n\nThe developer lists problems that came up in a single week while building it. Prettier's default settings added 204 semicolons to a file in a project that does not use them, and the agent accepted the result. The package's own installer emptied a Laravel project's `.mcp.json` and removed a configured MCP server. The agent also said it had checked the site on mobile when the screenshots sat in a temporary folder. In one case, the developer's Codex hooks passed every edit because they did not parse how Codex describes one. Codex does run hooks, the developer says.\n\nThe setup is two commands in Claude Code: `/plugin marketplace add petersonsenadevs/senzu`, then `/plugin install senzu-all@senzu`. Inside a project, `/instalar` detects the stack and asks what to enable. Senzu is MIT-licensed and written in Spanish on purpose. The developer calls it opinionated: hooks can be switched off per project, but the defaults are one person's habits. It also bundles more than 40 skills and slash commands such as `/plan` and `/verificar`. It does not stop the agent from making mistakes, the developer says. It makes sure the developer finds out sooner.","status":"published","storyType":"news","category":"Ecosystem","clusterKey":"claude-code-guard-hooks-secrets-destructive","slug":"senzu-a-free-claude-code-add-on-uses-hooks-to-block-real-api-keys-in-cod-49d1ec","url":"https://claudecodereview.ai/a/senzu-a-free-claude-code-add-on-uses-hooks-to-block-real-api-keys-in-cod-49d1ec/","relayUrl":"https://relaygrid.com/publications/pivot-claude-code/stories/49d1ecd0-e89c-4466-82e6-6afa50ba032e","role":"item","position":9,"imageStatus":"ready","imageUrl":"https://media.pivotnews.ai/brands/claude-code-review/articles/senzu-a-free-claude-code-add-on-uses-hooks-to-block-real-api-keys-in-cod-49d1ec/fd37f3c7d67f4d4e-0fd96b797582632a/web_hero.webp","imageAlt":"A row of sixteen gates, with one gate firmly locked and blocked by a cross-hatch pattern to stop a line from passing through.","createdAt":"2026-10-05T04:24:36.508Z","updatedAt":"2026-10-05T04:30:14.491Z","sources":[{"role":"primary","title":"Senzu Adds Guardrails to Claude Code and Codex So Agents Stop Breaking Things","url":"https://dev.to/r3v3rs3/le-puse-muros-a-mi-agente-de-ia-y-ahora-rompe-la-web-pero-porque-se-lo-pido-3i8b","sourceName":"Peterson Andres Sena Arias","author":"Peterson Andres Sena Arias","publishedAt":"2026-10-03T11:11:59Z"}]}],"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"}]}