目次
概要
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を2回押すとそのまま送信、0を押すとカードを閉じます。閉じても下書きはキューに残り、後で/feedbackを実行すると再び表示されます。
Claude-drafted feedbackとは?
Claude Code v2.1.238から追加された機能で、ClaudeがSendFeedbackという内部ツールを使ってClaude Code自体に関するフィードバックレポートを代わりに作成します。下書きは~/.claude/feedback/drafts/以下にファイルとして保存され、キューにはセッションをまたいで最大10件まで保持されます(11件目が作られると最も古いものが削除)。送信しなかった下書きは30日後(またはcleanupPeriodDaysがそれより短ければその期間後)に自動的に期限切れになります。
いつ下書きを作るのか?
公式ドキュメントが挙げているトリガーは次の4つです。
- ツールやコマンドが繰り返し失敗したとき
- ユーザーの依頼を手伝えないとき
- ユーザーがClaudeのミスを指摘したか、Claudeが自らミスに気づいたとき
- ユーザーがフィードバックを残すよう依頼したとき
3番目のトリガーが肝心です。Claudeに「その指摘は間違っている」と伝えるのは日常的な作業の一部ですが、そのたびに下書きが作られる可能性があります。
実際に何が送信されるのか?
ここで正確に押さえておきたい点があります。**下書きがキューに入っただけでは、Anthropicには何も送信されません。**ユーザーがカードや/feedbackのキューから自分で送信して初めて送られます。
ただし送信する際には、次の内容が含まれます。
- タイトル・領域・詳細(Claudeが作成したもの)
- 環境情報(Claude Codeのバージョン、OS、モデル)
- 最近のAPIリクエストID
- 会話のトランスクリプト — キューの確認画面から送る場合、
Send transcriptのデフォルトがyesなので、そのセッションの会話全体が一緒に送信されます(カードから直接送る場合は含まれません)
送信されたレポートは通常の/feedbackレポートと同じ経路で提出され、5年間保管されます。機能自体はユーザーの承認を前提に設計されていますが、「うっかり2を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設定一つで制御します。値は3種類です。
| 値 | 動作 |
|---|---|
notify(デフォルト) | 下書きがキューに入るとプロンプトの上にカードを表示 |
quiet | 下書きは作り続けるがカードは表示せず、プロンプトのフッターにキュー件数だけ表示 |
off | SendFeedbackツール自体を無効化 — 下書きが作られない |
機能を完全にオフにするならoffです。quietはカードを隠すだけで下書きは溜まり続けるので、「共有の試み自体を望まない」場合には合いません。
/configでオフにする
Claude Code内で/configを実行し、Claude-drafted feedbackの項目をoffに変えれば完了です。この方法は内部的に、下記のfeedbackDrafts設定をsettings.jsonに書き込みます。
settings.jsonでオフにする
ユーザー設定ファイル(~/.claude/settings.json)に次の1行を追加します。
{
"feedbackDrafts": "off"
}
これですべてのプロジェクトで下書き機能がオフになります。組織の管理者がmanaged settingsにfeedbackDraftsを設定している場合は、そちらが優先されます。
環境変数で1セッションだけオフにする
設定ファイルを触らずに今のセッションだけオフにしたい場合は、環境変数を使います。
CLAUDE_CODE_SEND_FEEDBACK=0 claude
残りのフィードバック・テレメトリをオフにする
残りの項目は環境変数で制御します。環境変数はシェルのプロファイルでexportしてもかまいませんが、settings.jsonのenvブロックに入れると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"
}
}
この2つの変数は**値ではなく設定されているかどうかだけを見ます。**空でない任意の値を入れると(0を入れても)無効化され、再び有効にするには変数自体を削除する必要があります。
非必須トラフィックを一括で遮断する
{
"env": {
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}
テレメトリ・エラーレポート・セッション品質アンケート(トランスクリプトのアップロード質問を含む)を一括でオフにします。この変数が設定されたセッションではSendFeedbackツールも除外されます。ただし次の2つは影響を受けないので、別途設定する必要があります。
/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_TELEMETRYとCLAUDE_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一つで整理する方法について見てきました。
フィードバック下書き自体はユーザーの承認なしには送信されないよう設計されていますが、作業の流れを止めるカードと、「コードを含む会話を外部に送るボタンが常にキー入力1回の距離にある」という点が負担に感じるなら、feedbackDrafts: "off"の1行できれいにオフにできます。どのデータがどの経路で出ていくのかを一度整理し、ご自身の環境に合わせてスイッチを選んでみてください。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Dekuが開発したアプリを使ってみてください。Dekuが開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。