Claude Code 2.1.282 shipped yesterday at 15:56 UTC, just under 23 hours after 2.1.281. The changelog is long again, and it falls into three piles: a handful of new switches, a block about lost reasoning, and a block about permission rules that never applied.
New in this version
maxProseWidth caps the width of Claude’s prose in very wide terminals. Tables and code blocks keep the full width.
There’s also a startup notice listing telemetry variables in a project’s settings files that were ignored or that turned telemetry off, with the same entries now in /status and claude doctor. If you’ve ever wondered why nothing arrives from one particular project, you finally get an answer on screen.
For managed environments there’s allowClaudeInChromeWithManagedMcp, which lets claude --chrome run alongside an exclusive managed-mcp.json; the error shown when Chrome is blocked now names the setting. In the Claude apps gateway, store.readiness_grace_seconds keeps /readyz ready through a short Postgres outage, a database failover for instance.
Four ways reasoning went missing
The biggest block is about extended thinking disappearing mid-conversation.
An immediate slash command — /model, /rename, /artifacts — dropped the earlier thinking if you used it while Claude was working. Continued and resumed sessions (--continue, --resume) re-sent earlier messages in a changed form, which could make the API drop Claude’s earlier reasoning. Relaunching such a session with a --tools list that left out a built-in tool offered earlier lost the thinking too. And sessions that failed on every turn with an “Invalid data in redacted_thinking block” API error now keep going: Claude Code drops the conversation’s thinking blocks and retries once.
A related fix: when the summarization request for compaction is refused, compaction now retries on a fallback model instead of failing.
Permission rules that never applied
Bash rules with a :* mid-pattern were skipped in settings files while --allowedTools honoured them. They now work from every source, with a startup warning explaining how they match.
Managed settings were too forgiving in two places. A mistyped value for a boolean lock key such as disableClaudeAiConnectors or allowManagedPermissionRulesOnly meant the lock wasn’t applied at all; it now applies, and startup names the key. And a single invalid nested value made the whole permissions, autoMode, worktree or attribution block drop out. On top of that, repository, user and --add-dir skills and commands could pre-approve their own tools through allowed-tools under allowManagedPermissionRulesOnly.
Sessions that run long
One bug worth remembering if you work through a third-party gateway: conversations whose history holds web search results the API cannot decrypt failed with an HTTP 400 on every request from that point on.
The rest is detail work in places you only notice after hours. Very large sessions resume faster, including ones that were never compacted. The Windows error for an unreadable transcript file now names possible causes. Pasted multi-line text was being submitted line by line after the terminal’s bracketed paste mode was reset mid-session. And vim mode gets a dozen corrections to counts, cursor placement and whole-line puts.
Two releases, one subject
Yesterday it was the prompt before rm -rf. Today it’s permission rules that never applied and reasoning that vanished on resume. Both releases work the same seam: what happens when nobody is watching.
That’s what auto mode costs. While a human confirms every action, a skipped rule eventually shows itself. When an agent runs alone for hours, it doesn’t show itself — it just takes effect. Long changelogs are a good sign here.