Claude Code v2.1.178: Parameter-Matched Permissions
We break down Claude Code v2.1.178’s new fine-grained permission system, including tool parameter matching like Tool(param:value) for blocking costly or risky actions before they run.
We also cover smarter nested skill resolution, the new purple workflow indicator, improved /doctor diagnostics, and the stricter /bug submission flow.
Is this your podcast and want to remove this banner? Click here.
Chapter 1
Fine-Grained Permissions with Tool Parameter Matching in Claude Code v2.1.178
Lachlan Reed
G'day everyone! [excited] Lachlan Reed here, joined by James Turner, and this episode is brought to you by Jellypod AI. Now James, I was messing about in my backyard shed last night, and I updated Claude Code to version 2.1.178. They've introduced something that absolutely blew my mind -- [genuinely surprised] a brand new tool parameter matching syntax that looks like `Tool(param:value)`.
James Turner
Oh, I saw that commit! [excited] It's essentially regex-level control but specifically for your LLM's tool calls. So instead of just a blanket "yes" or "no" to Claude running commands, you can write a rule like `Agent(model:opus)` to explicitly block or intercept when it tries to spin up a high-cost Opus subagent.
Lachlan Reed
Spot on! [laughs] It stops those sneaky midnight runs where you wake up to a three-hundred-dollar API bill because Claude decided to write a novel using Opus. You just write `Agent(model:opus)` in your configuration, set the permission to 'deny' or 'ask', and it intercepts that exact argument before the token even hits the network.
James Turner
That is incredibly powerful. [reflective] And it's not just for saving cash on API calls. Think about file system safety. You could write something like `Bash(cmd:rm)` to catch any destructive terminal commands before they execute. It's directory-level scoping for security.
Lachlan Reed
Exactly. [calm] And speaking of directories, they've also sorted out how nested skill collisions are handled. If you have multiple `.claude/skills` folders -- say, one in your project root and another deep inside a nested subdirectory -- Claude Code now resolves them using a "directory-closest" scope.
James Turner
Wait, so if I have a custom deployment script defined as a skill in my root directory, but my frontend subfolder has its own specialized version of that same skill... [questioning tone] how does it resolve?
Lachlan Reed
It's brilliant. [excited] If you're working inside the frontend subdirectory, Claude will traverse upwards, find the frontend skill first, and execute that one instead of the global root skill. It prevents your nested configurations from stomping all over each other. No more namespace collisions when you're jumping between monorepo packages.
James Turner
That's a massive quality-of-life win for monorepos. [thoughtfully] It makes local skill development actually viable without fearing you'll break global defaults. And speaking of quality-of-life, did you notice the new visual indicator in the terminal?
Lachlan Reed
Oh, the purple shimmer! [laughs] It's like a little digital magic show in your console. Whenever a major workflow trigger gets activated, the terminal output does this subtle purple shimmering transition. It's a nice little touch so you actually know when Claude has handed over control to a specific background agent.
James Turner
It's clean. [calm] But they also made some practical diagnostic updates. The `/doctor` command has been completely overhauled to verify these new parameter matching rules. If you've got a borked configuration file, `/doctor` will pinpoint exactly which `Tool(param:value)` string has a syntax error.
Lachlan Reed
Which is handy, because knowing me, I'll definitely put a colon where a semi-colon should be. [chuckles] And there's one more change that might annoy some folks at first, but it makes complete sense: the `/bug` command now forces you to provide a description *before* you can submit.
James Turner
Honestly? Good. [laughs] No more empty bug reports with just a log dump and zero context. You have to explain what went wrong first. It forces developers to give the team some actual signal instead of just noise.
Lachlan Reed
Fair play. [warmly] Well, that's version 2.1.178 for you. It's a massive leap forward for keeping your AI agents on a tight, cost-effective leash. Give those new permission scopes a spin, and we'll catch you in the next one!
James Turner
See ya! [cheery]
