はじめに
Claude Codeで改行をするにはデフォルトだと \
を入力する必要があります。
iTerm2だとClaude Codeで /terminal-setup
コマンドを打つと、iTerm2のキーバインド設定が追加されて他のアプリのようにShift+Enterで改行ができるようになります。
しかし、iTerm2でもtmuxを使っていると、このコマンドがClaude Codeで使えません。
Claude Codeのセットアップ - Anthropic
環境情報
挙動確認した環境は以下です。
対象 | バージョン |
---|---|
iTerm2 | Build 3.5.14 |
Claude Code | 1.0.51 |
tmux | 3.5a |
問題の原因
Claude Codeは、ターミナルの種類を判定してセットアップコマンドの対応可否を決定しています。
サポートされているターミナル:
- macOS(darwin)の場合:
- iTerm.app
- Apple Terminal
- どのOSでも:
- VSCode
- Cursor
- Windsurf
- Ghostty
この判定は環境変数 process.env.TERM_PROGRAM
を使用して行われています。
tmuxを起動すると $TERM_PROGRAM
が tmux
に変更されるため、上記のサポート対象から外れてしまい、/terminal-setup
コマンドが実行できなくなります。
解決手順
1. tmuxの停止
# 現在のtmuxセッションをすべて終了
tmux kill-server
2. Claude Codeでセットアップ実行
# iTerm2の直接環境でセットアップを実行
claude /terminal-setup
3. tmuxの再起動
# tmuxを再度起動
tmux
この手順により、iTerm2でセットアップが完了した後、tmux環境でもShift+Enterでの改行が利用可能になります。
動作確認
セットアップが正常に完了すると:
- iTerm2の直接環境: Shift+Enterで改行可能
- tmux環境: Shift+Enterで改行可能
注意点
- tmuxを完全に停止する必要があるため、作業中のセッションは一時的に中断されます
- セットアップは一度実行すれば、以降のtmuxセッションでも有効です
まとめ
tmux使用時にClaude Codeの /terminal-setup
が実行できない問題は、環境変数 $TERM_PROGRAM
の変更が原因でした。tmuxを一時的に停止してセットアップを実行することで、tmux環境でもShift+Enterでの改行が利用可能になります。
おまけ(Claude Codeすごい)
Claude Codeのコードの調査や、記事の推敲をClaude Codeにやってもらいましたが、作業の精度の高さに脱帽です。
使い込むほど便利さが実感できて、もう離れられなくなりましたね。