Claude Codeのプロンプト提案 — 仕組みとオフにする方法
Claude Codeが入力欄に出す次のプロンプト提案の仕組み、表示されない条件、設定・環境変数・CLIフラグでのオン/オフ方法をまとめます。
Claude Codeのプロンプト提案でできること
プロンプト提案とは、Claude Codeが入力欄にグレーアウトした文字列で次の一手を先回りして表示する機能です。Tab キー一つで採用でき、自分で文章を打ち直す手間を省けます。セッションを開いた直後と、Claudeが応答を返した直後の2つのタイミングで表示され、それぞれ元にする情報が違います。
たとえば、機能追加を頼んでClaudeが実装を終えた直後には「このテストを実行して結果を確認して」のような、作業の続きを促す一文が入力欄にうっすら表示されることがあります。読んで違和感がなければTabで拾い、そのまま送るだけで次のターンに進めます。
次の一手はどう作られるか
セッションを開いた最初の1回は、プロジェクトのgit履歴から例を拾い、最近触っていたファイルを反映した架空のコマンド例をグレーアウトで表示します。実際に打つべきプロンプトそのものではなく、「こう使えます」という呼び水です。今の作業内容とは無関係な過去のコミットを参照することもあるため、そのまま採用する前提ではなく、書き方の参考として眺めるくらいの距離感がちょうどよいものです。
Claudeが応答を返したあとの提案は性質が違います。会話の履歴を踏まえ、複数ステップの依頼の続きや、そのままの自然な次の作業を予測して表示します。バックグラウンドのリクエストで生成する仕組みで、直前の会話のプロンプトキャッシュをそのまま再利用するため、追加コストはわずかです。キャッシュの仕組み自体はプロンプトキャッシュが利用上限をどう軽くするかで扱っています。
Tabで採用する、書いて上書きする
使い方はシンプルです。
- 提案が表示されたら
Tabか→(右矢印)キーを押す - 入力欄に文字列が入るので、そのまま
Enterで送信するか、続きを書き足す - 提案を使わない場合は、そのまま文字を打ち始めれば消える
採用した提案をそのまま送るだけでなく、書き足して自分の意図に寄せる使い方もできます。生成のたびに毎回Claudeが叩き台を作ってくれると考えると分かりやすい仕組みです。
v2.1.136以降は、入力欄が空の状態で単に Enter を押しても提案は送信されません。Tabか矢印キーで明示的に拾う操作を挟んで初めて入力欄に入る仕様で、意図せず提案を採用してしまう事故を防いでいます。
バージョンを追うごとに何が変わったか
プロンプト提案は一度出来上がって終わりの機能ではなく、公式changelogを追うと細かい修正が積み重なっているのが分かります。特に直近のv2.1.269は日本語話者にとって見過ごせない内容です。
| バージョン | 公開日 | 変更内容 |
|---|---|---|
| v2.0.70 | 公開日2025年12月15日 | 変更内容Enter キーでの即時採用を追加。Tab を押すと入力中の文字列が誤って上書きされる不具合を修正 |
| v2.0.71 | 公開日2025年12月16日 | 変更内容/config にオン/オフのトグルを追加 |
| v2.1.136 | 公開日2026年5月8日 | 変更内容空の入力欄で Enter を押すと提案が誤って自動送信されていた不具合を修正し、Tabか矢印キーでの採用を必須化 |
| v2.1.141 | 公開日2026年5月13日 | 変更内容出力スタイルを設定していると提案がエラーを出さずに無効化される不具合を修正 |
| v2.1.238 | 公開日2026年8月20日 | 変更内容CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=true を設定しても利用上限接近時に提案が止まっていた不具合を修正 |
| v2.1.269 | 公開日2026年9月11日 | 変更内容日本語・中国語・タイ語など単語間にスペースを入れない言語で提案が欠落する不具合を修正 |
| v2.1.269 | 公開日2026年9月11日 | 変更内容日本語・中国語・韓国語向けにフィルタリングを改善 |
v2.1.269より前は、日本語や中国語、タイ語のように単語の切れ目を空白で区切らない言語で書いていると、提案自体が生成されずに欠落しやすいという弱点を抱えていました。この不具合は同バージョンで修正されています。あわせて日本語・中国語・韓国語向けにはフィルタリングも改善され、スクリプトが混在する提案や単語単体の短い提案は残しつつ、「いい質問ですね」のようなメタ的・評価的な文言は除外されるようになりました。日本語で使っていて提案があまり出ないと感じていた場合は、v2.1.269以降にアップデートしているかをまず確認する価値があります。
提案が出ない主なケース
すべてのセッションで常に出るわけではありません。Claude Code側が意図的にスキップする条件と、環境側の制約による条件があります。
| 状況 | 提案の有無 | 補足 |
|---|---|---|
| 通常のインタラクティブセッション(初回以降) | 提案の有無出る(既定で有効) | 補足promptSuggestionEnabled の既定値は true |
| サードパーティ提供者経由のセッション(Bedrock / Google CloudのAgent Platform / Microsoft Foundry) | 提案の有無出ない | 補足CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=true を明示すれば強制的に有効化できる |
DISABLE_TELEMETRY などでテレメトリを無効化したセッション | 提案の有無出ない | 補足同上。テレメトリなしでは通常の設定が効かない |
| インストール直後・アップグレード直後の最初のセッション | 提案の有無出ないことがある | 補足機能フラグがまだ届いておらず、次のセッションからは通常どおり出る |
| プロンプトキャッシュがコールドな状態 | 提案の有無出ない | 補足無駄なコストを避けるためのスキップ |
| 会話の最初のターン以降(一部のセッション) | 提案の有無出ないことがある | 補足条件は公開されておらず、セッションによって変わる |
| 直前の応答がエラーで終了した / plan mode中 | 提案の有無出ない | 補足— |
| Agent teamのteammateセッション | 提案の有無出ない(既定) | 補足lead側のセッションには表示される |
| 利用上限に接近・到達している | 提案の有無出ない(既定) | 補足CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=true を設定すると上限到達まで表示を維持できる(v2.1.238以降。それより前のバージョンでは、この環境変数をtrueにしていても上限接近時にはスキップされていました) |
非対話モード(-p での実行) | 提案の有無生成しない(既定) | 補足--prompt-suggestions フラグを付けたときだけ生成する |
会話が始まったばかりで文脈が薄いときや、短い一往復で終わるやり取りでも提案が出ないことがあります。これは「材料が足りないので出さない」という判断であって、故障ではありません。
表示に必要なアカウントと環境の条件
プロンプト提案は、claude.aiまたはConsoleのアカウントでテレメトリが有効になっていることが前提です。この前提が崩れる場面はいくつかあり、しかも/configから「Prompt suggestions」のトグル自体が消えるため、設定を探しても見つからずに戸惑うことがあります。
土台にあるのは、Anthropicから配信される機能フラグの取得です。次のいずれかに当てはまるセッションでは、この取得自体がスキップされ、プロンプト提案は候補にすら上がりません。
DISABLE_GROWTHBOOK、DISABLE_TELEMETRY、DO_NOT_TRACK、CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICのいずれかを設定している- Amazon Bedrock、AWS上のClaude Platform、Google CloudのAgent Platform、Microsoft Foundryを経由している(Claude Codeを組み込むホスト側が
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTを設定していれば対象外) - Claude apps gatewayを経由したセッションである
このいずれかに該当する場合だけは、CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=true を明示すれば、テレメトリなしでも強制的に有効化できます。通常のインストール直後やアップグレード直後のセッションのように、機能フラグがまだ届いていないだけのケースは次のセッションで自然に解消するため、この環境変数で無理に前倒しする必要はありません。
個人でclaude.aiやConsoleのアカウントにログインして普段どおり使っているだけであれば、ここまでの条件はほとんど意識せずに済みます。気にする必要が出てくるのは、社内でBedrockやVertex経由の環境を整えているチームや、テレメトリを明示的に切っている運用のときです。
設定でオン・オフを切り替える
個人設定で止めたいときは3つの方法があります。効き目の優先順位は、環境変数がもっとも強く、/config のトグルはその下にある settings.json のキーを書き換えるだけの見た目です。
/config/config を開き「Prompt suggestions」のトグルを切ればオフになります。設定ファイルを直接書く場合は次のとおりです。
{
"promptSuggestionEnabled": false
}セッション単位で一時的に止めたいときは環境変数を使います。こちらは promptSuggestionEnabled の設定より優先されます。
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false組織全体で止める
チーム全員のセッションで無効化したい場合は、/config から個別に切ってもらうのではなくmanaged settingsに書きます。
{
"promptSuggestionEnabled": false,
"env": {
"CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION": "false"
}
}env 側の指定まで書いておくのがポイントです。promptSuggestionEnabled だけをmanaged settingsに置いても、メンバーが自分の環境変数で上書きして有効化し直せてしまいます。両方揃えて初めて、ユーザー側で再有効化できない状態になります。
非対話(print)モードで次の一手を取得する
claude -p のような非対話実行では、既定では提案を生成しません。パイプラインの中で次の一手を機械的に受け取りたいときは --prompt-suggestions を付けます。
claude -p "テストを追加して" --output-format stream-json --verbose --prompt-suggestionsこのフラグは --print と --output-format stream-json、--verbose の3つを同時に指定したときだけ効き、生成したターンごとに prompt_suggestion というメッセージが出力に追加されます。非常に短いやり取りやコールドなキャッシュではここでもスキップされるため、単発の短いクエリでは何も出力されないことがあります。
自動化パイプラインの中に組み込めば、prompt_suggestion の値をスクリプト側で拾い、人手を介さず次のコマンドへつなげることもできます。ただし提案はあくまで会話の流れからの予測で、破壊的な操作を含む場面では実行前に内容を確認する一手間を挟んでおくのが無難です。
プロンプト提案は利用上限との距離を映す小さな指標になる
提案が消えたら、それ自体が一つのシグナルです。利用上限に近づくと既定でプロンプト提案が引っ込む仕組みだからです。普段は出ていた提案が急に出なくなったとき、真っ先に疑うべきはバグではなく利用状況で、/status で残り枠を確認する方が早く原因にたどり着けます。
提案の元になる会話履歴の解析自体は、ユーザーが打ち込んだ文字を書き換えるものではありません。似た「提案」の仕組みとして、入力を送信する前にフックで処理を挟むUserPromptSubmit hookがありますが、こちらは提案ではなく、送信前の内容そのものを検証・加工する用途です。次に打つ文章を予測するプロンプト提案とは狙いが異なる、別レイヤーの機能だと分けて理解しておくと混同しません。
Claude製品全体で見ると、「次にやりたいことを先回りして出す」設計はここだけではありません。Claude本体が連携アプリを提案してくる仕組みも同じ発想の延長にあり、会話や作業の文脈から次の一手を推測して差し出す点は共通しています。
まとめ
Claude Codeのプロンプト提案は、セッション開始時はgit履歴から、応答後は会話履歴から次の一手をグレーアウト表示する機能です。Tab か → で採用し、そのまま送るか書き足して使います。日本語での提案精度はv2.1.269で明確に改善されているため、古いバージョンのまま「あまり出ない」と感じている場合はまずアップデートを試す価値があります。生成はプロンプトキャッシュを再利用するバックグラウンドリクエストのため追加コストはわずかですが、サードパーティ提供者経由のセッションやテレメトリ無効時は既定で効きません。個人の停止は /config かsettings.jsonの promptSuggestionEnabled、一時停止は環境変数、組織全体での禁止はmanaged settingsに両方を書くのが確実です。提案が出す文面をそのまま使うだけでなく、自分の言葉で効くプロンプトの型に寄せて書き足すと、採用後の精度も上がります。