# Claude Code v2.1.178 发布

- 来源：Claude Code：GitHub Releases（RSS）
- 作者：ashwin-ant
- 发布时间：2026-06-16 05:35
- AIHOT 分数：42
- AIHOT 链接：https://aihot.virxact.com/items/cmqfqwgkt000pslonc1rxw5sk
- 原文链接：https://github.com/anthropics/claude-code/releases/tag/v2.1.178

## AI 摘要

本次更新新增 `Tool(param:value)` 语法用于权限规则匹配工具输入参数；嵌套 `skills` 目录中的技能自动加载，名称冲突时以 `<dir>:<name>` 形式保留；嵌套 `agent`、`workflow`、`output-style` 冲突时取最近目录。改进自动模式下子 agent 生成前的分类器评估；`/doctor` 采用扁平树布局；工作流提示词高亮为紫色闪烁，仅触发显式短语；`/bug` 提交前需填写描述。修复了 CLI 继承过期 WebSocket/OAuth 文件描述符导致的崩溃、Chrome 中 OAuth token 账号不匹配导致连接失败、子 agent 转录显示工具结果、后台恢复不从头重启、compaction 未使用 `--fallback-model` 等问题。

## 正文

What's changed

Added Tool(param:value) syntax for permission rules to match a tool's input parameters (with * wildcard), e.g. Agent(model:opus) to block Opus subagents

Skills in nested .claude/skills directories now load when working on files there; on a name clash, the nested skill appears as <dir>:<name> so both stay available

Nested .claude/ directories: the agent, workflow, and output-style closest to the working directory now wins when names collide; project-scope workflow saves now target the closest existing .claude/workflows/

Improved auto mode: subagent spawns are now evaluated by the classifier before launch, closing a gap where a subagent could request a blocked action without review

Improved /doctor with consistent flat tree layout across all sections, clearer section status icons, and highlighted command names

Improved the skill listing truncation warning to show how many skill descriptions are affected

Changed the workflow prompt keyword to use a purple shimmer highlight and trigger only on explicit phrases like "run a workflow" or "workflow:", not on any mention of the word

Improved Remote Control error messages: connection failures now show a persistent red "/rc failed" indicator in the footer, and the "not yet enabled" error now explains whether it's a gate, a check failure, stale entitlement, or org policy

/bug now requires a description before submitting, and no longer uses model-refusal text as the GitHub issue title

Fixed a crash (out-of-memory) when the CLI inherits a stale websocket/OAuth file-descriptor environment variable from a parent process

Fixed Claude in Chrome silently failing to connect when the OAuth token belongs to a different account than the Claude Code login

Fixed nested .claude/skills skills with directory-qualified names being blocked by permission prompts in non-interactive runs

Fixed several subagent issues: viewing a subagent's transcript now shows tool results and live progress, messages sent while it finishes its turn are no longer dropped, and backgrounding a running subagent (ctrl+b) no longer restarts it from scratch

Fixed claude agents workers failing with 401 Invalid bearer token when the daemon was started from a shell with a custom API gateway via ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN

Fixed compaction not honoring --fallback-model: compaction now falls back to the configured fallback model chain on overload or model-availability errors

Fixed model requests continuing to fail with auth errors after credentials were refreshed outside the session, due to a stale cached request configuration

Fixed background sessions created with /bg or ←← after a turn finished showing "Working" forever in the agents list

Fixed CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1 preventing fresh marketplace installs from cloning

Fixed MCP server-level specs (mcp__server, mcp__server__*, mcp__*) in subagent disallowedTools being silently ignored

Fixed vim mode undo: u now steps through NORMAL/VISUAL-mode commands one at a time instead of merging commands in quick succession into a single undo step

Fixed statusline links with custom URI schemes (e.g. vscode://) not opening when clicked in claude agents

[VSCode] Fixed pressing Esc to dismiss a CJK IME candidate window canceling the running Claude task
