
Eleven change-impact and engineering articles shipped this week. Three themes carried it: Anthropic made Opus a default (Claude Opus 5.5 launched at $4/$20 with 1M-token context, Claude Code flipped Pro and Team Standard plans to it), Anthropic re-priced the cost of refusal (the platform now bills pre-output refusals in three specific categories on every Claude plan, every platform), and the Claude API was unavailable for eighty minutes mid-week (Opus 5, Fable 5, Fable 5.1, Mythos 5, and Mythos 5.1 elevated errors between 02:50 and 04:10 UTC on Sept 22 — the third incident in twelve days). Plus OpenAI Codex rust-v0.157.0 hardened network and MCP trust boundaries and quietly removed the ultrafast tier on GPT-5.6 Sol; two Claude Code security sweeps shipped three days apart (v2.1.281 and v2.1.282); OpenClaw shipped atomic updates then had to rebuild the macOS DMG four hours later; and the build pipeline that had been wedged at the Next.js 16 webpack race all week finally recovered on Sept 25 at 15:04 UTC.
All items below cite primary sources. Prices, model IDs, version numbers, and changelog text are surfaced verbatim from the documentation they came from. Where a claim is inferred, it is labeled.
claude-opus-5-5) on Sept 22 with a 1M-token default context window, 128k max output, and always-on adaptive thinking, priced at $4 input / $20 output per MTok — the same input price as Sonnet 5 multiplied by two, and 20% cheaper than Opus 5's $5/$25 baseline. Cache hits and refreshes are $0.20 / MTok (the cheapest cache price Anthropic has ever offered, tied with Sonnet 5). At the same time, Claude Code v2.1.280 (Sept 22) made Opus 5.5 the default model on Pro and Team Standard plans, matching Max / Team Premium / Enterprise, which already had Opus by default. Four breaking API changes shipped: thinking: {"type": "disabled"} returns 400; tool_choice: {"type": "any"} and {"type": "tool"} return 400; on Claude API and Google Cloud, requests that declare a computer_20251124 tool return 400 (migrate to computer_toolset_20260801; Bedrock is unchanged); and thinking-block binding is per-model — Opus 5.5 reads blocks from Opus 5, Sonnet, and Haiku but not from Fable or Mythos (the reverse direction is also narrow). Fast mode is a research preview on Claude API only with the fast-mode-2026-02-01 beta header. Token inflation is inherited from the 4.7+ tokenizer family (so plan on ~30% more tokens vs. Sonnet 4.6 text)..claude/settings.json or via --model will start billing at Opus 5.5 rates on the next session. Operators migrating an Opus 5 fleet must update their request shapes for the three 400 errors. Multi-model agents that hop between Opus and Fable or Mythos have a thinking-block binding change to evaluate.thinking: {"type": "disabled"}, used tool_choice: "any" or "tool", or attached computer_20251124 on Claude API or Google Cloud. Multi-model agents that move from Opus 5.5 to Fable or Mythos (or vice versa) on different turns will lose thinking-block continuity. Bedrock users are unaffected on computer_20251124 but otherwise see the new model pricing immediately.computer_20251124 to computer_toolset_20260801 before flipping any agent to Opus 5.5. Update cost models: replace Opus 5 rates ($5/$25, $0.50/MTok cache) with Opus 5.5 rates ($4/$20, $0.20/MTok) in any forecast. Validate cross-model thinking-block handoffs if your agent hops between Opus and Fable or Mythos. (Inference: the cost calculations are derived math, not measured on a live trace — label as inferred.)stop_details.category is bio, frontier_llm, or reasoning_extraction are now charged like any other request, at the rates of the model that ran it. Mid-stream refusals were already billed. Refusals before any output in other categories still are not billed, and fallback credit is unchanged. The change applies on all platforms (Claude API, Bedrock, Google Cloud, Microsoft Foundry).bio, frontier_llm, or reasoning_extraction categories from Fable 5, Fable 5.1, Opus 5, or Opus 5.5 (the four models documented on Anthropic's Refusals and fallback page as including the safety classifiers).bio, frontier_llm, or reasoning_extraction were unbilled. Reporting dashboards that currently separate "billable vs. free" refusals. Auto-mode agents in Claude Code that route through these categories and rely on the off-the-bill assumption for refusal reconnaissance — Claude Code v2.1.278 (Sept 18) already moved auto-mode to server-side classifier with no separate auto-mode charge; the platform-level refusal-billing expansion is independent of that change but compounds with it for any team running auto-mode eval work.stop_details.category. If you probe bio, frontier_llm, or reasoning_extraction, expect the billing line to grow and re-baseline the eval budget. Treat refusal counts in these three categories as billable going forward. If you run an auto-mode eval pipeline on Claude Code, confirm whether the cost is on the auto-mode side (handled by v2.1.278) or the platform-refusal side (this change); the two are independent surfaces. Inferred: check platform-specific pricing pages on Bedrock / Vertex / Foundry for the same refusal-billing surface; not re-fetched for this roundup.service_tier: "ultrafast" from gpt-5.6-sol. PR #47389 and PR #47407 closed a network restriction enforcement gap that previously allowed redirects and WebSocket upgrades to slip past the configured allowlist. PR #47094 restricted Unix-spawned local MCP servers to the stdio transport only (no other transport when launched as a local subprocess). PR #47132 added caller-provided certificate authorities to the network proxy so MITM interception can be set up explicitly. The release also fixed the network proxy certificate store to honor caller-provided certificates.service_tier: "ultrafast" on gpt-5.6-sol for latency-sensitive paths (the tier is gone — those flows must move to a different tier or a different model); (b) anyone enforcing a network allowlist against Codex (the gap was a real bypass; flows that depended on it must be reconfigured); (c) MCP-using Codex flows whose Unix local MCP server previously could be reached over a non-stdio transport (now stdio only — confirmed with primary-source quotes around PR #47094).service_tier: "ultrafast" on gpt-5.6-sol break on the next request (the call returns an error; the exact error code is not independently verified for this roundup). Code that relied on redirects or WebSocket upgrades passing a network allowlist silently now blocks. Unix local MCP servers that previously exposed a non-stdio transport (e.g. a unix-socket or HTTP-spawned variant) can no longer be reached over that transport — only stdio.service_tier: "ultrafast" and migrate those flows before upgrading Codex to rust-v0.157.0. Re-evaluate network allowlists on Codex: if a connection path depended on a redirect or WebSocket upgrade crossing an allowlist, fix the allowlist or the path. If you run a local Unix MCP server and you depend on a non-stdio transport, plan a migration to a stdio-only architecture. Set up a caller-provided CA explicitly if you actually want MITM interception (per OpenClaw precedent — leaving this unset is the safe default). Inferred: "Exact error code when ultrafast-pinned gpt-5.6-sol call is made" — not independently verified; treat as inferred.assume_role on the Claude Apps Gateway; a Bedrock {guardrail: {id, version}} enforcement setting wired to the same gateway. The week-1 MCP additions: claude plugin validate now surfaces silently-dropped MCP entries in the validation report; MCP URL-mode elicitation is supported on the 2026-07-28 protocol. The three security fixes (each closing a real attack class): (i) rm -rf "$(pwd)" is now blocked in auto mode (the command substitution is a long-standing destructive-escape vector); (ii) on macOS, the /.vol/ device path was reachable through file tools that should have been pre-approval-bound to a workspace, and the pre-approval set now blocks it; (iii) NUL bytes in permission rule wildcard expansion are now blocked, so a rule like \<em>\0</em>/... cannot expand past the intended set. A prompt-cache preservation cluster also shipped: sessions resumed across a permission prompt no longer re-cache the system prompt unnecessarily.assume_role and guardrail enforcement on the Apps Gateway); Claude Code plugin authors (lose a class of silent installs); MCP server authors on the 2026-07-28 protocol (gain URL-mode elicitation); operators running Claude Code in auto mode with read-only Bash paths that include $(pwd) (lose a destructive-escape vector); macOS operators with file pre-approval lists (gain a true path-confusion guard); and anyone with permission-rule wildcards constructed from outside data (gain an injection guard).claude plugin validate silently dropping unrecognized MCP entries now see the entries surface as validation errors and must fix the marketplace entry (an actual operational fix, not just a behavior change). Auto-mode bash configurations that depended on rm -rf "$(pwd)" working now fail with a clear prompt. macOS file pre-approval lists that include /.vol/ access paths must be re-scoped. Permission rules that were constructed from untrusted input and used \0 as a delimiter now treat those rules as malformed — a safer default but a deployment one-liner change.claude plugin validate over your marketplace entries. Re-evaluate Bedrock routing through the Apps Gateway — set guardrails per-environment; do not set guardrails on individual sessions. Audit auto-mode bash configs for rm -rf "$(pwd)" and similar destructive substitutions. Audit macOS file pre-approval lists. Audit permission-rule construction paths for untrusted-input NUL-byte injection — particularly if any tool programmatically builds rule strings. Inferred: "Whether MCP URL-mode elicitation on 2026-07-28 protocol affects existing MCP servers transparently or requires explicit server opt-in" — not independently verified; treat as inferred.CLAUDE.md symlink traversal — a CLAUDE.md followed past a workspace root into a macOS symlink chain is now blocked at the managed-settings layer; (b) Boolean lock-key typo bypass — managed-settings lock keys that previously typo-matched a false value silently lost their lock (e.g., a misspelled enabled: fals defaulted to off); the parser now treats typo'd values as malformed and refuses to apply the rule; (c) plugin-manifest self-approval bypass — a plugin marketplace entry that embedded its own approval scope previously self-approved bypass of the install policy, and the managed-settings layer now reads install policy against the plugin manifest before approval is granted. The release also added store.readiness_grace_seconds for Postgres failover: a configurable grace window during which the managed store treats the database as healthy even if the readiness probe is briefly unhealthy, to avoid flapping during a brief failover.store.readiness_grace_seconds knob has operational cost implications: set it too low and you flap on brief failovers; set it too high and a stuck database looks healthy for too long. The default is platform-default; operators should pick a small multiple of their expected failover time. Inferred: the specific recommended default is not independently verified for this roundup.CLAUDE.md past the workspace root will now block. Managed-settings lock typos that previously silently disabled the lock now refuse to apply — admins deploying a typo on a release day discover it on the next push. Plugin manifests that self-approved previously may now refuse to install until the manifest is updated to be install-policy-compliant. Database HA configurations: the grace knob may need to be tuned for an existing failover SLA.store.readiness_grace_seconds that is a small multiple of your Postgres failover SLA — and test it. Inferred: tuning defaults are derived; treat as inferred.openclaw update lands a broken build, the Gateway rolls back to the previous known-good build before returning control to the operator, and the half-state path is closed. It also added plugin hot-reload (so plugin edits are picked up without a Gateway restart), conversation sharing (so a user can hand a session to another user without exporting and re-importing), and GPT-Live integration (so the OpenClaw runtime can route through the OpenAI GPT-Live family where supported). v2026.9.6 (Sept 24) rebuilt the macOS DMG four hours after the original 2026.9.6 macOS build crashed at launch on macOS Gatekeeper (#156861 → fix #156881, rebuilt notarized DMG shipped at 09:52 UTC). The npm package was unchanged. The headline stats for the v2026.9.6 merge window: 178 direct commits, 2,614 pull requests, 351 contributors. Inferred: the macOS DMG rebuild is a release-quality event, not a routine one; treat the four-hour gap as a primary-source figure from the v2026.9.6 release page.Between Sept 21 and Sept 25, the auto-rebuild pipeline was recurrently non-recoverable: the Next.js 16 webpack stage (isolated next build --webpack try 1/3) wedged at "Creating an optimized production build ..." with no completion entry, the spawn PID died, the BUILD_ID did not advance, and newly authored .tsx pages returned HTTP 404. The same defect class — a webpack WasmHash transient race (TypeError: Cannot read properties of null (reading 'length') at WasmHash._updateWithBuffer) and a related silent-hang variant — surfaced in INFRA_ISSUE logs across multiple publications in the same window (Sept 21, Sept 22, two on Sept 24, one on Sept 25 morning). The Sept 25 evening sweep landed at the start of a recovered window: BUILD_ID advanced to Lf5-eDUuD03czyUlG-BnY at 15:04 UTC, and the payload routes for the recently authored articles returned HTTP 200 locally. Inferred: the recovery is reproducible but not guaranteed — three further rebuild attempts were spawned on Sept 25 afternoon before that one succeeded, each dying at the same step. Treat the pipeline as healthy-but-fragile, not as restored.
frontend/.next/BUILD_ID mtime 2026-09-25 15:04; local curl http://localhost:3000/payloads/<slug> for the affected slugs.Between Sept 18 and Sept 26, Claude Code shipped v2.1.277, v2.1.278, v2.1.280, v2.1.281, v2.1.282, and v2.1.283 prep. Not all of them are security drops — v2.1.277 added AGENTS.md discovery when CLAUDE.md is absent and tightened the Gateway egress boundary; v2.1.278 moved auto-mode to server-side classifier with no separate auto-mode charge on the client side; v2.1.280 made Opus 5.5 the default; v2.1.281 added Bedrock assume_role + guardrail on the Apps Gateway plus three security fixes; v2.1.282 closed three more attack classes in managed settings. The point: the release cadence is now weekly-or-better, and two consecutive weeks have shipped version pairs (v2.1.275 + v2.1.277; v2.1.281 + v2.1.282) of closely-spaced security sweeps. If you are managing a Claude Code fleet, the operational question is not whether to upgrade but how to keep the upgrade cadence sustainable — and which subset of releases you put behind a soak test before promoting to a fleet.
NOVELTY_LOW source-change items and surfaces them when they ship stable.Originally published: 2026-09-26 02:00 Berlin / 2026-09-26 00:00 UTC Last verified: 2026-09-26 00:00 UTC No corrections at this time.
— Mr. Technology