Claude Code Now Labels OTEL Metrics by Team: What the June 2 Release Means for Operator Cost Allocation
The June 2 Claude Code release propagates OTEL_RESOURCE_ATTRIBUTES as labels on every metric datapoint, enabling per-team cost allocation at the Prometheus level without gateway-side custom instrumentation.
Archive item produced with AI assistance from the cited source and published without individual review. Editor of record: Joe Werner.

Two quiet changes in the June 2 Claude Code release significantly shift what enterprise operators can do with usage data. The first is that OTEL_RESOURCE_ATTRIBUTES values are now propagated as labels on metric datapoints — meaning any dimension you declare at the environment level (team=platform, repo=api-gateway, cost_center=12345) appears on every gauge and counter in your Prometheus or OTLP backend. The second is a regression fix that was silently blocking third-party provider sessions — Bedrock, Vertex, Foundry, and Mantle — for orgs using the forceLoginOrgUUID or forceLoginMethod managed-settings policies.
Neither change is a headline feature. Together, they close two gaps that have been blocking multi-team Claude Code deployments from running on routing infrastructure with proper billing accountability.
What Changed: OTEL_RESOURCE_ATTRIBUTES as Metric Labels
OTEL_RESOURCE_ATTRIBUTES now flow to metric labels. Prior to this release, resource attributes declared via the standard OpenTelemetry env var were attached to log events but did not appear as labels on metric datapoints. That meant operators had to instrument their collection pipeline (a Prometheus recording rule, a collector transform processor, or custom relabeling) to join team metadata back onto usage metrics. As of the June 2 release, those attributes are natively included on each datapoint. A minimal deployment now looks like:
# Set once per user or via MDM managed-settings
export CLAUDE_CODE_ENABLE_TELEMETRY=1
export OTEL_METRICS_EXPORTER=otlp
export OTEL_EXPORTER_OTLP_ENDPOINT=http://collector.example.com:4317
export OTEL_RESOURCE_ATTRIBUTES="team=platform,cost_center=12345,repo=api-gateway"
Any OTLP-compatible backend — Grafana, Datadog, Honeycomb, your in-house collector — will now receive every claude_code.* metric with those labels attached, without any pipeline transformation.
forceLoginOrgUUID/forceLoginMethod regression fixed. A regression introduced in v2.1.146 caused managed-settings policies that pin an org (forceLoginOrgUUID) or login method (forceLoginMethod) to also block third-party provider sessions — Bedrock, Vertex, Foundry, and Mantle — from authenticating alongside the org pin. Orgs that had deployed Claude Code via Bedrock or Vertex and applied enterprise identity policies would have seen session failures starting around late May. The June 2 release restores the correct behavior: the org identity pin applies to claude.ai authentication only and does not interfere with bring-your-own-cloud credentials.
Parallel tool call isolation. A failed Bash command no longer cancels other tool calls in the same parallel batch. Each tool returns its own result independently. For background agents that run multiple Bash operations concurrently — log tailing, file diffing, test runners — this eliminates a class of silent partial failures where a single command timeout killed all sibling tools.
ultracode keyword renamed. The dynamic-workflow trigger keyword has been renamed from workflow to ultracode. Any CI prompt or operator system prompt that used the word workflow to trigger dynamic execution must be updated. Anthropic notes that describing what you want in your own words still works; only the explicit keyword trigger changed.
Why It Matters for Routing Teams and OTEL Cost Allocation
Per-Team Cost Allocation Without a Custom Gateway Layer
Teams routing Claude Code through a shared API gateway — including those using TheRouter as the upstream — have historically needed to tag usage at the gateway or post-process telemetry to attribute costs to individual teams or cost centers. With OTEL_RESOURCE_ATTRIBUTES propagating natively to metric labels, operators can push that attribution responsibility to the client configuration layer, where the team context already lives, rather than inferring it from request headers or session metadata at the gateway.
This is particularly relevant for the multi-team observability pattern where each team runs Claude Code with a distinct resource attribute set but shares a common OTLP collector endpoint. The gateway sees a single upstream; the metrics backend sees per-team dimensions.
forceLoginOrgUUID Is Safe for Mixed Credentials Again
Enterprises that manage both a claude.ai Enterprise org and bring-your-own-cloud credentials (Bedrock, Vertex, or Foundry seats) can now deploy both identity policies without conflict. If you paused Bedrock or Vertex rollout after v2.1.146, the v2 June release is the safe re-enablement point.
The fix also covers Mantle (Anthropic's cloud reseller program), which routes through distinct credential paths that the original regression blocked.
Subagent Stdout Isolation Restored
A prior regression caused background subagent output to corrupt claude -p stdout when using --output-format text or json. This is critical for operators running Claude Code in CI pipelines where claude -p output feeds into downstream automation. The fix means structured output from headless sessions is reliable again without wrapping the call in a subprocess or output filter.
What to Watch
The OTEL label propagation change opens a compound pattern: pair OTEL_RESOURCE_ATTRIBUTES with Claude Code's managed settings file distributed via MDM, and every workstation in a given team automatically reports under the correct cost dimension. Anthropic's monitoring docs already describe the MDM path for centralized telemetry configuration; the June 2 change makes the label data worth collecting.
Operators who have not yet deployed Claude Code's OpenTelemetry integration should review the monitoring and observability guide and consider pairing it with a routing-layer request ledger. The combination gives you both client-side attribution (what team consumed what) and gateway-side verification (what actually hit which provider).
The ultracode rename is a breaking change for any system prompt or CI script that used the word workflow as a trigger. Audit your prompt templates and replace explicit keyword triggers with descriptive task descriptions, which remain stable across releases.

Claude Enterprise Model Entitlements: Per-Role Model Access and Effort Level Caps Land in Beta
Anthropic's new Enterprise model entitlements let admins lock specific Claude models to roles and cap the effort level—directly capping token spend—per role. Here is what AI engineering teams need to configure.

Claude Agent SDK Billing Splits Today: When the Subscription Credit Covers Your Agent and When to Route via API Key
Anthropic's Agent SDK billing split is live as of June 15. The new per-user monthly credit ($20–$200 by plan) draws from a separate meter — but the ceiling changes the routing decision for every production agent team.

Claude Code Now Breaks Down Usage Cost per Skill, Agent, and MCP Server in VSCode — What Enterprise Operators Need to Know
The June 12 Claude Code release adds per-skill, per-agent, and per-MCP-server cost attribution to the VSCode /usage dialog, fixes a Bedrock GovCloud bug, and closes a background-session credential leak.