173 comments

[ 0.25 ms ] story [ 6.0 ms ] thread
Presumably quietly added default-on because everyone had turned attribution off.

Again, if you challenge it “It came from my harness instructions” and obviously telling it not to in memory is about as successful as… any other instruction in memory, about 60% of the time.

I cancelled my subscription over this [1].

1: https://x.com/m_herrmann/status/2092579839676948495

Indeed, the disclaiming of it being human-coded isn't the problem with their commit messages, them using it as a growth hack mechanism is. BTW to say it's attributed to Claude, I don't give that much importance, but I think it's useful to other coders to know what model was used. A simple assisted by AI would mostly handle the plaigiarism problem, because Claude's training data didn't come from Claude.
Interesting. Can you elaborate on why you feel strongly about this? It's easily removable--I don't think your characterization that it "forces" attribution is correct, it just defaults it.
It's deliberately hostile, in the way that Facebook is to its userbase. I guess Claude doesn't have nearly the grip on their users that Facebook does. Facebook can make it hard to communicate with (via WhatsApp) or stay connected with some of your friends or relatives, while Claude can just make you use the second-best model for cheaper (if Fable is the best).
I really hate this attribution nonsense ...

On one hand I guess it is fine to automatically tag that the commit was AI-generated. On the other hand, this will happen even if you audit every line and add your own changes too, which means the attribution is misleading.

Having only 1 of the token sellers do this is not very helpful either. Its just free branding & advertising for Misanthropic.
> Misanthropic

How have I not heard this one before

It’s not meant for saying “this change was done by Claude” it’s meant to connect commits back to the session. Makes it way easier to jump back into a follow up change between sessions as the agent can reload parts of the context.

Anyone thinking this is about tagging AI generated changes and not just making the experience in Claude better is missing the point of the feature.

I get that. However, given that sessions are local and personal why tag it into the public source tree when it can keep a catalogue within the local session metadata with the exact branch, tags and refs. Sounds like easier less intrusive thing to do.
Generally just very useful to have it clickable or copyable from the commit is the thing?

Along with models being much better and more direct to follow something if it’s there. An agent will always read commits to look at a change, force it to look at commits and check another index just in case it exists is slower and pays more tokens, now you can just grab it.

But also mostly because who would actually care about this. It’s a sentence on the end of a git commit, in what way does this annoy people other than their prior feelings about AI tech.

Instead of accepting the default “commit then push,” try “draft a commit message and let me review and revise it first.”
one can go as far as preventing pushes altogether, or don't give them write permissions to your repos
I surprised how many people don’t even read their own PR commits and diffs, like at basic level.

So many don’t even bother to tide-up fold their commits into single logical change, consider how many commit agent doing, seems logical to have folded commit history when you open PR.

Default commit and PR body text is word salad didn’t seems to bothered these people. Because if it did they already had hooks and skills to make it look tidy and lack of any AI attribution inserted.

I don’t even consider myself developer more like really weak devops guy, but I was already doing all of that.

This is probably a controversial take, but I love this. Back in the early days of claude code I had to write a script (well, claude wrote it) to pull out the session id and append it to every commit. It's a lifesaver when you are trying to debug an old commit to pull up the chat session that actually wrote it.
It’s reasonable.

I think its the beginning of a larger trend where Anthropic makes its infeasible to use Claude without Claude getting credit. Not for ethical reasons, but business reasons. Fingerprinting supports this as well.

Im speculating. And these are little things that are reasonable by itself. They are ethical. But I dont think Anthropic wants Claude to ultimately be a tool that produces some output that just gets integrated into some human’s work product. IE they dont care much about authors utilizing Claude for writing their papers or books. They do care about Claude becoming the most prolific published author by orders of magnitude. And not being “plagiarized.”

The irony of Claude wanting attribution when its work is being used by someone else
This annoyed me to the point that I created a python script that could search opencode's database and then a skill that uses the script to find the session I was thinking of. It's nice to be able to say "I think 4 days ago I had an issue with a dropdown in Qt6, find that session." Saves a lot of time and tokens.
I've been using the "experimental teams" in claude code forever and its great for this. I never start a claude code session manually, I just ask the main agent to open a new tmux window for me. The lead agent knows all the agents I've ever interacted with and built its own system to keep track of things between compactions.
I think it's a great feature, but the UI should ask if you want it enabled first.
Anthropic is right here. You need to clearly define what commits are AI authored or you are conspiring to commit copyfraud.

https://en.wikipedia.org/wiki/Copyfraud

AI does not enjoy copyright protection. Pretending you created something written by AI is copyfraud.

If anthropic believes in giving credit, why not give credit to all the content they stole?
Isn't that implied when it says coauthored by Claude? Would be waste of chars to name everyone else
Where can I see the list of everybody they stole IP from? Just saying "that guy stole it for me" isn't really giving credit to the real owners/creators.
Ok, so what do you propose?
> AI does not enjoy copyright protection. Pretending you created something written by AI is copyfraud.

Which court has made a ruling on this? The only decision I'm aware of was that some Gen-AI artwork couldn't be copyrightable if it was made without substantial input, direction, and scrutiny.

There is of course, transformative use, and the slew of software packages we used to depend on without acknowledging the original maintainers on every commit.
Interesting. According to the definition in that Wikipedia link, "copyfraud" is claiming copyright on public domain content.

Does this mean a company can take code from an open source project that used AI, put it into their closed source code, potentially modify it, all without attribution?

Copyright shouldn't exist and AI (especially open weight models) is accelerationism to this point
That’s just your opinion on your own characterisation.
Very much agree, and per https://www.jvt.me/posts/2026/02/25/llm-attribute/ there are a number of other benefits to attributing correctly - you know what parts of the code may be "tainted" by AI-generated code, and allow yourself to clarify to the reader what parts are AI and what are not
The issue comments concerned about IP theft are deeply ironic.
Just because it's not in the title and most people won't be scrolling all the way down: its only enabled for web and Remote Control sessions, per a maintainer.
Thing is, if you enable remote control for one session, it becomes globally enabled for all (which I personally prefer as I want to access all my sessions from my phone).
This isn’t quite true. There’s a daemon you can launch with `claude rc` that will let you get at all sessions, but if you just `/rc` in one session only that session becomes available.
I have never (manually) launched a daemon, but all my sessions are automatically available.
This is incorrect. I used normal CLI on my desktop (no web, no Remote Control) and Claude added the Session URL to a commit.
Beyond "branding", I don't mind this general direction.

There absolutely should be a fool proof undefeatable mechanism that identifies or watermarks code that was completely LLM generated.

If you use LLMs, own it.

"completely" LLM generated?

Hard boundaries there simply don't exist for most workflows, and I suspect if they did, it'd be at the expense of things ~nobody would want to give up.

you own the code, not the use of an LLM
I don't see any issue with this at all. I noticed it the other day and thought it was convenient. The same way I let the agent tag the PRs/commits with its name. I want to know what was used, in fact I wish it would identify the model used.

I'm not embarrassed by my LLM usage and I want to provide a full audit trail whenever possible to aid myself in the future.

PS: Claude archives old conversations on your computer after 30days. I've started archiving mine to the side as well for potential future use.

> Claude archives old conversations

Archives? Or deletes?

I'd like to know what was used but "Co-authored by Claude Code" doesn't do anything except marketing for Anthropic.

The sessions are definitely more useful but only if I'm using a single agent from a single provider.

Sure it does. It shapes your impression based on your perception of Anthropic.

"Made in China" on items for sale in China is a positive indicator. "Made in China" on items for sale in the U.S. is a negative one.

The line between "attribution" and "marketing" seems to depend on your impression of the entity involved.

I would very deliberately avoid a mystery novel or a prayer book if it said "Co-authored by Claude" because I don't want to see a world in which those things are generated by entities other than humans.

I don't have that same objection when it comes to computer code.

But the important point is that your impression of either one depends on your prior position on Claude. What do you assume when you see that attribution?

> PS: Claude archives old conversations on your computer after 30days

Does adding this to your Claude settings.json not work anymore?

{ "cleanupPeriodDays": 99999 }

Perhaps, and I’ll set that as well but with the speed things change I could believe a new setting or code change will mess it up in the future.
I may be missing something, but this is exactly what I want as a default. I want the session links there. I see PRs from my coworkers with session links.

I still get to control whether other people can see the session, but I don’t lose it.

I don’t get the “unprofessional” argument. This is attribution. Attribution is professional. If you don’t want it, you turn it off or rewrite the commit messages. If you are having Claude write the commit messages FOR YOU and you are NOT READING THEM then that’s what’s unprofessional. I am honestly kind of shocked and disappointed by how upset people are by this.

> Attribution is professional.

It's also, like, kind of the point of using git, isn't it? So putting this in the commit message feels very appropriate to me.

From my point of view; I share Debian's perspective:

https://lwn.net/Articles/1091231/

Which is actually why I DON'T like the session amended. Ultimately it is an ad placed into the Git log, and noise at that. Regardless of if it exists or not, the professional responsibility for what is contained in that PR/commit falls to the feet of the developer contributing it.

Microsoft previously did this with Copilot, which was correctly met with a very negative response. I don't see why an ad by Anthropic is better than an ad from Microsoft.

Agree, that it is an ad. Also, unless the full session (in a resume-able format, along all session artifact such as intermediate research/docs used to produce the final output) is also included in the commit, the session id is useless.

I presume this is Anthropic trying to their "usage" stats before their IPO.

Funny to compare it to “Sent from iPhone” that Apple appended to emails by default way back when.

It was an ad, but nobody cared because using iPhone was a point of pride.

So many people cared, even in the comments here!
People cared. Anyone who did and could do so turned it off immediately as with every service that appends any of that nonsense.
> Anyone who did and could do so turned it off immediately

I know I’m not alone as someone who’s bothered by the postscript, but too lazy to do anything but delete it every time. There’s even an entire (well part of) song about it: https://www.youtube.com/watch?v=EbdeVhPAbms

I cared. Deleting that constantly was pretty annoying. And why would I have pride in whatever device I’m using?
Most people's identities and self worth are tied up in the material things they buy rather than actual self actualization and personal axxomplishments.
It might be mostly with kids seeking status from materialism, but blue bubbles as opposed to green bubbles was/is still a thing.
Even as a lifelong Apple user and longtime iPhone user, that sig irritated the shit out of me and was instantly disabled whenever I set up a new device.

Also, and this may come as a shock to you and a number of other HN users: I never considered it a "point of pride." I switched because Android was a privacy dumpster fire comparatively and battery life was far better.

I also can't remember a discussion in person with folks where someone seemed "proud" to use an iPhone. If anything, the Android crowd loves to sneer at iPhone users and look down on them as idiots who need a "simpleton" phone.

I'm no simpleton. I ran custom roms and so on. Had F-droid installed, and so on. I do miss the customization, but I also look back and realize I wasted a massive amount of time on installing roms, backups, and the customizations themselves. Probably weeks of my life if not more. My iPhone? I don't. It's a phone. That runs apps. Do I wish I could install whatever I want, particularly given how secure apple's sandboxing is, and thus in theory how safe it should be? sure. but at the end of the day I want to live my life.

Now compare that to why people don’t want Claude in their commit messages or PR descriptions.

Clearly there’s no pride in using agentic coding (if anything, maybe it’s the opposite of pride..). I don’t think most developers want to publicize their use of agentic. But I could be wrong.

"Sent from iPhone" originally was (at least arguably) a "forgive mistakes, phone mail blows".
True. But it was also meant as a counter to “Sent from my Blackberry”.

Obama and a lot of execs were pretty addicted to their BB back in those days.

I'm sorry if this is a naive question, but why can't you just edit the commit message however you like?

Or, for preference, write the whole commit message yourself? It confuses me a great deal to see projects where someone put in a lot of effort to write a useful and detailed prompt but absolutely couldn't be bothered to write a few sentences for the commit.

Most comments I read were positive, what kind of negative sentiment were you picking up in these comments?
I'm OK with the attribution, but I just didn't like a session URL appearing on a public repo all of a sudden. I was left wondering "did I just leak my private session?"

I don't understand why it isn't opt-in. Or at least a heads-up somewhere.

At this point it's believable to me that Anthropic might not even be aware of what features get added in a given release. It's hard to tell the difference between "they actively are against documenting all of the defaults they keep changing" and "they genuinely don't even pay enough attention to notice when their vibe-coded changes have changed a default". Functionally they're the same, and both would stem from similar (lack of) values, but I think it does kind of matter because it's essentially the difference between explicitly crafting an experience for users versus defining same things they want and letting the vibes end up driving it towards a bunch of user-facing emergent properties that no one has considered.

"Of course they were intentional in adding in an ad to everyone's git log" honestly night be the less cynical take, because the alternative is assuming that they actually look at git logs ever rather than only having Claude deal with it.

I agree that attribution is professional. What I would worry about is people using the link to supply the reasoning behind the change without putting it into the commit message. Then you have the problem of needing to load the session to understand the change, when one would ideally be able to get that context from source control alone.
Realistically, what do you actually get from viewing people's sessions? I honestly don't really understand why people care.

The specific model used can't be important because theres a new trending one every couple weeks nowadays. The conversation could be wildly out there and have 10+ different iterations of the same thing in it that led to the final product, etc.

It's not like before AI we were asking people to explain every single iteration they went through in their commit body, or to see their entire internal dialogue.

I don't really understand people's hype around needing to see the conversation they had with their AI. As long as the code itself is self-documented and final decisions are relatively well-documented future agents and humans will pick up on it much faster than reading the entire transcripts anyways.

That's not even bringing into the fact that there are people who use multiple models, multiple sessions, multiple harnesses across the same commits/changesets. How do you reconcile those alongside people who could have made human changes in the end?

People don’t want their incompetence displayed. The session is probably a series of “continue” prompts with basic understanding demonstrated in the initial ask.
I also wouldn't want people to have viewed my browser history on every commit pre-AI era.
There’s always been a school of thought that is in this direction. In the pre AI world people discussed whether to squash commits or to not and I was on the squash side because I think that the development artifact should be optimized for reading and just as one does not read a novel in all of its pre-edited forms to read it, one should not do so for code. The cost to grok using that method is too high.

However with LLMs you can have them analyze prior transcripts to identify bug sources and so on. I could see it being used. But all theorycrafting. And perhaps motivated reasoning. I’ve always committed early and often and used bisect to find bugs. That places me right away in the squash commits camp because of the method I use to write code.

The link to session is a red herring - most people seeing it won't be able to access the transcript.

It's a tag with an UID. It's useful to connect together multiple changes, including possibly several commits across multiple unrelated repositories, as well as other artifacts and actions. It records the causal link, and connects it to telemetry (people do run their own telemetry over agents, especially in team/company setting). Because chances are that, if you have issues with some change made by AI, being able to look up what other changes were made as part of the same session is going to be very helpful.

> That's not even bringing into the fact that there are people who use multiple models, multiple sessions, multiple harnesses across the same commits/changesets. How do you reconcile those alongside people who could have made human changes in the end?

This is exactly how. By tagging changes with session UID, and using it as key to resolve other changes, as well as specific model and harness versions used, if you use telemetry endpoints harnesses tend to offer.

The whole discussion is just people getting tripped over the tag being link-shaped, ie. "https://what.tld/<uid>" instead of "WHAT_ID=<uid>".

Sure, but it does spook some people like me where I frequently mention context in session like: "it would be better to fix this on the backend, but that is a separate team that moves VERY slowly", etc. And I don't want that accidentally getting broadcast.
Am I misunderstanding this change? This makes it sound like Claude is attaching the entire session content when I thought it was only a link that is exclusively readable by the author, unless deliberately shared?
Why not use something like openspec? You get the benefits of context without a whole conversation to read.

https://openspec.dev/

I use and love openspec and I'm against this session attribution by default setting.

But I do see the value in seeing the conversation that lead to the spec. I make sure that all product decisions go through me prior to the agent writing the spec and the questions I ask and decisions I make could definitely help understand retroactively why something is the way it is.

I guess with the default openspec schema you wouldn't have that but you could customize it or create your own in which the reasoning is encoded fully.

I talk to Claude like no one is going to read it. full of typos, often via voice where I am literally just thinking out loud.

I don’t think anyone will find it valuable and I don’t want anyone to read it

ai has been an excuse for people to shove into pr's all kinds of shit that would never be tolerated otherwise; from super long descriptions to annoying emojis in commit messages and overly verbose comments and code that has the mpg of a broken scooter...
I don’t attach a raw dump of all the conversations I have with colleagues to my commit messages, and wouldn’t want to work in a place where I did.

Sometimes I tell Claude ‘don’t trust file X, it was written by a colleague who writes awful tests’. I don’t want that in my commit messages.

One thing I’ve done is a few books and check what branch / work tree user is on. Allows for more fidelity than even this. Works quite well.

I just wish they allow for getting inside subscription pricing vs outside subscription pricing easier

Same here, cool, now Claude can grab the context from the session to reason better about why things are the way they are.

Maybe an ID alone would have been better, not a whole http url.

It feels like an absolute failure of project management if your tooling needs to attach a session identifier in a git commit message for it to understand what’s going on.

Wikis, changelogs, decision records, issue trackers and more are available to provide greater context for you, your team and the agents you deploy.

One of many signals. Using AI efficiently is all about leaving breadcrumbs everywhere.
>This is attribution.

I think a lot of people interpret it as trying to foist additional burden on reviewers. As in "here's my PR, I would like to take credit for this idea, it's now on you to review. If you find a problem with it, I expect you to call out what my incorrect assumptions were, which you are able to do because they're all buried somewhere in this Claude session. Let me know what they are and I'll paste them into a new session and submit again."

Seems like an excellent way to optimize yourself out of a job, both figuratively and literally.

So no, I'm not going to assume that's what someone meant. I can at least pretend I consider people to be competent.

hard disagree. I'm not gonna read the session log, and I don't care for it at all.

as for the commit message: if it's the usual verbose Claude style, I'm also not going to read it. to be honest, probably if it's not verbose, I'm still not reading it.

I'll ask my review agent anyway to summarize your code. My review agent will read your commit message.

Curious to know, do you read the code first or the summary? How much value do you think AI generated summaries are adding to the review process?
I read the summary which for me focuses on intent: What's the current state, why it's not good, what is being changed and how, and then look at performance numbers.

Then I read the code but only after it got scrutinized by pr review skills on multiple models and those feedback got marked completed by the author.

Yeah, same here, but I do not pay that much attention to the PR description since it's all written by the same AI, it just narrates its own code. I prefer to skim it then jump to the code. The problem thesis is already in the ticket, so we could just reference it in the PR without duplication. The current state and how it's being changed are already the code diff itself under the changes tab, right? Reading it straight makes me question the code better since the AI is usually overconfident in its writing, so I don't focus on it unless I face a hard blocker or constraint that should be mentioned there.

I also do this with my swarm of review agents, asking them to review the code without context, that way, they produce more high-quality feedback that is backed by self-sourcing the context from the codebase instead of relying on the AI-provided PR description that might justify a code change that others might disagree with otherwise. it works well especially with code changes that could miss other parts of the codebase during refactoring or implementing features that touch multiple domains.

> This is attribution.

More like an ad for trillion dollar corporations. Not in the business of giving those out for free.

Attribution also helps people who want to judge others for using AI. Not even slightly interested in enabling any form of prejudice and stigma against myself. Even the markdown files that agents use don't go into my master branches anymore.

I think there's a distinction between attribution and linking to something nobody else can necessarily access. Placing a path to my local build is something I'd avoid because it's irrelevant to everyone else. I think the same applies here.
I don’t give a flying f*ck what you prompted the LLM I only care if your code is good.

Do you put IDE attribution in your commits? Attribution is silly, AIs are hammers not interns.

Though reading you yelling at the bot and calling it a Clanker might elicit a chuckle from me.

Having it there by default is an ad. Turning it on explicitly is a dev tool.
I really like working using Claude Code, but Anthropic has a really bad tendency to push out new "features" like this as default-on, through auto-update. That, and their models trying to do everything through bash (including editing files) is enough that I'm seriously looking in to switching harness to pi.
(comment deleted)
After I moved to Pi I really started to hate Claude Code.

I still have to use Claude Code at work and after getting used to Pi I feel I'm always fighting against it.

Maybe the way I enjoy working with LLMs just works better with Pi.

I like claude code, I use it quite a bit for things, and I don't mind the attribution (I do not plan to deceive people of me using AI or not for a change) and I think a link back to the session is valueable after the fact. At least for me, the session contains a lot of discussion, back and forth, changes from me and more. (Also, if the feature is not on by default, it probably might not exist.)

However, I think claude code needs better change management. It changes quite frequent and I think changes like these should be communicated better in software. (Like a card game may show card changes in game when a patch happened.) It may impact how I do things when creating the commit messages or PRs.

> That is a stupid and evil feature.

I can see arguments for "stupid", but "evil"?

Seems plausible that the feature was only added (quietly and by default) for marketing reasons
It’s really useful for helping agents navigate history and maintain continuity between sessions. So wouldn’t assume it’s for marketing, it has a lot of utility.
> However, I think claude code needs better change management.

Ant is a slop factory and proud about it, you only have to listen to their people talk. Their products are buggy and inconsistent in features, so I don't use them.

> I do not plan to deceive people of me using AI or not for a change

You don't have to worry about that

Issue was closed with an robot-ai comment... Patetic...
[dead]
For a good chunk of my AI coding work, I make my own commits. I add Assisited-by: to them. I glance at the AI commit messages, and though I usually come up with my own messages sometimes I paraphrase. This would just make it a bit more annoying to review the AI commit messages, though I could hide it.
I like attribution in principle, but I'd rather it linked to an open format stored in/with the repository rather than their website.
Simple enough to script someth to do just that.
could ask claude to do that ;P
Attribution should be opt-in, but they already support it. Via CLAUDE.md where you can specify how exactly AI contribution should be documented. Relying on whatever convention your vendor will establish isn‘t a good idea. Vendors are replaced, project conventions stay, so it‘s better to state your expectations in writing, instead of assuming that someone guesses them right and maintains conformance forever.
(comment deleted)
Wouldn't think I'd be cheering Antrophic decision, but this is excellent.

They probably were thinking about how that serves them as an ad, not about transparency, but still.

I say they should go one step further and somehow make it harder/inconvenient to turn it off (big tech is good at this already, so...); or, maybe, hide that option behind extra feature under premium subscription or something.

P.S. The comments are pure gold. They don't like they can't fake authorship and have the audacity to be indignant!

As a Claude user this is just a benefit to me. Means I can grab the session and resume if I ever see a commit I want to jump back into, and Claude can read these sessions itself whenever I reference the commit, which helps a bunch.

It might come with advertising benefits for them but expect it’s mostly just because it helps their tools work and that benefits everyone.

Good way to find engineers who don’t know what they are doing and just fire them, from examining their sessions.