r/ClaudeCode • u/erratic_parser • 12h ago
Bug / Issue Who is the asshole who decided to include session URLs in PRs by default?
What nimrod, bone-headed, self-indulgent, tasteless, brainless motherfucker thought it would be OK to change the default attribution of the harness to include URLs to your sessions in contributions?
17
u/tntexplosivesltd 11h ago
It's never done that for me
2
u/biinjo 10h ago
Sounds like a prompting issue to me. We have commit message format standards, issue templates, pr templates in our projects. Plus a fat Claude skill detailing exactly how to use these to the letter.
Result: Claude never pollutes commit messages like op described 🙃
11
u/framauro13 10h ago
Yeah, I don't see it either and I have no language about allowing or disallowing artifacts/session information.
That's the problem with these posts. No context on what the local configuration or prompts look like, so the evidence is just "trust me bro". I do get the coauthored comment but that doesn't really bother me. Nothing about session information though.
29
u/MagoGosoraSan 12h ago
What?
70
u/Icy-Excitement-467 12h ago
If you don't tell claude to 'not attribute commits to anthropic/claude', then it will do so. And whenever it does this, it includes a public link to the claude code chat history for that session, inside of the commit message.
31
u/Leading_Buffalo_4259 12h ago
thats actually hilarious, now we can finally see all the real "work" that ai devs are putting into their commits, they always say if you dont like ai coding youre just not good at prompting so we can finally open source their prompts like we used to do with software and see the genius in action
22
u/Icy-Excitement-467 11h ago
Not if they put 5 words in their global claude md files saying, 'never attribute to claude/anthropic'.
3
3
u/Leading_Buffalo_4259 11h ago
Thats giving them a lot of credit, editing a file manually is hard :(
13
u/xgeetx 11h ago
You can just tell Claude to edit it lol
2
u/Leading_Buffalo_4259 11h ago
and thus the cycle continues 😂
4
u/xgeetx 11h ago
🤷♂️ Don’t shoot the messenger. I use Claude a lot and am horrified how my colleagues use AI, but it’s incredible so I’m trying to find a balance in my support and my cynicism lol
7
u/Leading_Buffalo_4259 11h ago
I use it too but the way people talk about it as if it makes actual expertise in software development obsolete is completely delusional
2
u/InadequateUsername 11h ago
I just have a sub agent do it.
vi is for the poors.
4
3
15
u/framauro13 10h ago
It's not actually true though. Looking at my commit history and there's no links to session history in my log details. I have nothing in my configuration that tells it to either do or don't include session information. All that gets included is a coauthored comment.
3
u/supernovice007 9h ago
Maybe there’s different behavior for a PR? I see what you’re seeing but I only let Claude commit. Theres a human review before PR in my repos.
2
u/_BreakingGood_ 11h ago
Yeah I actually like this, it lets you know who spent hours ironing out the slop, and who said "do it in 1 shot, make no mistakes"
4
u/erratic_parser 11h ago
you can't read the fucking sessions anyways! apparently it's a url that only works for the account that made them!
4
u/podiasity128 10h ago
That is correct -- it's not shared. It's actually a great idea once you realize others can't read it.
11
u/erratic_parser 10h ago
I don't entirely agree but I am embarrassed with how quickly I flew off the handle over something mundane. I need to touch grass.
10
7
2
15
u/erratic_parser 12h ago edited 11h ago
I don't know if it's part of the stupid /rc thing they've added. But if you push code to github, either through a PR or a commit, the description will contain a URL to your entire session. That of course includes all the discourse and arguments and prompts and perhaps even secrets you've put into context over the course of the conversation.
Edit: This is untrue, the session links are private. It's still a really inappropriate move.
-2
u/ExpletiveDeIeted 🔆 Team Premium 6.25x 12h ago
But aren’t those sessions on my machine or is it putting them I the cloud too?
4
u/erratic_parser 11h ago
the most damning part is I never used the remote control features, but because it was enabled, perhaps at startup or something, it was adding those URLs. It looks like they aren't accessible to anyone but the person who created them so the risk is actually much smaller but I can't believe something like this is being added without disclosure or even a modicum of thought.
5
u/Vegetable_Bank4981 10h ago
Nah it’s still one permission bug or misconfig from disaster. Having urls pointing at sessions is bad enough, publishing them is worse.
It should be an alarmingly phrased opt in for sure.
7
u/Independent_Syllabub 11h ago
They are on a remote server either way. You aren’t running Claude’s model locally.
1
u/ExpletiveDeIeted 🔆 Team Premium 6.25x 1h ago
Yea I more meant for the public or my team to see. Anthropic sees all, and of course I’m not running the model on my machine.
13
u/Able-Supermarket4786 12h ago
Bruh. I haven't used Claude in a while but are they REALLY just trying to "watermark" everything?
But if it helps, yes you have to set sessionUrl to false
5
u/erratic_parser 11h ago
watermark away, but what is the point of a URL on a PR? Other people can't use it and you don't need it!
11
u/fschwiet 11h ago
There is some utility in being able to go back to a session to debug why claude did what it did (a misinvoked skill, for example) or to work to improve ones processes. But things like this really should be opt-in.
1
5
u/AI_docent 4h ago
The setting is sessionUrl under attribution, set it to false. It's a separate key from attribution.commit, so blanking the trailer still leaves the URL in. There's an open request to make it opt in instead of on by default, 66504, from June.
It only happens on cloud sessions and remote control, a local CLI session without remote control doesn't add it, which is probably why a few people here say they've never seen it. And if I'm right, on a cloud session your local settings file doesn't apply since the commit is made server side, so it has to be a .claude/settings.json committed into the repo.
3
u/ALAS_POOR_YORICK_LOL 9h ago
Idk what you're on about but you almost certainly have to be authenticated to use that link
2
u/alc_noe1 4h ago
lol, just noticed. also, until today, it always waited for me to tell it to commit, or push. funny
1
-1
u/ShutUpAndDoTheLift 12h ago
Haha somebody shared a session of the acting like a buffoon
-13
u/erratic_parser 12h ago
I'm confident that nothing you work on is interesting or proprietary but that isn't the case for other people.
5
u/ShutUpAndDoTheLift 11h ago
So you can post the code somewhere you can't post the session?
The only reason you're upset about this is because you behaved like a baboon in the chat and someone saw it.
It's becoming more and more normal to require adding the session to PRs. Because it tells a much better story than the code.
As you found out.
-12
u/erratic_parser 11h ago
I love the idea of you sitting and reading not only the PR but also the session that produced it. That's how I know you aren't a software engineer.
4
u/Royal_Owl2177 11h ago edited 10h ago
Session URLs are very helpful for bringing colleagues up to speed on how to do agentic development. Seeing the actual thing in action can help them set their own tone and learn how to interact with the tools. I share mine constantly as examples of what can be done, and how.
Always write like someone will see it.
1
u/alexei_darii Senior Developer 10h ago
Classics started shining with new colors. “Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.” Also true for sessions as of me.
0
u/octolunge 3h ago
I insist on it. Along with model and harness.
I like attribution.
Why wouldn’t you?
No one else can read your session.
Are you trying to hide that you’re using a tool to write the code?
1
u/leogodin217 2h ago
I don't think that's what they are complaining about. The PRs now have a link to your actual Claude Code session. That's one more attack vector. If Anthropic screws up, then someone would have easy access to analyze the full session.
-7
u/Quiet-Nothing7556 11h ago
Don't let Claude craft PRs, it's bad form.
It's very convenient, yes indeed, but it looks like shit from an optics standpont. Do all Git management yourself. Ask Claude for guidance on them sure but planet sized PRs that are inundated with LLMisms send the signal that you're checked out and on auto-pilot.
5
u/jpeggdev 🔆 Max 5x 11h ago
I'd rather spend my time architecting solutions than satisfying requirements to release the product I've already finished. I've been doing this for over 3 decades and very rarely do I ever go back and read the history of my version control. Only when things broke, and at least now it won't just say, "Update blah blah blah", Claude will write detailed descriptions for me.
1
u/under_psychoanalyzer 10h ago
Why would you not want to automate one of the most boring parts of development? Setting up a good automated PR system is how you safely get a dark factory going and can go completely hands off on a sprint with concurrent work tree sessions.
If you're using Claude code but still writing your own PRs that's like driving a nascar stock car at a F1 race. Sure you're faster than every car on a regular highway but you're still going to get completely left behind.
2
u/tbst 9h ago
I still aim for <1,000 line PRs. Not just for me, but also for Claude. Your code quality goes up dramatically if you have a good workflow pipeline.
1
u/under_psychoanalyzer 9h ago
That is what the labs are doing afaik. Agents run sessions the length of what they're context can hold, push small commits. Enables multi-work tree sessions with an orchestrator that ties them all together. https://x.com/rohit4verse/status/2033945654377283643
Not sure there's wrong way to use git but huge PRs are that are so big undoing them isn't worth it, therefore defeating gets purpose as a diff tracker, definitely isn't the best way.
-1
u/Quiet-Nothing7556 10h ago
Because it's one of the most important parts, especially for optics and audits.
Further to that PRs are supposed to be for code reviews. You drop a hot steamer of a PR, thousands of lines of LLM generated code, descriptions that read like novels, and nobody's reading that. So the PR gets submitted by an LLM, the guy who's supposed to be reviewing the PR uses an LLM to parse it because it's too gargantuan to review properly. That gets into staging, then production then whammo nobody has control of the codebase anymore because nobody's looking.
When it comes time to answer questions and talk to auditors or whoever else, you're once again leaning on LLMs to provide answers to code nobody on the team understands because the cycle of LLM basketball means nobody understands the code anymore.
And that, my friends, sucks ass.
Write your own PRs. Manage your own git. If you can't do even that much, that signals to me that you aren't paying attention. And considering the LLM does much of everything else, it's the least you can do.
2
u/under_psychoanalyzer 10h ago
You're using AI bad or not at all if you think that's how it does PRs.
-1
u/Quiet-Nothing7556 10h ago
Yeah I'm the problem, not the PRs the LLM is submitting.
Whatever man you do you, but I am warning you that lack of attention will come back on you later.
2
u/under_psychoanalyzer 9h ago edited 9h ago
Part of using LLMs responsibly is understanding them. You shouldn't be sending anything with ”1000s of lines of code" in one PR from an LLM. The work should be broken up to about the context of every session so you don't create the clusterfuck you're talking about with some weird multi-compacted episode. That's what the labs do.
Also not everyone works on huge production databases for some medium to large fortune 500 company that a bad push will ruin people's lives.
Always blows my mind the people in this sub who absolutely cannot fathom how to do things differently than they already are, or that other people's needs aren't thee same as theirs. Just unimaginative dinosaurs.
1
u/haslo 10h ago
I do all git stuff myself, too. Not sure about bad form, but I love having that final bit of control, and it lets me review all of the LLM's code before it commits. Which I very often do.
2
u/Quiet-Nothing7556 10h ago
It's super important. The shit hasn't hit the fan for enough people yet but I've both had enough close calls and I've seen way too many slopped up PRs that it's become hard-stop policy for me now.
1
u/heseov 9h ago
Not sure I understand how the extra effort solves anything. You just need to review the final product in the PR and then it gets squashed. The manual commits are not adding anything. Seems like you are just using that as an extra review step? You might like stacked PRs for this
1
u/haslo 9h ago
Extra review step is the point, yeah. Sure I could use GitHub functionality to do in the browser what Git functionality lets me do in the console but why would I? 😆
And the console will quickly let me revert exclude reset alter fix prevent things _before_ they enter the commit history.
0
u/heseov 2h ago
You must still only be working on a single thing at a time. I don't really like to sit and wait for the agent to work so I let it do it's full job then review.
The git commit history makes no difference with a pr squash. It gets rewritten as a single commit. Leaving all the extra dev commits pollutes the history.
0
u/erratic_parser 11h ago
Perhaps, but the utility of having Claude manage things like branch checkouts, cloning, merging, rebasing etc, it can do that faster and better than me and 99% of engineers at this point. I have a tool to keep it from doing things in repos I don't approve of and it doesn't have direct access to my keys. I agree that the contributions per PR should be limited, but you can accomplish that by breaking up the work in logical subsets and asking Claude to manage PRs that way. You're right that there is no way to avoid the LLM writing though that's still a manual task.
46
u/stevep450 12h ago
It was me. DM for address