{"name":"--tools","slug":"tools","family":"cli","title":"CLI flags","noun":"CLI flag","description":"Restrict which built-in tools Claude can use. Use `\"\"` to disable all, `\"default\"` for the default set, or tool names like `\"Bash,Edit,Read\"`. On macOS, Linux, and WSL, the default set leaves out `Glob` and `Grep`, as described under [Glob tool behavior](\/docs\/en\/tools-reference#glob-tool-behavior). If you name one of the [task-tracking tools](\/docs\/en\/tools-reference#task-tool-availability) here, Claude Code also opts the session in. The flag doesn't affect MCP tools; to deny those too, use `--disallowedTools \"mcp__*\"`. A list that omits [`EndConversation`](\/docs\/en\/tools-reference#endconversation-tool-behavior) doesn't remove it; `\"\"` removes it only when no MCP tools remain","description_source":"docs","described_by":{"doc":"claude-code\/cli-reference","title":"CLI reference"},"presence":{"first_seen":"2.1.138","removed_in":null,"in_current_build":true,"newest_mined":"2.1.308","builds":149,"mined_builds":149,"first_cited":{"version":"2.1.267","released_at":"2026-09-09 18:25:42","spans":10}},"aliases":[],"entries":[{"version":"2.1.305","anchor":"tools-typo-warnings-now-also-surface-as-securitywarnings","heading":"Mistyped --tools exclusions now also produce short security warnings","line":"A `--tools` exclusion that matches no built-in tool, or a bare prefix with no tool name, now also produces a short security warning","released_at":"2026-10-20 19:29:36","reason":"found in this entry's text, named in this entry"},{"version":"2.1.304","anchor":"tools-help-text-default-now-means-the-default-set","heading":"--tools help now says \"default\" picks the default set of tools","line":"The help text for --tools now describes \"default\" as using the default set of tools rather than all tools","released_at":"2026-10-19 19:47:15","reason":"found in this entry's text, named in this entry"},{"version":"2.1.299","anchor":"tools-gives-a-specific-error-when-given-an-mcp-tool","heading":"--tools explains that it cannot remove MCP tools","line":"Passing an MCP tool to `--tools` now fails with a message saying to use `--disallowed-tools` instead","released_at":"2026-10-14 00:23:19","reason":"found in this entry's text, named in this entry"},{"version":"2.1.299","anchor":"cloud-sessions-disallowed-tools-connector-wildcards-repor","heading":"Cloud sessions now warn that wildcard connector deny rules block nothing","line":"In a cloud session, a `--disallowed-tools` rule with `*` in a claude.ai connector's name is now reported as blocking no connector","released_at":"2026-10-14 00:23:19","reason":"found in this entry's text"},{"version":"2.1.299","anchor":"cloud-launch-error-messages-and-git-bundle-advice","heading":"Clearer errors and advice when starting cloud sessions","line":"Cloud session launches now give plainer errors for `--tools` on self-hosted environments, missing sign-in and some git failures","released_at":"2026-10-14 00:23:19","reason":"found in this entry's text"},{"version":"2.1.296","anchor":"cloud-tools-restriction-handling-reworked","heading":"--tools handling for cloud sessions reworked","line":"For cloud sessions, `--tools` is now sorted into the default set, a refused list or another list, and errors now name the refused tools","released_at":"2026-10-09 16:58:10","reason":"found in this entry's text, named in this entry"},{"version":"2.1.296","anchor":"tools-refused-for-cloud-sessions-on-non-anthropic-environm","heading":"Cloud sessions started with --tools now stop with an error on some environments","line":"Starting a cloud session with `--tools` on a Remote Control, self-hosted or unknown environment now fails with a clear error","released_at":"2026-10-09 16:58:10","reason":"found in this entry's text, named in this entry"},{"version":"2.1.296","anchor":"cloud-sessions-refuse-tools-disallowed-tools-restricti","heading":"Cloud sessions now refuse tool restrictions instead of quietly ignoring them","line":"Starting a cloud session with `--tools` or `--disallowed-tools` restrictions it cannot apply now fails with an error","released_at":"2026-10-09 16:58:10","reason":"found in this entry's text, named in this entry"},{"version":"2.1.295","anchor":"sdk-spawns-cli-with-flagvalue-form-and-guards-values-st","heading":"Agent SDK passes options so values starting with a dash are not misread","line":"The Agent SDK now passes many options as `--flag=value`, so a value starting with a dash is no longer mistaken for another flag","released_at":"2026-10-08 18:22:58","reason":"found in this entry's text"},{"version":"2.1.295","anchor":"tools-launch-list-now-withholds-unlisted-tools","heading":"Tools left out of --tools are now withheld unless a deny rule names them","line":"A tool missing from the session's `--tools` list and named by no deny rule is now withheld, with a warning","released_at":"2026-10-08 18:22:58","reason":"found in this entry's text, named in this entry"}],"entries_total":22,"docs":[{"source":"claude-code","path":"cli-reference","title":"CLI reference","documented":true},{"source":"claude-code","path":"agent-view","title":"Manage multiple agents with agent view","documented":false},{"source":"claude-code","path":"changelog","title":"Claude Code changelog","documented":false},{"source":"claude-code","path":"fullscreen","title":"Fullscreen rendering","documented":false},{"source":"claude-code","path":"mcp","title":"Connect Claude Code to tools via MCP","documented":false},{"source":"claude-code","path":"tools-reference","title":"Tools reference","documented":false},{"source":"claude-code","path":"whats-new\/2026-w23","title":"Week 23 \u00b7 June 1\u20135, 2026","documented":false},{"source":"claude-code","path":"whats-new\/2026-w35","title":"Week 35 \u00b7 August 24\u201328, 2026","documented":false}],"docs_total":8,"gates":[],"related":[],"url":"https:\/\/changelogs.core-directive.com\/reference\/cli\/tools","family_url":"https:\/\/changelogs.core-directive.com\/reference\/cli.json"}