Claude CodeでiTerm2のOption keyとクリップボードを有効化する
iTerm2でOption+EnterやOption+Pが効かない原因と、Esc+設定とクリップボード権限を有効にする手順をまとめます。
iTerm2でOption+EnterやOption+Pなどのショートカットが反応しないのは、iTerm2が既定でOptionキーを修飾キーとして送っていないためです。Apple Terminalと違い、/terminal-setupはiTerm2のOptionキー設定までは自動化しません。設定画面での手動切り替えが必要です。一方でクリップボードへの書き込み権限は/terminal-setupが自動で有効にします。この2つは別々の設定なので、順番に確認します。
iTerm2でOption keyのショートカットが効かない理由
Claude CodeはOption+Enterでの改行や、Option+Pでのモデルピッカー起動など、一部のショートカットでOptionキーを使います。macOSのほとんどのターミナルアプリは、既定ではOptionキーを修飾キーとして送信しません。この設定は「Use Option as Meta Key」という名前で呼ばれることが多く、MetaはOptionやAltの歴史的なUnix名です。
この設定が有効になっていないと、Option+Enterを押しても普通のEnterと同じ動作になり、Option+Pを押してもモデルピッカーは開きません。Apple Terminalでは初回起動時のセットアッププロンプトを承諾するだけでこの設定が自動化されますが、iTerm2は自動化の対象に含まれていません。次のセクションの手順で自分で切り替える必要があります。
Optionキーが必要な主なショートカット
Option as Metaを有効にすると、次のショートカットが使えるようになります。
| ショートカット | できること | 備考 |
|---|---|---|
Option+Enter | できること改行を挿入 | 備考送信せずに複数行の入力を続けられる |
Option+P | できることモデルピッカーを開く | 備考入力中のプロンプトを消さずにモデルを切り替えられる |
Option+O | できることFast modeの切り替え | 備考有効・無効をその場で反転する |
Alt+B / Alt+F | できることカーソルを単語単位で前後移動 | 備考_や.、/は単語の区切りとして扱われる |
Alt+D | できることカーソルから単語末尾まで削除 | 備考削除した文字列はCtrl+Yで貼り付けられる |
Alt+Y(Ctrl+Yの後) | できること貼り付け履歴を順に切り替え | 備考直近に削除した複数の文字列を遡って貼り付ける |
これらはすべてOption as Metaの設定が前提です。一方でOption+T(拡張思考モードの切り替え)だけは例外で、この設定をしていないmacOSでもそのまま動きます。設定前に「Option+Tだけは効くのに他は効かない」という状態になっていても、故障ではありません。ただしFable 5.1・Fable 5は常に拡張思考モードで動くため、これらのモデルではOption+Tを押しても変化はありません。
Left/Right OptionをEsc+に設定する手順
iTerm2側でOptionキーをMeta相当として送るには、プロファイルの設定を1つ変更します。
- iTerm2のSettings(Cmd+,)を開く
- Profiles → Keys → Generalタブへ移動する
- Left Option keyとRight Option keyを、それぞれ「Esc+」に変更する
「Esc+」は、Optionキーと他のキーを同時に押したとき、実際にはEscキーに続けてそのキーを送る設定です。多くのターミナルアプリがこの方式でMetaキー相当の入力を再現しています。
この設定はプロファイルごとに保存されます。複数のプロファイルを使い分けている場合は、Claude Codeを起動している側のプロファイルで変更したかを確認してください。別のプロファイルだけをEsc+にしていても反映されません。
設定を変更したら、Option+PやOption+Enterが動くか試します。反映されていないようであれば、念のためiTerm2を再起動してから確認してください。
クリップボード権限は/terminal-setupで開く
iTerm2は既定で、ターミナルアプリからのクリップボードアクセスをブロックしています。/copyコマンドで直前の応答をシステムクリップボードへ送るには、この許可を有効にする必要があります。
手動で設定する場合はSettings → General → Selectionの「Applications in terminal may access clipboard」をオンにします。Claude Code側からはこの手順を/terminal-setupコマンドが代行します。
/terminal-setupiTerm2の中で実行すると、上記のクリップボード許可が自動で有効になります。この検出はtmuxの中からコマンドを実行した場合でも機能します。設定を反映させるには、iTerm2アプリ自体の再起動が必要です。
/copyコマンド自体の使い方(コードブロックだけを個別に選ぶ操作や、SSH越しにwキーでファイルへ書き出す操作など)はClaude Code copyコマンドでコードブロックだけを送るにまとめています。ここではiTerm2側の権限設定だけを扱います。
クリップボードから画像を貼り付けるときの違い
iTerm2でシステムクリップボードの画像をClaude Codeの入力欄へ貼り付ける場合、キー操作が他のターミナルと異なります。iTerm2ではCmd+Vを使い、Windows・WSLではAlt+Vを使います。多くのターミナルで共通して使えるCtrl+Vは、iTerm2では割り当てられていません。貼り付けた画像は[Image #N]という形でプロンプトに挿入され、あとから会話の中でその番号を指して参照できます。
/copyコマンドでAI応答をクリップボードへ送る操作は、前述の「Applications in terminal may access clipboard」の許可が対象でした。画像の貼り付けはこれとは逆方向の操作で、許可設定とは別のキー操作として覚えておく必要があります。
Apple Terminal・VS Codeとの自動化範囲の違い
同じmacOSでも、ターミナルアプリによって/terminal-setupが自動化する範囲は異なります。
| ターミナル | Option keyの設定 | クリップボード権限 |
|---|---|---|
| Apple Terminal | Option keyの設定/terminal-setupが自動設定(初回起動時のプロンプト経由) | クリップボード権限個別の案内なし |
| iTerm2 | Option keyの設定手動(Profiles → Keys → GeneralでEsc+に変更) | クリップボード権限/terminal-setupが自動設定 |
| VS Code統合ターミナル | Option keyの設定手動(settings.jsonに1行追加) | クリップボード権限個別の案内なし |
VS Codeの統合ターミナルでOption+Enterなどを使えるようにするには、設定ファイルに次の1行を追加します。
{
"terminal.integrated.macOptionIsMeta": true
}Ghostty・Kittyなど他のターミナルでは、それぞれの設定ファイルでOption-as-AltまたはOption-as-Metaに相当する項目を探します。名称や設定場所はアプリごとに違いますが、考え方はiTerm2の場合と同じです。
tmux配下での挙動
tmuxの中でClaude Codeを使っている場合も、iTerm2側のOptionキー設定とクリップボード設定はどちらも有効なまま使えます。クリップボード許可の自動検出は、/terminal-setupをtmux内から実行した場合でも機能します。
一方で、通知やプログレス表示を外側のターミナルへ届けるには別の設定(allow-passthroughなど)が必要です。こちらはClaude Code tmux設定にまとめています。Option keyやクリップボードの設定とは別の話なので、混同しないよう分けて考えます。
通知をmacOSの通知センターに転送する
Claude Codeは、権限確認やタスク完了などで離席中と判断すると通知イベントを発火します。既定でデスクトップ通知が届くのはGhostty・Kitty・iTerm2の3つだけです。GhosttyとKittyは追加設定なしでOSの通知センターへ転送されますが、iTerm2だけは転送を有効にする一手間が必要です。
- Settings → Profiles → Terminalを開く
- 「Notification Center Alerts」をチェックする
- 「Filter Alerts」をクリックし、「Send escape sequence-generated alerts」を有効にする
この設定はOptionキーやクリップボードとは別の項目です。iTerm2をClaude Code向けに設定するときにまとめて確認しておくと、あとから気づいて設定画面を開き直す手間が省けます。デスクトップ通知はSSH越しのセッションでもローカルマシンまで届きます。通知が出ない場合は、iTerm2側の設定に加えてmacOS本体の通知権限も確認します。tmux配下では前述のallow-passthrough設定も必要です。
よくあるつまずき
- プロファイル違い: iTerm2で複数のプロファイルを使い分けている場合、Claude Codeを起動している側のプロファイルでEsc+に設定したかを確認します。別プロファイルだけを変更していても反映されません
- 再起動忘れ:
/terminal-setupを実行してもクリップボードへコピーできない場合、iTerm2の再起動を忘れていることがよくある原因です - tmux側を疑ってしまう: Option keyやクリップボードが効かない原因をtmuxの設定だと思い込みがちですが、まず疑うべきはiTerm2本体の設定です。tmux配下でも
/terminal-setupによるiTerm2検出自体は機能します - 通知設定を後回しにして忘れる: Option keyとクリップボードだけ設定して満足し、通知センターへの転送設定を後回しにすると、次に気づくのは通知が来なくて困ったときになりがちです。3つまとめて確認しておくと手戻りがありません
- Alt+B/Alt+F/Alt+Dが動かない: これらの単語単位操作はv2.1.261以降で有効です。Esc+を設定しても効かない場合は
claude --versionでバージョンを確認します。旧keybindingFlavor設定は非推奨のため、そちらを疑う前にバージョンを見直します
まとめ
iTerm2でClaude CodeのOptionキーショートカットとクリップボードコピーを使うには、別々の手順が必要です。Option keyはProfiles → Keys → GeneralでLeft/Right OptionをEsc+に手動で設定し、クリップボード権限は/terminal-setupを実行するだけで有効になります。Apple Terminalのように両方が自動化されるわけではない点が、iTerm2特有の注意点です。通知センターへの転送設定もあわせて確認しておけば、iTerm2をClaude Code向けに整える作業を一度で終えられます。
Shift+Enterが改行にならない場合の対処はterminal-setupコマンドでShift+Enterが効かないときの対処、Option+P以外のショートカット一覧はClaude Codeショートカット一覧にまとめています。