Source Intelligence
Sweep 28 Aug 2026 · 00:00Z Build v2.1.250 478 read Stable v2.1.236 Latest v2.1.250 Next v2.1.251 Feeds RSS JSON llms.txt
Reading a new release v2.1.251 Analysing changes · 2/5 Deeper second pass · 0/5 agents 427 findings $12.75 so far

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

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…