Claude Codeのprompt suggestions — 仕組みとオフにする方法
Claude Codeのprompt suggestions(プロンプト提案)の仕組みと、出ない原因、promptSuggestionEnabledや環境変数でのオン/オフ方法を解説します。
Claude Codeのプロンプト提案でできること
prompt suggestions(プロンプト提案)は、入力欄にグレーアウトで出る次のプロンプトの案です。オフにする設定キーは promptSuggestionEnabled、環境変数は CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION です。Tab か → で入力欄に置いて Enter で送れば、次のターンを打ち直さずに進められます。出るタイミングは2つあり、元にする情報が違います。
提案が出る2つのタイミング
セッションを開いた直後
プロジェクトのgit履歴から拾った、最近触ったファイルを反映した例のコマンドが出ます。使い始めの足がかりです。
Claudeが応答した後
会話履歴を踏まえ、複数ステップの依頼の続きや、作業のごく自然な続きを提案します。
応答後の提案は、使っているセッションと同じモデルへの短いバックグラウンドリクエストで作られます。このリクエストは利用上限やAPI料金にカウントされますが、会話のプロンプトキャッシュを再利用するため、中身はほぼキャッシュ読み取りと少量の出力トークンで、追加コストは小さく済みます。キャッシュの仕組み自体はプロンプトキャッシュが利用上限をどう軽くするかで扱っています。
提案を採用する、無視する、送信を防ぐ
提案の採用から送信まで
- 1
提案を入力欄に置く
グレーアウトの提案が出ているときに
Tabか→(右矢印)を押します。 - 2
そのまま送る、または書き足す
Enterで送信します。入力欄に置いた文面は普通のテキストなので、送る前に自由に編集できます。 - 3
使わないなら打ち始める
文字を打ち始めた時点で提案は消えます。
v2.1.136以降は、入力欄が空のまま Enter を押しても提案は送信されません。それより前は、空の入力欄での Enter で提案が自動送信される不具合がありました。v2.1.136からは Tab か矢印キーで置く操作が必須です。
提案が急に減ったときに確認する変更履歴
changelogで追えるのは2025年12月のv2.0.70以降で、主な変更は次のとおりです。
| バージョン | 公開日 | 変更内容 |
|---|---|---|
| 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.257 | 公開日2026年9月1日 | 変更内容アドバイザーモデルを設定したセッションで、提案を含むバックグラウンドリクエストがプロンプトキャッシュを外し、会話全体を毎回キャッシュなしで再送していた不具合を修正 |
| v2.1.268 | 公開日2026年9月10日 | 変更内容SDKの提案・サイドクエスチョン・/rename が、コンパクション前の会話を送っていた不具合を修正 |
| v2.1.269 | 公開日2026年9月11日 | 変更内容日本語・中国語・タイ語など単語間に空白を入れない言語で提案が欠落する不具合を修正。日本語・中国語・韓国語向けのフィルタリングも改善 |
| v2.1.283 | 公開日2026年9月25日 | 変更内容提案が20回連続で使われないと、表示頻度が下がるように変更。提案を1つ使うと元に戻る |
表の外では、v2.1.49・v2.1.50・v2.1.62に「プロンプト提案のキャッシュのリグレッションでキャッシュヒット率が下がっていた」修正が3回入っています。v2.1.257と合わせて、キャッシュの効き方は過去に何度か直されてきた部分です。SDKで提案を取り出す場合や、アドバイザーモデルを設定している場合は、表のバージョン以降かを確認します。
日本語で出にくかった理由と、20回連続で出にくくなる変更
日本語で使う読者に関係が深いのは、表のv2.1.269とv2.1.283の行です。v2.1.269より前は、空白で区切らない言語で書いていると提案が欠落する不具合がありました。同じバージョンで日本語・中国語・韓国語のフィルタリングも改善され、混在スクリプトや単語単体の提案は残し、メタ的・評価的な文言は英語と同様に落とす扱いになっています。
v2.1.283は逆向きの変更です。提案を20回連続で使わないと、ターミナルでの提案は出る頻度が下がります。ここで提案を1つでも採用すると、元の頻度に戻ります。changelogの文言は「in the terminal」とターミナルに限られていて、VS Code拡張など他の画面での挙動は書かれていません。提案を切らずに「最近あまり出ない」と感じたら、直近で提案を素通りしていなかったかが手がかりになります。バージョンが古いなら、まず claude --version で確認します。
提案が出ないときの切り分け
出ない理由は、意図的なスキップと、環境側でそもそも機能フラグを取得しない構成の2系統に分かれます。表は現象別です。Claude Codeの通常のインタラクティブセッションは既定で有効(promptSuggestionEnabled の既定値は true)です。
| 状況 | 提案 | 補足 |
|---|---|---|
| サードパーティ提供者(Bedrock / Google CloudのAgent Platform / Microsoft Foundry)経由 | 提案既定で出ない。/config のトグルも隠れる | 補足CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=1 で有効化 |
| Claude apps gateway経由 | 提案既定で出ない。/config のトグルも隠れる | 補足有効化の手段は公式に記載を確認できず |
DISABLE_TELEMETRY などでテレメトリを無効化 | 提案既定で出ない | 補足テレメトリ無効時も CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=1 で有効化できる(settings-reference) |
| インストール直後・アップグレード直後の最初のセッション | 提案出ないことがある | 補足機能フラグが届いておらず、次のセッションから通常どおり |
| プロンプトキャッシュがコールド | 提案その回は出ない | 補足無駄なコストを避けるため |
| 会話の最初のターンの後 | 提案セッションによっては出ない | 補足公式は「in some sessions」とだけ記載 |
| 直前の応答がエラーで終了 / plan mode中 | 提案その回は出ない | 補足 |
| Agent teamのteammateセッション | 提案既定で出ない | 補足lead側のセッションでは表示 |
| 利用上限に接近・到達 | 提案既定で出ない | 補足CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=true で上限到達まで維持(v2.1.238以降) |
非対話モード(-p) | 提案既定で生成しない | 補足--prompt-suggestions を付けたときだけ |
機能フラグの取得が止まる環境変数
提案は機能フラグ(GrowthBookの配信)に依存するため、フラグ取得が止まる構成では候補に上がりません。環境変数のうち、公式のenv-vars一覧でフラグ取得の停止が明記されているのは次の4つです。
DISABLE_GROWTHBOOK(1またはtrue)DISABLE_TELEMETRY(空でなければ、0やfalseでも無効化される)DO_NOT_TRACK(1)CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC(空でなければ、0やfalseでも無効化される)
DISABLE_TELEMETRY と CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC は、false を入れても無効化のままになる点で、多くのオン/オフ変数と挙動が逆です。「DISABLE_TELEMETRY=false にしたのに提案が出ない」なら、変数自体を削除(unset)する必要があります。
提案を使うには、claude.aiまたはConsoleのアカウントでテレメトリが有効なことも前提です。Bedrockなどのサードパーティ経由やテレメトリ無効の環境では promptSuggestionEnabled を書いても効かず、CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=1 で有効化する経路だけが残ります。なお promptSuggestionEnabled のスコープはどの設定ファイルでも書ける(Any file)ので、プロジェクトの .claude/settings.json に置けば、そのリポジトリだけ提案を止められます。個人アカウントでログインして普段どおり使うだけなら、この条件を意識する場面はほとんどありません。Bedrock経由の社内環境やテレメトリを切った運用のチームで、初めて問題になります。
公式ページ間で違う、有効化の値の書き方
有効化の値は、公式の2ページで書き方が揃っていません。設定リファレンスの promptSuggestionEnabled の項は、サードパーティ環境やテレメトリ無効時に効くのは CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=1 だけと書いています。env-vars一覧と対話モードのページは、利用上限まで維持する用途で true を書いています。--help のフラグは true / 1 / yes / on を同じ真偽値として受け付けます。環境変数の一覧ページは、オン・オフを切り替える変数について、1・true・yes・on のどれでも有効、0・false・no・off のどれでも無効になると明記しています。大文字小文字も問いません。
初回セッションで提案が出ないのは一時的
公式のenv-vars一覧によると、インストール直後やアップグレード直後の最初のセッションは、機能フラグ待ちの機能が欠けるだけでなく、2回目以降と違う権限モードで始まることがあります。次のセッションからは、機能も通常の開始モードも揃います。
新規インストール直後でも、claude -p、Agent SDK、VS Code拡張のような非対話系のセッションでは、開始する権限モードを決める前にフラグを取得できる場合があります。つまり「初回セッションで提案が出ない」のは、主に手動で開いたターミナルの対話セッションでの話です。開いてすぐ提案が見えなくても、機能が無効になったわけではなく、フラグの取得が完了するまでの一時的な状態として扱えます。
提案をオフにする設定キーと環境変数
止める手段は設定キーと環境変数で、優先されるのは環境変数です。/config のトグルは promptSuggestionEnabled を書き換えているだけです。
/config/config の「Prompt suggestions」をオフにするか、設定ファイルに次を書きます。
{
"promptSuggestionEnabled": false
}1セッションだけ止めるなら環境変数です。設定より優先されます。
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false組織全体で止める
全員のセッションで止めるには、managed settingsにキーと環境変数の両方を書きます。
{
"promptSuggestionEnabled": false,
"env": {
"CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION": "false"
}
}env 側まで書くのは、promptSuggestionEnabled だけだと、メンバーが自分の環境変数で有効化し直せるためです。
提案を表示させたいときにオンにする
止めた覚えがないのに出ないなら、先に「提案が出ないときの切り分け」の表を確認します。そのうえで明示的にオンにするなら、/config の「Prompt suggestions」をオンにするか、設定ファイルに書きます(このトグルはBedrockなどのサードパーティ経由では表示されません)。
{
"promptSuggestionEnabled": true
}その環境では環境変数で有効化します。
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=1非対話モードで次の一手を取得する
claude -p は既定で提案を生成しません。--prompt-suggestions を付け、--output-format stream-json と --verbose を組み合わせると、提案を生成したターンごとに prompt_suggestion メッセージが出力へ追加されます。
claude -p "テストを追加して" --output-format stream-json --verbose --prompt-suggestions短い会話とコールドなキャッシュはここでもスキップされるため、単発の短いクエリでは何も出力されないことがあります。
claude --helpでの実際の表示(v2.1.285で確認)
手元のv2.1.285で claude --help を実行すると、フラグは次のように表示されます。
--prompt-suggestions [value] Enable prompt suggestions. In print/SDK
mode, emits a prompt_suggestion message
after each turn with a predicted next
user prompt (choices: "true", "false",
"1", "0", "yes", "no", "on", "off",
preset: "true")[value] が省略可能で、値を渡さなければ true が既定になります。つまり --prompt-suggestions だけでも、--prompt-suggestions false のように明示してもよく、受け付ける真偽の書き方は true / false / 1 / 0 / yes / no / on / off の8通りです。設定キーの説明にはこの選択肢は出てこず、フラグが受け付ける値として確認できるのは --help だけです。
提案とUserPromptSubmit hookは別の仕組み
入力欄まわりで混同しやすいのが、送信前に処理を挟むUserPromptSubmit hookです。hookはユーザーが送ろうとした内容を検証・加工します。プロンプト提案は次に打つ文面を予測して差し出すだけで、送信内容には触れません。
「次にやりたいことを先回りして出す」設計はClaude本体の連携アプリの提案にもあります。Claude Desktopのコードタブだけで提案が出ない場合は、コードタブでの切り分けを参照してください。
まとめ
提案が出なくなったときに調べる順番は、バージョン(claude --version)、提供者・テレメトリ・フラグ取得の構成、利用上限、直近20回の採用状況です。止めたいなら、個人は /config かsettings.json、1セッションは環境変数、組織はmanaged settingsのキーと env の両方です。提案の文面は効くプロンプトの型に寄せて書き足すと使いやすくなります。
参照した一次ソース
この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。