CLAUDE LABJP
2.1.269 — A broad release with 98 CLI changes. The one worth your attention is claude plugin eval, which finally lets you measure whether a plugin earns its placeEVAL — Every case runs three times with the plugin loaded and three times without, so the number you get back is the difference the plugin makes, not just a pass or a failGRADER — Three kinds of grader are available: a regex over the reply, a check for whether a particular tool was called, and a rubric judged by a second modelDIFF — The Bash tool result now includes a diff of the files a command changed. Turn it on with bashEditDiffEnabledSTYLE — /output-style [name] lists and switches output styles, including over Remote Control and in cloud or headless sessionsOTEL — OTEL_METRICS_INCLUDE_REPOSITORY tags metrics and events with vcs. repository attributes, and commit events carry vcs.ref.head2.1.269 — A broad release with 98 CLI changes. The one worth your attention is claude plugin eval, which finally lets you measure whether a plugin earns its placeEVAL — Every case runs three times with the plugin loaded and three times without, so the number you get back is the difference the plugin makes, not just a pass or a failGRADER — Three kinds of grader are available: a regex over the reply, a check for whether a particular tool was called, and a rubric judged by a second modelDIFF — The Bash tool result now includes a diff of the files a command changed. Turn it on with bashEditDiffEnabledSTYLE — /output-style [name] lists and switches output styles, including over Remote Control and in cloud or headless sessionsOTEL — OTEL_METRICS_INCLUDE_REPOSITORY tags metrics and events with vcs. repository attributes, and commit events carry vcs.ref.head
Articles/Claude Code
Claude Code/2026-08-17Advanced

Now that forking is the default, review agents are the ones I still call by name

Subagent forking became the default, so delegated work now inherits the parent conversation. Work can inherit context. Judgment cannot. Here is how I declare that boundary in the repository and catch it drifting.

Claude Code253subagents9context design4code review4indie development23

Premium Article

I was splitting up my pre-release checks when the review agent's replies got noticeably shorter.

The same agent that used to push back with "this claim has no supporting evidence" came back with "as already confirmed above, no issues found." It took me a while to realize the pushback had not weakened. The agent was no longer in a position to push back at all.

The cause was not my prompt. The default for delegation had changed underneath me.

The short version: work can inherit context, judgment cannot

Handing a subagent the parent conversation saves you from re-explaining everything. It also saves the agent from re-reading files the parent already read. For pure execution work, that is a straightforward win.

But review, re-verification, and audit work all ask the same question: is the conclusion the parent reached actually correct? The moment that agent inherits the parent conversation, it stops being a third party. It becomes a participant who arrived at the conclusion alongside you.

So the line gets drawn by role, not by capability.

What you delegateParent contextWhy
Enumeration and collection (asset inventory, string diffing)InheritIndependence of the conclusion is irrelevant. Re-explaining the premise is pure overhead
Procedural execution (build settings, version consistency)InheritLittle judgment involved, and more context means fewer round trips
Review and critiqueDo not inheritKnowing the parent's reasoning means only ever reading from inside that reasoning
Pass or fail re-verificationDo not inherit"It was reported as passing" hands over the answer before the check begins

What changed on August 14 was where unnamed delegation lands

In Claude Code 2.1.232, subagent forking became enabled by default. A subagent with subagent_type: "fork" inherits the parent session's full conversation and its prompt cache. In interactive sessions, non-teammate agent spawns now run in the background by default.

The part that is easy to miss is when forking actually fires. It fires when you delegate without specifying subagent_type. A call that names a subagent explicitly still starts from an empty context. As the subagents documentation puts it, a named subagent does not see your conversation history or the files Claude already read.

So the intuition "the default changed, therefore all my agents now inherit" is backwards. What changed was the behavior of delegation where you never named anyone — the "just take a quick look at this" kind.

That is exactly how my review agent ended up rubber-stamping. The definition file was sitting right there in .claude/agents/. My actual calls were skipping it. Writing the definition had felt like finishing the job, and I never checked whether the call site was routing through it.

You can declare the direction explicitly:

SettingEffect
CLAUDE_CODE_FORK_SUBAGENT=1Enables forking in non-interactive runs and the Agent SDK as well
CLAUDE_CODE_FORK_SUBAGENT=0Disables forking in every kind of session
Deny Agent(fork)Keeps forking available, but stops unnamed delegation from falling into it

The third row is the one I reach for most.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
You will be able to stop a review or verification agent from quietly turning into a rubber stamp, before it costs you a bad release
You will be able to sort your own agent definitions into work that should inherit context and judgment that must not
You will be able to tell which setups actually get cheaper from forking and which barely do, so you know whether turning the default off is worth it
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $15 for lifetime access
View Membership →

Related Articles

Claude Code2026-08-20
The Biggest Section in Your SKILL.md Is Usually the One to Keep
A skill I run every week cost about 10K tokens just to load. Measuring it section by section showed why the largest block was the one I had to leave in place, and what splitting by reach actually saved.
Claude Code2026-04-28
Read Your Own Code as Someone Else's: Coaxing Tougher Reviews from Claude Code
When you review code you just wrote, the rough edges become invisible. Here's how I summon Claude Code as a mid-career engineer reading someone else's code, plus the prompts I actually use in production.
Claude Code2026-09-06
I counted 42 skills on my shelf, and four of them were just a note saying they had moved
Claude Code v2.1.261 added /skill-doctor. Before running it I counted my own skill shelf from the files, found four tombstones, and learned that the obvious awk one-liner for spotting duplicate plugin names quietly reports skills that are not duplicates at all.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links