38 pages for allowedtools.
Titles and paths first, then pages whose text carries it. Each row opens that page as this site last read it.
How the agent loop works
Claude Code CLI · in the page
agent-sdk/agent-loop
…options work together to determine what runs: * **`allowed_tools` / `allowedTools`** auto-approves listed tools. A read-only agent with `["Read", "Glob", "Grep"]` in its allowed tools list runs those…
Use Claude Code features in the SDK
Claude Code CLI · in the page
agent-sdk/claude-code-features
…ons from both locations. settingSources: ["user", "project"], allowedTools: ["Read", "Edit", "Bash"] } })) { if (message.type === "assistant") { for (const block of message.message.con…
Configure your agent
Claude Code CLI · in the page
agent-sdk/configuration
…thon where the spellings differ: * **`model`**: picks the model * **`allowedTools` / `allowed_tools`**: pre-approves a read-only tool list * **`maxTurns` / `max_turns`**: caps the turn count * **`cwd…
Give Claude custom tools
Claude Code CLI · in the page
agent-sdk/custom-tools
…ly qualified name](/docs/en/agent-sdk/mcp#tool-naming-convention) in `allowedTools` so the tool runs without a permission prompt. That name is `mcp__{server_name}__{tool_name}`, where `{server_name}`…
Connect to external tools with MCP
Claude Code CLI · in the page
agent-sdk/mcp
…cs) MCP server using [HTTP transport](#http%2Fsse-servers) and uses [`allowedTools`](#allow-mcp-tools) with a wildcard to permit all tools from the server. ```typescript TypeScript theme={null} impor…
Modifying system prompts
Claude Code CLI · in the page
agent-sdk/modifying-system-prompts
…ructions: false, attribution: { commit: "", pr: "" } }, allowedTools: ["Bash(git *)"] } })) { if (message.type === "result") console.log(message.subtype); } ``` ```python Python the…
Configure permissions
Claude Code CLI · in the page
agent-sdk/permissions
…/docs/en/permission-modes#actions-no-mode-auto-approves) * Each bare `allowedTools` entry such as `"Read"`, which auto-approves that whole tool before the callback is consulted, apart from the [action…
Agent SDK reference - Python
Claude Code CLI · in the page
agent-sdk/python
…iption: str prompt: str tools: list[str] | None = None disallowedTools: list[str] | None = None model: str | None = None skills: list[str] | None = None memory: Literal["user",…
Quickstart
Claude Code CLI · in the page
agent-sdk/quickstart
…that would cause crashes. Fix any issues you find.", options: { allowedTools: ["Read", "Edit", "Glob"], // Auto-approve these tools permissionMode: "acceptEdits" // Auto-approve file edits…
Work with sessions
Claude Code CLI · in the page
agent-sdk/sessions
…sage of query({ prompt: "Analyze the auth module", options: { allowedTools: ["Read", "Glob", "Grep"] } })) { if (message.type === "result" && message.subtype === "success") { conso…
Extend agents with skills
Claude Code CLI · in the page
agent-sdk/skills
…in a session When you set `skills`, the SDK adds the Skill tool to `allowedTools` automatically. If you also pass an explicit `tools` list, include `"Skill"` in that list so Claude can invoke skills…
Stream responses in real-time
Claude Code CLI · in the page
agent-sdk/streaming-output
…es in my project", options: { includePartialMessages: true, allowedTools: ["Bash", "Read"] } })) { if (message.type === "stream_event") { const event = message.event; if (event.t…
Streaming Input
Claude Code CLI · in the page
agent-sdk/streaming-vs-single-mode
…ry({ prompt: generateMessages(), options: { maxTurns: 10, allowedTools: ["Read", "Grep"] } })) { if (message.type === "result" && message.subtype === "success") { console.log(messa…
Subagents in the SDK
Claude Code CLI · in the page
agent-sdk/subagents
…or security issues", options: { // Auto-approve these tools allowedTools: ["Read", "Grep", "Glob", "Agent"], agents: { "code-reviewer": { // description tells Claude when t…
Track todos
Claude Code CLI · in the page
agent-sdk/todo-tracking
…ession in, do one of the following: * Name one of the tools in the [`allowedTools`](/docs/en/agent-sdk/permissions#allow-and-deny-rules) (TypeScript) or `allowed_tools` (Python) option * List the too…
Scale to many tools with tool search
Claude Code CLI · in the page
agent-sdk/tool-search
…url: "https://tools.example.com/mcp" } }, allowedTools: ["mcp__enterprise-tools__*"], // Wildcard pre-approves all tools from this server env: { ...process.en…
Agent SDK reference - TypeScript
Claude Code CLI · in the page
agent-sdk/typescript
…an-mode-plan) for how it interacts with `permissionMode: 'plan'` | | `allowedTools` | `string[]` | `[]` | Tools to auto-approve without prompting, apart from reads from [network paths](/docs/en/permis…
Orchestrate teams of Claude Code sessions
Claude Code CLI · in the page
agent-teams
…ode picks a teammate's model](#specify-teammates-and-models). * **`disallowedTools`**: for an in-process teammate, Claude Code removes the tools in the definition's `disallowedTools` from the teammate…
Best practices for Claude Code
Claude Code CLI · in the page
best-practices
…> [!TIP] > > Loop through tasks calling `claude -p` for each. Use `--allowedTools` to pre-approve tools for batch operations. For large migrations or analyses, you can distribute work across many pa…
Claude Code changelog
Claude Code CLI · in the page
changelog
…defined agent spawned by name now runs with its own prompt, tools, disallowedTools and effort instead of the defaults * Fixed headless (`-p` / SDK) sessions occasionally ignoring SIGTERM when a superv…
Explore the .claude directory
Claude Code CLI · in the page
claude-directory
…er-reference) | | `agents/*.md` | `name`, `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `maxTurns`, `autoCompactWindow`, `skills`, `mcpServers`, `hooks`, `memory`, `background`…
CLI reference
Claude Code CLI · in the page
cli-reference
…w-dangerously-skip-permissions` | | `--allowedTools`, `--allowed-tools` | Tools that execute without prompting for permission. See [permission rule syntax](/…
Desktop application
Claude Code CLI · in the page
desktop
…ries](#run-long-running-tasks-in-the-cloud) in a cloud session | | `--allowedTools`, `--disallowedTools` | No per-session equivalent. Permission rules in [settings files](/docs/en/settings) still appl…
Claude Code GitHub Actions
Claude Code CLI · in the page
github-actions
…ll/${{ github.event.pull_request.number }}" claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"' ``` Two lines in this workflow control where the review goes:…
Claude Code GitLab CI/CD
Claude Code CLI · in the page
gitlab-ci-cd
…the requested changes'}" --permission-mode acceptEdits --allowedTools "Bash Read Edit Write mcp__gitlab" --debug ``` After adding the job and your `ANTHROPIC_API_KEY` variable, tes…
Run Claude Code programmatically
Claude Code CLI · in the page
headless
…: ```bash theme={null} claude -p "Find and fix the bug in auth.py" --allowedTools "Read,Edit,Bash" ``` This page covers using the Agent SDK via the CLI (`claude -p`). For the Python and TypeScript S…
Deploy managed settings
Claude Code CLI · in the page
managed-settings
…nore permission rules from user, project, and local files and from `--allowedTools`: ```json managed-settings.json theme={null} { "permissions": { "deny": [ "Read(./.env)", "Read(./…
Monitoring
Claude Code CLI · in the page
monitoring-usage
…the user's personal settings * Enterprise managed policy * `--allowedTools` or `--disallowedTools` flags * The active permission mode * The auto mode classifier, whose verdict the same…
Choose a permission mode
Claude Code CLI · in the page
permission-modes
…lowlist | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | None beyond what your CI runner provides | [Cloud sessions](/docs/en/claude-code-on-the-we…
Configure permissions
Claude Code CLI · in the page
permissions
…`. To match a parameter on an MCP tool, pass a deny rule with [`--disallowedTools`](/docs/en/cli-reference#cli-flags). When Claude Code loads a settings file, it skips any `mcp__` rule that has paren…
Add components to a plugin
Claude Code CLI · in the page
plugins/components
…on`, `model`, `effort`, `maxTurns`, `autoCompactWindow`, `tools`, `disallowedTools`, `skills`, `memory`, `background`, `omitClaudeMd`, `isolation`, `color`, and the `cacheTtl` key of `experimental`. T…
Plugin manifest reference
Claude Code CLI · in the page
plugins/manifest-reference
…as `[file]` | | `model` | string | Default model for the command | | `allowedTools` | array of strings | Tools the command may use without prompting | This map declares one command from a file and on…
All settings
Claude Code CLI · in the page
settings-reference
…ny` rules in user, project, local, and `--settings` files, ignores `--allowedTools`, hides the always-allow choices in permission prompts, and stops saving new rules. When [parent settings from an em…
Create custom subagents
Claude Code CLI · in the page
sub-agents
…fields](#supported-frontmatter-fields)**: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `autoCompactWindow`, `skills`, `initialPrompt`, `memo…
Tools reference
Claude Code CLI · in the page
tools-reference
…sions-deny) in settings, and the `/permissions` interface * in the `--allowedTools` and `--disallowedTools` [CLI flags](/docs/en/cli-reference) * in the Agent SDK's [`allowedTools` and `disallowedTool…
Lazy authentication for MCP servers
Claude Documentation · in the page
connectors/building/lazy-authentication
…heme={null} claude -p "List the products from the authtest server." --allowedTools mcp__authtest__list_products ``` Claude reports the products and no sign-in prompt appears. Run the same command ask…
Build your first MCP server for Claude
Claude Documentation · in the page
connectors/building/quickstart
…erver>__<tool>`, so your tool is `mcp__quickstart__roll_dice`, and `--allowedTools` lets Claude call it without stopping to ask you: ```bash theme={null} claude -p "Roll three 20-sided dice using the…
Create custom skills
Claude Documentation · in the page
skills/how-to
…n't stop to ask, allow the script on the command line, for example `--allowedTools "Bash(python3 /path/to/my-plugin/skills/render-chart/scripts/render.py *)"`, using the script's absolute path. Claude…