Model fallback fixes keep effort levels and tool history intact mid-response, anchoring a massive stability pass fixing hangs, freezes, and permission bugs platform-wide.
gatingHooks) alongside stability fixes — sustained investment in making third-party extensions safer under real load.serverToolUses to the result of a mod's turn.step hook: the tool calls the API ran itself (the advisor), each with its id, name, input, start and endagentId to the tool.check event of plugin hooks, so a hook can tell a subagent's permission check from the main session'sceiling to the question and verdict a mod's tool.check hook reads, naming the approval an organization requires for a toolThemeKey and Color types to the plugin hooks typings, so an editor lists the theme colors a mod's drawing can nameclaude plugin validate: each hook a mod registers at a gating site is listed with whether it has a .catch (gatingHooks under --json)claude attach <name> and claude logs <name>: part of a session name works in place of the id/claude-api managed-agents-onboard <url> to set up the Managed Agents pattern a page describes as ant apply files/claude-api managed-agents-onboard <quickstart-name> to build a Console quickstart template, such as deep-researcher, with the ant CLIplugin-authoring skill: Claude now gives the one command another person runs to install a mod you made, and writes it in a README's install section/plugin in the desktop app's Code tab: it now says where to install and manage plugins thereclaude auth login and /login and no longer blames API-key authentication/ultrareview upload: it is about half as long and says what kind of file is the problem/ultrareview upload refuses a checkout: each known cause now has its own message, with a way to fix itbrowser_batch call now gets 90 seconds, up from 60, before it is reported as timed outoffset to read on/rewind not listing a prompt sent while Claude was still working/loop with an interval, reminders) silently not coming back on resume once the conversation was compacted; covers compactions made from this version on/background hand-off, and recurring ones firing an extra run on every resume, respawn or fork--json-schema runs exiting non-zero with is_error: true on a success result when the connection dropped after the structured output was already deliveredCLAUDE.md, rule or AGENTS.md symlinked outside the working directories loading under permissions.blockReadsOutsideWorkingDirectories or a Read deny rulexn-- host label matching differently from one process to the next/ultrareview dropping uncommitted changes without a warning on Windows when git stash create failed, and refusing them after a git add -N file was deleted or movedplansDirectory setting's project-root check for paths that contain a backslash on macOS and Linuxclaude daemon run and claude daemon logs; they now show as \uXXXX escapes.catch being unloaded, and its .catch skipped, when the hook kept the hooks worker busy on a prompt or tool callturn.step result listing a tool call that a mid-response model fallback had discardedclaude plugin validate and plugin loading refusing a hooks module that destructures an option named like one of its top-level functions/ultrareview failing to upload uncommitted changes when core.safecrlf=true is set in git's configuration! shell blocks in skills and commands failing when the file is saved with CRLF line endings/permissions tab was clicked while searching in fullscreen modeanswer on turn.complete for a subagent that hands its report back in auto modeprompt.submit hook that drops a prompt after calling next(e) being ignored silently: the hook is now reported as failed, by namedisableClaudeAiConnectors and allowedMcpServers URL rules not being applied to some MCP entries declared in .mcp.json, plugins or agents@-mention under the read block or --restricted being able to read a file outside the working directories through a link changed mid-read/loop run count, countdown and live status line after the session enters a worktree that it createsclaude agents sessions in manual permission mode asking for approval to read an image pasted into a reply or a new agent's promptdeclare, typeset, export or readonlylanguage settingclaude respawn re-sending an earlier message to a backgrounded session that has no saved transcript instead of starting it with an empty conversationn: or Ctrl+F search in the agents view moving focus to a section header, where Ctrl+X twice would delete every session in the sectionclaude agents saving a slash command it could not deliver to a stopped session and then running it by itself the next time that session restarted/ultrareview uploading uncommitted changes unfiltered for files under a git filter driver named unset or unspecified; the upload now stops and asks you to rename the driverclaude --teleport and /teleport deleting the files in a folder that had replaced a tracked file of the same name when you chose to stash: the stash is now refused, and says why/loop run count freezing and its countdown disappearing after /clear; the count now restarts with the new conversation--channels permission relay: a reply ID that repeats within a session is now ignored instead of approving a different prompt/chrome "Reconnect extension" not restoring browser tools after a failed Chrome connection, and added an explanation when it can't (anthropics/claude-code#98135)ANTHROPIC_BASE_URL with ANTHROPIC_AUTH_TOKEN) and have no Anthropic accountclaude agents just after a background session crashed being refused after 2 seconds: they are now retried for up to 12 seconds while the session restartsclaude agents could not deliver to a running session being saved and sent by themselves the next time it was restartedcat <<EOF | python3) asking for approval on every runclaude agents failing with "Couldn't restart the background service" and background sessions stopping after a Homebrew upgrade (takes effect from the upgrade after this one)rg or git grep) whose arguments the shell would still expand as wildcards; these now prompt for approvalclaude plugin test refusing to run after an upgrade because of an out-of-date saved settinggit clone option keeping the sandbox exemption from a git pattern such as git * in sandbox.excludedCommands; it is now treated like the long form/ultrareview of a local branch silently leaving uncommitted work out of the upload in a repository that keeps its branches outside .git (git 2.54+); it now refuses with an explanation/loop wakeup or scheduled task; Claude is now told and can schedule it againstore.postgres_url can't be parsed; the error now names the setting and says what the URL may hold/sandbox Config tab on Linux and WSL when a sandbox read rule such as ~/**/.env covers a large folderclaude -p run from the Bash tool)--continue or --resume <session-id> in the terminal/rewind) freezing for hundreds of milliseconds per keypress when the conversation contains a very large pasted stack trace or source fileCLAUDE_CODE_USER_DIALOG_TIMEOUT_MS=5m being read as 5 ms and cancelling remote dialogs at once; values with a unit suffix now fall back to dialogExpiry--restricted (and CLAUDE_CODE_RESTRICTED=1) sessions opening the cross-session messaging socket--allow-dangerously-skip-permissions on respawn without the bypass-permissions disclaimer having been acceptedclaude auth login or with a credentials file already in the config directory/login reporting success when the keychain refused the new login and kept an old one it could not remove--include-partial-messages seeing a reply stay open after the turn ended when its stream was cut, interrupted or fell back to non-streamingConfigChange hooks and reloading settings mid-command when .claude/settings.json or .claude/settings.local.json does not exist/loop and other recurring session-only scheduled tasks running an extra time after a sandboxed Bash command on Linux or after .claude/scheduled_tasks.json was deletedCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC to also skip the startup connection warm-up--chrome, /chrome or your user settingspyright, which is no longer treated as a read-only command$.process.spawn rejects with when another mod denies it after the child ran: it now says the call ran and a plugin withheld its result! shell command that contains raw control characters other than tab and newline, with a message that shows where they are/artifacts: opening an artifact in your browser now closes the listps command ask for approval instead of running without asking/ultrareview upload fails at a git step: they name the step and what to try, and no longer repeat git's own error text/code-review at medium effort to also report cleanup and CLAUDE.md conventions findings on models without tuned review settings, including Opus 5.5 and Sonnet 5.5agent_id in Agent results to its agent ID (its name@team address stays in teammate_id); TeammateIdle hooks no longer fire from its subagents or forks/loop): they are now left running through updates and low memory, where being restarted or shut down could silently lose the wakeup/model, /effort and /rename sent from claude agents to a busy background session to apply right away, without a confirmation, instead of when the turn endsCLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR sets the rate, 0 turns it off) instead of ending after 200 callsCLAUDE_CODE_DISABLE_ATTACHMENTS so a repository's .claude/settings.json or .claude/settings.local.json can no longer set it; shell, user and managed settings still canclaude plugin update on a plugin loaded from a directory to print just its reason, without the "Failed to update plugin" prefix, as for built-in pluginsgh api in cloud sessions: a host other than github.com set in GH_HOST or GH_REPO is now refused (use --hostname or a full URL), and stderr notes requests to other hostsclaude-api skill's Managed Agents examples to turn off the web tools unless the agent needs them and to use the auto permission policyclaude --environment <id> to create its session through the current Sessions API; printed and JSON session ids keep their session_… form!fast to switch a thread to fast mode, moving it to Opus if needed, and !fast off to switch back; replies show (fast) while it's on