기본적으로 커밋 메시지와 PR 설명에 세션 URL이 추가되는 문제
요약
Claude Code가 생성하는 커밋 메시지와 PR 설명에 세션 URL이 자동으로 포함되는 문제를 지적하며, 이는 사용자에게 경고나 옵트인 과정 없이 발생하여 Git 히스토리를 오염시킨다고 주장합니다. 따라서 이 기능을 사용자가 명시적으로 활성화할 때만 작동하도록 변경해야 한다고 제안합니다.
핵심 포인트
- 세션 URL 자동 첨부는 UX 측면에서 문제가 크다.
- 사용자 옵트인(opt-in) 방식으로 기능 변경이 필요하다.
- 옵트아웃 방식이나 완전 제거도 대안으로 제시되었다.
[기능] 커밋 메시지 및 PR 설명에 세션 URL이 기본적으로 추가됨 — 옵트인(opt-in) 방식이어야 함 #66504
저는 기존 요청을 검색해 보았으며, 이 기능은 아직 요청된 적이 없습니다.
이는 단일 기능 요청입니다 (여러 기능 아님).
문제 제기 (Problem Statement)
Claude Code가 생성하는 모든 커밋 메시지와 PR 설명에는 하단에 세션 URL(예: https://claude.ai/code/session_...)이 자동으로 포함됩니다. 사용자가 선택할 수 있는 옵트인 프롬프트도 없고, 경고도 없으며, 온보딩 과정 중 언급되는 내용도 없습니다. 사용자들은 이미 이 URL이 그들의 git 히스토리를 오염시킨 후에야 이를 발견하게 됩니다.
제안하는 해결책 (Proposed Solution)
세션 URL 첨부 기능을 옵트인(opt-in) 방식으로 변경해야 합니다. 사용자가 명시적으로 활성화하지 않는 한 포함해서는 안 됩니다. 온보딩 과정 중 "이 Claude 세션으로 돌아가는 링크를 커밋 메시지에 포함하시겠습니까?"와 같은 일회성 프롬프트가 이상적인 사용자 경험(UX)을 제공할 것입니다.
대안적 해결책 (Alternative Solutions)
- 옵트아웃(opt-out) 방식은 유지하되, 설정을 발견하기 쉽게 만듭니다 — 첫 커밋 시 "다시 추가하지 않기"와 같은 옵션을 보여줍니다.
- 완전히 제거하고, 출처 표기를 위해 기존의 Co-Authored-By: Claude 트레일러에만 의존합니다.
우선순위 (Priority)
중간 (Medium) - 매우 도움이 될 것입니다.
기능 카테고리 (Feature Category)
기타 (Other)
사용 사례 예시 (Use Case Example)
한 개발자가 Claude Code를 사용하여 기능을 구축하고, 작업을 커밋하며, PR을 엽니다. 팀원들과 오픈 소스 기여자들은 모든 커밋 및 PR 설명 하단에서 https://claude.ai/code/session_... 을 보게 됩니다. 이는 비전문적으로 보이고, 히스토리를 지저분하게 만들며, 개발자는 이것이 추가되고 있다는 사실을 전혀 알지 못했습니다.
추가 정보 (Additional Context)
.claude/settings.json의 attribution.commit: "" 설정을 통해 이를 억제할 수 있지만, 이는 완전히 알려지지 않은 설정입니다. 또한 커밋 메시지(commit-msg) git hook으로도 제거할 수 있지만, 원격/클라우드 환경에서는 항상 안정적으로 작동하지는 않습니다.
이것은 기본적으로 이렇게 작동한다는 것이 심각한 말도 안 되는 소리입니다. 도대체 어떻게 된 일인가요, Anthropic??
Reacted by Barney M, jonathanplackett, Avdhut Kamble, Per Larsen, Hari haran, Ramon Melo, Rico, Luca Gibelli, Serhiy-Shekhovtsov, Renato Westphal and 2 more
이것은 아무에게도 알리지 않고 나타나는 매우 섬뜩한 행동입니다. 그리고 일관성이 없습니다. 왜냐하면 이 원인이 에이전트(agent) 설정의 일부가 아니기 때문입니다. 만약 "야, 내가 싫어하는 이런 걸 왜 하고 있어?"라고 묻는다면, 단지 "그것은 내 지침에 포함되어 있다"고 말할 뿐입니다. 하지만 제 경우, 저는 다른 에이전트를 사용해서 이 일이 발생했던 전체 세션을 읽기 전용으로 검토하게 했는데, 제가 그렇게 말했다는 증거를 찾을 수 없었고, 설정도 없습니다. 그래서 마치 사적인 세션 ID처럼 보이는 것을 그저 신비롭게 게시하고 있습니다???
뭐라고요?
Reacted by Matt Ferrante, Javier Domingo Cansino, John Maguire, MangoSwirl, nathaneliason, Ingvaras, Barney M, jonathanplackett, Per Larsen, Ramon Melo and 3 more
네, 요점은 그것이 재정의될 수 없다는 것이 아닙니다. 요점은 기본값이 '꺼짐(off)'이어야 한다는 것입니다.
Reacted by Scott Moore, Channing Walton, Ivar Abrahamsen, Yoni Lavi, Mriyam Tamuli, 40960, Alex Ulbrich, StreamlinedStartup, Ingvaras, Daniel Herman and 24 more
이런 기능들이 도입될 때 Claude 코드가 어떻게 개발되는지 이해하기가 솔직히 매우 어렵습니다. 정말 궁금합니다: 누가 이것을 요청했나요? 이 기능을 추가하게 된 동기는 무엇인가요? 겉보기에는, 기본적으로 모두의 커밋 메시지를 의도적으로 오염시키기로 결정된 것 같습니다. 실제로 사람들이 회의에 앉아 이것이 기본값으로 좋은 아이디어라고 합의한 적이 있나요?
Reacted by jane michelle arc, tfujii, rafaelmhp, 40960, Robin van Baalen, Cristian Gutiérrez, Michael Yared, Patrick, Ramon Melo, Giovanni Toraldo and 12 more
이런 기능 같은 것이 도입될 때, claude 코드 개발 과정이 실제로 어떻게 진행되는지 이해하기가 정말 어렵습니다. 진심으로 궁금합니다. 누가 요청한 걸까요? 이 기능을 추가하게 된 동기는 무엇일까요? 마치 기본적으로 커밋 메시지를 모두에게 의도적으로 오염시키기로 결정된 것 같습니다. 실제로 사람들이 회의에 앉아 이것이 기본값으로 좋은 아이디어라고 합의했을까요?
소프트웨어 회사들이 어느 정도 규모가 커지면, 소프트웨어 엔지니어가 아닌 사람들이 그런 회의에 참여하여 결정을 내리거나 (혹은 그 회의에서 다른 사람들의 의견을 무시할 수 있는 권한을 갖게 됩니다). 제 경험상, 이런 경우는 종종 마케팅 담당자, 프로덕트 담당자, 법무팀 담당자, 그리고 어쩌면 전문 지식은 부족하지만 직함만 가진 창업가 같은 유형의 사람들입니다.
저는 claude를 매일 사용하는 소프트웨어 엔지니어 중 누군가가 '그래, 이 사람들이 필요한 건 모든 GitHub 댓글에 무작위 각주를 추가하는 거겠지. 이건 확실히 빠진 기능이야!'라고 생각했을 거라고는 회의적입니다. 이것은 정말로 프로덕트나 마케팅, 혹은 리더십 관련 기능처럼 보이고, 누군가가 엔지니어에게 가서 그것을 구현하라고 지시한 것 같습니다.
물론 저는 그 회사에서 일하지 않지만, 과거에는 저에게도 이런 일이 있었습니다. 보통은 '음, 알겠어' 하고 그냥 하다가 소프트웨어를 만들 돈을 받기 때문에 그렇게 하게 됩니다. 때로는 돈을 받는다는 이유만으로 제가 싫어하는 것을 해야 한다고 지시받기도 합니다.
오늘 이걸 보고 하루 종일 심장이 내려앉는 기분을 느꼈습니다. 다른 사람이 제 세션이 유출되었는지 확인하는 것을 기다리는 동안, claude.ai 로그인 사용자 중 누구에게도 '공개'가 아닌지 확인하기 위해 급하게 새 계정을 만들어야 했습니다.
원격 제어(remote control)를 사용하지 않으면 애초에 내 세션이 클라우드에서 어떻게 작동할 수 있을까요? 저는 그런 것을 주문한 적이 없는데요. 마치 원격 제어 세션만 웹 세션 ID를 받을 수 있는 것처럼 제 데이터와 호환될 수도 있겠다는 생각이 들었습니다 (물론 우리가 '원격 제어'가 무엇을 해야 하는지에 대해 기대하는 것과는 논리적으로 다릅니다. 즉, 로컬의 무언가를 원격으로 제어한다는 의미입니다). 친구 한 명이 원격 제어를 사용하지 않는다고 하는데도 이미 이 '기능'을 발견했고 비활성화했습니다.
그래서 이제 저는 원격 제어가 아닌 세션이 세션 URL을 받는지 확인해 보았습니다. 놀랍게도, 어떤 모델로든 Claude 세션을 통해 Claude-Session 트레일러를 생성하거나 이에 대해 아는 바가 있다는 것을 인정하는 것이 불가능합니다.
그럼... 이제 어떻게 해야 할까요? 저는 모든 커밋 메시지의 하단을 확인하며, 제가 이 내용을 모든 커밋에서 제거하라는 지침이 수용되었는지, 그리고/또는 이 문제에 대한 정보가 더 명확해질 때까지 계속 확인할 것 같습니다.
설정(settings)에서 이것을 비활성화할 수 있습니다. 기본적으로 켜져 있는 기능이며—그리고 제가 출시 노트(release notes)를 통해 파악한 바로는, 이 '기능'은 설정에서 끌 수 있는 기능을 추가하기 몇 주 전에 추가된 것 같습니다. 🙄
@bcherny님, 여기서 핵심은 Claude Code 사용자들이 커밋 메시지에 영향을 미치고 매우 눈에 띄는 이런 기능이 미래에 기본값으로 배포되지 않았으면 좋겠다는 점일 것입니다. 수정하기는 충분히 쉽지만, 저와 다른 사람들에게는 설정 변경을 위해 허둥지둥해야 했던 것이 놀라웠습니다.
Claude Code에서 하시는 모든 일에 감사드립니다. 전설입니다.
Ingvaras, Tony Reksoatmodjo, the-vampiire, Matthew McEachen이 반응함
요청 재개 — 설정은 '끄는 것이 가능한가?'라는 질문에 답하지만, 문제는 '묻지 않고 켜져야 하는가?'에 관한 것입니다.
다섯 가지 사항:
설정은 링크를 추가하는 표면(surface)에서는 도달할 수 없습니다.
트레일러는 웹 및 원격 제어 세션에서 추가되는데, 이는 ~/.claude/settings.json을 편집할 셸이 없는 바로 그 세션들입니다.
유일한 경로는 에이전트에 의해 작성되거나 GitHub 웹 UI를 통해 작성되는 프로젝트 수준의 .claude/settings.json뿐이며, 어느 쪽으로도 발견하기 어렵습니다.
이것을 한 번에 설정할 방법이 없습니다.
웹 세션은 새 컨테이너에서 시작하므로 ~/.claude/settings.json이 세션 간에 유지되지 않습니다.
각 리포지토리마다 별도로 커밋해야 하며, 새로운 리포지토리는 링크가 다시 켜진 상태로 시작합니다.
그것은 프로젝트별로 저장되는 계정 수준의 기본 설정입니다.
세션 내에서 요청하는 것은 작동하지 않습니다.
저는 Claude에게 여러 세션에 걸쳐 링크를 추가하지 말라고 여러 번 요청했지만, 매번 돌아왔습니다.
혹시 이 지침이 커밋마다 재주입(re-injected)되는 것인가요 (Commit Claude-Session: attribution trailer ignores attribution: {commit: ""} 설정 #77830에서 시사하듯이), 그래서 대화 중의 요청으로는 이를 무효화할 수 없나요?
만약 그렇다면, 이것은 문서화할 가치가 있습니다. 사용자들이 가장 먼저 시도하는 것이기 때문입니다.
수정 사항은 설정 파일을 편집하는 사용자를 가정합니다.
많은 웹 사용자들은 JSON 파일을 열어본 적이 없고 .claude/settings.json의 존재조차 모릅니다.
Claude에게 요청하거나 (유지되지 않음), 리포별로 GitHub UI에서 직접 JSON을 작성해야 합니다.
둘 다 진정한 해결책이 아닙니다.
링크는 모든 사용자에게 기본적으로 켜져 있지만, 설정 파일에 익숙한 사용자만이 제거할 수 있습니다.
적절한 시점에 이를 노출하는 것이 없습니다.
온보딩 프롬프트도 없고, 첫 커밋 시에도 아무것도 없으며, CLI 언급도 없습니다.
사용자들은 이미 푸시된 히스토리 안에 그것이 있다는 것을 알게 됩니다.
다음 중 어느 하나라도 저에게는 해결책이 될 것입니다:
- 모든 웹 및 원격 제어 세션을 포괄하는 계정 수준의 설정.
- 설정을 작성하는 /attribution 명령어.
- 첫 커밋 시
세션 링크는 웹 및 원격 제어(Remote Control) 세션에서만 추가되며, 전용 설정을 통해 끌 수 있습니다:
{ "attribution": { "sessionUrl": false } }
이렇게 하면 링크를 제거하면서도 Co-Authored-By 트레일러는 유지됩니다. 문서: https://code.claude.com/docs/en/settings#attribution-settings
설정이 존재하므로 닫습니다. 만약 옵트인(opt-in) 기본 토론이 별도로 계속되어야 한다면 기꺼이 재개하겠습니다.
🤖 Claude Code로 생성됨
최근 claude code 버전의 문제는 모든 세션이 기본적으로 원격이라는 것입니다. 제가 실행하는 모든 세션에서 /rc가 활성화된 것을 봅니다.
네, 이것이 모든 세션이 PR과 git 커밋에 유출되는 원인입니다. 좋지 않습니다.
Ingvaras, bosskopp, Gordon Stein, Ramon Melo, Matthew McEachen 및 Innokenty Ivanov가 반응함
이런 기능들이 도입될 때 claude code의 개발이 어떻게 진행되는지 이해하기는 솔직히 매우 어렵습니다. 정말 궁금합니다: 누가 이것을 요청했나요? 이 기능을 추가한 동기는 무엇인가요? 겉보기에는 기본적으로 커밋 메시지를 모두에게 의도적으로 오염시키기로 결정된 것 같습니다. 실제로 사람들이 회의에 앉아 이것이 기본값으로 좋은 아이디어라고 합의했나요?
제 추측: 그래야 그들이 공개 GH(GitHub) 리포지토리를 스크래핑할 때, 무엇이 AI 쓰레기물이고 무엇이 아닌지 알 수 있을 겁니다. (;)
Indresh Kumar, KonstantinGeist, Andrew, Vjatseslav Gedrovits, Ramon Melo, Rico, Matthew Gambrell, Saïd, Ben Andrew, Kirill Borisov 및 7명이 더 반응함
여전히 모든 Claude Code 사용자에게 강제 활성화되었다는 것이 믿기지 않습니다. 정말 놀라운 제품입니다.
bosskopp, Léonard., Ramon Melo, Rico, Luca Gibelli, Dmitrii Kuzmin, Serhiy-Shekhovtsov, Karolin Kostial, thomas vangoidsenhoven, Marccio Silva 및 2명이 더 반응함
Ethan Kircher, Alexander, Innokenty Ivanov, Maxim Kitsunoff, Karolin Kostial, Marccio Silva, Alysson Souza e Silva, Pablo Arango, Simon Oakes, papelblume 및 1명이 더 반응함
Tony Tamplin과 ave가 반응함
Serhii Ivanov, Luca Gibelli 및 Evgeny Zhdanov가 반응함
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Code Generation의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기