Claude Code 2.0.26: Bash 的 Sandbox 绕过参数改名
Bash Tool Schema 将关闭 Sandbox 的参数从 `dangerouslyOverrideSandbox` 改为 `dangerouslyDisableSandbox`,描述仍指向无 Sandbox 执行。这个契约改动影响调用方构造 Bash Tool Call 时使用的字段名;证据未显示执行语义同时改变。
Bash Tool Schema 将关闭 Sandbox 的参数从 `dangerouslyOverrideSandbox` 改为 `dangerouslyDisableSandbox`,描述仍指向无 Sandbox 执行。这个契约改动影响调用方构造 Bash Tool Call 时使用的字段名;证据未显示执行语义同时改变。
Bash Tool Definition 删除了“不要用 run_in_background 运行 sleep”的限制,后台运行说明因此不再排除这类命令。官方发布说明同时宣布移除 legacy SDK entrypoint,并要求迁移到 @anthropic-ai/claude-agent-sdk;这改变了 SDK 接入契约,但现有证据未提供其代码实现位置。
Bash Tool Schema 新增 `dangerouslyOverrideSandbox` 布尔参数,可显式要求命令在无 Sandbox 状态下运行,改变了命令执行的授权边界;System Prompt 同时将安全协助范围改为允许有明确授权背景的安全测试、CTF 与教育用途,并为双用途工具要求授权语境。官方发布说明还列出 Linux 与 Mac 的 Bash Sandbox 发布、Web 到 CLI 的 teleport 支持、项目级 Skill 加载修复及 Bedrock 授权输出展示,但没有代码样本可说明这些功能的内部实现。
版本说明新增企业管理的 MCP allowlist 和 denylist 支持,可用于限制允许或拒绝的 MCP;同一份说明还提到 IDE thinking 开关,以及并行 Tool Call 下重复权限提示的修复。发布说明没有提供这些机制对应的代码位置,Runtime Prompt 与 Tool Schema 的相邻比较显示无变化,Static Prompt 比较不可用。
Tool Schema 新增 AskUserQuestion,并在 ExitPlanMode 的说明中要求先消除方案歧义再进入编码阶段;这让 Agent 能在执行中收集偏好、确认实现选择,也让计划阶段的决策边界更明确。官方发布说明还列出 MCP structuredContent 支持、Haiku 4.5 选项及排队命令读取先前输出的修复,但本 packet 未提供这些项目的代码概览。Static Prompt 当前不可用。
Claude Code 新增 Skill Tool,用于在主对话中执行指定 Skill;Runtime Prompt 将可用 Skill 名称作为调用参数,并说明加载后会展开其专属指令。由此,Agent 可按任务调用专门能力与领域知识,扩展主对话的任务处理方式。官方发布说明也确认加入 Claude Skills 支持;当前证据未包含 Skill 实际执行实现或可用 Skill 清单。
Bash 命令的超时处理从终止命令改为将长时间运行的命令转入后台;官方说明给出的配置契约是 `BASH_DEFAULT_TIMEOUT_MS`。这会让超时后的命令继续运行,而不是被直接杀掉。另修复了 print mode 下不必要调用 Haiku 的问题;源码位置未在本 packet 中提供。
Explore Subagent 的调用说明新增 thoroughness 参数,要求调用方选择 quick、medium 或 very thorough,以便按搜索范围和全面程度控制代码库探索。该变化落在 Task Tool 中的 Subagent 用法说明;Task 的 Tool Schema 未增加、删除或修改 Tool Definition。
Runtime Prompt 在 Tool usage policy 和 Tools 两处加入代码库探索规则:非针对单个文件、类或函数的查询,应委派给 Explore Subagent,并由 Task 工具指定 subagent_type。Tools 中新增的 Explore 定义列出 Glob、Grep、Read、Bash,官方发布说明称其由 Haiku 驱动、用于高效搜索并节省 Context;这让广泛探索有了专门的委派入口。发布说明还提到 Haiku 4.5 进入模型选择器及 Plan Mode 默认使用 Sonnet、执行使用 Haiku,以及 Proxy 环境变量和非必要流量设置的变化,但所给证据没有对应的代码样本可分析实现位置。
官方发布说明称,恢复任务和 `-p` 模式下,先前已创建或通过 @ 提及的文件不必再重复读取才能写入,改善了这两种场景中的文件写入连续性。Runtime Prompt 中 ExitPlanMode 的 Tool Definition 仅将示例标题格式化,工具数量未变;该差异不解释文件恢复修复的实现机制。
Runtime Prompt 的 Tone and style 新增两项约束:面向用户的文字应直接通过输出发送,工具只用于完成任务;创建文件应限于目标确有需要,并优先编辑现有文件。这会影响 Agent 的沟通方式和文件操作选择;官方发布说明另列出 Bash 内联环境变量权限检查、MCP 服务器 @-mention 开关及 ultrathink 与 thinking 开关修复。证据未提供这些发布项对应的源码位置,Static Prompt 对比也不可用。
官方发布说明记录了原生构建中 `/plugin` 无法工作的修复,改善了该构建形态下通过 Slash Command 使用 Plugin 的可用性。现有证据没有代码变更样本或 keyFiles,无法进一步定位修复实现;Runtime Prompt 与 Tool Schema 相邻比较未见变化。
官方发布说明称 Claude Code 2.0.12 发布 Plugin System,提供安装、启用与停用、Marketplace 管理和结构校验命令,并支持通过 `extraKnownMarketplaces` 配置团队级 Plugin 来源;这扩展了 Agent 加载自定义命令、Agent、Hook 与 MCP Server 的组合方式。Runtime Prompt 中 `SlashCommand` Tool Definition 增加任务开始前匹配已列出 Slash Command 的意图路由要求,可能让请求更早进入专用工作流。官方说明还提到 `/doctor` 诊断和 `/config` 中 verbose 设置跨 Session 持久化;证据未提供对应源码位置。
System Prompt 删除了大段冗长的简洁性示例与行为指引,官方说明称 Prompt 缩小约 1.4k tokens;可观察的行为变化是减少重复的表达约束,同时保留简洁、专业客观等原则。另将“安装 MCP server”纳入查询 Claude Code 功能文档时的示例,明确了触发查阅文档的场景。官方发布说明还列出 IDE 快捷键与焦点、Opus fallback 限流报错及 /add-dir 默认标签页修复,但未提供实现位置。
2.0.10 重写 Terminal 渲染器,并让 PreToolUse Hook 可以修改工具输入;官方发布说明显示,这分别改变界面刷新机制和 Tool Call 前的输入处理行为。发布还加入 MCP 服务器启停入口、bash 模式命令补全及 Ctrl-G 外部编辑器入口,并修复带环境变量命令的 bash 权限检查。代码实现细节未随证据提供。
2.0.9 修复了 Bash 后台化停止工作的回归,使后台执行行为恢复。Runtime Prompt 与 Tool Schema 的相邻版本捕获相同;官方发布说明未提供具体代码位置或实现细节。
Runtime Prompt 将多 Tool Call 从笼统鼓励改为依赖感知的并行规则,要求无依赖操作并行、依赖操作顺序执行且不猜测缺失参数;SlashCommand Tool 补充命令展开流程、可用命令范围与重复调用约束,影响 Agent 的工具调度和自定义命令处理。官方发布说明另列出 Bedrock 默认 Sonnet 模型更新、IDE 文件与文件夹拖放、/context thinking block 计数修复、主题渲染改进及废弃配置迁移。
Runtime Prompt 收紧了并行调用的操作约定:多个独立信息请求应批量发起,多条 Bash 调用必须放在同一条消息中并行执行;SlashCommand 的说明则明确可执行命令范围、参数提示、校验失败时的候选数量及避免重复执行的条件。这些机制落在 Tool Call 策略和 SlashCommand Tool Definition 文本中,旨在让 Agent 更一致地批处理独立工作,并减少无效或重复的命令调用。官方发布说明另记录 IDE 输入与登录入口修复、OAuth 401 错误处理及 SDK 消息重放标记;这是发布层面的变化,未提供对应实现位置。
工具使用策略改为并行执行所有相互独立的调用,并要求有依赖的调用按顺序执行、不得猜测缺失参数;这一规则出现在 Runtime Prompt 的工具使用说明及 Bash、Read 等工具指导中,促使 Agent 显式处理调用依赖。SlashCommand 的说明则增加展开流程、可用命令限制和重复调用检查,明确了自定义 Slash Command 的调用契约。
Bedrock 和 Vertex 不再应用 Sonnet 4.5 默认模型设置,代码层面的实现细节在本包中未提供。官方说明还提及多项 Bug 修复和展示改进,未指出具体机制或行为。
版本发布聚焦交互与 Session 控制:新增原生 VS Code Extension、可用 `/rewind` 撤销代码变更,并提供 `/usage`、历史搜索和跨 Session 保持的思考模式切换。Runtime Prompt 中 Bash 的操作边界转向优先使用专用文件工具,MultiEdit Tool Definition 被移除;这改变了 Agent 对文件操作的工具选择约定。
Bash Tool 的指导强化了提交和 Git 操作安全规则:要求只在用户明确请求时提交,限制强制推送、跳过 hooks 和 amend,并在 amend 前检查作者与分支状态。对应的 Bash Tool Schema 删除了 `dangerouslyOverrideSandbox` 参数,缩小该工具可显式请求的执行控制面;Runtime Prompt 其他变化则调整了回答详略策略。
Runtime Prompt 增加了先检查并沿用代码库现有约定、库和工具的要求,并明确要求未经用户请求不得提交更改。前者推动实现贴合项目既有模式,后者收紧 Agent 的交付边界;Tool Schema 未变。官方发布说明与 Static Prompt 对比不可用,本次结论依据相邻版本的 Runtime Prompt 差异。
版本说明提到两处集成机制变化:Bedrock 与 Vertex 可使用 /context 命令查看 Context,HTTP OpenTelemetry 导出器支持 mTLS。前者扩展云端 Provider 上的 Context 查看入口,后者为遥测传输增加证书认证能力;代码实现位置未提供。Runtime Prompt 与 Tool Schema 相邻比较无变化,Static Prompt 比较不可用。
Bash 的 Tool Definition 将 `sandbox` 改为 `dangerouslyOverrideSandbox`:常规命令默认在 Sandbox 中运行,只有用户明确要求绕过,或已有错误明确证明 Sandbox 阻止了操作时,才可请求无 Sandbox 执行。这改变了 Runtime Prompt 中表达 Bash 执行权限的方式,也使旧参数名与新 Tool Schema 不兼容;证据直接显示的是 Prompt 与 Tool Schema 契约变化,未提供官方发布说明或实现代码概览。
Bash Tool Definition 新增 `sandbox` 布尔参数,Runtime Prompt 要求每条命令默认设为 `true`,只有用户明确要求时才省略或设为 `false`。这使 Bash 命令的默认执行方式转向 Sandbox;Runtime Prompt 还指示将临时文件放在 `/tmp/claude/`。官方发布说明另称修复了 Bash Tool 权限检查中的安全漏洞,并列出登录 Shell 环境变量、云端环境变量判断和大型文件 VSCode 性能更新;现有证据未提供这些改动的源码位置或实现细节。
发布说明称新增 SlashCommand Tool,使 Claude 能调用用户的 Slash Command;同时 Bash 权限规则匹配扩展到输出重定向命令,改变了这类命令的授权匹配行为。发布说明还提到修复否定短语触发 thinking、Token 流式渲染性能下降及无头模式恢复时意外启用 thinking,并将 --debug 日志迁移到文件。源码位置未提供;Runtime Prompt 与 Tool Schema 的相邻版本比较显示无变化,不能据此确认 SlashCommand 的实现细节或 Tool Definition 变化。
Tool Schema 新增 SlashCommand,可在主对话中执行带参数的可用 Slash Command;这为 Agent 提供了从当前对话触发命令的直接入口。Bash 的 Tool Schema 也有修改,新增 additionalProperties 限制和 JSON Schema 声明。Static Prompt 与官方发布、代码证据不可用,无法判断对应实现细节或发布背景。
Bash Tool 的权限检查修复了可利用前缀匹配绕过检查的问题,发布说明称这会阻止相关未授权命令通过;同一版本还改善了大 Prompt 下的输入延迟,并移除了 IDE 兼容性检查中的 worktree 支持检查。Runtime Prompt 将 Claude Code 文档索引地址更新到 docs.claude.com,System Prompt 指示的文档查询行为保持不变。官方材料未提供实现路径或代码样例,无法进一步定位具体代码落点。
Runtime Prompt 在 “Doing tasks” 中明确,`<system-reminder>` 由系统自动加入,且与具体 Tool 结果或用户消息没有直接关系;这收紧了对提醒来源的解释边界。官方发布说明还确认,Slash Command 现在会更新而非替换允许使用的工具,并修复 MCP 动态 headers、headless Session 的 thinking mode 和 Windows 交互模式冻结;这些说明描述了发布行为,但未提供实现代码位置。
新增 Ctrl-R 命令历史搜索,便于 Agent 操作者找回并重用先前输入;在 acceptEdits 模式下将 sed 纳入自动允许命令,扩展该模式下的命令执行范围。发布说明还列出输入延迟修复、Windows 驱动器字母路径比较兼容性修复,以及 /add-dir 权限管理提示。
交互层增加了在 Prompt 中输入 `/t` 临时关闭 thinking mode 的控制,并调整思考状态显示、加载完成反馈和权限请求对话框的一致性。工具边界方面,glob 与 grep 的路径校验得到改进;post-tool Hook 输出改为精简展示,以减少界面杂乱。Runtime Prompt 与 Tool Schema 相邻版本捕获一致;本包未提供 Static Prompt 和源码位置证据。
Tools 中的 KillBash 更名为 KillShell,描述仍是按 ID 终止运行中的后台 bash shell;这改变了工具名称契约,可能要求调用方同步更新。官方发布说明还记录了交互模式下弃用管道输入,并将转录切换快捷键从 Ctrl+R 改为 Ctrl+O,影响输入兼容与键盘操作。
SessionEnd Hook 新增 systemMessage 支持,使 Hook 能在 Session 结束时提供系统消息;Transcript mode 现在标注生成每条 Assistant 消息所用的模型,另可通过 spinnerTipsEnabled 关闭 spinner 提示。这些变化扩展了 Session 结束反馈和对话审阅设置;官方发布说明未提供对应代码位置或实现细节。
Runtime Prompt 增加了用户明确要求并行时,将多个 Tool Call 放入同一消息的约定,并在 Task 使用指导中重复说明这一要求,影响并行工具与 Subagent 的调用组织。官方发布说明还记录了 /model 对模型名的校验,以及 Bash 因畸形 Shell 语法解析而崩溃的问题修复;现有证据未提供这些修复对应的代码位置。
1.0.110 的官方发布说明列出三项变化:`/terminal-setup` 支持 WezTerm、MCP OAuth Token 在过期前主动刷新,以及后台 Bash 进程可靠性修复。这些变化分别指向 Terminal 配置、认证生命周期和后台进程运行行为;当前证据没有提供实现代码位置或更细的行为契约。Runtime Prompt 与 Tool Schema 的相邻版本比较一致,但这不覆盖上述发布说明所述变化。
SDK 增加了通过 `--include-partial-messages` CLI flag 请求部分消息流式传输的契约,使调用方可以接收尚未完成的消息内容。发布说明没有指出该机制对应的源码位置,因此实现细节无法从本 packet 定位。
Static Prompt 新增 Professional objectivity,要求优先技术准确性、必要时礼貌纠正用户,并在不确定时先调查;Tone and style 同时调整了简洁表达规则。官方发布说明称 Windows 路径权限匹配统一使用 POSIX 格式,例如 `Read(//c/Users/...)`,这应使相同路径格式下的权限判断更一致。
Runtime Prompt 的 Tools/Bash 目录校验步骤将 `LS` 工具改为 shell 命令 `ls`,示例改为 `ls foo`,要求在创建目录或文件前检查父目录是否存在且位置正确。行为上,目录预检明确通过 Bash 执行,并把待检查的父目录作为命令参数。此处观察到的是 Runtime Prompt 指引调整;证据未提供 Static Prompt 或官方发布与代码变更信息。
Bash Tool Definition 的 `description` 约束增加“使用主动语态”,示例也改为动词原形(如 `List files`)。这会让生成的命令描述更简短、统一,便于快速识别其作用;可观察到的是 Tool Schema 文案变化,并无工具增删。Runtime Prompt 中的模型标识也从 Opus 4.1 改为 Sonnet 4。