Search the documentation
41 pages for readonly.
Titles and paths first, then pages whose text carries it. Each row opens that page as this site last read it.
content-moderation
Claude Developer Platform · in the page
about-claude/use-case-guides/content-moderation
…, string? Explanation)> ModerateMessage( string message, IReadOnlyList<string> categories ) { // Convert the unsafe categories into a string, with each category on a new line…
customer-support-chat
Claude Developer Platform · in the page
about-claude/use-case-guides/customer-support-chat
…py values defined // earlier in this guide (shown in Python). readonly anthropic = new Anthropic(); readonly messages: Anthropic.MessageParam[] = []; async generateMessage( mess…
advisor-tool
Claude Developer Platform · in the page
agents-and-tools/tool-use/advisor-tool
…block per tool_use block. List<BetaContentBlockParam> RunYourTools(IReadOnlyList<BetaContentBlock> content) { List<BetaContentBlockParam> results = []; foreach (var block in content)…
browser-use-tool
Claude Developer Platform · in the page
agents-and-tools/tool-use/browser-use-tool
…ultBlockParamContent HandleBrowserAction( string action, IReadOnlyDictionary<string, JsonElement> input ) => action switch { "navigate" => Navigate(input["url"].Get…
computer-use-tool
Claude Developer Platform · in the page
agents-and-tools/tool-use/computer-use-tool
…aramContent HandleComputerAction( string action, IReadOnlyDictionary<string, JsonElement> input ) => action switch { "screenshot" => Capture…
text-editor-tool
Claude Developer Platform · in the page
agents-and-tools/tool-use/text-editor-tool
…} ``` ```csharp C# static string HandleEditorTool(IReadOnlyDictionary<string, JsonElement> input) { input.TryGetValue("command", out var commandEl); input.…
claude-platform-on-aws-iam-actions
Claude Developer Platform · in the page
api/claude-platform-on-aws-iam-actions
…h reading batch metadata and downloading batch results. The `AnthropicReadOnlyAccess`, `AnthropicInferenceAccess`, and `AnthropicLimitedAccess` policies' `Get*` wildcards include this action. </Note>…
claude-platform-on-aws
Claude Developer Platform · in the page
build-with-claude/claude-platform-on-aws
…AWS provides five managed policies (`AnthropicFullAccess`, `AnthropicReadOnlyAccess`, `AnthropicInferenceAccess`, `AnthropicLimitedAccess`, and `AnthropicSelfHostedEnvironmentAccess`) for common acce…
mid-conversation-effort-example
Claude Developer Platform · in the page
build-with-claude/mid-conversation-effort-example
…in flight at once. async function mapWithLimit<In, Out>( items: readonly In[], limit: number, task: (item: In) => Promise<Out>, ): Promise<Out[]> { const results = new Array<Out>(i…
inference-hooks-endpoint
Claude Developer Platform · in the page
manage-claude/inference-hooks-endpoint
…/// </summary> public static bool Verify(string secret, IReadOnlyDictionary<string, string> headers, byte[] body) { // TryAdd keeps the first value if a proxy delivered ca…
aws
Claude Developer Platform · in the page
manage-claude/wif-providers/aws
…class StsTokenProvider : IIdentityTokenProvider { private readonly AmazonSecurityTokenServiceClient _sts = new(Amazon.RegionEndpoint.USEast1); public async Task<string> GetIdentityT…
Create the app registration that represents the Claude API audience.
Claude Developer Platform · in the page
manage-claude/wif-providers/azure
…ivate const string Audience = "api://<APP_ID>"; private static readonly HttpClient httpClient = new(); public async Task<string> GetIdentityTokenAsync(CancellationToken ct = default)…
gcp
Claude Developer Platform · in the page
manage-claude/wif-providers/gcp
…udience=https://api.anthropic.com&format=full"; private static readonly HttpClient httpClient = new() { DefaultRequestHeaders = { { "Metadata-Flavor", "Google" } }, };…
kubernetes
Claude Developer Platform · in the page
manage-claude/wif-providers/kubernetes
…c-token mountPath: /var/run/secrets/anthropic.com readOnly: true ``` The token issued for this pod carries `sub: "system:serviceaccount:inference:inference-worker"` and `aud: ["ht…
okta
Claude Developer Platform · in the page
manage-claude/wif-providers/okta
…s OktaTokenProvider : IIdentityTokenProvider { private static readonly HttpClient Http = new(); public async Task<string> GetIdentityTokenAsync(CancellationToken ct = default) {…
spawn.sh: called once per claimed work item
Claude Developer Platform · in the page
managed-agents/self-hosted-sandboxes
…write` and `edit` additionally refuse paths under `read_only_roots` (`readOnlyRoots`, `ReadOnlyRoots`). `EnvironmentWorker` adds the session's memory store directories to these lists itself. The confi…
How the agent loop works
Claude Code CLI · in the page
agent-sdk/agent-loop
…ntial execution. To enable parallel execution for a custom tool, set `readOnlyHint` in its annotations. Both the [TypeScript](/docs/en/agent-sdk/typescript#tool) and [Python](/docs/en/agent-sdk/python…
Give Claude custom tools
Claude Code CLI · in the page
agent-sdk/custom-tools
…| | Let Claude call tools in parallel | Set `readOnlyHint: true` on tools with no side effects. See [Add tool annotations](#add-tool-annotations).…
Intercept and control agent behavior with hooks
Claude Code CLI · in the page
agent-sdk/hooks
…{} ``` ```typescript TypeScript theme={null} const autoApproveReadOnly: HookCallback = async (input, toolUseID, { signal }) => { if (input.hook_event_name !== "PreToolUse") return {};…
Connect to external tools with MCP
Claude Code CLI · in the page
agent-sdk/mcp
…L the agent emits, including writes, unless you restrict it. Setting `readonly = true` in the [DBHub configuration file](https://dbhub.ai/config/toml) makes DBHub reject `INSERT`, `UPDATE`, `DELETE`,…
Agent SDK reference - Python
Claude Code CLI · in the page
agent-sdk/python
…| | `readOnlyHint` | `bool \| None` | `False` | If `True`, the tool does not modify its environment…
Agent SDK reference - TypeScript
Claude Code CLI · in the page
agent-sdk/typescript
…| | `readOnlyHint` | `boolean` | `false` | If `true`, the tool does not modify its environment…
TypeScript SDK V2 session API (removed)
Claude Code CLI · in the page
agent-sdk/typescript-v2-preview
…ession interface ```typescript theme={null} interface SDKSession { readonly sessionId: string; send(message: string | SDKUserMessage): Promise<void>; stream(): AsyncGenerator<SDKMessage, void>;…
Claude Code changelog
Claude Code CLI · in the page
changelog
…ackground-service daemon not starting when `~/.claude/daemon` has the ReadOnly attribute set * Fixed cloud sessions failing with "Could not resolve authentication method" when idle for too long befo…
Claude apps gateway configuration
Claude Code CLI · in the page
claude-apps-gateway-config
…egation on the `https://www.googleapis.com/auth/admin.directory.group.readonly` scope, and `admin_email` to a Workspace administrator the service account impersonates; the Directory API requires a rea…
Connect Claude Code to tools via MCP
Claude Code CLI · in the page
mcp
…-transport stdio db -- npx -y @bytebase/dbhub \ --dsn "postgresql://readonly:[email protected]:5432/analytics" ``` To confirm the server starts, run `/mcp` and check that `db` shows `connected`. Th…
Prompt library
Claude Code CLI · in the page
prompt-library
…eateElement('textarea'); ta.value = str; ta.setAttribute('readonly', ''); ta.style.position = 'fixed'; ta.style.opacity = '0'; document.body.appendChild(ta); ta.sel…
Deploy self-hosted environments to production
Claude Code CLI · in the page
self-hosted-environments-deploy
…environment-secret mountPath: /etc/claude readOnly: true ports: - name: health containerPort: 8080 readinessProbe:…
Create custom subagents
Claude Code CLI · in the page
sub-agents
…hooks: - type: command command: "./scripts/validate-readonly-query.sh" --- ``` Claude Code [passes hook input as JSON](/docs/en/hooks#pretooluse-input) via stdin to hook commands. T…
Give Claude access to your tools
Claude Documentation · in the page
claude-tag/admins/add-connections
…t you'll read when deciding which bundles to bind to a channel: `data-readonly`, `github-write`, `monitoring`, `gtm-tools`. A capability name stays meaningful when the same bundle serves several teams…
Connect Google Drive, Calendar, and Gmail
Claude Documentation · in the page
claude-tag/admins/connections/google
…scopes to request (for example `https://www.googleapis.com/auth/drive.readonly`). The field is labeled optional, but Drive and Calendar calls fail without the matching scope listed here. | | Subject (…
Model Context Protocol (MCP)
Claude Documentation · in the page
connectors/building/mcp
…connect at any time ### Tool hints All MCP tools must declare: * [`readOnlyHint`](https://modelcontextprotocol.io/specification/latest/schema#toolannotations-readonlyhint): Tool only reads data * […
Pre-submission checklist
Claude Documentation · in the page
connectors/building/review-criteria
…notations Every tool must include a `title` and the applicable hint—`readOnlyHint: true` for read-only tools, `destructiveHint: true` for tools that modify or delete data. These determine auto-permis…
Submitting to the Connectors Directory
Claude Documentation · in the page
connectors/building/submission
…l annotations**: All tools must include a `title` and the applicable `readOnlyHint` or `destructiveHint` 3. **Authentication**: Use OAuth 2.0 for authenticated services 4. **Privacy Policy**: Local co…
Changelog
Claude Documentation · in the page
cowork/changelog
…ent ID with the device flow enabled. The new `host`, `toolsets`, and `readOnly` subfields point the connector at a GitHub Enterprise Server instance, choose which toolsets load, and offer read tools o…
Configuration reference
Claude Documentation · in the page
third-party/claude-desktop/configuration
…| | `readOnly` | `boolean` | — | Offer only read tools — the server registers no write tools at all…
Configuration changelog
Claude Documentation · in the page
third-party/claude-desktop/configuration-changelog
…ent ID with the device flow enabled. The new `host`, `toolsets`, and `readOnly` subfields point the connector at a GitHub Enterprise Server instance, choose which toolsets load, and offer read tools o…
Connect to GitHub
Claude Documentation · in the page
third-party/claude-desktop/connectors-github
…-party/claude-desktop/configuration#managedmcpservers) | `toolsets`, `readOnly`, and per-tool [`toolPolicy`](/docs/third-party/claude-desktop/configuration#managedmcpservers) | | Claude Desktop versio…
Tool Annotations Charter
Model Context Protocol · in the page
community/interest-groups/tool-annotations
…g annotations**: Assess whether the current set of tool annotations (`readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`) adequately serves server and client authors * **Discussion of…
SEP-1686: Tasks
Model Context Protocol · in the page
seps/1686-tasks
…by polling a task. */ class PendingRequest<TResult> { constructor(readonly protocol: Protocol, readonly result: Promise<TResult>, readonly taskId?: string) {} /** * Waits for a result, calli…
SEP-2549: TTL for List Results
Model Context Protocol · in the page
seps/2549-TTL-for-list-results
…milliseconds after receiving the response. */ ttlMs: number & { readonly minimum: 0 }; /** * Indicates the intended scope of the cached response, analogous to HTTP * Cache-Control: publ…