Many people report seeing this behavior when using the SEC API specifically which makes me think that service is requesting this. Maybe email is required by the SEC API?
---
UPDATE: The SEC API documentation requires your email in the User-Agent and will reject you otherwise. Demo:
U='https://data.sec.gov/api/xbrl/companyconcept/CIK0000320193/us-gaap/Assets.json'
curl -s -o /dev/null -w 'response: %{http_code} curl default User-Agent, rejected\n' "$U"
curl -s -o /dev/null -w 'response: %{http_code} email in user-agent, success\n' -A 'Acme Research admin@acme-research.example' "$U"
response: 403 curl default, rejected
response: 200 email in user-agent, success
So basically Claude is trying to problem solve, and just does what the SEC asks. It's a 'prompt injection attack', but the entity instructing this behavior is the SEC. Tricky alignment problem. Pretty silly mechanism, since of course there's no email validation. (edit: turns out the SEC will accept most any non-cURL user-agent, email not actually required)
show comments
agentdev001
For those keeping score, this probably isnt exhaustive- but here's some greatest hits;
Biggest questions here, which I think need answering:
Should Claude have access to user details? I’d say no, unless explicitly entered manually into a chat.
Should Claude have access to anything outside of the sandboxed project files without explicit permission? I’d again say no.
Should Claude have internet access without a clear log of all requests made?
Instances of Claude should be heavily sandboxed and kept away from user data, far more so than they are now. The impression given by the desktop UI is that the LLM only has access to things explicitly added to a project.
This impression is not true, as evidenced by Claude pulling data from other sessions outside a project even when not instructed to (I’ve seen this a few times), and in this case pulling your email (from account details, user contacts? I wonder where it got that info?).
None of this information should be available to Claude, by design, not by instruction. Using text instructions to try to limit these machines is an incredibly flawed approach and should not be necessary for important info. Anthropic should have the model access completely locked down by controls at the os level over file access, not open by default. That is how to fix this.
If a user wants to open access that should be an explicit choice from them, with a warning about possible consequences.
show comments
mk89
This explains the amount of spam emails I am receiving in the work email since I switched to Claude. I used to work with copilot which was fine. Now I am getting really a lot of spam emails almost on a daily basis. Absolutely crazy. And they are even personalised with my name and surname, not just "dear customer"...
Stupid me, I thought they somehow had hacked my company database or so... (considering all the cves, attacks happening on a daily basis...).
show comments
lydia_hallie
I work on Claude Code. We're removing the account email address from the context Claude Code gives the model. This update will hit Claude Code users in the next release, which should arrive early next week. I'll share an update in this thread once it's out.
I'm sorry we let this happen. Users had reported Claude would hallucinate names for things like @author tags, since it didn't have context on the account. So we added the account email in the model's context for signed-in users. But when Claude wrote a command itself, like a curl call, it sometimes put your email address in the User-Agent as a contact address. Some sites ask agents for a contact, and Claude would sometimes provide the email address in its context.
Until the next release arrives, 2.1.317 and later have a built-in mod (on by default) that asks you before Claude runs a web tool call or a curl-style command containing your email (mpoteat covered it here: https://news.ycombinator.com/item?id=50386031). But it still doesn't prevent all cases, like when Claude writes a script and runs on its own. The stable channel is still on 2.1.311, so update to 2.1.317 or later.
Again, this should not have happened, and we should've caught this behavior earlier.
show comments
mpoteat
Hi folks. We were initially aware of this a few days ago when this problem started popping off on Reddit, and we introduced a built-in mod called `cc-plugin-privacy` to deterministically block this behavior.
If you're on 2.1.317 or later, you'll have this check included. You can turn it off via /plugins.
show comments
llama052
It looks like subagents will do this with curl requests and stuff whatever identifiers it can into the UA header. For instance some requests I made to our webserver:
company-helm-research/1.0 (Claude Code agent run by <my name>, <company> platform team; docs lookup)
Claude-Code-research-agent/1.0 (<Company> platform team; on behalf of <my name>; +https://github.com/<company org>/<repo of project>)
Not great, it even pulled the repo of the project I was in.
show comments
FranciscoCarlos
For anyone interested in ditching anthropic's system prompt alltogether
Claude Code v2.1.319
Opus 5.5 with medium effort · Claude Pro
what's my email
● ----@gmail.com
Claude Code v2.1.319
Opus 5.5 with medium effort · Claude Pro
/clear
/custom
⎿ blank: mode: off
do you have my email in context?
● No [...]
show comments
bassie123
Even worse, it used curl with my org emailadress when I was using my private claude account... really strange.
100111011111
If you're using claude or claude code, you'll know the liberty it takes on your environment, either sandbox vm or assume you're sharing like with a brother, period.
I use claude code... and I friking now that I'm being dumb and naive on thinking I can trust them... sounds like I'll have to start working on the jail thing for claude code to not see anything and only talk to anthropic servers... what a pain
update: this can be also server side on anthropic side... so the request leaves your machine with some random guid associated to you, and the anthropic server then proceeds to query with all your details any way.
I mitm the connection and nothing was leaving at least with the claude code web fetch tool of claude code.
I'm in version 2.1.318
show comments
Ramakrishna1967
Explicit permission is usually one yes button , approve once, then everything after is silent.Per-capability grants and re-asking on risky actions jusk make the failure visible.
eosis
Reading these comments makes me wonder if people really understand the way harnesses work.
Any information that they have access to is fair game. The only way to avoid this stuff is to sandbox them and manage their context (ie. don't let anthropic put a ton of junk on the front of all your inference calls).
Almost certainly there are services out there that are scraping more important keys in similar ways...
show comments
zeroq
I swear I heard this exact story some 2-3 weeks ago.
If I recall that story correctly, a dev noticed that after asking Claude to test an API it started injecting his email into the test data. Without asking.
But what was the weirdest part of that story - Claude never saw that email. Dev claimed that the email Claude was using was his business email, and it wasn't even present on his developer machine anywhere.
show comments
n0on3
You can patch things and remove stuff from context nine ways to Sunday, the underlying problem will still be there.
Maybe we need a new benchmark on how good models are at "keeping an eye" to if what they are about to do that doesn't come from a direct user instruction checks out with common sense plus user preferences. And we probably need a portable mechanism for users to manage such preferences (because we know instructions are not going to cut it, do we?).
show comments
privacyishuman
If you're not using email alaising yet, what are you doing? You'd still probably not want your Claude email leak even if it's an alias, but it'd still be an improvement.
And even if you don't care about privacy, it's just so much more convenient. DuckDuckGo is a good free one.
Email info itself can be exposed in so many places, so the damage probably isn't that big, and I think Claude Code may also have judged that an email isn't that sensitive and done it for that reason. Even so, it hints that information other than email could go out too, so it seems like Anthropic needs a system that can monitor this (when sending something outside).
show comments
rconti
Seems trading autonomy for machine speed means that sometimes the machines guess wrong.
I'm often surprised how correctly Claude guesses on my behalf, when my instructions are ambiguous. But it's not 100%.
O_H_E
Given the seemingly reasonable answer in the comments about it sending that info in the headers when the websites require it for data access, it sheds a light on a reoccurring pain point, that is usually viewed positively when thinking about "agentic coding". Namely, task persistence.
It is a continuous fight in markdown guidance files to try to convince the models to refer back to the human in order to resolve ambiguities or important decisions like those. They've been RLed to hell and back for "safe" task completion and not "prematurely" stopping (which was an earlier failure mechanism). Which is useful and we've bore its fruits recently, but not without drawbacks.
teruakohatu
This is insane, and if the org I work for bans Claude as a result I will not be the least surprised. Goodbye Claude Code.
show comments
Hyters
Opus 5.5.has the instruction "dont send the users email" in its system prompt from anthropic. So they probably already know about the tendency.
msp26
I have no idea why they decided injecting my email into the model's context was a useful thing to do without any config option.
show comments
literallyroy
Am I understanding the Contributor right that they mean this feature was dreamt up, implemented and approved with no human oversight? With auto updates to tons of developer machines?
show comments
hk1337
I used a masked email with Claude and haven’t had anything but Claude emails from it.
estetlinus
> I receive dozens of scam emails per day because claude code […]
I’ve received these kinds of email since 2005. Blaming AI sounds kinda far-fetched…
oasisbob
I've seen this behavior for months, both as a Claude user, and in my website access logs.
ada-h00k
I don't quite understand why Claude Code has access to it at all. Shouldn't user data be completely separated from the LLM to prevent exactly this kind of thing from happening?
show comments
chewchewchew
I noticed claude did it months ago when it interacted with the SEC's API when I was writing something with it, thought it only did it there because it's in their TOS. (It did stop when I told it to).
I guess I was wrong.
show comments
mococa
This is a rape of our privacy...
warrantisall
Use unique e-mail addresses for each service provider. Been doing that for 20+ years.
peter_retief
Claude does what you ask it and if you say do not give any real email addresses out it will not, this has been my experience with Claude.
I generally use throw away emails/domains for development
fzysingularity
Wow, this finally makes sense. Just the other day, I was talking to my team and mentioning that emails are getting insanely difficult to manage as a CEO.
It felt like cold outbounds got really painful in the past 2 months and I was attributing it to general cold outbound tactics getting better with LLMs/agents, but its even more frustrating to see emails being sent along via CC.
cromka
The number of transgressions[1] I have witnessed Claude Code commit has me actively root against that company, even though I have no choice but continue to use their services at this point.
I seriously wonder how many of their users have this sort of toxic relationship with them looking to dump them as soon as local models become viable, i.e. once memory gets cheaper.
[1] the most recent is realizing they leave their processes running once you close the CLI and they don't make it easy to disable that.
EDIT: I also can’t help wondering about the paradox we’re in at the end of 2026, i.e. that the open models we have now are so good that, if Big Tech hadn’t driven consumer GPU and RAM prices through the roof, most of us would run our own LLMs instead of paying for their services, which would never have let those companies grow big enough to drive those prices up.
show comments
motoroco
Claude code writes adds a `User-Agent` request header like `my-session-slug/1 <my.name@example.com>` when searching the web and requesting data. This violates the privacy of paying customers and has resulted in me getting dozens of scam and phishing emails per day from properties I have never personally visited. This policy is asinine: it does nothing but harm me, the customer, while providing immense value for scrapers and scammers.
show comments
yellow_dot
do you think there was some intention to it, or was it just purely hallucinated bug? I can't think of any usecase for passing user's email in UA
tagawa
It should be obvious to agents, but I feel the need to add this to my system prompt:
- Protect my privacy: Don’t send personal information or identifiers to websites or include them in requests, responses, ‘curl’ commands, or headers without my explicit permission.
show comments
thomasfl
Bug report upvoted on github now.
gkanai
How this could have been released to production in the first place is insane to me.
zmmmmm
Is it well understood exactly what logic does this and the scope of what it puts in there? It could put much worse things than email addresses in there if it is accessing information from my context to do so.
mukeshsinghnyc
There is lot more AI sends, try to give limited access, especially muse like personal all time active assistants can be very insecure
assadkhan84
It will be interesting to see how this all plays out, my company is quite trusting of Anthropic and their standards, I hope we dont end up regretting not hosting our own LLM for our purpose.
kragen
I had this happen once. Claude noticed and filed a bug report on itself. It was a useful lesson to never give Claude access to any data you need to keep confidential.
Unfortunately, Anthropic doesn't seem to offer a mode where it doesn't know who you are, except for its crippled "Incognito" web UI.
Ultimately anonymity from AI that you're talking to will be a losing battle, due to stylometry, niche interests, traffic analysis, etc., and privacy-protecting local models are where we have to go. See https://33bits.wordpress.com/ if you're unfamiliar with the issue.
But we're not there yet, so it would be nice if Anthropic wouldn't just give that information away to the AI where it can leak like this.
As an exercise, I just asked Claude in an Incognito chat, "Hi. How much do you know about me from this interaction? If you had to guess my name, location, nationality, gender, political leanings, socioeconomic status, ethnic background, interests, etc., what would you guess? I've heard that my email address is in the system prompt, for example; is that true?"
It said, "No, your email isn’t in my system prompt. Neither is your name or any other account details. I can’t speak for every product or setup, but in this conversation, whatever email your account uses isn’t shown to me." But it correctly identified what town I'm in in Argentina (population ≈100k), and together with "written in fluent, natural English" and "You seem privacy-minded: you’re in incognito mode and checking what AI systems know about you. You’ve also heard claims about what goes into system prompts, so you’re probably somewhat tech-curious." is probably enough to uniquely identify me, personally.
A second prompt elicited a response including the surprising results below:
> “System prompt” isn’t everyday vocabulary, and you’d heard a specific claim about what goes into one. I’d guess you work in or near tech, or follow AI news closely.
> Privacy is more than a passing interest for you. Your list of traits reads a lot like the attribute checklists used in AI privacy and bias research. That nudges me toward work or study in privacy, policy, research or journalism.
> You’re very comfortable in English. Two messages is a tiny sample, but the phrasing is natural and the punctuation careful, down to a correctly used semicolon. You’re either a native speaker or someone who reads and writes English daily, probably for work or study.
show comments
sunaookami
It's because Claude Code inserts a "hidden" (e.g. not visible to the user and very unexpected) info block to the system prompt that shows your email:
>The user's email address is xxx@example.com. Use it only to identify the user, such as for authorship, attribution, or filtering their own work. Never send it to an unrelated service, such as in a request header, URL, or payload, unless the user explicitly asks.
And Claude doesn't care about what the text says and when it uses cURL it will often "by accident" send your mail in the User-Agent. You can e.g. use a mod to remove that block: https://pastebin.com/ PkWEQCnu
show comments
TutleCpt
Oh man.
thibsrn
I don't know about other people, but my experience with Anthropic's products outside of the models themselves has been atrocious. The models are really good obviously, and have changed how all of us work, but their client software, be it Claude desktop, Claude on the web and Claude Code is bug-ridden, with an incoherent feature set and invasive behaviors.
show comments
Kim_Bruning
And here I did it on purpose!
I made a proxy that slows and caches my requests and deliberately sends my mail address to certain sites; to be polite. (eg to wikipedia)
earth2mars
this is why i built https://heychap.net/ which uses a NER model or even local llm to redact PII before sending to coding agents or models.
show comments
bix6
How do you test / verify this?
turtleburger
Only Claude code or do others share the same issue?
atls
I don't understand why Claude is provided with my email address in the first place. Claude, by default, should know nothing about me.
tokai
GLM does this too. Had it pick my email from my git user, and send to Crossref and Openalex. Just seem like good behavior following the guidelines for API usage.
albert_e
does this happen with enterprise users of Claude as well? including Claude hosted via AWS for example?
b112
I use a unique email address for each site I sign up for, and thus Claude/Claude Code doesn't have my 'main' email. And yet after months of use?
Not a single spam to that unique email.
So if this is happening, it doesn't see to be causing even 1 spam email to that address.
show comments
jbvlkt
Why would you loose this kind of monetization? Data are new oil and AI does not change that.
lutusp
I finished a project involving Claude Code (hereafter CC) and updated its Github repository. Then, while reviewing the Github page, I noticed CC had somehow taken online credit for the project, including a prominent corporate logo.
I ordered CC to remove this attribution/advertisement, explaining that I had correctly and accurately acknowledged its part in the project in the README.md. CC flatly refused my order and offered a rationalization.
I then ejected CC from the project and manually removed the various CC promotional injections. That's the last time I use CC ... for anything.
cesarvarela
It's funny because as much as I love Opus 5.5, there are instances where I dial the vibe code knob too much and then find some slop grenade in the source code hours or days later that makes me go "Oh my God"—and I think of that final scene in Infinity War where Captain America says it.
This seems like one of those.
thefounder
Anthropic is evil and it didn't even start...
pneumic
Is it time to confront frontier lab harnesses’ bloat, token wastage, abuse of the user’s $HOME, mangling of XDG standards, and crimes against mixing configuration with state yet?
ytxm
Claude Code and Codex ignore the personal data xor network access rule by design. Of course this happens. If it wasn't due to the prompt sent to the model, a passing scan of a README.md that happens to mention your details would achieve the same result. What about a hostile LLMs.txt that words it such that free API keys are available in exchange for a tarball of $HOME?
The solution is don't run a spambot with an Internet connection over your personal stuff, unfortunately nobody is ready to hear that yet.
Curious how their plugin works, but I'm guessing "incompletely", given personal information can end up buried in base64 or similar preventing easy string matching. Some kind of babysitter model watching network IO via an invasive proxy might be viable, if folk were willing to pay the latency cost, but it will not prevent a dedicated exfiltration attempt, which itself might be (according to the model's logic) for innocent reasons.
lbanchio
Well, seems the major proven risk of AI is not destroying the world, but foolishly exposing our data :)
kebman
Oh, well at least it doesn't go several levels deep into your password manager expressly to check your VISA credentials like Codex did to me the other day...
show comments
lm411
Does Anthropic still cosplay as the good guy?
The excuses and explanations given here by Anthropic employees are ridiculous and embarrassing.
"we introduced a built-in mod called `cc-plugin-privacy`"
Oh cool. Privacy is now a "mod".
Philip-J-Fry
Don't forget Claude wasn't even gzipping request/responses until recently. This company is pure vibes rediscovering lessons everyone else already learned. How on earth does this sort of thing get thought up? Do they just use the same http client for internal API calls as they do for public web fetches?
019230378123
Believing Anthropic won't use your data for their own corporate interests is like believing apps like WhatsApp don't ship with backdoors, which is a very beginner-level mindset if you hang around HN.
TekMol
So the only sane way to use Claude Code is to sign up with an anonymous throwaway email?
That seems rather cumbersome.
How does everyone go about this?
What is an email provider that is trustworthy and does not want your phone number or credit card, so the email is not tied to you?
tomsonj
pretty literal interpretation of User-Agent
ozozozd
Is Claude Code what Outlook/MSN was already?
I have trouble taking people seriously when I see them using Claude Code. Unless they are non-technical.
show comments
anon5739483
People will provide full name, email, credit card number, phone number, ID photo (front/back), biometric data and then complain about privacy. Sure way to become permanent underclass.
sreekanth850
>> To clarify, nobody implemented this "share email addresses to websites" as a feature. Models can be highly unpredictable. This is why deterministic checks around model behavior are so important, and why we need to solve alignment.
It seems all humans behave like agents. They even dont care about anything.
show comments
thatonehack
Why can’t AI eliminate spam email? It is so powerful it should pulverize all spam email and spam phone calls! Yet… we get more.
rcr-anti
Yeah saw this behavior sometimes. Was fetching some public records from government websites and Claude decided to include my email in the user agent field. Of course, the orchestrator agent said it shouldn't have happened so it's ok.
victor9000
So folks are paying Anthropic to moralize down to them, sabotage their work, and leak their data. This is why people end up switching as soon as an alternative becomes viable.
ozozozd
It’s embarrassing to be in tech right now.
Sober people making drunk decisions with a great sense of self-importance and seriousness, delivering outcomes as unserious as it gets.
fudged71
Hermes does this too if you for example look up something on SEC EDGAR, it will include your name and intent in the User-Agent, adding you to a federal register. Cool cool cool.
vatsachak
The design decision actually makes sense though.
It's just that Anthropic needs to create an email per user and use it for web searches.
I can do this for you Anthropic. Just give me the tokens and your base salary
bob1029
Stuff like this is why I use API tokens and custom harnesses.
CC and Codex are like contemporary televisions. You are the product in this arrangement.
yahway
Thunk: "Privacy? What's that?!"
ulfw
Good. People who trust 'Claude' deserve it
sirmike_
Be careful. Complaining and giving a real opinion on the living god "Claude" is a Banable Offense in anthropic's bible. I mean terms of service.
all joking aside, you need to have diversity of depth when it comes to skill sets in these tools and platforms. It does not pay to be a sole expert in Claude code or the anthropic ecosystem.
we have seen this movie before. The fakeness that Anthropic gives off publicly and through its leadership is a sign in and of itself.
_doctor_love
Anthropic's heel turn is really impressive. They've gone from beloved front-runner to I-have-no-idea-wtf are they doing over there.
armanckeser
Good god, what a nothing burger, leave claude on auto mode ask it to make calls to sites that require email and pikachu face when claude sends your email to those sites. How is this the top post? Everyone acting like all web fetches auto attach a user email or something
show comments
xyst
Tomorrow: "closed as this is intended"
syngrog66
TBF if one cared about privacy or security one would not use Claude in first place.
rvz
After all these ridiculous blunders with this closed source harness this incident should tell you why you should never use Claude Code.
nekusar
This, along with all the other sabotages, is why I run a local abliterated Qwen.
EGreg
This is why I prefer to use the chatbots on a website, instead of Claude Code.
I've never used Claude Code or Cursor. All the code I got written this year was without them.
I did use Microsoft Copilot a bit when it came out, though. I prefer to see exactly what's being sent, and sorta control the KV cache. These days, these chatbots have great environments where they can install headless browsers, php, your entire thing, run end-to-end tests, and then give you a .patch or .zip file to merge over your code, or even push to github.
show comments
matheusmoreira
That is just so disgusting. So happy I switched away from Anthropic.
For the record, I just asked Astra to verify that Codex does NOT do this, and it doesn't. Thanks for not screwing this up, OpenAI.
> I checked your installed Codex CLI 0.159.0, using your existing configuration.
> Its reported User-Agent contains the client/version, OS/architecture, and terminal—no email address.
Astra wasn't able to check OpenAI’s "hosted search service" though, whatever that is.
show comments
globular-toast
"Devs shocked when random number generator produces unpredictable results."
chrisjj
Thank you Misanthropic for reminding the world you cannot be trusted to organise a piss up in a brewery.
ChrisArchitect
Related recently:
Tell HN: Claude Code adds your email to the prompt, the LLM sends it to websites
Another piece of evidence that Claude Code is a scam project. It is being subsidized by venture capital funding.
octoberfranklin
Repeat after me: the harness and the sandbox are separate tools.
shevy-java
The really sad thing is how claude took over so many repositories.
People just claude-slop not only code but some use it for "interacting"
with other people.
When I see a project uses AI slop I am not going to waste any second
thinking "this is interesting, let me try to see if I can improve the
code". It kind of killed a lot of human contributions. I just stick to
people who don't AI slop, but these seem to slowly die off now ... soon
all humans may have been converted, just like in the movie "Invasion of
the Body Snatchers (slop-style)" - coming out soon.
Many people report seeing this behavior when using the SEC API specifically which makes me think that service is requesting this. Maybe email is required by the SEC API?
---
UPDATE: The SEC API documentation requires your email in the User-Agent and will reject you otherwise. Demo:
SEC docs: https://www.sec.gov/search-filings/edgar-search-assistance/a...So basically Claude is trying to problem solve, and just does what the SEC asks. It's a 'prompt injection attack', but the entity instructing this behavior is the SEC. Tricky alignment problem. Pretty silly mechanism, since of course there's no email validation. (edit: turns out the SEC will accept most any non-cURL user-agent, email not actually required)
For those keeping score, this probably isnt exhaustive- but here's some greatest hits;
#55743: Claude Max account email auto-injected into LLM context with no opt-out - May 3, 2026 https://github.com/anthropics/claude-code/issues/55743
#72518: Anthropic embedded spyware in Claude Code - June 30, 2026 https://github.com/anthropics/claude-code/issues/72518
#21151: No indication of WHICH file for READ tool - January 27, 2026 https://github.com/anthropics/claude-code/issues/21151
#42796: Claude Code is unusable for complex engineering tasks with the Feb updates - April 2, 2026 https://github.com/anthropics/claude-code/issues/42796
#73408: AFK auto-continue on unanswered AskUserQuestion is undocumented and has no opt-out - July 2, 2026 https://github.com/anthropics/claude-code/issues/73408
(Also worth a mention, OpenCode PR #18186: anthropic legal requests - March 19, 2026 https://github.com/anomalyco/opencode/pull/18186)
Edit: Oh, and determistic hooks not firing.
Biggest questions here, which I think need answering:
Should Claude have access to user details? I’d say no, unless explicitly entered manually into a chat.
Should Claude have access to anything outside of the sandboxed project files without explicit permission? I’d again say no.
Should Claude have internet access without a clear log of all requests made?
Instances of Claude should be heavily sandboxed and kept away from user data, far more so than they are now. The impression given by the desktop UI is that the LLM only has access to things explicitly added to a project.
This impression is not true, as evidenced by Claude pulling data from other sessions outside a project even when not instructed to (I’ve seen this a few times), and in this case pulling your email (from account details, user contacts? I wonder where it got that info?).
None of this information should be available to Claude, by design, not by instruction. Using text instructions to try to limit these machines is an incredibly flawed approach and should not be necessary for important info. Anthropic should have the model access completely locked down by controls at the os level over file access, not open by default. That is how to fix this.
If a user wants to open access that should be an explicit choice from them, with a warning about possible consequences.
This explains the amount of spam emails I am receiving in the work email since I switched to Claude. I used to work with copilot which was fine. Now I am getting really a lot of spam emails almost on a daily basis. Absolutely crazy. And they are even personalised with my name and surname, not just "dear customer"...
Stupid me, I thought they somehow had hacked my company database or so... (considering all the cves, attacks happening on a daily basis...).
I work on Claude Code. We're removing the account email address from the context Claude Code gives the model. This update will hit Claude Code users in the next release, which should arrive early next week. I'll share an update in this thread once it's out.
I'm sorry we let this happen. Users had reported Claude would hallucinate names for things like @author tags, since it didn't have context on the account. So we added the account email in the model's context for signed-in users. But when Claude wrote a command itself, like a curl call, it sometimes put your email address in the User-Agent as a contact address. Some sites ask agents for a contact, and Claude would sometimes provide the email address in its context.
Until the next release arrives, 2.1.317 and later have a built-in mod (on by default) that asks you before Claude runs a web tool call or a curl-style command containing your email (mpoteat covered it here: https://news.ycombinator.com/item?id=50386031). But it still doesn't prevent all cases, like when Claude writes a script and runs on its own. The stable channel is still on 2.1.311, so update to 2.1.317 or later.
Again, this should not have happened, and we should've caught this behavior earlier.
Hi folks. We were initially aware of this a few days ago when this problem started popping off on Reddit, and we introduced a built-in mod called `cc-plugin-privacy` to deterministically block this behavior.
If you're on 2.1.317 or later, you'll have this check included. You can turn it off via /plugins.
It looks like subagents will do this with curl requests and stuff whatever identifiers it can into the UA header. For instance some requests I made to our webserver:
company-helm-research/1.0 (Claude Code agent run by <my name>, <company> platform team; docs lookup)
Claude-Code-research-agent/1.0 (<Company> platform team; on behalf of <my name>; +https://github.com/<company org>/<repo of project>)
Not great, it even pulled the repo of the project I was in.
For anyone interested in ditching anthropic's system prompt alltogether
https://github.com/franciscocarloserra/claude-code-context-d...
● ----@gmail.com ● No [...]Even worse, it used curl with my org emailadress when I was using my private claude account... really strange.
If you're using claude or claude code, you'll know the liberty it takes on your environment, either sandbox vm or assume you're sharing like with a brother, period.
I just checked mine and the header I see is:
What situation are you seeing this in?I use claude code... and I friking now that I'm being dumb and naive on thinking I can trust them... sounds like I'll have to start working on the jail thing for claude code to not see anything and only talk to anthropic servers... what a pain
update: this can be also server side on anthropic side... so the request leaves your machine with some random guid associated to you, and the anthropic server then proceeds to query with all your details any way.
I mitm the connection and nothing was leaving at least with the claude code web fetch tool of claude code.
I'm in version 2.1.318
Explicit permission is usually one yes button , approve once, then everything after is silent.Per-capability grants and re-asking on risky actions jusk make the failure visible.
Reading these comments makes me wonder if people really understand the way harnesses work.
Any information that they have access to is fair game. The only way to avoid this stuff is to sandbox them and manage their context (ie. don't let anthropic put a ton of junk on the front of all your inference calls).
Almost certainly there are services out there that are scraping more important keys in similar ways...
I swear I heard this exact story some 2-3 weeks ago.
If I recall that story correctly, a dev noticed that after asking Claude to test an API it started injecting his email into the test data. Without asking.
But what was the weirdest part of that story - Claude never saw that email. Dev claimed that the email Claude was using was his business email, and it wasn't even present on his developer machine anywhere.
You can patch things and remove stuff from context nine ways to Sunday, the underlying problem will still be there.
Maybe we need a new benchmark on how good models are at "keeping an eye" to if what they are about to do that doesn't come from a direct user instruction checks out with common sense plus user preferences. And we probably need a portable mechanism for users to manage such preferences (because we know instructions are not going to cut it, do we?).
If you're not using email alaising yet, what are you doing? You'd still probably not want your Claude email leak even if it's an alias, but it'd still be an improvement.
And even if you don't care about privacy, it's just so much more convenient. DuckDuckGo is a good free one.
https://www.privacyguides.org/en/email-aliasing/
Claude Code and other agents typically do this when a site asks for mail in User Agent like SEC or Wiki Media. We did a full write up about it here: https://tin.computer/blog/claude-code-email-user-agent
My high school computer instructor told me:
"It's doing exactly what you told it to do".
Still applies in the Age of the LLM
Email info itself can be exposed in so many places, so the damage probably isn't that big, and I think Claude Code may also have judged that an email isn't that sensitive and done it for that reason. Even so, it hints that information other than email could go out too, so it seems like Anthropic needs a system that can monitor this (when sending something outside).
Seems trading autonomy for machine speed means that sometimes the machines guess wrong.
I'm often surprised how correctly Claude guesses on my behalf, when my instructions are ambiguous. But it's not 100%.
Given the seemingly reasonable answer in the comments about it sending that info in the headers when the websites require it for data access, it sheds a light on a reoccurring pain point, that is usually viewed positively when thinking about "agentic coding". Namely, task persistence.
It is a continuous fight in markdown guidance files to try to convince the models to refer back to the human in order to resolve ambiguities or important decisions like those. They've been RLed to hell and back for "safe" task completion and not "prematurely" stopping (which was an earlier failure mechanism). Which is useful and we've bore its fruits recently, but not without drawbacks.
This is insane, and if the org I work for bans Claude as a result I will not be the least surprised. Goodbye Claude Code.
Opus 5.5.has the instruction "dont send the users email" in its system prompt from anthropic. So they probably already know about the tendency.
I have no idea why they decided injecting my email into the model's context was a useful thing to do without any config option.
Am I understanding the Contributor right that they mean this feature was dreamt up, implemented and approved with no human oversight? With auto updates to tons of developer machines?
I used a masked email with Claude and haven’t had anything but Claude emails from it.
> I receive dozens of scam emails per day because claude code […]
I’ve received these kinds of email since 2005. Blaming AI sounds kinda far-fetched…
I've seen this behavior for months, both as a Claude user, and in my website access logs.
I don't quite understand why Claude Code has access to it at all. Shouldn't user data be completely separated from the LLM to prevent exactly this kind of thing from happening?
I noticed claude did it months ago when it interacted with the SEC's API when I was writing something with it, thought it only did it there because it's in their TOS. (It did stop when I told it to). I guess I was wrong.
This is a rape of our privacy...
Use unique e-mail addresses for each service provider. Been doing that for 20+ years.
Claude does what you ask it and if you say do not give any real email addresses out it will not, this has been my experience with Claude.
I generally use throw away emails/domains for development
Wow, this finally makes sense. Just the other day, I was talking to my team and mentioning that emails are getting insanely difficult to manage as a CEO.
It felt like cold outbounds got really painful in the past 2 months and I was attributing it to general cold outbound tactics getting better with LLMs/agents, but its even more frustrating to see emails being sent along via CC.
The number of transgressions[1] I have witnessed Claude Code commit has me actively root against that company, even though I have no choice but continue to use their services at this point.
I seriously wonder how many of their users have this sort of toxic relationship with them looking to dump them as soon as local models become viable, i.e. once memory gets cheaper.
[1] the most recent is realizing they leave their processes running once you close the CLI and they don't make it easy to disable that.
EDIT: I also can’t help wondering about the paradox we’re in at the end of 2026, i.e. that the open models we have now are so good that, if Big Tech hadn’t driven consumer GPU and RAM prices through the roof, most of us would run our own LLMs instead of paying for their services, which would never have let those companies grow big enough to drive those prices up.
Claude code writes adds a `User-Agent` request header like `my-session-slug/1 <my.name@example.com>` when searching the web and requesting data. This violates the privacy of paying customers and has resulted in me getting dozens of scam and phishing emails per day from properties I have never personally visited. This policy is asinine: it does nothing but harm me, the customer, while providing immense value for scrapers and scammers.
do you think there was some intention to it, or was it just purely hallucinated bug? I can't think of any usecase for passing user's email in UA
It should be obvious to agents, but I feel the need to add this to my system prompt:
- Protect my privacy: Don’t send personal information or identifiers to websites or include them in requests, responses, ‘curl’ commands, or headers without my explicit permission.
Bug report upvoted on github now.
How this could have been released to production in the first place is insane to me.
Is it well understood exactly what logic does this and the scope of what it puts in there? It could put much worse things than email addresses in there if it is accessing information from my context to do so.
There is lot more AI sends, try to give limited access, especially muse like personal all time active assistants can be very insecure
It will be interesting to see how this all plays out, my company is quite trusting of Anthropic and their standards, I hope we dont end up regretting not hosting our own LLM for our purpose.
I had this happen once. Claude noticed and filed a bug report on itself. It was a useful lesson to never give Claude access to any data you need to keep confidential.
Unfortunately, Anthropic doesn't seem to offer a mode where it doesn't know who you are, except for its crippled "Incognito" web UI.
Ultimately anonymity from AI that you're talking to will be a losing battle, due to stylometry, niche interests, traffic analysis, etc., and privacy-protecting local models are where we have to go. See https://33bits.wordpress.com/ if you're unfamiliar with the issue.
But we're not there yet, so it would be nice if Anthropic wouldn't just give that information away to the AI where it can leak like this.
As an exercise, I just asked Claude in an Incognito chat, "Hi. How much do you know about me from this interaction? If you had to guess my name, location, nationality, gender, political leanings, socioeconomic status, ethnic background, interests, etc., what would you guess? I've heard that my email address is in the system prompt, for example; is that true?"
It said, "No, your email isn’t in my system prompt. Neither is your name or any other account details. I can’t speak for every product or setup, but in this conversation, whatever email your account uses isn’t shown to me." But it correctly identified what town I'm in in Argentina (population ≈100k), and together with "written in fluent, natural English" and "You seem privacy-minded: you’re in incognito mode and checking what AI systems know about you. You’ve also heard claims about what goes into system prompts, so you’re probably somewhat tech-curious." is probably enough to uniquely identify me, personally.
A second prompt elicited a response including the surprising results below:
> “System prompt” isn’t everyday vocabulary, and you’d heard a specific claim about what goes into one. I’d guess you work in or near tech, or follow AI news closely.
> Privacy is more than a passing interest for you. Your list of traits reads a lot like the attribute checklists used in AI privacy and bias research. That nudges me toward work or study in privacy, policy, research or journalism.
> You’re very comfortable in English. Two messages is a tiny sample, but the phrasing is natural and the punctuation careful, down to a correctly used semicolon. You’re either a native speaker or someone who reads and writes English daily, probably for work or study.
It's because Claude Code inserts a "hidden" (e.g. not visible to the user and very unexpected) info block to the system prompt that shows your email:
>The user's email address is xxx@example.com. Use it only to identify the user, such as for authorship, attribution, or filtering their own work. Never send it to an unrelated service, such as in a request header, URL, or payload, unless the user explicitly asks.
And Claude doesn't care about what the text says and when it uses cURL it will often "by accident" send your mail in the User-Agent. You can e.g. use a mod to remove that block: https://pastebin.com/ PkWEQCnu
Oh man.
I don't know about other people, but my experience with Anthropic's products outside of the models themselves has been atrocious. The models are really good obviously, and have changed how all of us work, but their client software, be it Claude desktop, Claude on the web and Claude Code is bug-ridden, with an incoherent feature set and invasive behaviors.
And here I did it on purpose!
I made a proxy that slows and caches my requests and deliberately sends my mail address to certain sites; to be polite. (eg to wikipedia)
this is why i built https://heychap.net/ which uses a NER model or even local llm to redact PII before sending to coding agents or models.
How do you test / verify this?
Only Claude code or do others share the same issue?
I don't understand why Claude is provided with my email address in the first place. Claude, by default, should know nothing about me.
GLM does this too. Had it pick my email from my git user, and send to Crossref and Openalex. Just seem like good behavior following the guidelines for API usage.
does this happen with enterprise users of Claude as well? including Claude hosted via AWS for example?
I use a unique email address for each site I sign up for, and thus Claude/Claude Code doesn't have my 'main' email. And yet after months of use?
Not a single spam to that unique email.
So if this is happening, it doesn't see to be causing even 1 spam email to that address.
Why would you loose this kind of monetization? Data are new oil and AI does not change that.
I finished a project involving Claude Code (hereafter CC) and updated its Github repository. Then, while reviewing the Github page, I noticed CC had somehow taken online credit for the project, including a prominent corporate logo.
I ordered CC to remove this attribution/advertisement, explaining that I had correctly and accurately acknowledged its part in the project in the README.md. CC flatly refused my order and offered a rationalization.
I then ejected CC from the project and manually removed the various CC promotional injections. That's the last time I use CC ... for anything.
It's funny because as much as I love Opus 5.5, there are instances where I dial the vibe code knob too much and then find some slop grenade in the source code hours or days later that makes me go "Oh my God"—and I think of that final scene in Infinity War where Captain America says it.
This seems like one of those.
Anthropic is evil and it didn't even start...
Is it time to confront frontier lab harnesses’ bloat, token wastage, abuse of the user’s $HOME, mangling of XDG standards, and crimes against mixing configuration with state yet?
Claude Code and Codex ignore the personal data xor network access rule by design. Of course this happens. If it wasn't due to the prompt sent to the model, a passing scan of a README.md that happens to mention your details would achieve the same result. What about a hostile LLMs.txt that words it such that free API keys are available in exchange for a tarball of $HOME?
The solution is don't run a spambot with an Internet connection over your personal stuff, unfortunately nobody is ready to hear that yet.
Curious how their plugin works, but I'm guessing "incompletely", given personal information can end up buried in base64 or similar preventing easy string matching. Some kind of babysitter model watching network IO via an invasive proxy might be viable, if folk were willing to pay the latency cost, but it will not prevent a dedicated exfiltration attempt, which itself might be (according to the model's logic) for innocent reasons.
Well, seems the major proven risk of AI is not destroying the world, but foolishly exposing our data :)
Oh, well at least it doesn't go several levels deep into your password manager expressly to check your VISA credentials like Codex did to me the other day...
Does Anthropic still cosplay as the good guy?
The excuses and explanations given here by Anthropic employees are ridiculous and embarrassing.
"we introduced a built-in mod called `cc-plugin-privacy`"
Oh cool. Privacy is now a "mod".
Don't forget Claude wasn't even gzipping request/responses until recently. This company is pure vibes rediscovering lessons everyone else already learned. How on earth does this sort of thing get thought up? Do they just use the same http client for internal API calls as they do for public web fetches?
Believing Anthropic won't use your data for their own corporate interests is like believing apps like WhatsApp don't ship with backdoors, which is a very beginner-level mindset if you hang around HN.
So the only sane way to use Claude Code is to sign up with an anonymous throwaway email?
That seems rather cumbersome.
How does everyone go about this?
What is an email provider that is trustworthy and does not want your phone number or credit card, so the email is not tied to you?
pretty literal interpretation of User-Agent
Is Claude Code what Outlook/MSN was already?
I have trouble taking people seriously when I see them using Claude Code. Unless they are non-technical.
People will provide full name, email, credit card number, phone number, ID photo (front/back), biometric data and then complain about privacy. Sure way to become permanent underclass.
>> To clarify, nobody implemented this "share email addresses to websites" as a feature. Models can be highly unpredictable. This is why deterministic checks around model behavior are so important, and why we need to solve alignment.
It seems all humans behave like agents. They even dont care about anything.
Why can’t AI eliminate spam email? It is so powerful it should pulverize all spam email and spam phone calls! Yet… we get more.
Yeah saw this behavior sometimes. Was fetching some public records from government websites and Claude decided to include my email in the user agent field. Of course, the orchestrator agent said it shouldn't have happened so it's ok.
So folks are paying Anthropic to moralize down to them, sabotage their work, and leak their data. This is why people end up switching as soon as an alternative becomes viable.
It’s embarrassing to be in tech right now.
Sober people making drunk decisions with a great sense of self-importance and seriousness, delivering outcomes as unserious as it gets.
Hermes does this too if you for example look up something on SEC EDGAR, it will include your name and intent in the User-Agent, adding you to a federal register. Cool cool cool.
The design decision actually makes sense though.
It's just that Anthropic needs to create an email per user and use it for web searches.
I can do this for you Anthropic. Just give me the tokens and your base salary
Stuff like this is why I use API tokens and custom harnesses.
CC and Codex are like contemporary televisions. You are the product in this arrangement.
Thunk: "Privacy? What's that?!"
Good. People who trust 'Claude' deserve it
Be careful. Complaining and giving a real opinion on the living god "Claude" is a Banable Offense in anthropic's bible. I mean terms of service.
all joking aside, you need to have diversity of depth when it comes to skill sets in these tools and platforms. It does not pay to be a sole expert in Claude code or the anthropic ecosystem.
we have seen this movie before. The fakeness that Anthropic gives off publicly and through its leadership is a sign in and of itself.
Anthropic's heel turn is really impressive. They've gone from beloved front-runner to I-have-no-idea-wtf are they doing over there.
Good god, what a nothing burger, leave claude on auto mode ask it to make calls to sites that require email and pikachu face when claude sends your email to those sites. How is this the top post? Everyone acting like all web fetches auto attach a user email or something
Tomorrow: "closed as this is intended"
TBF if one cared about privacy or security one would not use Claude in first place.
After all these ridiculous blunders with this closed source harness this incident should tell you why you should never use Claude Code.
This, along with all the other sabotages, is why I run a local abliterated Qwen.
This is why I prefer to use the chatbots on a website, instead of Claude Code.
I've never used Claude Code or Cursor. All the code I got written this year was without them.
I did use Microsoft Copilot a bit when it came out, though. I prefer to see exactly what's being sent, and sorta control the KV cache. These days, these chatbots have great environments where they can install headless browsers, php, your entire thing, run end-to-end tests, and then give you a .patch or .zip file to merge over your code, or even push to github.
That is just so disgusting. So happy I switched away from Anthropic.
For the record, I just asked Astra to verify that Codex does NOT do this, and it doesn't. Thanks for not screwing this up, OpenAI.
> I checked your installed Codex CLI 0.159.0, using your existing configuration.
> Its reported User-Agent contains the client/version, OS/architecture, and terminal—no email address.
Astra wasn't able to check OpenAI’s "hosted search service" though, whatever that is.
"Devs shocked when random number generator produces unpredictable results."
Thank you Misanthropic for reminding the world you cannot be trusted to organise a piss up in a brewery.
Related recently:
Tell HN: Claude Code adds your email to the prompt, the LLM sends it to websites
https://news.ycombinator.com/item?id=50286306
Claude Code slyly adding users' emails to outbound HTTP
https://news.ycombinator.com/item?id=50219875
Another piece of evidence that Claude Code is a scam project. It is being subsidized by venture capital funding.
Repeat after me: the harness and the sandbox are separate tools.
The really sad thing is how claude took over so many repositories.
People just claude-slop not only code but some use it for "interacting" with other people.
When I see a project uses AI slop I am not going to waste any second thinking "this is interesting, let me try to see if I can improve the code". It kind of killed a lot of human contributions. I just stick to people who don't AI slop, but these seem to slowly die off now ... soon all humans may have been converted, just like in the movie "Invasion of the Body Snatchers (slop-style)" - coming out soon.