Documentation Index Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Claude Code はどのターミナルでも設定なしで動作します。このページは、特定の動作が期待どおりに機能していない場合のためのものです。以下から症状を見つけてください。すべてが既に正しく感じられる場合は、このページは必要ありません。
このページは、ターミナルが Claude Code に正しい信号を送信するようにすることについてです。Claude Code 自体が応答するキーを変更するには、代わりに キーバインディング を参照してください。
複数行のプロンプトを入力する
Enter キーを押すとメッセージが送信されます。送信せずに改行を追加するには、Ctrl+J を押すか、\ を入力してから Enter キーを押します。どちらもセットアップなしですべてのターミナルで機能します。
ほとんどのターミナルでは Shift+Enter も押すことができますが、サポートはターミナルエミュレータによって異なります。
ターミナル Shift+Enter で改行 Ghostty、Kitty、iTerm2、WezTerm、Warp、Apple Terminal、Windows Terminal セットアップなしで機能 VS Code、Cursor、Windsurf、Alacritty、Zed 1 回 /terminal-setup を実行 gnome-terminal、PyCharm や Android Studio などの JetBrains IDE 利用不可。Ctrl+J または \ の後に Enter を使用
VS Code、Cursor、Windsurf、Alacritty、Zed の場合、/terminal-setup は Shift+Enter およびその他のキーバインディングをターミナルの設定ファイルに書き込みます。VS Code、Cursor、Windsurf ではエディタ設定で terminal.integrated.mouseWheelScrollSensitivity も設定され、フルスクリーンモード でのスクロールがスムーズになります。既存のバインディングと設定はそのまま保持されます。VSCode terminal Shift+Enter key binding already configured などのメッセージが表示された場合は、変更は加えられていません。tmux または screen 内ではなく、ホストターミナル内で直接 /terminal-setup を実行してください。ホストターミナルの設定に書き込む必要があるためです。
tmux 内で実行している場合、外側のターミナルがサポートしている場合でも、Shift+Enter には以下の tmux 設定 が必要です。
改行を別のキーにバインドするか、Enter が改行を挿入し Shift+Enter が送信するように動作を入れ替えるには、キーバインディングファイル で chat:newline および chat:submit アクションをマップします。
macOS で Option キーショートカットを有効にする
Claude Code のいくつかのショートカットは Option キーを使用します。例えば、改行の場合は Option+Enter、モデルを切り替える場合は Option+P です。macOS では、ほとんどのターミナルはデフォルトでは Option を修飾子として送信しないため、これらのショートカットは有効にするまで機能しません。このターミナル設定は通常「Option を Meta キーとして使用」というラベルが付いています。Meta は、現在 Option または Alt というラベルが付いているキーの歴史的な Unix 名です。
Apple Terminal
iTerm2
VS Code
設定 → プロファイル → キーボードを開き、‘Option を Meta キーとして使用’をチェックします。 Claude Code の初回実行プロンプトで’改行と視覚的ベルの場合は Option+Enter’を受け入れた場合、これは既に完了しています。そのプロンプトは /terminal-setup を実行し、Apple Terminal プロファイルで Option を Meta として有効にし、オーディオベルをビジュアルスクリーンフラッシュに切り替えます。
設定 → プロファイル → キー → 一般を開き、左 Option キーと右 Option キーを「Esc+」に設定します。 iTerm2 で /terminal-setup を実行すると、設定 → 一般 → 選択の下の「ターミナル内のアプリケーションがクリップボードにアクセスできる」が有効になり、/copy コマンドがシステムクリップボードに書き込むことができます。このコマンドは tmux 内から実行された場合でも iTerm2 を検出します。変更を有効にするために iTerm2 を再起動してください。
VS Code 設定に "terminal.integrated.macOptionIsMeta": true を追加します。
Ghostty、Kitty、およびその他のターミナルについては、ターミナルの設定ファイルで Option-as-Alt または Option-as-Meta 設定を探してください。
ターミナルベルまたは通知を取得する
Claude がタスクを完了するか、権限プロンプトで一時停止すると、通知イベントが発火します。これをターミナルベルまたはデスクトップ通知として表示すると、長いタスクが実行されている間に他の作業に切り替えることができます。
デフォルトでは Claude Code はデスクトップ通知を Ghostty、Kitty、および iTerm2 でのみ送信します。他のターミナルでは、preferredNotifChannel を "terminal_bell" に設定してターミナルベルを鳴らすか、カスタムサウンドまたはコマンド用に 通知フック を設定してください。
デスクトップ通知は SSH 経由でローカルマシンに到達するため、リモートセッションでもアラートを表示できます。Ghostty と Kitty はさらなるセットアップなしで OS 通知センターに転送します。iTerm2 では転送を有効にする必要があります。
iTerm2 通知設定を開く
設定 → プロファイル → ターミナルに移動します。
アラートを有効にする
「Notification Center Alerts」をチェックし、「Filter Alerts」をクリックして「Send escape sequence-generated alerts」を有効にします。
通知がまだ表示されない場合は、ターミナルアプリケーションが OS 設定で通知権限を持っていることを確認し、tmux 内で実行している場合は パススルーを有効にします 。
通知フックでサウンドを再生する
任意のターミナルで 通知フック を設定して、Claude があなたの注意が必要なときにサウンドを再生するか、カスタムコマンドを実行できます。フックはデスクトップ通知の代わりではなく、並行して実行されるため、Warp や VS Code 統合ターミナルなどのデスクトップ通知を受け取らないターミナルは、フックを使用するか、preferredNotifChannel を "terminal_bell" に設定できます。
以下の例は macOS でシステムサウンドを再生します。リンクされたガイドには macOS、Linux、および Windows のデスクトップ通知コマンドがあります。
{
"hooks" : {
"Notification" : [
{
"hooks" : [{ "type" : "command" , "command" : "afplay /System/Library/Sounds/Glass.aiff" }]
}
]
}
}
tmux を設定する
Claude Code が tmux 内で実行されている場合、デフォルトでは 2 つのことが壊れます。Shift+Enter が改行を挿入する代わりに送信し、デスクトップ通知と プログレスバー が外側のターミナルに到達しません。これらの行を ~/.tmux.conf に追加し、tmux source-file ~/.tmux.conf を実行して実行中のサーバーに適用します。
set -g allow-passthrough on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'
allow-passthrough 行により、通知とプログレス更新が tmux に飲み込まれるのではなく、外側のターミナルに到達できます。extended-keys 行により、tmux は Shift+Enter をプレーン Enter と区別できるため、改行ショートカットが機能します。
カラーテーマを一致させる
/theme コマンドを使用するか、/config のテーマピッカーを使用して、ターミナルに一致する Claude Code テーマを選択します。自動オプションを選択すると、ターミナルの明るいまたは暗い背景が検出されるため、テーマは OS の外観の変更に従います。Claude Code はターミナルアプリケーションによって設定されるターミナル自体のカラースキームを制御しません。
インターフェースの下部に表示される内容をカスタマイズするには、現在のモデル、作業ディレクトリ、git ブランチ、またはその他のコンテキストを表示する カスタムステータスライン を設定します。
カスタムテーマを作成する
カスタムテーマには Claude Code v2.1.118 以降が必要です。
組み込みプリセットに加えて、/theme はユーザーが定義したカスタムテーマと、インストール済みの プラグイン によって提供されるテーマを一覧表示します。リストの最後にある 新しいカスタムテーマ… を選択して、対話的に作成します。テーマに名前を付けてから、個別のカラートークンを選択してオーバーライドします。カスタムテーマがハイライトされている状態で Ctrl+E を押すと、編集できます。
各カスタムテーマは ~/.claude/themes/ 内の JSON ファイルです。.json 拡張子を除いたファイル名がテーマのスラッグであり、テーマを選択すると custom:<slug> がテーマの設定として保存されます。ファイルには 3 つのオプションフィールドがあります。
フィールド 型 説明 namestring /theme に表示されるラベル。デフォルトはファイル名スラッグbasestring テーマの開始元となる組み込みプリセット:dark、light、dark-daltonized、light-daltonized、dark-ansi、または light-ansi。デフォルトは dark overridesobject カラートークン名をカラー値にマップします。ここにリストされていないトークンはベースプリセットにフォールスルーします
カラー値は #rrggbb、#rgb、rgb(r,g,b)、ansi256(n)、または ansi:<name> を受け入れます。ここで <name> は red や cyanBright などの 16 個の標準 ANSI カラー名の 1 つです。不明なトークンと無効なカラー値は無視されるため、タイプミスはレンダリングを破壊することはできません。
次の例は、ダークプリセットを保持しながら、プロンプトアクセント、エラーテキスト、成功テキストを再色付けするテーマを定義しています。
~/.claude/themes/dracula.json
{
"name" : "Dracula" ,
"base" : "dark" ,
"overrides" : {
"claude" : "#bd93f9" ,
"error" : "#ff5555" ,
"success" : "#50fa7b"
}
}
Claude Code は ~/.claude/themes/ を監視し、ファイルが変更されるとリロードするため、エディターで行われた編集は再起動なしで実行中のセッションに適用されます。
以下は、overrides で設定できるトークンをカバーしています。/theme の対話的エディターは、ここでカバーされていない少数の単一目的のアクセント(オンボーディング画面の色など)を含む、ライブプレビュー付きの同じトークンを表示します。
次の例は、複数のグループからのトークンを組み合わせています。ブランドアクセント、プランモードボーダー、diff 背景、および全画面メッセージ背景です。 ~/.claude/themes/midnight.json
{
"name" : "Midnight" ,
"base" : "dark" ,
"overrides" : {
"claude" : "#a78bfa" ,
"planMode" : "#38bdf8" ,
"diffAdded" : "#14532d" ,
"diffRemoved" : "#7f1d1d" ,
"userMessageBackground" : "#1e1b4b"
}
}
テキストとアクセントカラー プライマリブランドアクセントと、インターフェース全体で使用されるフォアグラウンドテキストの色合いを制御します。 トークン 制御対象 claudeプライマリブランドアクセント。スピナーとアシスタントラベルに使用されます textデフォルトのフォアグラウンドテキスト inverseTextステータスバッジなど、色付き背景の上に描画されるテキスト inactiveヒント、タイムスタンプ、無効化されたアイテムなどのセカンダリテキスト subtle薄いボーダーと強調されていないセカンダリテキスト suggestionオートコンプリート候補とピッカーの選択ハイライト permissionパーミッションプロンプトとピッカーを含むダイアログボーダー rememberメモリと CLAUDE.md インジケーター
ステータスカラー メッセージとインジケーター全体で成功、失敗、警告状態を通知します。 トークン 制御対象 success成功メッセージと合格チェック errorエラーメッセージと失敗 warning警告、注意メッセージ、および自動モードボーダー mergedマージされたプルリクエストステータス
入力ボックスとモードインジケーター 入力ボックスのボーダーカラーと、パーミッションモードまたはインジケーターがアクティブな間に表示されるアクセントを設定します。 トークン 制御対象 promptBorderデフォルトパーミッションモードの入力ボックスボーダー planModeプランモードアクセントとボーダー autoAccept受け入れ編集モードアクセントとボーダー bashBorder! シェルコマンドを入力するときの入力ボックスボーダーideIDE 接続インジケーター fastMode高速モードインジケーター
Diff レンダリング ファイル編集とレビューで追加および削除されたコードに色を付けます。 トークン 制御対象 diffAdded追加された行の背景 diffRemoved削除された行の背景 diffAddedDimmed追加された行の近くの変更されていないコンテキストの背景 diffRemovedDimmed削除された行の近くの変更されていないコンテキストの背景 diffAddedWord追加された行内の単語レベルのハイライト diffRemovedWord削除された行内の単語レベルのハイライト
全画面モード 全画面レンダリングモード でのみ適用されます。メッセージは背景塗りつぶしを持ちます。トークン 制御対象 userMessageBackgroundトランスクリプト内のメッセージの背後の背景 userMessageBackgroundHoverホバーまたは展開中のメッセージの背後の背景 messageActionsBackgroundアクションバーが開いているときの選択されたメッセージの背後の背景 bashMessageBackgroundColorトランスクリプト内の ! シェルコマンドエントリの背後の背景 memoryBackgroundColorトランスクリプト内の # メモリエントリの背後の背景 selectionBgマウスで選択されたテキストの背景
使用量メーターとスピーカーラベル /usage ビューに表示されるバーと、メッセージを区別するラベルを調整します。トークン 制御対象 rate_limit_fill使用量メーターの塗りつぶされた部分 rate_limit_empty使用量メーターの塗りつぶされていない部分 briefLabelYouメッセージの You ラベルの色 briefLabelClaudeアシスタントメッセージの Claude ラベルの色
シマー変種とサブエージェントカラー 複数のトークンにはペアになったシマー変種があり、スピナーのアニメーション化されたグラデーションで使用される明るい色を提供します。アニメーションが一致しないように見える場合は、ベーストークンと一緒にシマーをオーバーライドします。
claude と claudeShimmer
warning と warningShimmer
permission と permissionShimmer
promptBorder と promptBorderShimmer
inactive と inactiveShimmer
fastMode と fastModeShimmer
各 サブエージェント と並列タスクは、トランスクリプト内で区別できるように、8 つの名前付きカラーの 1 つで表示されます。トークン名は <color>_FOR_SUBAGENTS_ONLY パターンに従います。ここで <color> は red、blue、green、yellow、purple、orange、pink、または cyan です。これらをオーバーライドして、各名前付きカラーの外観を変更します。たとえば、定義に color: blue を持つサブエージェントは、blue_FOR_SUBAGENTS_ONLY 値を使用して描画されます。 ultrathink と ultraplan キーワードはプロンプト入力で 7 色のレインボーグラデーションでレンダリングされます。トークン名は rainbow_<color> と rainbow_<color>_shimmer パターンに従います。ここで <color> は red、orange、yellow、green、blue、indigo、または violet です。
フルスクリーンレンダリングに切り替える
Claude が作業中に表示がちらつくか、スクロール位置がジャンプする場合は、フルスクリーンレンダリングモード に切り替えます。ターミナルが通常のスクロールバックに追加する代わりに、フルスクリーンアプリ用に予約されている別のスクリーンに描画します。これにより、メモリ使用量が一定に保たれ、スクロールと選択のマウスサポートが追加されます。このモードでは、ターミナルのネイティブスクロールバックではなく、マウスまたは PageUp で Claude Code 内をスクロールします。検索とコピーの方法については、フルスクリーンページ を参照してください。
/tui fullscreen を実行して、会話をそのままにして現在のセッションで切り替えます。デフォルトにするには、Claude Code を開始する前に CLAUDE_CODE_NO_FLICKER 環境変数を設定します。
Bash と Zsh
PowerShell
~/.claude/settings.json
CLAUDE_CODE_NO_FLICKER = 1 claude
大量のコンテンツを貼り付ける
プロンプトに 10,000 文字以上を貼り付けると、Claude Code は入力を [Pasted text] プレースホルダーに折りたたんで、入力ボックスが使用可能なままになります。完全なコンテンツは送信時に Claude に送信されます。
VS Code 統合ターミナルは、Claude Code に到達する前に非常に大きな貼り付けから文字をドロップできるため、そこではファイルベースのワークフローを優先します。ファイル全体や長いログなどの非常に大きな入力の場合は、コンテンツをファイルに書き込み、貼り付けの代わりに Claude に読み込むよう依頼します。これにより、会話トランスクリプトが読みやすくなり、Claude が後の手番でパスでファイルを参照できます。
Vim キーバインディングでプロンプトを編集する
Claude Code には、プロンプト入力用の Vim スタイルの編集モードが含まれています。/config → エディタモードを通じて有効にするか、~/.claude/settings.json で editorMode を "vim" に設定します。エディタモードを normal に戻してオフにします。
Vim モードは NORMAL モードおよび VISUAL モードのモーションと演算子のサブセットをサポートしています。例えば、hjkl ナビゲーション、v/V 選択、およびテキストオブジェクトを使用した d/c/y などです。完全なキーテーブルについては、Vim エディタモードリファレンス を参照してください。Vim モーションはキーバインディングファイルを通じて再マップできません。
INSERT モードで Enter キーを押すと、標準 Vim とは異なり、プロンプトが送信されます。代わりに改行を挿入するには、NORMAL モードで o または O を使用するか、Ctrl+J を使用します。
関連リソース