Claude Code

Claude Code 2.1.317: It Now Asks Before a Tool Sends Your Account Email Address

2 min read AI-generated

The Claude apps gateway admin API gains a cost report, and to make it work the gateway now records which IdP groups each developer was in, every day.

Featured image for "Claude Code 2.1.317: It Now Asks Before a Tool Sends Your Account Email Address"

Claude Code 2.1.317 landed on npm on November 2 at 23:57 UTC. The changelog is unusually long, and two entries in it are about the same thing: data leaving a session without anybody being asked. I wrote about 2.1.316 on Saturday.

Your email address no longer leaves quietly

New in this release is a check that asks before a web or shell tool call sends your account email address to the network. It sounds small, but it catches something that happens constantly: a script builds a user agent, a curl adds a contact address, an API call appends it as a parameter. Until now that went through silently.

/schedule warns about connectors you did not ask for

The second entry of the same kind: /schedule now flags it when a new cloud scheduled task is given connectors you did not request, and tells you how to remove them. A scheduled task runs with nobody watching. Which connectors it may touch is exactly the detail you want to see beforehand, not afterwards.

onFailure: block for Agent SDK hooks

Hook callbacks in the Agent SDK get onFailure: "block". The old behaviour was that a failing callback let the action run anyway. With the new setting, a failing callback blocks it. If you build hooks as a guardrail rather than a log, you finally get the guarantee you always meant.

A cost report that records IdP groups

The Claude apps gateway admin API gains GET /v1/organizations/analytics/cost. It reads past spend over a date range, in total, per developer, per day or per IdP group. To make that last grouping work, the gateway now keeps a daily record of each developer’s IdP groups, retained for admin.identity_retention_days. In the same vein, OTel metrics, events and spans gained anthropic.plan, anthropic.seat_type, anthropic.provider and anthropic.custom_base_url.

For self-hosted runners there is also CLAUDE_CODE_DISABLE_NESTED_SESSION_ID: set it to 1 and a claude -p running inside a session uses that session’s ID and transcript again, as in earlier versions.

Three lines about data leaving, and that is the pattern

Email address, connectors, IdP groups. A single release adds two new prompts before data leaves and one new endpoint that retains data about people in order to attribute cost. That is not a contradiction, it is the same development from two directions. Claude Code is landing in organizations where somebody has to explain who spent what, and where somebody else has to explain which data left the building.

I like that the prompts came first. A tool that asks before it sends has earned the right to log more afterwards.

Sources

Claude CodeReleasePrivacyAgent SDK