Skip to content

Describe the client bank/anthropic's OPTIONAL block is for - #121

Merged
lpezet merged 1 commit into
release/1.14.5from
fix/anthropic-optional-block
Aug 19, 2026
Merged

lpezet merged 1 commit into
release/1.14.5from
fix/anthropic-optional-block

Conversation

@lpezet

@lpezet lpezet commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Closes #119, minus the one part of it that #120 retracted.

What changes

bank/anthropic/allowlist, comments only. No uncommented line changes, hosts is untouched, and the boundary is exactly what it was — this is about whether the OPTIONAL block describes a client anyone is actually running.

# downloads.claude.ai     GET     # in-place auto-update
# statsig.anthropic.com   POST    # feature flags
# sentry.io               POST    # error reporting
# http-intake.logs.us5.datadoghq.com   POST   # client telemetry
  • downloads.claude.ai — the auto-updater, retrying and failing 32 times in the reported run. Listed with the reason not to enable it: a lab that pins CLAUDE_VERSION updates by rebuild, so blocked is the right default, and the only cost is a noisy trail — which DISABLE_AUTOUPDATER fixes without opening egress.
  • http-intake.logs.us5.datadoghq.com — client telemetry. Worth naming because sentry.io was already here under "error reporting", so anyone reaching for that line to quiet telemetry blocks would find it changed nothing. Departs slightly from the issue: the us5 shard is per-account, so the comment says to copy what your own trail shows rather than trusting this line.
  • statsig.anthropic.com — keeps its line, gains the finding. Never contacted in that run; 2.1.x fetches gates over api.anthropic.com (GET /api/claude_code, POST /api/event_logging, both credentialed). Annotated rather than deleted — one lab is thin evidence for removing an option.

The evidence is scoped in the file itself: one client generation, one run, not a claim about the product.

Deliberately not here

Checks

00-config-lint 418/0/1, 05-check-drift 36/0, 06-check-invariants 70/0.

Both bank-allowlist checks strip full-line comments before parsing, so the additions are inert to them by construction — verified that bank/anthropic/allowlist — every declared host is reachable and — every entry states its methods still pass. Separately checked the four lines parse correctly if uncommented: each yields the intended method set, hostmatch.invalid() reports none uninterpretable, and each matches its own hostname.

🤖 Generated with Claude Code

https://claude.ai/code/session_01BLuSkuyQUfogZpMJ5fVMF9

Comments only — no uncommented line changes, `hosts` is untouched, and the
boundary is exactly what it was. What changes is whether the block describes a
client anyone is running.

Measured on one lab: Claude Code 2.1.234, every host that appeared in its trail
over one run. Two the block did not offer, and one it offers that never came up.

downloads.claude.ai is the auto-updater, retrying and failing 32 times in that
run. It is listed with the reason NOT to enable it: a lab that pins
CLAUDE_VERSION updates by rebuild, so blocked is the right default and the only
cost is a noisy trail — which DISABLE_AUTOUPDATER fixes without opening egress.

http-intake.logs.us5.datadoghq.com is client telemetry, and naming it matters
because sentry.io was already here under "error reporting": someone enabling
that line to quiet telemetry blocks would find it changed nothing. The `us5`
shard is per-account, so the line says to copy what your own trail shows rather
than this one.

statsig.anthropic.com keeps its line and gains the finding — never contacted in
that run, with 2.1.x fetching gates over api.anthropic.com instead. Annotated
rather than deleted: one lab is thin evidence for removing an option, and a
commented line costs nothing.

The evidence is scoped in the file itself, since a list of hosts one client
generation contacted is not a claim about the product.

Deliberately not here: raw.githubusercontent.com, which the trail cannot
attribute between the client and the agent's own work, because the proxy logs
host and method and no path. And the Remote Control note #119 suggested — #120
measured that conclusion wrong, so it should not ship in the shape #119 wrote it.

Refs #119

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BLuSkuyQUfogZpMJ5fVMF9
@lpezet
lpezet merged commit af0b917 into release/1.14.5 Aug 19, 2026
4 checks passed
lpezet added a commit that referenced this pull request Aug 19, 2026
The release is #121 and nothing else: comments in one bank entry's allowlist,
no uncommented line changed and no `hosts` change, so there is no image, addon
or manifest to rebuild.

The Upgrading section carries the one thing that is not obvious. An entry's
allowlist is copied into the deployment at install time, so a deployment that
already has bank/anthropic installed holds its own copy and never sees these
comments. Nothing behaves differently for it — every line involved is commented
on both sides — but "nothing to do" would leave someone wondering why their own
/etc/agent-allowlist did not change, so the entry says to diff it if the
annotations are wanted.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BLuSkuyQUfogZpMJ5fVMF9
@lpezet lpezet mentioned this pull request Aug 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant