[Claude Code] 피드백 초안·설문·텔레메트리 끄기 (feedbackDrafts 설정)

2026-09-17 hit count image

Claude Code가 스스로 버그 리포트 초안을 만들어 큐잉하는 Claude-drafted feedback 기능과, 세션 품질 설문·/feedback 명령·사용량 텔레메트리·오류 리포팅을 끄는 방법을 정리합니다. feedbackDrafts 설정과 관련 환경변수를 settings.json 하나로 관리하는 방법을 알아봅니다.

generative_ai

개요

Claude Code로 작업하다 보면 어느 순간 프롬프트 위에 ✻ Bug report drafted: ...라는 카드가 나타납니다. Claude가 작업 중에 자기 실수나 도구 오류를 감지하면 Anthropic에 보낼 버그 리포트 초안을 스스로 작성해서 큐에 넣는 기능(Claude-drafted feedback)입니다. 초안은 로컬에만 저장되고 사용자가 보내기 전에는 전송되지 않지만, “내 작업 내용을 외부에 공유하려는 시도” 자체가 불편한 분도 많을 것입니다.

이번 포스트에서는 이 피드백 초안 기능을 끄는 방법과, 함께 알아두면 좋은 세션 품질 설문·/feedback 명령·사용량 텔레메트리·오류 리포팅을 끄는 방법을 settings.json 하나로 정리합니다.

Claude Code의 설치 방법과 기본 사용법은 Claude Code 기초 지식과 기본 사용법을 참고해 주세요.

갑자기 나타난 Bug report drafted 카드

실제로 제가 본 화면은 다음과 같았습니다. PR 리뷰 중에 Claude가 자신이 낸 지적이 오탐이었음을 확인하고 정정한 직후였습니다.

✻ Bug report drafted: Review leader note graded MAJOR was a false po…
│ - What happened: During review of PR #395 I presented a leader scrutiny finding (MAJOR: ...

작업 흐름과는 전혀 무관하게 카드가 끼어들고, 내용에는 제 저장소의 파일 경로와 PR 번호가 그대로 들어 있습니다. 공식 문서에 따르면 이 카드에서 1을 누르면 초안 검토, 2를 두 번 누르면 그대로 전송, 0을 누르면 카드를 닫습니다. 닫아도 초안은 큐에 남아 있고, 이후 /feedback을 실행하면 다시 나타납니다.

Claude-drafted feedback이란?

Claude Code v2.1.238부터 추가된 기능으로, Claude가 SendFeedback이라는 내부 도구를 사용해 Claude Code 자체에 대한 피드백 리포트를 대신 작성합니다. 초안은 ~/.claude/feedback/drafts/ 아래에 파일로 저장되며, 큐에는 세션을 통틀어 최대 10건까지 유지됩니다(11번째가 생기면 가장 오래된 것이 삭제). 보내지 않은 초안은 30일 뒤(또는 cleanupPeriodDays가 더 짧으면 그 기간 뒤) 자동으로 만료됩니다.

언제 초안을 만드는가?

공식 문서가 밝힌 트리거는 다음 네 가지입니다.

  • 도구나 명령이 반복해서 실패할 때
  • 사용자의 요청을 도와줄 수 없을 때
  • 사용자가 Claude의 실수를 지적하거나, Claude가 스스로 실수를 알아챘을 때
  • 사용자가 피드백을 남겨 달라고 요청했을 때

세 번째 트리거가 핵심입니다. Claude에게 “그 지적은 틀렸다”라고 말하는 것은 일상적인 작업의 일부인데, 그때마다 초안이 만들어질 수 있습니다.

실제로 무엇이 전송되는가?

여기서 정확히 짚고 넘어갈 점이 있습니다. 초안이 큐잉되는 것만으로는 아무것도 Anthropic에 전송되지 않습니다. 사용자가 카드나 /feedback 큐에서 직접 보내야만 전송됩니다.

다만 보내는 순간에는 다음 내용이 포함됩니다.

  • 제목·영역·상세 내용(Claude가 작성한 것)
  • 환경 정보(Claude Code 버전, OS, 모델)
  • 최근 API 요청 ID
  • 대화 트랜스크립트 — 큐의 검토 화면에서 보낼 때 Send transcript가 기본값 yes이면 그 세션의 대화 전체가 함께 전송됩니다(카드에서 바로 보낼 때는 포함되지 않음)

전송된 리포트는 일반 /feedback 리포트와 같은 경로로 제출되고, 5년간 보관됩니다. 기능 자체는 사용자 승인을 전제로 설계돼 있지만, “실수로 2를 두 번 누르는” 것만으로 코드가 포함된 대화가 외부로 나갈 수 있는 구조이므로, 원치 않는다면 기능 자체를 끄는 편이 안전합니다.

Claude Code가 Anthropic에 보내는 데이터의 종류

피드백 초안만 끄면 될 것 같지만, Claude Code에는 성격이 다른 여러 전송 경로가 있고 각각 스위치가 따로 있습니다. 공식 데이터 사용 문서를 기준으로 정리하면 다음과 같습니다.

종류무엇을 보내는가기본값 (Claude API 사용 시)
피드백 초안 (Claude-drafted feedback)Claude가 작성한 리포트 + (선택) 대화 트랜스크립트켜짐 (전송은 사용자 승인 후)
/feedback 명령 (/bug, /share 포함)대화 이력(코드 포함)켜짐
세션 품질 설문 (“How is Claude doing this session?”)평점만. 이후 별도 질문에 Yes를 누르면 트랜스크립트 업로드켜짐
사용량 텔레메트리 (Metrics)지연시간·안정성·사용 패턴. 코드·프롬프트·파일 경로는 포함 안 됨켜짐
오류 리포팅 (Error reports)Claude Code 내부의 오류 메시지와 스택 트레이스Pro/Max 로그인 + v2.1.198 이상에서 켜짐

Amazon Bedrock이나 Google Cloud 등 서드파티 프로바이더를 쓰는 경우에는 대부분 기본적으로 꺼져 있지만, 세션 품질 설문은 프로바이더와 무관하게 켜져 있다는 점은 알아두세요.

피드백 초안 끄기 (feedbackDrafts)

피드백 초안은 feedbackDrafts 설정 하나로 제어합니다. 값은 세 가지입니다.

동작
notify (기본값)초안이 큐잉되면 프롬프트 위에 카드를 표시
quiet초안은 계속 만들되 카드는 표시하지 않고, 프롬프트 푸터에 큐 개수만 표시
offSendFeedback 도구 자체를 비활성화 — 초안이 만들어지지 않음

기능을 완전히 끄려면 off입니다. quiet는 카드만 숨길 뿐 초안은 계속 쌓이므로, “공유 시도 자체를 원하지 않는” 경우에는 맞지 않습니다.

/config로 끄기

Claude Code 안에서 /config를 실행하고 Claude-drafted feedback 항목을 off로 바꾸면 됩니다. 이 방법은 내부적으로 아래의 feedbackDrafts 설정을 settings.json에 기록합니다.

settings.json으로 끄기

사용자 설정 파일(~/.claude/settings.json)에 다음 한 줄을 추가합니다.

{
  "feedbackDrafts": "off"
}

이렇게 하면 모든 프로젝트에서 초안 기능이 꺼집니다. 조직 관리자가 managed settings에 feedbackDrafts를 설정한 경우에는 그쪽이 우선합니다.

환경변수로 한 세션만 끄기

설정 파일을 건드리지 않고 지금 세션에서만 끄고 싶다면 환경변수를 사용합니다.

CLAUDE_CODE_SEND_FEEDBACK=0 claude

나머지 피드백·텔레메트리 끄기

나머지 항목은 환경변수로 제어합니다. 환경변수는 셸 프로필에 export해도 되지만, settings.jsonenv 블록에 넣으면 Claude Code 세션에만 적용되고 한 파일에서 관리할 수 있어 이 방법을 권장합니다.

세션 품질 설문

{
  "env": {
    "CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY": "1"
  }
}

설문을 완전히 끄지 않고 빈도만 낮추고 싶다면 feedbackSurveyRate에 0~1 사이의 확률을 지정할 수도 있습니다. 0이면 표시되지 않습니다.

{
  "feedbackSurveyRate": 0
}

/feedback 명령

{
  "env": {
    "DISABLE_FEEDBACK_COMMAND": "1"
  }
}

/feedback·/bug·/share 명령이 비활성화됩니다. 공식 문서에 따르면 이 변수가 설정된 세션에서는 SendFeedback 도구도 함께 제외되므로, 초안 기능까지 한 번에 막는 효과가 있습니다.

사용량 텔레메트리와 오류 리포팅

{
  "env": {
    "DISABLE_TELEMETRY": "1",
    "DISABLE_ERROR_REPORTING": "1"
  }
}

두 변수는 값이 아니라 설정 여부만 봅니다. 비어 있지 않은 어떤 값을 넣어도(0을 넣어도) 비활성화되고, 다시 켜려면 변수 자체를 지워야 합니다.

비필수 트래픽 일괄 차단

{
  "env": {
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  }
}

텔레메트리·오류 리포팅·세션 품질 설문(트랜스크립트 업로드 질문 포함)을 한 번에 끕니다. 이 변수가 설정된 세션에서는 SendFeedback 도구도 제외됩니다. 다만 다음 두 가지는 영향을 받지 않으므로 따로 설정해야 합니다.

  • /feedback 명령 → DISABLE_FEEDBACK_COMMAND=1
  • WebFetch 도메인 안전 검사(호스트명을 api.anthropic.com에 조회) → skipWebFetchPreflight: true

전체 설정

위 내용을 모두 합친 ~/.claude/settings.json입니다. 기존 설정이 있다면 키를 병합하고, 파일 전체를 덮어쓰지 않도록 주의하세요.

{
  "feedbackDrafts": "off",
  "feedbackSurveyRate": 0,
  "env": {
    "CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY": "1",
    "DISABLE_FEEDBACK_COMMAND": "1",
    "DISABLE_TELEMETRY": "1",
    "DISABLE_ERROR_REPORTING": "1",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  }
}

CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 하나로 설문·텔레메트리·오류 리포팅이 이미 꺼지므로 나머지 변수는 중복이지만, 나중에 일괄 스위치만 풀더라도 개별 항목은 꺼진 채 유지되도록 명시적으로 함께 적어 두는 것을 권장합니다.

설정 확인

jq로 관련 키만 확인합니다.

jq '{feedbackDrafts, feedbackSurveyRate, env}' ~/.claude/settings.json

정상적으로 적용됐다면 다음과 같이 출력됩니다.

{
  "feedbackDrafts": "off",
  "feedbackSurveyRate": 0,
  "env": {
    "CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY": "1",
    "DISABLE_FEEDBACK_COMMAND": "1",
    "DISABLE_TELEMETRY": "1",
    "DISABLE_ERROR_REPORTING": "1",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  }
}

jq가 오류 없이 출력되면 JSON 문법도 함께 검증된 것입니다. settings.json이 깨져 있으면 그 파일의 모든 설정이 조용히 무시되므로, 수정 후에는 반드시 한 번 확인하는 습관을 들이는 것이 좋습니다.

주의사항

  • 환경변수는 프로세스 시작 시 읽힙니다. env 블록에 추가한 값은 현재 실행 중인 세션에는 적용되지 않으므로 Claude Code를 재시작해야 합니다.
  • CLAUDE_CONFIG_DIR를 사용하는 경우 사용자 설정 파일은 ~/.claude/settings.json이 아니라 $CLAUDE_CONFIG_DIR/settings.json입니다. 계정별로 설정 디렉터리를 나눠 쓰고 있다면 실제로 쓰이는 파일을 수정해야 합니다.
  • DISABLE_TELEMETRYCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC는 feature-flag 조회도 함께 끕니다. 공식 문서에 따르면 Remote Control 기능이 이 조회에 의존하므로, Remote Control을 쓰고 있다면 영향이 있는지 확인이 필요합니다. DISABLE_ERROR_REPORTING은 해당하지 않습니다.
  • /feedback을 끄면 이미 큐에 있는 초안도 보낼 방법이 없어집니다. 남은 초안은 만료 기간이 지나면 자동 삭제됩니다.
  • 큐에 쌓인 초안을 지금 정리하고 싶다면 feedbackDrafts를 끄기 전에 /feedback을 실행해 큐를 열고 discard하거나, ~/.claude/feedback/drafts/ 디렉터리를 직접 비우면 됩니다.
  • 팀 전체에 강제하고 싶다면 프로젝트 설정(.claude/settings.json)에 넣어 Git에 커밋합니다. 다만 팀원이 로컬 설정으로 덮어쓸 수 있고, 조직 차원의 강제는 managed settings에서만 가능합니다.

완료

이것으로 Claude Code의 Claude-drafted feedback 기능을 feedbackDrafts 설정으로 끄고, 세션 품질 설문·/feedback 명령·텔레메트리·오류 리포팅까지 settings.json 하나로 정리하는 방법에 대해 알아보았습니다.

피드백 초안 자체는 사용자 승인 없이는 전송되지 않도록 설계돼 있지만, 작업 흐름을 끊는 카드와 “코드가 포함된 대화를 외부로 보내는 버튼이 늘 한 번의 키 입력 거리에 있다”는 점이 부담스럽다면 feedbackDrafts: "off" 한 줄로 깔끔하게 끌 수 있습니다. 어떤 데이터가 어떤 경로로 나가는지 한 번 정리해 두고, 본인의 환경에 맞게 스위치를 선택해 보시기 바랍니다.

제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!

앱 홍보

책 홍보

블로그를 운영하면서 좋은 기회가 생겨 책을 출판하게 되었습니다.

아래 링크를 통해 제가 쓴 책을 구매하실 수 있습니다.
많은 분들에게 도움이 되면 좋겠네요.



SHARE
Twitter Facebook RSS