
Claude Code v2.1.252 to v2.1.258 Key Updates - Fable 5.1 Addition and macOS 12 Launch Issue Fix
This page has been translated by machine translation. View original
This is Ishikawa from the Cloud Business Division. I'll summarize the Claude Code updates from v2.1.252 to v2.1.258 (2026-08-31 to 2026-09-01). Claude Fable 5.1 has been announced and is available to all Claude users. A number of changes related to permissions and credentials have been bundled together, and I feel this update will have the most impact on environments using auto mode or managed settings. Also, macOS 12 (Monterey) users may be unable to launch due to v2.1.255, so it would be best to update to v2.1.258.
The previous update article is here.
Update Summary
This covers 3 versions (v2.1.252, v2.1.257, v2.1.258) with 110 changes. The breakdown has fixes as the most numerous at 59, followed by security at 19, new features at 11, improvements at 11, breaking changes at 5, performance at 3, and developer experience at 2. Changes related to permissions and credentials account for just under 20% of the total.
Also, on September 2, 2026 (Japan time), Anthropic's latest frontier models, Claude Fable 5.1 and Claude Mythos 5.1, were released publicly, and Claude Fable 5.1 became available across all Claude services. In conjunction with today's Fable 5.1 release, the 5-hour and weekly limits for all users have been reset.
Notable Updates
Addition of Claude Fable 5.1 (v2.1.257)
Claude Fable 5.1 (claude-fable-5-1) has been added and became the default Fable model. It supports 1M context, priced at $10 input / $50 output per million tokens, with cache reads at $0.25 per million tokens. However, in Claude apps gateway sessions, gateways that don't support Fable 5.1 will reject it, so fable and best will continue to resolve to Fable 5 for the time being (use /model to select Fable 5.1).
For configurations that don't pin a model name, simply updating will migrate you to the 1M context model. I feel many people will benefit without needing to change their settings.
I verified which model the fable alias actually resolves to and what the context length is in the v2.1.258 environment. I ran a single turn response and read the modelUsage contained in the --output-format json response.
% claude -p --model fable --max-turns 1 --output-format json "Reply with exactly: OK" | jq .modelUsage
{
"claude-fable-5-1": {
"inputTokens": 2,
"outputTokens": 4,
"cacheReadInputTokens": 14006,
"cacheCreationInputTokens": 20264,
"webSearchRequests": 0,
"costUSD": 0.4090015,
"contextWindow": 1000000,
"maxOutputTokens": 64000,
"thinkingTokens": 0,
"canonicalModel": "claude-fable-5-1",
"provider": "firstParty",
"costBasis": "list"
}
}
I was able to confirm that the fable specification resolves to claude-fable-5-1 and that contextWindow is 1000000.
Since the fable alias resolves directly to 5.1, configurations that don't pin a model name can migrate to the new model without any conscious effort. On the other hand, for sessions via the Claude apps gateway, the specification will continue to resolve to Fable 5 for the time being, so it's worth noting that the same fable specification may run different actual models depending on the environment.
It appears that Claude Fable 5.1 can be called from Amazon Bedrock's Converse API even on the day of release. For more details, see the blog below!
Auto Mode Default Shifted Toward the Safe Side (v2.1.257)
A Containment Escape rule has been added to auto mode, and fetching cloud metadata credentials, egress evasion, and cross-tenant access will no longer be auto-approved unless the environment indicates they are expected. Additionally, a confirmation prompt will now appear once before reading a file outside the working directory for the first time, and a permissions.blockReadsOutsideWorkingDirectories option has been added to prohibit such reads.
For those using auto mode in CI or automated execution, there's a possibility that reads and communications that previously passed silently may now trigger confirmation prompts, so it would be a good idea to check the behavior during the first run.
Fixes to Close Permission Rule Bypasses (v2.1.257)
Multiple gaps in permission checks have been fixed. These include: the permissions.ask rule being skipped without confirmation when the relevant command is inside compound commands or subshells in auto mode; Bash Read() / Edit() deny rules not applying to < file redirects or read-type commands like tac and egrep; and some [[ ]] conditional expressions that zsh interprets differently from bash being auto-approved. Also fixed are: sandbox network hosts written with a trailing dot (example.com.) not being blocked by deniedDomains; and --disallowedTools and session deny rules being discarded after the first settings reload when allowManagedPermissionRulesOnly is enabled.
I feel these fixes will have the most impact on environments that relied on deny rules for security. Since commands written as compound commands or with redirects may have been passing through rules undetected, those who operate with permission settings as a dependency should prioritize updating.
Fixes for Credential Handling (v2.1.257)
Multiple fixes have been made to credential passing. These include: custom Authorization headers overwriting already-configured credentials in Bedrock, Mantle, Vertex, and WIF when specified twice; the Claude apps gateway sending unnecessary host-side Authorization headers or profile headers to Foundry, Vertex, and Bedrock; and residual Anthropic API keys and auth tokens being sent together with Foundry subscription keys in API key mode. Additionally, MCP connection and OAuth debug/error logs now mask credentials contained in server URLs and request headers.
For environments using multiple providers such as Bedrock, Vertex, and Foundry, there's a possibility that unintended credentials were being sent, so it's reassuring to verify connection destinations and authentication methods after updating.
Sub-agents No Longer Stop on Response Interruption (v2.1.257)
The issue where sub-agents would stop with an incomplete response when a response was cut off mid-stream due to PC sleep, connection loss, or server error has been fixed, and they will now automatically continue.
I feel this will be particularly beneficial for those running long sub-agent executions on laptops. Tasks that previously terminated mid-way due to sleep or network disconnection will now continue uninterrupted.
Fix for Inability to Launch on macOS 12 (Monterey) (v2.1.258)
The issue where Claude Code failed to launch on macOS 12 (Monterey) has been fixed. This was a regression introduced in v2.1.255.
For those still using macOS 12, if you've been unable to launch between v2.1.255 and v2.1.257, trying the update first is the recommended approach.
Target Versions and Period
| Version | Release Date |
|---|---|
| v2.1.252 | 2026-08-31 |
| v2.1.257 | 2026-09-01 |
| v2.1.258 | 2026-09-01 |
v2.1.253 through v2.1.256 are missing version numbers that exist in neither the npm registry nor the CHANGELOG.
New Features
- Added Claude Fable 5.1 (
claude-fable-5-1) (v2.1.257) - Added "Time format" (
timeFormat) andtimeZonesettings. You can choose the timestamp format for turn-end time display and transcript display from 12-hour, 24-hour, 24-hour UTC, and strftime patterns (v2.1.257) - Added
CLAUDE_CODE_SUBAGENT_MODEL_FORCE. Ignores model specifications at sub-agent spawn and agent definition model specifications, applyingCLAUDE_CODE_SUBAGENT_MODEL(or the main model) to all sub-agents (v2.1.257) - Added
sto/effort. Similar to/model, this allows changing the effort for the current session only (v2.1.257) /doctornow warns about old sandbox mask files left by forcibly terminated sessions (v2.1.257)- Support for gateway-provided
descriptionfor detected entries in the/modelpicker (CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY). Entries without adescriptionwill continue to display as "From gateway" as before (v2.1.257) /code-review --commentcan now post comments to GitLab merge requests usingglab mr note(v2.1.257)- [VSCode] Added collapsible ACCOUNT & USAGE and SESSION MANAGER section headers to the session list panel. Displays account email address, usage meter, and a View details link to open the usage dialog (v2.1.257)
- [VSCode] Added a model pill to the input field footer that displays the current model and opens the model picker. An Effort row and "More models" page are also available (v2.1.257)
- [VSCode] Added output style selection (including custom styles) to the command menu (v2.1.257)
- [VSCode] Added a collapse toggle to the Ungrouped section in the session list (v2.1.257)
Improvements & Performance
- Improved rendering performance. Reduced re-rendering per turn in long conversations, streaming no longer slows down as responses get longer, and background agent updates no longer redraw the entire screen (v2.1.257)
- Reduced rendering processing per keystroke, improving prompt input responsiveness (v2.1.257)
- Improved
/forkto maintain the original conversation's prompt cache in new background sessions. Worktree briefings are now delivered as messages rather than system prompt changes (v2.1.257) - Improved policy helper diagnostics. Refresh failures are displayed in
/status, the reason Claude Code exits is displayed when a managed settings dialog is rejected, and helper timeouts are reported as timeouts (v2.1.257) - MCP elicitations and permission confirmations waiting behind another dialog will now send desktop notifications with the same delay as the displayed confirmation (v2.1.257)
claude self-hosted-runner --configure-gitnow also enables git push negotiation, uploading only new commits rather than the entire tree when pushing a new branch for the first time from an old clone (v2.1.257)- Improved liveness reporting to the SDK host while a response is pending due to gateway keep-alive. Long waits in environments with elevated
CLAUDE_STREAM_IDLE_TIMEOUT_MSwill no longer be mistaken for hung sessions (v2.1.257) - Changed
claude --resume <session-id> --bgto continue with the original ID rather than silently starting a copy when no process is running that session. If a copy is created, a notification is provided (v2.1.257) - Async hook completion notifications arriving simultaneously are now displayed together on a single line rather than one line per hook (v2.1.257)
- Emoji autocomplete now accepts GitHub/Slack shortcode aliases (
:satisfied:,:telephone:,:collision:, etc.) (v2.1.257) - Changed
--effortto release the hold on the default effort set for new models for the current session only rather than permanently. In Remote Control sessions, the effort selected on the claude.ai side is applied even while on hold (v2.1.257) - Changed MDM or
managed-settings.jsonpolicyHelperthat was disabled by being overwritten by cached server-managed settings at startup to execute (or exit) when the fetch reports deletion, rather than at the next startup (v2.1.257) - Changed gateway model discovery (
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1) to run even whenCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICis set, since it only queries its own gateway (v2.1.257) - [VSCode] Changed slash commands in the action menu from inline display to a list display in a filterable "Slash commands" dialog. The same filter box has been added to the MCP server dialog as well (v2.1.257)
- [VSCode] Changed "Delete session" to "Archive session". Archived sessions move to a collapsible "Archived sessions" group at the bottom of the list and can be restored with Unarchive (v2.1.257)
Security (Permissions & Credentials)
In addition to those listed in the "Notable Updates" section above, the following changes have been made.
- Fixed an issue where sessions dispatched from an agent view opened with the left arrow key would override the target directory's
defaultModeor the agent'spermissionMode, always starting with the original session's permission mode (v2.1.257) - Fixed an issue where rejecting the Remote Control consent prompt (Esc, or
nwithclaude remote-control) would be treated as consent, causing the next request to connect without confirmation (v2.1.257) - Fixed an issue where
/mcpreconnect and enable could still connect to settings file-derived MCP servers that should be blocked by managed MCP allow/deny lists orstrictPluginOnlyCustomizationloaded after startup (v2.1.257) - Fixed an issue where
claude mcp removewould leave stored OAuth credentials for remote servers when MCP was restricted to plugin-provided servers only bystrictPluginOnlyCustomization(v2.1.257) - Fixed an issue where plugins could read files outside their own directory by using symbolic links in declared component paths such as commands, agents, skills, and hooks. Such paths are now rejected with an error (v2.1.257)
- Fixed an issue where organization server-managed settings were not applied with keyless Console sign-in (Sign in with your Console account), and Organization was not displayed in
/statuseither (v2.1.257) - Changed Claude apps gateway sign-in and token refresh requests to validate gateway-pinned TLS certificates in the same way as managed settings fetches (v2.1.257)
- Changed Cowork and claude.ai cloud sessions to always require confirmation when reading artifacts that don't belong to you, even in auto mode (v2.1.257)
Fixes (Major)
Here are selected fixes focusing on stability and usability.
- Fixed connection drops during long thinking on Bedrock: Fixed an issue where responses to requests to Bedrock and Bedrock Mantle would stall during long hidden-thinking with Opus 4.7 and later, causing connections to be cut by idle timeout. The stream now sends progress events (v2.1.257)
- Fixed Bash command failures on Mac: Fixed an issue where Bash commands were failing with "task output swap refused (tasks dir moved or linked)" on some Macs (v2.1.252)
- Fixed "always allow" not being saved: Fixed an issue where "always allow" selections were not saved in projects that didn't yet have
.claude/settings.local.json(v2.1.252) - Fixed Remote Control session stalling: Fixed an issue where sessions hosted by Claude Desktop / VS Code would stall for several minutes after tool completion when the connection to claude.ai was degraded (v2.1.252)
- Fixed request size limit exceeded by large failure output: Fixed an issue where conversations would exceed the API request size limit when background task notification failure output was very large (e.g., git errors when disk is full) (v2.1.252)
- Fixed settings created after startup not being loaded: Fixed an issue where settings in
.claude/folders created after startup were not loaded until restart (v2.1.257) - Fixed background session startup failures: Fixed an issue with startup failures during self-update in macOS npm install environments, startup failures on Windows when an old daemon lock file pointed to a reused process ID, and "Couldn't start the background service" errors when another process was downloading an npm update (v2.1.257)
- Fixed accumulation of background sessions running old binaries: Fixed an issue where background sessions running on old Claude Code binaries were accumulating without being discarded across automatic updates (v2.1.257)
- Fixed persistence of detached background commands: Fixed an issue where commands that detach from the shell, such as those running under
timeoutorsetsid, would survive after task stops or Claude Code exits (v2.1.257) - Fixed disappearance of stashed prompts: Fixed an issue where prompts stashed with Ctrl+S inside an open background session would be lost when the session became idle or when reopened after stopping (v2.1.257)
- Fixed token counter freezing: Fixed an issue where the counter would freeze or become extremely slow after switching to another sub-agent's transcript. Background sub-agents and teammate counters now update live (v2.1.257)
- Fixed crash in dialogs: Fixed an issue where pasting ANSI color-coded text (such as CI logs) into dialogs like
/feedbackwould cause a crash (v2.1.257) - Fixed stream-json memory bloat: Fixed an issue where memory would grow without limit when piping non-JSONL data to
claude -p --input-format stream-json. It now fails immediately with a clear error (v2.1.257) - Fixed sub-agent resume failure with large transcripts: Fixed an issue where resuming sub-agents with transcripts exceeding 5 MB (e.g., when reading large numbers of images) or sending messages would fail with "No transcript found" (v2.1.257)
- Fixed session failure from redelivered permission approvals: Fixed an issue where remote sessions and scheduled sessions would fail with "user messages must have non-empty content" when a redelivered permission approval could not be applied (v2.1.258)
- A subtly welcome fix: Fixed an issue where sessions isolated in a worktree would reject Bash loops,
$VARreads,"$(…)", and heredocs that don't touch git at all as "too complex to verify staying within worktree" (v2.1.257). For those using worktree isolation, simple shell loops and heredocs were being blocked in a subtly workflow-interrupting way, so this one really hits home. - In addition, many minor bugs have been fixed including fullscreen display,
/btwpanel operations,/scheduleroutines,/add-dirtarget directories, diff display in permission prompts, agent team pane exits, deletion of folders left in temporary directories, VSCode extension screen reader support, and more.
Breaking Changes & Deprecations
Project setting defaultMode: "bypassPermissions" is now ignored (v2.1.257)
bypassPermissions specified in defaultMode in .claude/settings.json or .claude/settings.local.json is now ignored in the same way as auto. You need to specify it in user settings or managed settings, or pass --permission-mode. Here are configuration examples.
Before (up to v2.1.252): .claude/settings.json in the project root
{
"defaultMode": "bypassPermissions"
}
After (v2.1.257 onward): Place in ~/.claude/settings.json (user settings) or managed settings
{
"defaultMode": "bypassPermissions"
}
Or pass as a flag at startup.
claude --permission-mode bypassPermissions
--add-dir and others now reject network paths (v2.1.257)
--add-dir, /add-dir, and additionalDirectories now display a message and reject paths before touching network paths. Targets are UNC shares and /net/<host> automounts, and this is not limited to Windows environments. On Windows, use mapped drive letters. Here are command examples.
Before (up to v2.1.252): Both were accepted
# UNC share
claude --add-dir //fileserver/share/project
# /net/<host> automount
claude --add-dir /net/fileserver/share/project
After (v2.1.257 onward): Both are rejected. On Windows, assign to a drive letter first
claude --add-dir Z:\project
/btw history browsing key bindings have changed (v2.1.257)
The /btw history browsing operation has changed from the conventional ← / → to Shift+← / Shift+→ (or [ / ]). This allows you to trace recently asked side-question queries and return to the in-progress answer.
Removed Ctrl+E command description from permission prompts (v2.1.257)
The Ctrl+E command description has been removed from Bash and PowerShell permission prompts.
Closing Thoughts
This update period feels like a practically-oriented release, with a concentration of fixes related to permission rule bypasses and credential handling. Environments using auto mode or managed settings stand to benefit the most, and I see value in updating sooner rather than later.
There are 5 breaking changes. If you have bypassPermissions specified in your project's defaultMode, or if you are passing network paths to --add-dir, you will need to review your configuration before updating. If any of the changes catch your interest, try updating and see for yourself.
References
Also Worth Reading
