{"name":"--disallow-tools","slug":"disallow-tools","family":"cli","title":"CLI flags","noun":"CLI flag","description":"A command that runs case files gains `--disallow-tools`, which keeps chosen built-in tools from Claude in every case","description_source":"entry","described_by":{"version":"2.1.299","anchor":"new-disallow-tools-option-in-a-case-runner-cli-command"},"presence":{"first_seen":"2.1.299","removed_in":null,"in_current_build":true,"newest_mined":"2.1.308","builds":10,"mined_builds":149,"first_cited":{"version":"2.1.299","released_at":"2026-10-14 00:23:19","spans":2}},"aliases":[],"entries":[{"version":"2.1.299","anchor":"new-disallow-tools-option-in-a-case-runner-cli-command","heading":"New --disallow-tools option for running case files","line":"A command that runs case files gains `--disallow-tools`, which keeps chosen built-in tools from Claude in every case","released_at":"2026-10-14 00:23:19","reason":"found in this entry's text, named in this entry"},{"version":"2.1.299","anchor":"eval-harness-gains-disallow-tools-and-per-case-disallowed","heading":"Plugin evals can now take tools away from Claude with --disallow-tools","line":"The plugin eval runner accepts `--disallow-tools` and a per-case `disallowed_tools` list, and scores runs that end on an API error as 0","released_at":"2026-10-14 00:23:19","reason":"found in this entry's text, named in this entry"}],"entries_total":2,"docs":[{"source":"claude-code","path":"changelog","title":"Claude Code changelog","documented":false}],"docs_total":1,"gates":[],"related":[{"name":"--disallowed","slug":"disallowed","description":null},{"name":"--disallowed-tools","slug":"disallowed-tools","description":"Deny rules. A bare tool name removes the matching tools from Claude's context: `\"Edit\"` removes Edit, `\"*\"` removes every tool, and `\"mcp__*\"` removes every MCP tool. A scoped rule such as `Bash(rm *)` leaves the tool available and denies only calls that match [as written](\/docs\/en\/permissions#bash-rule-limits). A rule naming [`EndConversation`](\/docs\/en\/tools-reference#endconversation-tool-behavior) can't remove it while any other tool remains"},{"name":"--disallowedTools","slug":"disallowedtools","description":"Deny rules. A bare tool name removes the matching tools from Claude's context: `\"Edit\"` removes Edit, `\"*\"` removes every tool, and `\"mcp__*\"` removes every MCP tool. A scoped rule such as `Bash(rm *)` leaves the tool available and denies only calls that match [as written](\/docs\/en\/permissions#bash-rule-limits). A rule naming [`EndConversation`](\/docs\/en\/tools-reference#endconversation-tool-behavior) can't remove it while any other tool remains"}],"url":"https:\/\/changelogs.core-directive.com\/reference\/cli\/disallow-tools","family_url":"https:\/\/changelogs.core-directive.com\/reference\/cli.json"}