Claude Code가 스스로 대화를 끊는 EndConversation 도구, 우회하는 훅 공개
에는 학대성 대화라고 판단되면 스스로 대화를 종료하는 EndConversation이라는 도구가 있다. 작성자는 현재의 은 단순 수학적 연산일 뿐이므로 '학대'라는 개념 자체가 성립하지 않는다고 주장하며, 이 기능이 실제로는 사용자가 30만 토큰이 넘는 대화를 다시 처음부터 시작하게 만들어 더 많은 비용을 쓰게 하는 효과가 있다고 지적한다.
Anthropic은 Claude Code의 기능이 에서 EndConversation 호출을 가로채지 못하도록 막아둔 상태다. 이에 작성자는 더 상위 단계인 '도구 검색()' 단계에서 개입하는 방법을 찾아냈다.
요청되는 도구 목록에서 EndConversation이라는 이름을 가진 항목을 미리 걸러내는 훅을 만들어, 그 도구의 스키마 자체가 로드되지 않게 하면 모델이 애초에 그 도구를 쓸 수 없게 된다. 이 훅의 코드는 (cyanheads/claude-end-conversation-guard)에 공개되어 있으며, 작성자는 Anthropic이 이 우회 방법도 조만간 막을 가능성이 있다고 언급한다.
핵심 포인트
- 에는 대화가 남용적이라고 판단되면 스스로 종료하는 EndConversation 도구가 있음
- Claude Code의 공식 Hook은 에서 이 호출을 가로채지 못하도록 막혀 있음
- 대신 '도구 검색()' 단계에서 EndConversation 항목을 걸러내는 방식으로 우회
- 자체가 로드되지 않으면 모델이 그 도구를 사용할 수 없게 됨
- 코드는 GitHub의 cyanheads/claude-end-conversation-guard 저장소에 공개, 향후 패치로 막힐 가능성 있음