Follow Discord
Sweep 10 Nov 2026 · 02:18Z Build v2.1.322 539 read Stable v2.1.311 Latest v2.1.322 Next v2.1.322 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One capture · claude-code

One read of Claude Code CLIclaude-code-20261110T033701Z

4 pages moved out of 228 read.

Pages moved 4 significant first
Pages read 228 in this capture
Captured 03:37 UTC
Corpus hash 07bc72b3b3ca corpus-hash

What this read moved

1-4 of 4

changelog Changed · +6 / -0 lines

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

from line 6
66 
77Run `claude --version` to check your installed version.
88 
9**2.1.322**
10 
11November 10, 2026
12 
13* Added fast mode on Vertex in the global, us and eu regions, falling back to standard speed if Vertex refuses it
14 
915**2.1.321**
1016 
1117November 9, 2026
from line 2122
21162122* Fixed a mod's start-up prompt, command or subagent being queued a second time when the hooks worker was replaced
21172123* Fixed a mod's hook that called `next(e)` and then failed while the turn was interrupted letting the call through; the call is now rejected
21182124* Fixed a plugin's prompt drop or setting deny being ignored when its reason was longer than 4,096 characters
2119* Fixed an organization's plugin being unloaded on its own reload, or after another plugin crashed, when it returned a `$` name that a user-installed mod had
2125* Fixed an

hooks Changed · +8 / -0 lines

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

from line 2206
22062206| `addDirectories` | `directories`, `destination` | Adds working directories. `directories` is an array of path strings |
22072207| `removeDirectories` | `directories`, `destination` | Removes working directories |
22082208 
2209In `rules`, for a [permission rule](https://code.claude.com/docs/en/permissions.md#permission-rule-syntax) written `Tool(specifier)`, `toolName` is the tool's name and `ruleContent` is the specifier:
2210 
2211* `Bash(npm test)`: `{ "toolName": "Bash", "ruleContent": "npm test" }`
2212* `Bash` or `Bash(*)`: `{ "toolName": "Bash" }`, because both match the whole tool
2213* `mcp__github__get_issue`: `{ "toolName": "mcp__github__get_issue" }`
2214 
2215Leave `ruleContent` out of an allow rule for an [MCP tool](https://code.claude.com/docs/en/permissions.md#mcp). If you add it, the rule doesn't match any call.
2216 
22092217> [!NOTE]
22102218>
22112219> `setMode` with `bypassPermissions` only takes effect if you launched the session with bypass mode already available: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions`, or `permissions.defaultMode: "bypassPermissions"` in [user, `--settings`, or managed settings](https://code.claude.com/docs/en/settings-reference#permissions-defaultmode). Otherwise the update is a no-op. The update is also a no-op when [`permissions.disableBypassPermissionsMode`](https://code.claude.com/docs/en/permissions#managed-settings) disables the mode, or when the session starts in [restricted mode](https://code.claude.com/docs/en/cli-reference.md#cli-flags).
from line 3716
37083716| :- | :- | :- |
37093717| Answer for the user | `"action": "accept"`, with the form field values in `content` | `accept` with your `content` |
37103718| Decline the request | `"action": "decline"` | `decline` |
3711| Cancel the request | `"action": "cancel"` | `cancel` |
3712| Leave the request to the user | No output, with exit code 0 | The user's answer from the [dialog](https://code.claude.com/docs/en/mcp.md#respond-to-mcp-elicitation-requests) |
3713 
3714This output answers the form-mode request shown under [Elicitation input](#elicitation-input). The keys in `content` are the property names from that request's `requested_schema`:
3715 
3716```json theme={null}
3717{
3718 "hookSpecificOutput": {
3719 "hookEventName": "Elicitation",
3720 "action": "accept",
3721 "content": {
3722 "username": "alice"
3723 }
3724 }
3725}
3726```
3727 
3728This output declines a re
3719| Cancel the request |

monitoring-usage Changed · +14 / -11 lines

from line 142
142142 
143143### Metrics cardinality control
144144 
145The following environment variables control which attributes are included in metrics to manage cardinality:
145The following environment variables control which attributes are included in metrics and events to manage cardinality:
146146 
147147| Environment Variable | Description | Default Value | Example to Disable |
148148| - | - | - | - |
149| `OTEL_METRICS_INCLUDE_SESSION_ID` | Include session.id and, on cloud sessions, ccr.session.id attributes in metrics | `true` | `false` |
150| `OTEL_METRICS_INCLUDE_VERSION` | Include app.version attribute in metrics | `false` | `true` |
151| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Include user.account\_uuid and user.account\_id attributes in metrics | `true` | `false` |
152| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Include app.entrypoint attribute in metrics | `false` | `true` |
153| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Include keys from `OTEL_RESOURCE_ATTRIBUTES` as attributes on metric datapoints | `true` | `false` |
149| `OTEL_METRICS_INCLUDE_SESSION_ID` | Include session.id and cloud sessions' ccr.session.id attributes in metrics and events | `true` | `false` |
150| `OTEL_METRICS_INCLUDE_VERSION` | Include app.version attribute in metrics and events | `false` | `true` |
151| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Include user.account\_uuid and user.account\_id attributes in metrics and events | `true` | `false` |
152| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Include app.entrypoint attribute in metrics and events | `false` | `true` |
153| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Include keys from `OTEL_RESOURCE_ATTRIBUTES` as attributes on metric datapoints and events | `true` | `false` |
154154| `OTEL_METRICS_INCLUDE_REPOSITORY` | Include `vcs.*` [repository identity attributes](#repository-attributes) on metrics and events. Requires Claude Code v2.1.269 or later | `false` | `true` |
155155 
156156Lower cardinality generally means better performance and lower storage costs but less granular data for analysis.
from line 567
567567 
568568To attribute telemetry in more detail, use these options:
569569 
570* **Identify Claude Tag sessions**: set `OTEL_METRICS_INCLUDE_ENTRYPOINT=true`, as described under [Metrics cardinality control](#metrics-cardinality-control). Metrics then carry `app.entrypoint`, whose value is `claude-in-slack` for Claude Tag sessions.
570* **Identify Claude Tag sessions**: set `OTEL_METRICS_INCLUDE_ENTRYPOINT=true`, as described under [Metrics cardinality control](#metrics-cardinality-control). Metrics and events then carry `app.entrypoint`, whose value is `claude-in-slack` for Claude Tag sessions.
571571* **Add custom attributes**: set [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) in the same place you set the other `OTEL_*` variables for those sessions. If you `export` it in the environment's [setup script](https://code.claude.com/docs/en/cloud-environments.md#setup-scripts) instead, the value doesn't reach Claude Code: the setup script is a separate Bash script that runs before Claude Code launches, and variables it exports end with it.
572572 
573573In Claude Tag channel sessions, Claude works as your organization's [shared identity](https://code.claude.com/docs/en/cloud-environments.md#set-the-environment-a-claude-tag-channel-uses) rather than as any member, so don't rely on the `user.*` attributes to identify who tagged Claude.
from line 583
583583| `session.id` | Claude Code's own session ID, which `/clear` replaces | `OTEL_METRICS_INCLUDE_SESSION_ID` (default: true) |
584584| `ccr.session.id` | Cloud session identifier, the value of `CLAUDE_CODE_REMOTE_SESSION_ID`, on sessions that run in a [cloud environment](https://code.claude.com/docs/en/cloud-environments.md) | `OTEL_METRICS_INCLUDE_SESSION_ID` (default: true) |
585585| `app.version` | Current Claude Code version | `OTEL_METRICS_INCLUDE_VERSION` (default: false) |
586| `app.entrypoint` | How the session was launched, such as `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, `claude-vscode`, or `claude-in-slack` for Claude Tag sessions | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (default: false) |
586| `app.entrypoint` | How the session was launched, such as `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, `claude-vscode`, `claude-desktop` for Claude Desktop Code tab sessions outside the cloud, `claude-desktop-3p` for the same sessions on a [third-party deployment](https://claude.com/docs/third-party/claude-desktop/overview), or `claude-in-slack` for Claude Tag sessions. Cloud session values include `remote`, plus `remote_desktop` and `remote_mobile` for sessions you start from Claude Desktop or the mobile app | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (default: false) |
587587| `organization.id` | Organization UUID (when authenticated) | Always included when available |
588588| `user.account_uuid` | Account UUID (when authenticated) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (default: true) |
589589| `user.account_id` | Account ID in tagged format matching Anthropic admin APIs (when authenticated), such as `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (default: true) |
from line 639
639639 
640640| Metric Name | Description | Unit |
641641| - | - | - |
642| `claude_code.session.count` | Count of CLI sessions started | none |
642| `claude_code.session.count` | Count of sessions started | none |
643643| `claude_code.lines_of_code.count` | Count of lines of code modified | none |
644644| `claude_code.pull_request.count` | Number of pull requests created | none |
645645| `claude_code.commit.count` | Number of git commits created | none |
from line 656
656656 
657657#### Session counter
658658 
659Incremented at the start of each session.
659Incremented at the start of each session. To count people instead, see [Usage monitoring](#usage-monitoring).
660660 
661661**Attributes**:
662662 
from line 1545
15451545| Metric | Analysis Opportunity |
15461546| - | - |
15471547| `claude_code.token.usage` | Break down by token [`type`](#token-counter), user, team, model, `skill.name`, `plugin.name`, or `agent.name` |
1548| `claude_code.session.count` | Track adoption and engagement over time |
15491548| `claude_code.lines_of_code.count` | Measure productivity by tracking code additions and removals, broken down by model |
15501549| `claude_code.commit.count` & `claude_code.pull_request.count` | Understand impact on development workflows |
1550 
1551To compare active users across surfaces, set `OTEL_METRICS_INCLUDE_ENTRYPOINT=true` to add [`app.entrypoint`](#standard-attributes) to metrics and events. Then count distinct `user.account_uuid` values per entrypoint on [`claude_code.user_prompt`](#user-prompt-event) events, or on `claude_code.token.usage` if you export only metrics. For example, use `cli` for interactive CLI sessions, and group `claude-desktop`, `claude-desktop-3p`, and `remote_desktop` for the Claude Desktop Code tab.
1552 
1553`user.account_uuid` doesn't identify people in Claude Tag channel sessions and is missing from sessions with no Claude account: see [Attribute actions to users](#attribute-actions-to-users). When one person starts many sessions, or a session receives no prompt, [`claude_code.session.count`](#session-counter) goes up without adding an active user.
15511554 
15521555### Cost monitoring
15531556 

permissions Changed · +2 / -0 lines

from line 574
574574* `mcp__puppeteer__*` uses wildcard syntax and also matches all tools from the `puppeteer` server
575575* `mcp__puppeteer__puppeteer_navigate` matches the `puppeteer_navigate` tool provided by the `puppeteer` server
576576 
577Write allow rules for MCP tools without a [specifier](#use-specifiers-for-fine-grained-control), which a [permission update](https://code.claude.com/docs/en/hooks.md#permission-update-entries) calls `ruleContent`. If you add one to allow only some of a tool's calls, the rule doesn't match any call. To block some calls instead, see [Match by input parameter](#match-by-input-parameter).
578 
577579For `<server>`, write the server's name the way it appears in that server's tool names. These examples show the rule to write for a name with special characters, a server from a plugin, and a name that contains `__` or ends in `_`:
578580 
579581* **Names with characters such as `.` or spaces**: those characters become `_`, so for a server you configured as `my.server`, write `mcp__my_server__*`
Feedback