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

All Articles

All (863) Claude AI (137) Claude Code (370) Cowork (60) API & SDK (296)
Claude Code/2026-09-12Intermediate

My overnight crawl never came back, and the reason was that WebFetch had no ceiling on how long it would wait

Claude Code v2.1.268 gives WebFetch a 300-second deadline. Here is how an unattended run stalls on a server that never closes its response, why CLAUDE_CODE_WEBFETCH_DEADLINE_MS=0 does not mean 'do not wait', and how I now place two separate ceilings.

Claude Code/2026-09-11Intermediate

inferenceGatewayHeaders still works today. At noon on October 7 it falls back to a default

I read the deprecation notice that started appearing on September 10 as a spelling cleanup. After the cut-off, the old names are not ignored — they fall back to a fail-closed value or a default. Here is the old-to-new map and a script that audits your config in one pass.

Claude Code/2026-09-10Intermediate

When Every Request Fails With Not signed in to the Cloud gateway, Check the Version Before the Config

A Claude Code 2.1.265 regression broke every request for gateway and proxy setups. I use it as an excuse to build a small snapshot of the auth input surface, so the next time something breaks you can tell config from version in seconds.

Claude Code/2026-09-10Intermediate

One plugin.json turns a shelf of skills into something you can switch off as a group

When I sorted my skills by what work they belong to, the set I open almost daily turned out to be 5 percent of the total. Here is how I dropped a .claude-plugin/plugin.json into each group so I could switch a whole shelf off, plus the two loading rules I tripped over on the way.

Claude Code/2026-09-06Beginner

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.

Claude Code/2026-09-05Intermediate

My deny rule was watching a filename, not the routes that reach it

One line in deny let several other spellings of the same file walk right past. Here is the small matrix I build to list every route to a protected file, and how I re-check it on upgrade day.

Claude Code/2026-09-04Intermediate

The ~/.claude.json Rollback Is Fixed in v2.1.259. Putting Back What It Erased Is Still Your Job

Concurrent sessions used to silently roll back each other's ~/.claude.json changes. v2.1.259 fixed that, but nothing restores the trust settings and MCP servers you already lost. Here is how I find and rebuild them, with a small key-path diff script.

Claude Code/2026-09-04Advanced

The One File I Keep Out of Claude Code's Reach: project.pbxproj

With Xcode project files, the breakage that still opens costs far more than the breakage that refuses to open. Here is what I measured before moving every edit behind a script, and where the line sits today.

Claude Code/2026-09-03Intermediate

Aligning Log Timezones at Display Time, or Fixing Them at Write Time

AdMob, the store reports, and my own logs each ended the day at a different moment. Here is how I went back and forth between display-side and write-side timezone handling, and what I settled on.

Claude Code/2026-09-02Intermediate

Two hooks that record every model switch and stop the ones you never agreed to

Build a PostModelSwitch hook that logs every model change and a PreModelSwitch hook that blocks unapproved switches during unattended runs. Complete scripts, measured timings, and the reason the two jobs must stay separate.

Claude Code/2026-09-01Intermediate

Drop the quotes on a heredoc and the prices in your log quietly change

An unquoted heredoc runs the variables and backticks inside its body. Here are the four ways my log got rewritten, how the three quoting forms compare, a safe placeholder-and-sed pattern, and a small script for auditing what you already have.

Claude Code/2026-09-01Advanced

Once I passed a dozen MCP servers, I stopped trusting the startup list

Only some of the servers that say connection failed at startup are ones you can actually fix. Here is a probe that separates no-response, launch failure, and protocol rejection, measured across a 14-server fleet where sequential 22.03s became parallel 5.09s, and where trimming the deadline quietly turned healthy servers into failures.