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.
Keep in mind that if you run across someone else's spam in the Git logs:
- You need a Claude account.
- You need permission to view the session.
The only people who can just follow that link and look at how Claude was used, is Anthropic themselves. Therefore, they can also use it as an additional mechanism to tie sessions back to other IDs/identities. For everyone else this is "Sent from an iPhone" but longer.
One thing I'm not sure about: what is the utility of linking to the session? What are folks expected to do with that data?
If the tool auto-does it, yes.
What's the odds on them fixing that bug anytime soon.
Having it in the commit message is handy (not to mentioned I already have it I. The commit message).
Models change so much that I don't really see why anybody cares what model was used to generate the code after the fact. It changes every few months and they're non-deterministic so its not like you'll ever "recreate" the same conversation yourself anyways.
One could argue that "https://claude.ai/<uid>" is slightly more verbose over "CLAUDE_UID=<uid>", but the former is also slightly more convenient for those with access to the transcript, and both have word "claude" in them, because you need to be able to tell which UID in the commit message is for what.
I prompted what amounts to verbose “I want X” and then did QA. I’m perfectly happy with an LLM being credited with that code and there being no copyright existing for that code.
For some people that is their life’s work and they want to clutch pearls. Their sole contribution was a half baked idea and they shipped QA out to their “users” but they want to be credited with any rights.
There is definitely a continuum in LLM usage for code, do I agree with an AI blindly stamping every commit, not really.
Do I see LLM generated code as equivalent to me digging a hole with a shovel, it depends. Sometimes there was very little shovelling, other times there was no me involved and you may as well credit the entire hole to the shovel.
Where this will come in is when it comes to copyright and licensing.
If your entire product is LLM generated you sure as hell have no right to place any license on there other than potentially a MIT equivalent license, even that is dubious though but from an organisational standpoint MIT probably will be more widely accepted than saying it is uncopyrightable.
My argument being I would rather know that you didn’t even look at the code, which is what this will achieve, whether I agree with it or not at the very least it will make it easier to sift through the garbage.
The solution isn't to add notices to non-copyrighted things; it's to require notice for copyrighted things, including date.
Individually, of course, one should simply assume things are not copyrighted if you have no way to know, and do whatever you want. If the author can't be bothered to tell you, you have no moral responsibility to care.
Something you’ve created from nothing because of the tool you’ve used to create it should not be allowed to be licensed?
Yes it’s the same as using a stock drum pattern in a drum machine, it is not copyrightable because no human was involved in any part of it.
If you have an idea and want rights to it then do it the old fashion way and pay a developer to do a commissioned work and you can have your copyright, heres the catch, that will cost a hell of a lot more than 100usd a month
I wouldn't be surprised that if you asked an AI to weite said contract it would add a clause regarding copyright ownership of all codr and will put the onus on the developer to prove ownership of all of it.
Effectively you could sue them if you ever get sued.
When it comes to copyright and licensing it's complicated and it's best to write the code by hand.
It explains the brevity and any typos. That's how I see it used.
I presume this is Anthropic trying to their "usage" stats before their IPO.
It was an ad, but nobody cared because using iPhone was a point of pride.
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
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.
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.
Obama and a lot of execs were pretty addicted to their BB back in those days.
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.
"To hide all attribution, set commit and pr to empty strings and sessionUrl to false."
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?
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.
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>".
Also I frequently use an LLM to commit work that I have written. It is just misleading in that case.
In general I assume that attribution to AI is approximate. People copy-paste things out of chats and those don’t get attributed to the AI. And on the flip side, I’ve had AI write a commit, and then I’ve reverted it and written something different by hand (and it got tagged with an LLM session).
The AI attribution is approximate and informative. The commit message and authorship are the more important parts.
You may be concerned that people will think your commits are LLM-generated. I’m sorry that you have to work in that environment, but I don’t work in an environment like that and I don’t share your concerns.
I think some folks think that using an LLM is a shameful act and this is somehow shaming it and others believe that it ties back to the conversation. These conversations don't have any guarantee of being accessible over the long haul. If there was value in the conversation, the conversation should be somehow captured as well, not just some URLs.
I just wish they allow for getting inside subscription pricing vs outside subscription pricing easier
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.
I don’t think anyone will find it valuable and I don’t want anyone to read it
I don't understand why it isn't opt-in. Or at least a heads-up somewhere.
"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.
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.
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.
If you know “origin” or “source” and those words suffice, using a word that means the same thing but you don’t know is strictly worse for communication.
So if Claude is writing a novel, maybe provenance is the best word to use at times. If its a codebase README or variable name, its usually not.
Attribution is indeed professional. If you use an AI to write the code for you and have no idea why you accepted the decisions it made nor can you explain them to another human, that would be clear evidence of acute skill atrophy.
Maybe an ID alone would have been better, not a whole http url.
Wikis, changelogs, decision records, issue trackers and more are available to provide greater context for you, your team and the agents you deploy.
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 exactly 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."
So no, I'm not going to assume that's what someone meant. I can at least pretend I consider people to be competent.
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.
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.
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.
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.
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.
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.