はじめに
VS Codeの統合ターミナル上でCodex CLIを使用していたところ、これまでできていた複数行入力の改行が突然できなくなりました。
今回の環境では、Codex CLIを 0.120 から 0.133 にアップデートした後に発生しました。
最終的には、Codex CLIの /keymap debug で実際に届いているキーを確認し、/keymap から Editor > Insert Newline に ctrl-enter を追加することで解決しました。
この記事では、以下についてまとめます。
- Codex CLIで改行できなくなった状況
- VS Code統合ターミナルとPowerShell単体での切り分け
- Codex CLIのIssue確認
-
/keymap debugによる調査方法 -
/keymapでInsert Newlineにctrl-enterを追加する方法 - TOMLで設定する場合の未検証メモ
対象読者
この記事は、以下のような人向けです。
- VS Code統合ターミナルでCodex CLIを使っている
- Codex CLIで
Ctrl + Jが効かない - Codex CLIで
Shift + EnterやAlt + Enterで改行できない - Codex CLIのアップデート後に改行できなくなった
- Codex CLIの
/keymap debugや/keymapの使い方を知りたい
発生した問題
VS Codeの統合ターミナル上でCodex CLIを起動し、入力中に改行しようとしても改行できなくなりました。
具体的には、以下のような状態です。
- VS Code統合ターミナル上のCodex CLIで改行できない
- 以前は改行できていた
- Codex CLIを
0.120から0.133にアップデートした後に発生 - PowerShell単体でCodex CLIを起動すると改行できる
- VS Code側の
Ctrl + Jキーバインドを外しても改善しない
環境
今回確認した環境は以下です。
OS: Windows
Editor: VS Code
Terminal: VS Code Integrated Terminal
Shell: PowerShell
Codex CLI: 0.133
以前のCodex CLI: 0.120
まず疑ったこと:VS CodeのCtrl+Jキーバインド
最初は、VS Code側のキーバインドが原因だと考えました。
VS Codeでは、Ctrl + J が標準で下部パネルの表示切替に割り当てられています。
そのため、Ctrl + J がCodex CLIに届いていない可能性があると考えました。
そこで、VS Codeの keybindings.json に以下を設定しました。
[
{
"key": "ctrl+shift+t",
"command": "workbench.action.togglePanel"
},
{
"key": "ctrl+j",
"command": "-workbench.action.togglePanel"
}
]
これで Ctrl + J によるパネル表示切替は無効化できます。

しかし、自分の環境ではこの設定だけではCodex CLI上で改行できませんでした。
PowerShell単体では改行できた
次に、VS Code統合ターミナルではなく、PowerShell単体でCodex CLIを起動しました。
codex
すると、PowerShell単体では改行できました。
つまり、Codex CLI本体が完全に壊れているわけではなく、以下のどちらかが原因だと考えました。
- VS Code統合ターミナル側のキー入力の渡し方
- Codex CLIのTUI keymap変更との相性
Codex CLIのIssueを確認
Codex CLIでは、0.128.0 付近でTUI keymap周りに変更が入っているようです。
公式のChangelogでは、0.128.0 に configurable TUI keymaps が追加されたことが確認できます。
また、関連しそうなIssueとして、統合ターミナル上で Shift + Enter や Alt + Enter が改行ではなく送信になってしまう報告がありました。
参考にしたIssueは以下です。
VS Code統合ターミナルでShift+Enter / Alt+Enterが改行にならない
https://github.com/openai/codex/issues/20580
WebStorm統合ターミナルで0.128.0以降に複数行入力できなくなった
https://github.com/openai/codex/issues/21163
Zed on Windowsの統合ターミナルで改行ショートカットが期待通り動かない
https://github.com/openai/codex/issues/21944
今回の現象も、Codex CLIのTUI keymap変更とVS Code統合ターミナルの組み合わせで発生している可能性が高そうです。
/keymap debug でCodex CLIが受け取っているキーを確認する
Codex CLIには、実際にCodex CLIがどのキー入力を受け取っているか確認できる /keymap debug があります。
Codex CLI上で以下を入力します。
/keymap debug
この状態で、改行に使いたいキーを押します。(今回はCtrl+j)
自分の環境では、以下のように表示されました。
Detected: ctrl + enter
Config key: ctrl-enter
Raw event: code=Enter, modifiers=ctrl, kind=Press
つまり、VS Code統合ターミナル上では、自分が改行に使いたいCtrl + jがCodex CLI側には ctrl-enter として届いていました。
原因の整理
今回の問題は、単純にVS Codeが Ctrl + J を奪っていた、というだけではありませんでした。
/keymap debug で確認したところ、Codex CLIには ctrl-enter としてキー入力が届いていました。
そのため、Codex CLI側で ctrl-enter を改行操作として登録する必要がありました。
整理すると以下です。
VS Code統合ターミナル
↓
Codex CLI
↓
/keymap debug で確認
↓
改行に使いたいキーが ctrl-enter として届いていた
↓
Codex CLIの /keymap で Insert Newline に ctrl-enter を追加
↓
改行できるようになった
解決方法:Insert Newlineにctrl-enterを追加する
Codex CLI上で以下を入力します。
/keymap
ショートカット一覧が表示されるので、Editor Insert Newlineを探します。

Editor > Insert Newline
Insert Newline を選択し、Add alternate binding から ctrl-enter(ユーザー任意) を追加します。

自分の環境では、最終的に Insert Newline に以下のキーが割り当てられました。
ctrl-j, ctrl-m, enter, shift-enter, alt-enter, ctrl-enter
これで、VS Code統合ターミナル上のCodex CLIでも Ctrl + Enter で改行できるようになりました。
確認方法
設定後、Codex CLIの入力欄で Ctrl + Enter を押して、複数行入力できるか確認します。
以下のように、送信されずに改行できれば成功です。
1行目
2行目
3行目
TOMLで設定する方法について
Codex CLIのkeymapは、TOMLで直接設定する方法もあるようです。
ただし、自分の環境では /keymap 画面から設定したため、TOMLでの直接設定は試していません。
以下は未検証です。
試す場合は自己責任でお願いします。
[tui.keymap.editor]
insert_newline = ["ctrl-j", "ctrl-enter"]
まとめ
Codex CLIで改行できない場合、VS Code側の Ctrl + J キーバインドだけを確認しても解決しないことがあります。
今回の環境では、PowerShell単体では改行できていたため、Codex CLI本体ではなく、VS Code統合ターミナルとCodex CLIのkeymapの組み合わせが原因でした。
特に、Codex CLIのアップデート後に以下のような問題が起きた場合は、まず /keymap debug を使うのがよいと思います。
-
Ctrl + Jで改行できない -
Shift + Enterで改行できない -
Alt + Enterで改行できない - VS Code統合ターミナルだけで改行できない
今回の環境では、Codex CLIに ctrl-enter としてキーが届いていたため、Editor > Insert Newline に ctrl-enter を追加することで改善しました。




