Claude Code v2.1.178 adds tool parameter matching and nested directory wins
Claude Code `v2.1.178` ships `Tool(param:value)` permission syntax, smarter nested `.claude/` directory resolution, improved auto-mode subagent safety, and a large batch of bug fixes including crash and auth error repairs.
Score breakdown
The `Tool(param:value)` permission syntax gives operators the first parameter-level control over which tool inputs are allowed or blocked, closing a gap that previously required coarser tool-level rules.
- 01New `Tool(param:value)` syntax for permission rules matches a tool's input parameters, with `*` wildcard support — e.g. `Agent(model:opus)` blocks Opus subagents.
- 02Nested `.claude/` directories now use a proximity rule: the agent, workflow, or output-style closest to the working directory wins on name collisions.
- 03Skills in nested `.claude/skills` directories load automatically; name clashes surface both as ` : `.
Claude Code `v2.1.178`, authored by ashwin-ant, delivers several notable feature additions. The new `Tool(param:value)` permission syntax lets users match a tool's input parameters — including `*` wildcard support — so rules like `Agent(model:opus)` can block specific subagent model choices. Skills in nested `.claude/skills` directories now load automatically when working on files in those directories; on a name clash, the nested skill is surfaced as ` : ` so both versions remain accessible. For nested `.claude/` directories broadly, the agent, workflow, and output-style closest to the working directory now takes precedence when names collide, and project-scope workflow saves target the closest existing `.claude/workflows/` folder.
The `/doctor` command gains a consistent flat tree layout with clearer section status icons and highlighted command names.
Auto mode receives a safety improvement: subagent spawns are now evaluated by the classifier before launch, closing a gap where a subagent could request a blocked action without review. The `/doctor` command gains a consistent flat tree layout with clearer section status icons and highlighted command names. The workflow prompt keyword now uses a purple shimmer highlight and triggers only on explicit phrases like "run a workflow" or "workflow:", rather than any mention of the word. Remote Control error messages are improved, with connection failures showing a persistent red "/rc failed" footer indicator and the "not yet enabled" error now explaining whether the cause is a gate, a check failure, stale entitlement, or org policy. The `/bug` command now requires a description before submission and no longer uses model-refusal text as the GitHub issue title.
On the fix side, the release resolves an out-of-memory crash when the CLI inherits a stale websocket/OAuth file-descriptor environment variable from a parent process, and fixes Claude in Chrome silently failing to connect when the OAuth token belongs to a different account than the Claude Code login. Subagent reliability is improved: 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 with ctrl+b no longer restarts it from scratch. Additional fixes address `401 Invalid bearer token` errors for `claude agents` workers using `ANTHROPIC_BASE_URL` and `ANTHROPIC_AUTH_TOKEN` with a custom API gateway, compaction not honoring `--fallback-model`, stale cached request configurations causing persistent auth errors after credential refresh, MCP server-level specs in subagent `disallowedTools` being silently ignored, vim mode undo merging commands into a single step, and a VSCode issue where pressing Esc to dismiss a CJK IME candidate window canceled the running Claude task.
Key facts
- 01New `Tool(param:value)` syntax for permission rules matches a tool's input parameters, with `*` wildcard support — e.g. `Agent(model:opus)` blocks Opus subagents.
- 02Nested `.claude/` directories now use a proximity rule: the agent, workflow, or output-style closest to the working directory wins on name collisions.
- 03Skills in nested `.claude/skills` directories load automatically; name clashes surface both as ` : `.
- 04Auto mode now evaluates subagent spawns via the classifier before launch, closing a gap where blocked actions could be requested without review.
- 05Fixed an out-of-memory crash when the CLI inherits a stale websocket/OAuth file-descriptor environment variable from a parent process.
- 06Fixed `401 Invalid bearer token` errors for `claude agents` workers using a custom API gateway via `ANTHROPIC_BASE_URL` and `ANTHROPIC_AUTH_TOKEN`.
- 07Fixed compaction not honoring `--fallback-model`, and fixed MCP server-level specs in subagent `disallowedTools` being silently ignored.
Topics
Summary and scoring are generated automatically from the original article. We always link back to the publisher and never republish images or paywalled content. Last processed Jun 16, 2026 · 23:11 UTC. How this works →