Hacker News (curated)new | past | comments | ask | show | jobs| show hidden

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.



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.


I'm not sure i see it as an ad. "Sent from my iPhone" is an ad because the iPhone is not a meaningful part of sending the email. Claude is a meaningful part of the commit though if you're using it, so to me it's more like clarity or transparency than an advertisement.

The way I see it, the conversation transcript is the important part. The specific link to claude.ai nor the model itself is important to me. Otherwise we'll all just be linking out to 10 different AI model providers websites to see history. I'd rather it be some open solution.

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.


You don't see how a link to "https://claude.ai/.." in the Git log is an ad for Cluade/Anthropic? It feels exactly like "Sent from an iPhone" to me, and has exactly the same value to people reviewing the Git log later (i.e. none).

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.


If I put a link to the Jira ticket the commit fixes, is that an ad for Atlassian?

Good counterpoint. We link to GitHub from JIRA, and the reverse. Linking to the Claude session that generated the code seems reasonable...it's a related artifact.

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?


for one thing, understanding how the final code ended up that way. it's hard to tell with code alone wherever something is designed or cargo culted.

If _you_ choose to do it, no.

If the tool auto-does it, yes.


You still choose to configure the tool. "It's the default" is only an excuse for the very first time you notice it.

But presumably everyone in your company/team is using Jira, so it's not an "ad" because it's a product already used internally. Claude is appending these links to all commits by default, whether or not others on the team use Claude. Those are very different things.

For me, no. I’ve started tracking session ID on every ticket I work on in order to be able to find them again.

Having it in the commit message is handy (not to mentioned I already have it I. The commit message).


I agree. But I think I would also like the OS to put a fingerprint (I.e committed on macOSX in /usr/marc/… while he was watching porn on xxx). This way we can get the full context by default and better understand the PRs.

I’ll start working on the impl, you get the VC funding. I’m sure there is a Balmer peak joke in here.

I want that under every message I send from my phone!!

My spade is a meaningful part of digging a hole when I plant a tree, but I still don't want a "Spear and Jackson" sign on my tree when I'm done.

There has been more than I project where I literally didn’t even look at the code.

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.


This is a problem with copyright in general. There's no longer any requirement to provide information about copyright status, so there's no way for the public to know whether something is copyrighted (no doubt the uncertainty is intentional as an additional way to undermine the public domain). This is just as true for expired copyrights, or material placed in the public domain intentionally.

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.


> If your entire product is LLM generated you sure as hell have no right to place any license on there

Something you’ve created from nothing because of the tool you’ve used to create it should not be allowed to be licensed?


> "Sent from my iPhone" is an ad because the iPhone is not a meaningful part of sending the email.

It explains the brevity and any typos. That's how I see it used.


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 enough to complain, 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


Out of curiosity, do these Claude commit messages fall into the same category of "it's annoying but not worth the effort to turn it off"? If yes/no, why?

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.

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.


You can also just turn off attribution in Claude Code settings if it bothers you: https://code.claude.com/docs/en/settings-reference#attributi...

"To hide all attribution, set commit and pr to empty strings and sessionUrl to false."


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.

Do you also add all of your notes ever recorded to your PRs?

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.


It’s a default that changed silently during an automatic update.

Also I frequently use an LLM to commit work that I have written. It is just misleading in that case.


What's misleading? Wouldn't the session corroborate that it was only used for the commit?

Only to me, the person with access to the session. It implies LLM generated to anyone looking at the commit.

How would it know for certain it was used for a given commit? What if there was no code? What if the approach was different, but some lines were the same?

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.


Only if you deliberately made the session available for others to view. And they view it before jumping to conclusions.

I think it’s foreseeable that if you use the LLM to commit work you’ve written, it might cause problems with attribution.

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'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.


>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 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."


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.


> 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.


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.

> 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.

People are sick of Anthropic, and everyone, turning every little thing into a chance to manipulate reality in their favour.

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.


Provenance, provenance, provenance

One of those words that Claude taught me

Same. Over relied on and far less clear than alternatives 99% of the time. Claude is a shitty English writer that is only tolerated for it’s coding ability.

Nah, "provenance" is a good word to know. Plain English version would be, "what colour are your bits?".

Good word to know, yes. Best word to use, no.

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.


LLMs haven't mastered the use of regular language that is the background of a jargon. Source and origin are exactly the word you'd use in IT.

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.

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


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.


Most comments I read were positive, what kind of negative sentiment were you picking up in these comments?

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.


It is because many "developers" want to pretend that they have read the code and have understood it so they can claim it as their own.

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.


Do you add your IDE version to your commits, everytime you use autocomplete, or when you refactor the code and ask ide to replace all function names?

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.


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?



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact | github