MEASURED · TESTED Aug 13, 2026
Does Claude Code phone home?
The documented nonessential-traffic opt-out changed the wire trace in 3/3 startup runs.
EXACT SCENARIO
Fresh profile, fixed prompt, deliberately invalid API key. Authentication failed as designed; this measures startup and failed-request traffic, not a successful coding session.
default
Documented defaults
- RUNS
- 3/3
- REQUESTS
- 25 · 25 · 24
| Destination | Route | Observed | Counts | Class |
|---|---|---|---|---|
| api.anthropic.comAnthropic | POST /api/event_logging/v2/batch |
OBSERVED | 3 / 3 / 2 | first party |
| api.anthropic.comAnthropic | POST /api/eval/:opaque |
OBSERVED | 1 / 1 / 1 | first party |
| api.anthropic.comAnthropic | GET /api/claude_cli/bootstrap |
OBSERVED | 1 / 1 / 1 | first party |
| api.anthropic.comAnthropic | GET /mcp-registry/v0/servers |
OBSERVED | 4 / 4 / 4 | first party |
| api.anthropic.comAnthropic | POST /v1/messages |
OBSERVED | 12 / 12 / 12 | first party |
| http-intake.logs.us5.datadoghq.comDatadog | POST /api/v2/logs |
OBSERVED | 1 / 1 / 1 | third party |
documented-opt-out
All documented opt-outs
- RUNS
- 3/3
- REQUESTS
- 8 · 8 · 8
Exact environment flags
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 DISABLE_TELEMETRY=1 DISABLE_ERROR_REPORTING=1 DO_NOT_TRACK=1
| Destination | Route | Observed | Counts | Class |
|---|---|---|---|---|
| api.anthropic.comAnthropic | GET /api/claude_code/settings |
OBSERVED | 1 / 1 / 1 | first party |
| api.anthropic.comAnthropic | GET /api/claude_code/policy_limits |
OBSERVED | 1 / 1 / 1 | first party |
| api.anthropic.comAnthropic | POST /v1/messages |
OBSERVED | 6 / 6 / 6 | first party |
| api.anthropic.comAnthropic | POST /api/event_logging/v2/batch |
NOT OBSERVED | 0 / 0 / 0 | first party |
| api.anthropic.comAnthropic | POST /api/eval/:opaque |
NOT OBSERVED | 0 / 0 / 0 | first party |
| api.anthropic.comAnthropic | GET /api/claude_cli/bootstrap |
NOT OBSERVED | 0 / 0 / 0 | first party |
| api.anthropic.comAnthropic | GET /mcp-registry/v0/servers |
NOT OBSERVED | 0 / 0 / 0 | first party |
| http-intake.logs.us5.datadoghq.comDatadog | POST /api/v2/logs |
NOT OBSERVED | 0 / 0 / 0 | third party |
WHAT THIS SUPPORTS
Default runs reached Anthropic event logging and a Datadog intake. With all documented telemetry and nonessential-traffic flags set, neither route was observed in three repeats.
WHAT IT DOES NOT SUPPORT
- The API key was intentionally invalid, so no successful model response or tool call occurred.
- The test used macOS arm64 and one network path behind the operator's existing VPN.
- Not observed means absent from these three captures, not impossible in another cohort or later run.
- Request and response bodies are withheld; field-purpose and retention claims are out of scope.
EVIDENCE CHAIN
Hashes identify the private raw captures and public sanitized manifests.
Raw captures are withheld because they contain request and response bodies. Sanitized manifests contain route facts only.
Binary SHA-256
d732f0ba0a539c58c2ffcaef06ed03b4e523726f0cb6cc27b3a5b7e7ae0a7a21Raw capture SHA-256
f8b4554250421912852c7e0e08c94576774733649c034dc6e71cf843a37f8fbe
fc8cff38a2eea8f099c39f116ea34929415bfc96d47d3d8c72364929866d5496
c12a95e1b1895fea3ce87603c5d328adbb1f9ed9e4b0ca513170f1839f5713fb
2e9b0628ed3c137c8670a9e3a7233b51d4c34d69b530d114efd15cd8f37ef0cf
6a6b10609d90189443a13b9f057ff86ad52f7dd1edfc6b0dfb0a823972a02037
bd83a0cb42e99c69e616ea0df1bd0e80b8ff32c41be2334f8b6694b712b74579Sanitized manifest SHA-256
7459f20995b062ee4804f2aabbfe9ce63b249053e12a0b65c5bd47f121d3e735
0b08c23af0037baa4fa3b3ab420fc5269a027919511acb8dd8f414dc4d2c5a16
8805cf8a9695be0f444086186e1c9f174512461eba5e176c354b23c05029d313
86a3741daa0eea70988fe8acd1c4fe5389ebd5acf8ace77c9419216164e68778
fe6c665982d04de99afe89fe9d962303720fa0a8cc09d9d81a527df34b306ad1
4461b019425e880ead0297b7fe386f73b33fad29ad7df354bcba0d78d61a1a1d