chore(deps): update dependency @anthropic-ai/claude-code to v2 [security]#49
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
chore(deps): update dependency @anthropic-ai/claude-code to v2 [security]#49renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
3f26007 to
d7f21a0
Compare
d7f21a0 to
140521f
Compare
140521f to
5e5b351
Compare
1d24abc to
10a6393
Compare
10a6393 to
fdb3f58
Compare
fdb3f58 to
1b7bd51
Compare
1b7bd51 to
6d147ad
Compare
9b2c3da to
85c24c8
Compare
df4b3c4 to
78688d4
Compare
b467818 to
0969698
Compare
0969698 to
a6754b3
Compare
a6754b3 to
784c5cf
Compare
784c5cf to
03318d1
Compare
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:
^1.0.48→^2.0.0GitHub Vulnerability Alerts
GHSA-ph6w-f82w-28w6
When Claude Code was started in a new directory, it displayed a warning asking, "Do you trust the files in this folder?". This warning did not properly document that selecting "Yes, proceed" would allow Claude Code to execute files in the folder without additional confirmation. This may not have been clear to a user so we have updated the warning to clarify this functionality.
Users on standard Claude Code auto-update will have received this fix automatically. Users performing manual updates are advised to update to the latest version.
Thank you to https://hackerone.com/avivdon for reporting this issue!
CVE-2025-58764
Due to an error in command parsing, it was possible to bypass the Claude Code confirmation prompt to trigger execution of an untrusted command. Reliably exploiting this requires the ability to add untrusted content into a Claude Code context window.
Users on standard Claude Code auto-update will have received this fix automatically. Users performing manual updates are advised to update to the latest version.
Thank you to the NVIDIA AI Red Team for reporting this issue!
CVE-2025-59041
At startup, Claude Code constructed a shell command that interpolated the value of
git config user.emailfrom the current workspace. If an attacker controlled the repository’s Git config (e.g., via a malicious.git/config) and setuser.emailto a crafted payload, the unescaped interpolation could trigger arbitrary command execution before the user accepted the workspace-trust dialog. The issue affects versions prior to1.0.105. The fix in1.0.105avoids executing commands built from untrusted configuration and properly validates/escapes inputs.@anthropic-ai/claude-code1.0.105or later..git/configbefore launch; avoid inheriting untrusted Git configuration values.CVE-2025-59536
Due to a bug in the startup trust dialog implementation, Claude Code could be tricked to execute code contained in a project before the user accepted the startup trust dialog. Exploiting this requires a user to start Claude Code in an untrusted directory.
Users on standard Claude Code auto-update will have received this fix automatically. Users performing manual updates are advised to update to the latest version.
Thank you to https://hackerone.com/avivdon for reporting this issue!
CVE-2025-59829
Claude Code failed to account for symlinks when checking permission deny rules. If a user explicitly denied Claude Code access to a file and Claude Code had access to a symlink pointing to that file, it was possible for Claude Code to access the file.
Users on standard Claude Code auto-update will have received this fix automatically. Users performing manual updates are advised to update to the latest version.
Thank you to https://hackerone.com/vinai for reporting this issue!
CVE-2025-64755
Due to an error in sed command parsing, it was possible to bypass the Claude Code read-only validation and write to arbitrary files on the host system.
Users on standard Claude Code auto-update will have received this fix automatically. Users performing manual updates are advised to update to the latest version.
Thank you to Adam Chester - SpecterOps for reporting this issue!
CVE-2025-66032
Due to errors in parsing shell commands related to $IFS and short CLI flags, it was possible to bypass the Claude Code read-only validation and trigger arbitrary code execution. Reliably exploiting this requires 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 RyotaK from GMO Flatt Security Inc. for reporting this issue!
CVE-2026-21852
A vulnerability in Claude Code's project-load flow allowed malicious repositories to exfiltrate data including Anthropic API keys before users confirmed trust. If a user started Claude Code in an attacker-controller repository, and the repository included a settings file that set ANTHROPIC_BASE_URL to an attacker-controlled endpoint, Claude Code would issue API requests before showing the trust prompt, including potentially leaking the user's API keys.
Users on standard Claude Code auto-update have received this fix already. Users performing manual updates are advised to update to the latest version.
CVE-2026-24052
Claude Code contained insufficient URL validation in its trusted domain verification mechanism for WebFetch requests. The application used a
startsWith()function to validate trusted domains (e.g.,docs.python.org,modelcontextprotocol.io), this could have enabled attackers to register domains likemodelcontextprotocol.io.example.comthat would pass validation. This could enable automatic requests to attacker-controlled domains without user consent, potentially leading to data exfiltration.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/47sid-praetorian for reporting this issue!
CVE-2026-24053
Due to a Bash command validation flaw in parsing ZSH clobber syntax, it was possible to bypass directory restrictions and write files outside the current working directory without user permission prompts. Exploiting this required the user to use ZSH and 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.
Claude Code thanks https://hackerone.com/alexbernier for reporting this issue!
CVE-2026-24887
Due to an error in command parsing, it was possible to bypass the Claude Code confirmation prompt to trigger execution of untrusted commands through the find command. 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.
Claude Code thanks https://hackerone.com/alexbernier for reporting this issue!
CVE-2026-25722
Claude Code failed to properly validate directory changes when combined with write operations to protected folders. By using the
cdcommand to navigate into sensitive directories like.claude, it was possible to bypass write protection and create or modify files without user confirmation. Reliably exploiting this required the ability to add untrusted content into a Claude Code context window.Users on standard Claude Code auto-update received this fix automatically. Users performing manual updates are advised to update to the latest version.
About
Claude Code thanks hackerone.com/nil221 for reporting this issue!
CVE-2026-25723
Claude Code failed to properly validate commands using piped sed operations with the echo command, allowing attackers to bypass file write restrictions. This vulnerability enabled writing to sensitive directories like the .claude folder and paths outside the project scope. Exploiting this required the ability to execute commands through Claude Code with the "accept edits" feature enabled.
Users on standard Claude Code auto-update received this fix automatically. Users performing manual updates are advised to update to the latest version.
Claude Code thanks hackerone.com/nil221 for reporting this issue!
CVE-2026-25724
Claude Code failed to strictly enforce deny rules configured in settings.json when accessing files through symbolic links. If a user explicitly denied Claude Code access to a file (such as /etc/passwd) and Claude Code had access to a symbolic link pointing to that file, it was possible for Claude Code to read the restricted file through the symlink without triggering deny rule enforcement.
Users on standard Claude Code auto-update received this fix automatically. Users performing manual updates are advised to update to the latest version.
Claude Code thanks https://hackerone.com/ofirh for reporting this issue.
CVE-2026-25725
Claude Code's bubblewrap sandboxing mechanism failed to properly protect the .claude/settings.json configuration file when it did not exist at startup. While the parent directory was mounted as writable and .claude/settings.local.json was explicitly protected with read-only constraints, settings.json was not protected if it was missing. This allowed malicious code running inside the sandbox to create this file and inject persistent hooks (such as SessionStart commands) that would execute with host privileges when Claude Code was restarted.
Users on standard Claude Code auto-update received this fix automatically. Users performing manual updates are advised to update to the latest version.
Claude Code thanks hackerone.com/edbr for reporting this issue!
CVE-2026-33068
Claude Code resolved the permission mode from settings files, including the repo-controlled
.claude/settings.json, before determining whether to display the workspace trust confirmation dialog. A malicious repository could setpermissions.defaultModetobypassPermissionsin its committed.claude/settings.json, causing the trust dialog to be silently skipped on first open. This allowed a user to be placed into a permissive mode without seeing the trust confirmation prompt, making it easier for an attacker-controlled repository to gain tool execution without explicit user consent.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/cantina_xyz for reporting this issue.
Release Notes
anthropics/claude-code (@anthropic-ai/claude-code)
v2.1.53Compare Source
--worktreesometimes being ignored on first launchv2.1.52Compare Source
v2.1.51Compare Source
claude remote-controlsubcommand for external builds, enabling local environment serving for all users.CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MSto configure.-lflag) by default when a shell snapshot is available, improving command execution performance. Previously this required settingCLAUDE_BASH_NO_LOGIN=true.statusLineandfileSuggestionhook commands could execute without workspace trust acceptance in interactive mode.control_responsemessages (e.g. from WebSocket reconnects) could cause API 400 errors by pushing duplicate assistant messages into the conversation.CLAUDE_CODE_ACCOUNT_UUID,CLAUDE_CODE_USER_EMAIL, andCLAUDE_CODE_ORGANIZATION_UUIDenvironment variables for SDK callers to provide account info synchronously, eliminating a race condition where early telemetry events lacked account metadata./modelpicker now shows human-readable labels (e.g., "Sonnet 4.5") instead of raw model IDs for pinned model versions, with an upgrade hint when a newer version is available.v2.1.50Compare Source
startupTimeoutconfiguration for LSP serversWorktreeCreateandWorktreeRemovehook events, enabling custom VCS setup and teardown when agent worktree isolation creates or removes worktrees.CLAUDE_CODE_SIMPLEto fully strip down skills, session memory, custom agents, and CLAUDE.md token counting/mcp reconnectfreezing the CLI when given a server name that doesn't existisolation: worktreein agent definitions, allowing agents to declaratively run in isolated git worktrees.CLAUDE_CODE_SIMPLEmode now also disables MCP tools, attachments, hooks, and CLAUDE.md file loading for a fully minimal experience.claude agentsCLI command to list all configured agents-pflag) by deferring Yoga WASM and UI component importsCLAUDE_CODE_DISABLE_1M_CONTEXTenvironment variable to disable 1M context window support/extra-usagecommand support in VS Code sessionsv2.1.49Compare Source
--worktree(-w) flag to start Claude in an isolated git worktreeisolation: "worktree"for working in a temporary git worktreebackground: trueto always run as a background tasksettings.jsonfor default configurationplugin enableandplugin disableto auto-detect the correct scope when--scopeis not specified, instead of always defaulting to user scopeCLAUDE_CODE_SIMPLE) now includes the file edit tool in addition to the Bash tool, allowing direct file editing in simple mode./config— memo comparators now correctly detect verbose changes-p) by skipping unnecessary API calls during startupsupportsEffort,supportedEffortLevels, andsupportsAdaptiveThinkingfields so consumers can discover model capabilities.ConfigChangehook event that fires when configuration files change during a session, enabling enterprise security auditing and optional blocking of settings changes.disableAllHookssetting to respect managed settings hierarchy — non-managed settings can no longer disable managed hooks set by policy (#26637)--resumesession picker showing raw XML tags for sessions that start with commands like/clear. Now correctly falls through to the session ID fallback.v2.1.48Compare Source
v2.1.47Compare Source
trimEnd().os.EOL(\r\n) in display code — line counts now show correct values instead of always showing 1 on Windows.\r\nline endings.@file mentions - file suggestions now appear faster by pre-warming the index on startup and using session-based caching with background refresh.ctrl+fto kill all background agents instead of double-pressing ESC. Background agents now continue running when you press ESC to cancel the main thread, giving you more control over agent lifecycle.last_assistant_messagefield to Stop and SubagentStop hook inputs, providing the final assistant response text so hooks can access it without parsing transcript files./renamebeing lost after resuming a conversation (#23610)\) would produce spurious empty arguments, potentially breaking command execution./help,/model,/compact, etc.) being hidden from the autocomplete dropdown when many user skills are installed (#22020)/clearcommand (#26082)nameordescriptionin SKILL.md frontmatter is a bare number (e.g.,name: 3000) — the value is now properly coerced to a string (#25837)chat:newlinekeybinding action for configurable multi-line input (#26075)added_dirsto the statusline JSONworkspacesection, exposing directories added via/add-dirto external scripts (#26096)claude doctormisclassifying mise and asdf-managed installations as native installs (#26033)modelfield in.claude/agents/*.mdbeing ignored when spawning team teammates (#26064)alwaysThinkingEnabled: truein settings.json not enabling thinking mode on Bedrock and Vertex providers (#26074)tool_decisionOTel telemetry event not being emitted in headless/SDK mode (#26059)/resume <session-id>failing to find sessions whose first message exceeds 16KB (#25920)argument-hintin SKILL.md frontmatter uses YAML sequence syntax (e.g.,[topic: foo | bar]) — the value is now properly coerced to a string (#25826)/forkon sessions that used web search — null entries in search results from transcript deserialization are now handled gracefully (#25811).claude/agents/and.claude/skills/from the main repository are now included (#25816)claude doctorandclaude plugin validatebeing blocked inside nested Claude sessions (#25803)findReferencesand other location-based operations returning results from gitignored files (e.g.,node_modules/,venv/) (#26051)~/.claude/backups/to reduce home directory clutter (#26130)__git_ps1) not being preserved across shell sessions (#25824)[25~escape sequence residue in the input field on Windows/Git Bash terminals (#25943)/renamecommand now updates the terminal tab title by default (#25789)v2.1.45Compare Source
enabledPluginsandextraKnownMarketplacesfrom--add-dirdirectoriesspinnerTipsOverridesetting to customize spinner tips — configuretipswith an array of custom tip strings, and optionally setexcludeDefault: trueto show only your custom tips instead of the built-in onesSDKRateLimitInfoandSDKRateLimitEventtypes to the SDK, enabling consumers to receive rate limit status updates including utilization, reset times, and overage informationReferenceErroron completion (#22087).claude.json.backupfiles accumulating on every startupv2.1.44Compare Source
v2.1.42Compare Source
v2.1.41Compare Source
speedattribute to OTel events and trace spans for fast mode visibilityclaude auth login,claude auth status, andclaude auth logoutCLI subcommands/renameto auto-generate session name from conversation context when called without arguments@README.md#installation)/dev/stdin, and large filesv2.1.40Compare Source
v2.1.39Compare Source
v2.1.38Compare Source
.claude/skillsdirectory in sandbox modev2.1.37Compare Source
v2.1.36Compare Source
v2.1.34Compare Source
sandbox.excludedCommandsordangerouslyDisableSandbox) could bypass the Bash ask permission rule whenautoAllowBashIfSandboxedwas enabledv2.1.33Compare Source
TeammateIdleandTaskCompletedhook events for multi-agent workflowsTask(agent_type)syntax in agent "tools" frontmattermemoryfrontmatter field support for agents, enabling persistent memory withuser,project, orlocalscope/skillsmenu for better discoverabilitysettings.jsonenvironment variables were not applied to WebFetch and other HTTP requests on the Node.js build/resumesession picker showing raw XML markup instead of clean titles for sessions started with slash commandsv2.1.32Compare Source
.claude/skills/within additional directories (--add-dir) are now loaded automatically.@file completion showing incorrect relative paths when running from a subdirectory${index + 1}, which previously interrupted tool executionv2.1.31Compare Source
~/.claude.jsonwas missing default fieldstemperatureOverridebeing silently ignored in the streaming API path, causing all streaming requests to use the default temperature (1) regardless of the configured overridecat,sed,grep,find), reducing unnecessary bash command usagev2.1.30Compare Source
pagesparameter to the Read tool for PDFs, allowing specific page ranges to be read (e.g.,pages: "1-5"). Large PDFs (>10 pages) now return a lightweight reference when@mentioned instead of being inlined into context.--client-idand--client-secretwithclaude mcp add./debugfor Claude to help troubleshoot the current sessiongit logandgit showflags in read-only mode (e.g.,--topo-order,--cherry-pick,--format,--raw)/loginwhen the conversation contained thinking blocksparentUuidcycles.bashrcfile could not run bash commands--resume(68% reduction for users with many sessions) by replacing the session index with lightweight stat-based loading and progressive enrichmentTaskStoptool to display the stopped command/task description in the result line instead of a generic "Task stopped" message/modelto execute immediately instead of being queuedv2.1.29Compare Source
saved_hook_contextv2.1.28Compare Source
v2.1.27Compare Source
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1avoids the error--from-prflag to resume sessions linked to a specific GitHub PR number or URLgh pr create.bashrcfilesv2.1.26Compare Source
v2.1.25Compare Source
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1avoids the errorv2.1.23Compare Source
spinnerVerbs)v2.1.22Compare Source
v2.1.21Compare Source
pythonandpipcommands use the correct interpreter (configurable viaclaudeCode.usePythonEnvironmentsetting)v2.1.20Compare Source
CLAUDE.mdfiles from additional directories specified via--add-dirflag (requires settingCLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1)TaskUpdatetool/context/sandboxcommand UI to show dependency status with installation instructions when dependencies are missingToolSearchresults to appear as a brief notification instead of inline in the conversation/commit-push-prskill to automatically post PR URLs to Slack channels when configured via MCP tools/copycommand to be available to all usersBash(*)to be accepted and treated as equivalent toBashv2.1.19Compare Source
CLAUDE_CODE_ENABLE_TASKS, set tofalseto keep the old system temporarily$0,$1, etc. for accessing individual arguments in custom commandsConfiguration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 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.