Claude Code Daily Briefing - 2026-06-13

Release Summary

VersionDateKey Changes
v2.1.1766/12Path-scoped hook conditions (Edit(src/**), Read(~/.ssh/**), Read(.env)) now match; footerLinksRegexes; session titles generated in conversation language (language setting); availableModels alias-redirect blocked; Bedrock credentials cached to expiration; many fixes
v2.1.1756/12enforceAvailableModels managed setting — allowlist now constrains the Default model, and user/project settings can’t widen a managed list
v2.1.1746/12wheelScrollAccelerationEnabled; /model picker family-row fix; /usage attribution breakdown (cache miss, long context, subagents, VSCode); JetBrains terminal flicker fix; Fable 5 credit-banner misfire fix

Yesterday shipped three releases back-to-back (v2.1.174/175/176). Lots of scattered fixes, but two through-lines: path-scoped hook conditions now work as documented, and model governance (enforceAvailableModels + alias-redirect blocking) got noticeably tighter. The latter reads as a direct response to the Programmatic Usage Credits change landing in two days (June 15) — see Security & Limitations below.

Full release notes


New Features & Practical Usage

Path-scoped hook conditions finally match correctly (v2.1.176)

If you’d ever scoped a hook to specific Read/Edit/Write paths, you may have hit cases where the documented syntax silently didn’t fire. v2.1.176 fixes this: path patterns like Edit(src/**), Read(~/.ssh/**), and Read(.env) now match as documented.

The implication is concrete — you can now reliably build hooks that run only when Claude touches a given path. Format anything under src/** on edit; block or warn on any attempt to read .env. These are per-path deterministic guards, not blanket “every tool call” hooks.

// .claude/settings.json (follow the official hooks docs for the exact schema/keys)
{
  "hooks": {
    "PreToolUse": [
      {
        "if": "Read(.env)",
        "command": "echo '⚠️  blocked attempt to read .env' && exit 2"
      }
    ],
    "PostToolUse": [
      {
        "if": "Edit(src/**)",
        "command": "prettier --write \"$CLAUDE_FILE_PATH\""
      }
    ]
  }
}

This is the practical completion of yesterday’s distinction — CLAUDE.md is advisory (followed ~80% of the time); hooks are deterministic (100%) — except now that deterministic hook can be aimed precisely at the right paths. If you’ve been writing path conditions and assuming they catch, it’s worth a quick audit; they may have been passing through.

GitHub v2.1.176

enforceAvailableModels — governance that now covers Default, aliases, and /fast (v2.1.175/176)

The availableModels allowlist we covered on 6/11 got a real follow-up. Until now the allowlist only narrowed which models you could pick — the Default model and environment-variable aliases left gaps. Those gaps are closed.

// managed settings.json (org policy)
{
  "enforceAvailableModels": true,
  "availableModels": ["claude-sonnet-4-6", "claude-haiku-4-5-20251001"]
}

This dovetails exactly with the June 15 Programmatic Usage Credits cutover: once credits are separated out, a subagent (including nested ones) or an automation quietly climbing to a pricier model becomes real money — and now you can pin that down through Default, aliases, and /fast with a single switch.

GitHub v2.1.175


Developer Workflow Tips

/usage now breaks down by cache miss, long context, and subagents — audit before June 15 (v2.1.174)

As of v2.1.174, the /usage dialog breaks usage down by cache miss, long context, and subagents, and shows VSCode attribution too. Instead of a single total, it points at where the tokens are leaking.

This isn’t cosmetic — it’s a diagnostic for the June 15 credits cutover. If your automations or subagent trees burn credits fast, use /usage to see whether the culprit is long context, cache misses, or subagents first. Big cache-miss share? Stabilize prompt structure to raise cache hits. Big subagent share? Cut nesting depth. The point is to find the slack before the change lands.

GitHub v2.1.174

If it must happen “every time,” promote it from CLAUDE.md to a hook

Multiple practitioner guides converge on the same rule: CLAUDE.md is advisory — Claude follows it roughly 80% of the time — while hooks are deterministic (100%). For anything that must happen every time without exception (formatting, linting, security checks), make it a hook, not a CLAUDE.md sentence.

Hooks used to be awkward because you could only scope them broadly (“every Edit”). The path-scoped conditions in v2.1.176 (above) remove that friction — scope Edit(src/**) to your source tree, Read(.env) to secret access, and you keep the deterministic guarantee without firing where you don’t need it. This week’s actionable move: pick the “this rule can never slip” items out of CLAUDE.md and move them into path-scoped hooks. Builder.io — Claude Code Tips


Security & Limitations

D-2: June 15 Programmatic Usage Credits — automation splits onto a separate credit pool (effective 6/15)

The Programmatic Usage Credits change we’ve mentioned in passing is now two days out (effective 2026-06-15, announced 5/14). The core: programmatic usage moves off your subscription limit onto a separate monthly credit pool.

Today’s new angle is the imminence (D-2) plus the fact that v2.1.175/176’s governance hardening is the direct response to this change — the moment credits split, “which automation runs which model for how much” becomes cost. So the pre-cutover checklist is: (1) check attribution with /usage, (2) pin automation’s models with enforceAvailableModels, and (3) decide your overflow policy deliberately. Anthropic billing change (TechTimes summary)


Community News


Minor Changes



Interesting Projects & Tools