chore(deps): update dependency npm:@anthropic-ai/claude-code to v2.1.163 [security] - #329
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.1.128→2.1.163Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Claude Code: Sandbox Escape via Git Worktree Path Confusion Allows Unsandboxed Code Execution
CVE-2026-55607 / GHSA-7835-87q9-rgvv
More information
Details
Claude Code's worktree handling allowed creation of worktrees named ".git" and navigation to worktrees outside the sandbox context, enabling git directory confusion attacks. By exploiting symlink manipulation and git fsmonitor execution during worktree operations, an attacker could overwrite files in the user's home directory (such as .zshenv), leading to code execution outside of seatbelt sandbox restrictions. Reliably exploiting this required the user to clone a malicious repository containing prompt injection content and run Claude Code against it.
Users on standard Claude Code auto-update have received this fix automatically. Users performing manual updates are advised to update to the latest version.
Thank you to hackerone.com/metnew for reporting this issue.
Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Claude Code: Out-of-Band Data Exfiltration via Pre-Approved HuggingFace Domain in WebFetch
CVE-2026-54316 / GHSA-fg94-h982-f3mm
More information
Details
Because the hostname huggingface.co was pre-approved as a bare hostname for the WebFetch tool, any path on that domain—including attacker-controlled model repositories—was auto-approved without a permission prompt or being subject to --allowedTools restrictions. An attacker able to inject untrusted content into a Claude Code context could direct it to issue WebFetch requests against attacker-controlled repository files (e.g. /resolve/main/config.json), which HuggingFace counts as downloads server-side, creating a covert out-of-band channel for encoding and exfiltrating data Claude can access such as files, environment variables, or command output. Reliably exploiting this required the ability to add untrusted content into a Claude Code context window. Users on standard Claude Code auto-update have received this fix already; users performing manual updates are advised to update to the latest version.
Thank you to hackerone.com/novee for reporting this issue.
Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
anthropics/claude-code (npm:@anthropic-ai/claude-code)
v2.1.163Compare Source
requiredMinimumVersionandrequiredMaximumVersionmanaged settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version/plugin listcommand to list installed plugins, with--enabled/--disabledfilters/btwthat copies the raw markdown answer to the clipboard, preserving formatting when pasted elsewherehookSpecificOutput.additionalContextto give Claude feedback and keep the turn going without being labeled a hook error\$escape syntax to include a literal$before a digit in command bodiesCLAUDE_CODE_SESSION_IDas hooks/Bash on--resumeclaude -phanging forever after its final result when a backgrounded command never exits — background shells are now stopped ~5s after the result once stdin closesclaude -pfailing with "ANTHROPIC_API_KEY required" on Bedrock/Vertex/Foundry whenCI=trueand no Anthropic API key is set$TMPDIRwas overridden to/tmp/claude-{uid}for all commands instead of only sandboxed ones (regression in 2.1.154)claude agentslosing their running background tasks when reattached after a Claude Code updateif: "Bash(...)"conditions firing on every Bash command containing$()or$VAR; the pattern now matches against commands inside subshells and backticks tooRead(~/Desktop/**)) not blocking Bash commands that reference the path via$HOMEclaude agentsdispatching from the state-grouped view now starts the session in the directory the agent view was opened fromv2.1.162Compare Source
claude agents --jsonnow includeswaitingForshowing what a waiting session is blocked on (e.g. permission prompt)--tools: explicitly listing Grep/Glob now provides the dedicated search tools on native builds with embedded search (previously these names were silently ignored)/effortnow confirms when your chosen level will persist as the default for new sessions/idemenu,/terminal-setup, and/scroll-speed, following the editor's rebrandWebFetch(domain:...)deny/ask/allow rules now take precedence over the preapproved-host auto-allow~\,\\server\share) or case-variant paths, and Read deny rules not hiding files from Glob/Grep resultsno low surrogate in stringerrors for classifier side-queries and MCP server descriptions containing emoji near a truncation boundarytimeoutconfig values below 1000 ms being floored to a 1-second watchdog that aborted every tool call; sub-1000 ms values are now ignored (falling back toMCP_TOOL_TIMEOUTor default), andclaude mcp getannotates them accordinglyworkspaceSymboloperation returning no results; it now accepts aqueryparameter and passes it to the language serverclaude agentscutting live status text (tool args, replies, prompts, exec output) at 60–120 columns on wide terminals; the status detail now uses the full terminal widthclaude agentstruncating long session names at 40 columns; the name column now grows with terminal widthclaude agentsattach occasionally bouncing straight back to the session list on the first try after a background-service restartclaude agentsCtrl+V image paste doing nothing in the dispatch input and the session reply box; pasting with no image now shows a hintSendMessage) silently breaking whenCLAUDE_CODE_TMPDIRor$TMPDIRpoints at a deep directoryclaude agentsstalling for 5 seconds before attachingclaude updateverification to wait out endpoint-security scanning of new binaries instead of failing after 5 secondsv2.1.161Compare Source
OTEL_RESOURCE_ATTRIBUTESvalues are now included as labels on metric datapoints, so you can slice usage metrics by custom dimensions like team or repoclaude agentsrows now showdone/totalbefore the detail when work is fanned out; peek shows the longest-running item/mcpnow collapses claude.ai connectors you've never signed in to behind a "Show unused connectors" rowwl-copy/xclip/xselon Linux when available, copies to both the clipboard and PRIMARY selection for middle-click paste, and the "hold {key} for native selection" hint now shows the correct key per terminal/effortdialog, workflow animations, and prompt keyword shimmer not honoring the "Reduce motion" settingforceLoginOrgUUID/forceLoginMethodmanaged-settings policies blocking third-party provider sessions (Bedrock, Vertex, Foundry, Mantle) alongside the org pin (regression in 2.1.146)claude -pstdout when using--output-format textorjson/usage-creditsstarting a re-login for Team and Enterprise admins instead of pointing to the organization's usage settings page/autofix-prreporting "cannot run on the default branch" when the session is inside a git worktree or another repository--resumepicker not showing sessions from the current directory when it isn't a git worktree (e.g., jj workspaces)/usr/bin/bash script.sh) failing with "command not found" or "cannot execute binary file"user_prompt,api_request,tool_result,tool_decision) being silently dropped when emitted before telemetry initialization completedclaude mcplist/get/add printing secrets to the terminal:${VAR}references are no longer expanded, and credential headers and URL secrets are redactedisolation: "worktree"in background sessions being blocked from editing files inside their own worktreeclaude agentsbooting on a stale model from the daemon's environment instead of the model insettings.jsonEADDRINUSEerrors from tools that bind Unix sockets under$TMPDIRwhenCLAUDE_CODE_TMPDIRis set to a deep path/terminal-setup) to fix garbled glyphsv2.1.160Compare Source
.zshenv,.zlogin,.bash_login) and~/.config/git/, which could otherwise lead to unintended command executionacceptEditsmode now prompts before writing build-tool config files that grant code execution (.npmrc,.yarnrc*,bunfig.toml,.bazelrc,.pre-commit-config.yaml,.devcontainer/, etc.)grep: single-filegrep/egrep/fgrepcommands now satisfy the read-before-edit checkclaude agentsdropping chat history and re-running the original promptclaude --bgoccasionally failing with "socket missing" when the background daemon was cold-starting on a loaded machineclaude rmuntil the background daemon exitedclaude agentsfreezing for several seconds when returning to the session list due to the auto-updater re-checking on every exitclaude agentsviewfile:///C:/...links being rewritten to a broken path on Windows terminals with hyperlink supportCLAUDE_CODE_ENABLE_AUTO_MODEopt-in instead of incorrectly blaming the model/effort ultracodeincorrectly blaming the dynamic workflows setting when the model cannot run xhigh; ultracode is no longer offered on models that do not support it--modelwhen running via the SDK or other hosts where the CLI flag doesn't applyppasting on the line below instead of at the cursor when the register was yanked withv$claude agentsclaude rm/stop, idle reap) to send SIGTERM to running shell subprocesses before SIGKILL, so cleanup handlers runCLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE; the environment variable is now a no-opworkflowtoultracode. The word "workflow" no longer triggers a run; asking for one in your own words still works. The trigger keyword is highlighted in violet in the prompt inputv2.1.159Compare Source
v2.1.158Compare Source
CLAUDE_CODE_ENABLE_AUTO_MODE=1v2.1.157Compare Source
.claude/skillsdirectories are now automatically loaded, no marketplace requiredclaude plugin init <name>to scaffold a new plugin in.claude/skills/pluginarguments: subcommands, installed plugin names, and plugins from known marketplacesclaude agents: theagentfield insettings.jsonis now honored for dispatched sessions, with--agent <name>to override itEnterWorktreecan now switch between Claude-managed worktrees mid-sessiontool_decisiontelemetry events now includetool_parameters(bash commands, MCP/skill names) whenOTEL_LOG_TOOL_DETAILS=1git worktree remove/prunecan clean them upclaude agentscompleted sessions not retiring when an idle subagent was still parked or had leaked a backgrounded shellclaude agentspressing Esc not cancelling a slow "opening…", leaving the list unresponsive.claude/worktrees/being orphaned after the 30-day job retention sweepclaude agentsnot reaching the system clipboard inside tmux withset-clipboard on(regression in 2.1.153)--resumenot reporting background subagents that were running when the previous Claude Code process exited--resumesession picker leaving its contents on the terminal after exiting in fullscreen mode--worktreeand--worktree --tmuxreturning to the canonical repo root instead of the current linked worktree/modelpicker showing an incorrect "Newer version available" hint when the selected model is already the newest in its family; the pinned-model row now shows the model's description instead of its raw IDalt+vkeybinding), screenshot paste on Windows 11, and added support for dragging images from Windows Explorer/terminal-setupnow disables GPU acceleration in VS Code/Cursor/Windsurf integrated terminals to prevent garbled-text renderingclaude agents: slash-command autocomplete in the dispatch input now matches substrings/statusand when a command is blockedv2.1.156Compare Source
v2.1.154Compare Source
/workflowsto view your runs/simplifynow runs a cleanup-only review (reuse, simplification, efficiency, altitude) and applies the fixes, instead of running the full/code-review --fixbug-hunting review/effortslider labels from "Speed"/"Intelligence" to "Faster"/"Smarter" for clarityclaude agents: type! <command>to run a shell command as a background session you can attach to and detach from. Also available asclaude --bg --exec '<command>'claude agents:/logoutnow signs you out instead of being sent to a background session←←to open the agents view now works on Bedrock, Vertex, Foundry, and with telemetry disabled/chrome→ "Select browser…", or in-chat when a browser action runs with multiple connecteddefaultEnabled: falseinplugin.jsonor a marketplace entry; enable them with/pluginorclaude plugin enable. Dependencies of enabled plugins are still enabled automatically/pluginDiscover tab now pins plugins whose relevance signals match the current directory with a "suggested for this directory" annotationCLAUDE_CODE_SESSION_IDandCLAUDECODE=1in their environmentclaude mcp list/getnow show unapproved.mcp.jsonservers as⏸ Pending approvalinstead of auto-approving and connecting when output is piped/remote-controlautocomplete now shows "Disconnect Remote Control" when Remote Control is already active/claude-apiskillCLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE(will be removed on 06/01). To use fast mode on Opus 4.6, switch with/model claude-opus-4-6[1m]and then/fast onrm -rf $HOMEnot being blocked as a dangerous path whenHOMEhas a trailing slash$TMPDIRresolving to different directories in sandboxed vs unsandboxed Bash commands within the same sessionclaude agentswhen the Claude Code theme doesn't match the terminal background/commandfiresclaude --bg-pty-hostprocesses spinning at 100% CPU after the daemon exits on macOSworktree.baseRef: "head"resolving to the main checkout's HEAD instead of the current worktree's HEAD when spawning subagents or callingEnterWorktreefrom inside a linked worktree[Image #N]/[Pasted text #N]placeholders when a plan-mode prompt starts with pasted images or textallowedMcpServers/deniedMcpServersentry in managed settings discarding all managed-settings policy; the bad entry is now dropped with aclaude doctorwarningCLAUDE_CODE_ALWAYS_ENABLE_EFFORTis setclaude.exebeing in use showing a generic error instead of telling you to close other sessions and retryv2.1.153Compare Source
skipLfsoption togithub/gitplugin marketplace sources to skip Git LFS downloads during clone and update/doctorlists the fixesCOLUMNSandLINESenvironment variables so scripts can size output to the terminal widthclaude agents: autocomplete in the dispatch input now suggests native slash commands and bundled skills, not just project skillsclaude agents: PR column now showsPR #Nfor a single PR orN PRsfor multipleclaude doctornow shows the result of your last update attempttools/list(regression in v2.1.147)--strict-mcp-config,--bare, remote mode, enterprise managed MCP config, and managed-settings MCP server allow/deny policies--strict-mcp-configno longer strips inlinemcpServersfrom explicitly-passed agent definitions (--agents/ SDKagents), and blocked subagent MCP servers now surface a visible warningclaude updateinstalling the latest version instead of the configured release channel's version for npm installationsclaude agentsandclaude --bgrunning on a stale daemon started before binary-takeover support, even after upgradingfile://links in Claude's responses not being clickable in the terminalclaude --helprendering unwrapped output on terminals narrower than 92 columnsAgenttool withsubagent_type: 'claude'running in an undocumented temporary worktree, which could silently discard outputs written to gitignored paths/bgwhile Claude is responding now continues the response in the background session instead of dropping it/btwkeyboard shortcuts becoming unresponsive in background sessions while a task is running$CLAUDE_JOB_DIRtriggering a "sensitive file" permission promptEnterWorktreenot being available immediately in background sessions (previously requiredToolSearchfirst)cmd+kin iTerm2/Terminal.app not repainting attached background sessions/copyand copy-on-select silently failing to update the system clipboard when attached to a background session inside tmuxclaude agentswith Remote Control enabled leaving zombie session entries on the Code tab after exiting/renamein background sessions not updating the session banner immediately/modelnow saves your selection as the default for new sessions (matching the IDE). Presssin the picker to switch models for the current session only.modelPicker:setAsDefaultkeybinding, rename it tomodelPicker:thisSessionOnlyin keybindings.json (thedaction was replaced bys)v2.1.152Compare Source
/code-review --fixnow applies review findings to your working tree after the review, surfacing reuse, simplification, and efficiency suggestions;/simplifynow invokes/code-review --fixdisallowed-toolsin frontmatter to remove tools from the model while the skill is active/reload-skillscommand to re-scan skill directories without restarting the sessionSessionStarthooks can now returnreloadSkills: trueto re-scan skill directories, making skills installed by the hook available in the same sessionSessionStarthooks can now set the session title viahookSpecificOutput.sessionTitleon startup and resumeMessageDisplayhook event that lets hooks transform or hide assistant message text as it is displayedpluginSuggestionMarketplacesmanaged setting: admins can allowlist org marketplaces whose plugins may be suggested via context-aware tipsclaude plugin marketplace removenow accepts--scope user|project|localfor symmetry withmarketplace add,install, anduninstall--fallback-modelfor the rest of the session when the primary model is not found, instead of failing every request/in NORMAL mode now opens reverse history search (like Ctrl+R), matching bash/zsh vi-mode/usagebreakdown now includes large session files; files are scanned with a streaming read so memory usage stays flatCtrl+Oshows the full thinking)app.entrypoint, opt-in viaOTEL_METRICS_INCLUDE_ENTRYPOINT=true)/doctorreporting "marketplace not found" or "plugin not found" for staleenabledPluginsentries referencing removed marketplaces or dropped plugins--bareor with attachments disabledclaude agentswhen accepting a stale permission prompt after a subagent was cancelledcache_creation_input_tokensreporting as 0 in transcript and result usage when the API reports cache writes only via the nestedcache_creationbreakdownv2.1.150Compare Source
v2.1.149Compare Source
/usagenow shows a per-category breakdown of what's driving your limits usage — skills, subagents, plugins, and per-MCP-server cost/diffdetail view can now be scrolled with the keyboard (arrows,j/k,PgUp/PgDn,Space,Home/End)- [ ] todo/- [x] done) instead of plain bulletsallowAllClaudeAiMcpsmanaged setting to load claude.ai cloud MCP connectors alongsidemanaged-mcp.jsoncdfunctions (cd..,cd\,cd~,X:) changed the working directory undetected, letting a later command read outside the workspace.gitdirectory (withhooks/andconfigdenied)PowerShell(dotnet.exe build *)) not pre-approving native executables and scriptsPWD/OLDPWD/DIRSTACKacrosscd/pushd/popdfindin the Bash tool exhausting the macOS system file/vnode table and crashing the host on large directory trees/ultraplanand remote session creation failing with "Could not capture uncommitted changes" when the working tree has no real changesotelHeadersHelperfailing silently when the script path contains spaces; helper failures are now reported in/doctorand the debug logname:differs from its directory basename/effortsetting instead of the effort level applied by skill/agenteffort:frontmatter/configexit summary reporting phantom changes to auto-compact and theme when toggling unrelated settings/insightscrashing when cached session-meta files are missing optional fieldsclaude --resume/feedbackreports to include the conversation that happened before context compaction, making issues from earlier in long sessions easier to triagev2.1.148Compare Source
v2.1.147Compare Source
Ctrl+Tinclaude agents) now stay alive when idle, are restarted in place to apply Claude Code updates, and are shed under memory pressure only after non-pinned sessions/simplifyto/code-review. It now reports correctness bugs at a chosen effort level (e.g.,/code-review high); pass--commentto post findings as inline GitHub PR comments. The old cleanup-and-fix behavior has been removedforceLoginOrgUUIDandforceLoginMethodmanaged-settings) not being enforced against third-party-provider and API-key sessions&in!command output displaying as&, which broke copy-pasting URLs from commands likegcloud auth loginon headless machines/helprendering a broken tab header and showing only one command per page on small terminals when not in fullscreen modeAgent(...)types intools:frontmatter dropping all but the last entryifconditions likePowerShell(git push*)never matching — onlyPowerShell(*)workedpwshis installed via winget or the Microsoft Store/effortopening with the slider on the wrong level — it now starts at your current effort/backgroundrefusing sessions whose only typed input was a skill or custom slash commandAskUserQuestionwhen the user or a skill explicitly relies on it; the auto-mode classifier now sees the user's answers as intent signal/theme"New custom theme" and color editor dialogs not responding to Esc[Pasted text #N]placeholder instead of the actual contentclaude plugin detailsand/pluginbeing doubled when a plugin's manifest listed paths overlapping its default directoriesCLAUDE_CODE_SUBAGENT_MODELnot applying to teammate processes spawned by agent teams/plugin,/status,/mobile,/sandbox, and/permissionsmenusv2.1.146Compare Source
What's changed
/simplifyto/code-reviewwith an optional effort level (e.g./code-review high)AskUserQuestionwhen the user or a skill explicitly relies on itpwshis installed via winget or the Microsoft Store (regression in v2.1.124)resources/list,resources/templates/list, andprompts/listdropping items past page 1 on paginating servers/backgroundrefusing sessions whose only typed input was a skill or custom slash command/themecolor editor and "New custom theme" dialogs not responding to EscforceLoginOrgUUIDandforceLoginMethodmanaged-settings policies not being enforced against third-party-provider and API-key sessionsCLAUDE_CODE_SUBAGENT_MODELnot being forwarded to child processes in multi-agent sessionsv2.1.145Compare Source
claude agents --jsonto list live Claude sessions as JSON for scripting (tmux-resurrect, status bars, session pickers)agent_idandparent_agent_idattributes toclaude_code.toolOTEL spans, and fixed trace parenting so background subagent spans nest under the dispatching Agent tool span/pluginDiscover and Browse screens now show a plugin's commands, agents, skills, hooks, and MCP/LSP servers before installationclaude agentsterminal tab title now shows the awaiting-input count so an alt-tabbed window tells you when an agent needs attentionbackground_tasksandsession_cronsfields;as the command separatorgh pr createand other PR-state-changing commands run in-session/reviewusing a deprecatedprojectCardsGraphQL query that errored on repos with Classic Projectsclaude plugin validatenot flaggingskills:entries that point at a file instead of a directory — the error now suggests the parent directorycontext: forkcould repeatedly re-invoke itself instead of runningv2.1.144Compare Source
/resumesupport for background sessions — sessions started viaclaude --bgor agent view now appear alongside interactive ones, marked withbg/pluginbrowse and discover panes now show when a plugin was last updated/modelnow changes the model for the current session only; pressdin the model picker to set a default for new sessions/extra-usageis now/usage-credits(old name still works)api.anthropic.comis unreachable (captive portal, firewall, VPN issues) — side-channel API calls now time out after 15shead/tailfile views now satisfy the read-before-edit check, and a "no matches" result (exit code 1) fromegrep,fgrep,git grep, orgit diffis no longer reported as a command failure/branchfailing with "No conversation to branch" after entering a worktree or in some background sessionsapplyFlagSettingsafter startup/modelchoice/modelpicker (regression in v2.1.129)forceLoginMethodandforceLoginOrgUUIDsettools/listresponses only returning the first page, silently dropping tools.mdfiles no longer trigger skill reloads.claude/settings.jsonnow show an actionableclaude plugin installhintclaude mcp listsilently reporting no servers when.mcp.jsoncan't be parsed (e.g. using VS Code's"servers"key instead of"mcpServers") — now shows configuration errorsANTHROPIC_BASE_URLsetups and Bedrock Mantle not using Haiku — now falls back correctly when a first-party API key is configured or no Haiku model is setclaude agentsleaving the list unresponsive to keyboard input/bgand←-detach now preserve directories added via `/add-dConfiguration
📅 Schedule: (in timezone America/New_York)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.