Skip to main content

Claude Code v2.1.178: Parameter-Based Permission Rules and Nested .claude Directory Support

Claude Code v2.1.178 introduces Tool(param:value) permission rule syntax, smarter nested .claude/skills loading, auto mode subagent review, and a large batch of subagent and reliability fixes.

June 15, 2026 10 min read By ClaudeWorld

The Claude Code development team has released version 2.1.178, bringing fine-grained permission control with the new Tool(param:value) rule syntax and first-class support for nested .claude/ directories. The update also strengthens auto mode’s security review of subagent launches and ships an extensive round of fixes covering subagents, compaction, authentication, and vim mode.

What’s New

Parameter-Based Permission Rules

Permission rules can now match a tool’s input parameters using the new Tool(param:value) syntax, with * wildcard support. For example, Agent(model:opus) can be used to block Opus subagents, giving teams much finer control over what tools are allowed to do.

Nested .claude Directory Support

Skills in nested .claude/skills directories now load when you work on files in those locations; if a name clashes with another skill, the nested one appears as <dir>:<name> so both stay available. For agents, workflows, and output styles, the definition closest to the working directory now wins when names collide, and project-scope workflow saves target the closest existing .claude/workflows/ directory.

Safer Auto Mode

Subagent spawns in auto mode are now evaluated by the classifier before launch. This closes a gap where a subagent could request a blocked action without review.

UI and Diagnostics Improvements

/doctor now uses a consistent flat tree layout across all sections, with clearer section status icons and highlighted command names. The skill listing truncation warning now shows how many skill descriptions are affected. The workflow prompt keyword uses a purple shimmer highlight and only triggers on explicit phrases like “run a workflow” or “workflow:”, not on any mention of the word.

Remote Control and Bug Reporting

Remote Control error messages have been improved: connection failures now show a persistent red “/rc failed” indicator in the footer, and the “not yet enabled” error explains whether the cause is a gate, a check failure, stale entitlement, or org policy. Meanwhile, /bug now requires a description before submitting and no longer uses model-refusal text as the GitHub issue title.

Subagent Fixes

Several subagent issues have been resolved: 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. Also fixed: claude agents workers failing with 401 Invalid bearer token when the daemon was started from a shell using ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN, MCP server-level specs (mcp__server, mcp__server__*, mcp__*) in subagent disallowedTools being silently ignored, and background sessions created with /bg after a turn finished showing “Working” forever in the agents list.

Reliability and Platform Fixes

This release addresses numerous additional issues, including:

  • An out-of-memory crash when the CLI inherits a stale websocket/OAuth file-descriptor environment variable from a parent process
  • Claude in Chrome silently failing to connect when the OAuth token belongs to a different account than the Claude Code login
  • Nested .claude/skills skills with directory-qualified names being blocked by permission prompts in non-interactive runs
  • Compaction not honoring --fallback-model: it now falls back to the configured model chain on overload or availability errors
  • Model requests continuing to fail with auth errors after credentials were refreshed outside the session
  • CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1 preventing fresh marketplace installs from cloning
  • Vim mode undo: u now steps through NORMAL/VISUAL-mode commands one at a time instead of merging quick commands into a single undo step
  • Statusline links with custom URI schemes (e.g. vscode://) not opening when clicked in claude agents
  • [VSCode] Pressing Esc to dismiss a CJK IME candidate window no longer cancels the running Claude task

How to Update

To update to Claude Code v2.1.178:

  1. Check your current version: claude --version
  2. Update using your preferred method:
    • Package manager: Follow your distribution’s update process
    • Direct download: Visit the release page for platform-specific binaries
  3. Review your permission rules if you want to take advantage of the new Tool(param:value) syntax
  4. If you use nested .claude/ directories, verify that skill and agent name resolution behaves as expected