Claude Code 2.1.178: Parametric Permission Rules, Nested Skills, and Smarter Subagent Oversight

Claude Code

Claude Code 2.1.178 introduces Tool(param:value) permission syntax for fine-grained rule targeting (e.g., Agent(model:opus) to block Opus subagents while allowing Sonnet). Nested .claude/skills directories now load automatically based on working directory, with name-collision resolution via <dir>:<name> scoping. The release also runs the auto-mode classifier before a subagent launches, plus 15+ reliability fixes including an OOM crash fix and Vim undo corrections.


Parametric Permission Rules

Claude Code 2.1.178 introduces a significant upgrade to its permission system with the new Tool(param:value) syntax. This allows developers to write permission rules that match not just a tool by name, but also by specific input parameter values. For example, Agent(model:opus) can be used to block Opus subagents from being spawned while still permitting Sonnet subagents. Wildcard matching (*) is also supported, enabling flexible rule patterns.

This granularity addresses a real need in production setups where teams want to constrain resource usage without fully disabling the subagent delegation feature. Opus subagents are significantly more expensive than Sonnet variants, and the permission system now gives administrators the tools to enforce cost and capability boundaries at a fine-grained level without blunt tool-level blocks.

Nested Skills Directories

Skills stored in nested .claude/skills directories are now loaded automatically when Claude is working on files within that directory. Previously, only the root .claude/skills directory was considered, meaning project-specific skills could be overlooked depending on the working context.

When two skills share the same name across directories, the nested skill is surfaced as <dir>:<name>, so both remain accessible without the more specific skill silently overriding the root-level one. This scoping mechanism lets large monorepos or multi-package projects maintain separate, specialized skill sets per subdirectory without conflict.

Smarter Subagent Oversight

The auto-mode classifier now evaluates a subagent spawn before the subagent actually launches. This closes a previous gap where a subagent could be initiated and begin requesting actions before the classifier had a chance to intervene. The change strengthens Anthropic's layered safety model for agentic workflows, ensuring permission and access checks happen at the right point in the execution pipeline rather than after the fact.

Reliability Fixes

Version 2.1.178 ships more than 15 additional fixes. Notable among them:

  • An out-of-memory crash caused by stale WebSocket and OAuth file-descriptor environment variables has been resolved, which affected long-running daemon sessions.
  • Vim mode undo (u) now processes each command step individually rather than collapsing multiple operations, restoring expected behavior for keyboard-driven editing.
  • Nested .claude/skills are no longer blocked by permission prompts in non-interactive runs, removing a friction point for automated CI pipelines.
  • Subagent transcript viewing now correctly displays tool results and live progress, making it easier to monitor delegated work.
  • The /doctor command received a layout refresh with a consistent flat tree structure and clearer section status icons, improving diagnostic readability.
  • Remote Control connection error messages now surface a persistent red "/rc failed" indicator rather than failing silently.