0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VS CodeのターミナルでCodex CLI使用時に改行できないときの対処法

0
Posted at

はじめに

VS Codeの統合ターミナル上でCodex CLIを使用していたところ、これまでできていた複数行入力の改行が突然できなくなりました。

今回の環境では、Codex CLIを 0.120 から 0.133 にアップデートした後に発生しました。

最終的には、Codex CLIの /keymap debug で実際に届いているキーを確認し、/keymap から Editor > Insert Newlinectrl-enter を追加することで解決しました。

この記事では、以下についてまとめます。

  • Codex CLIで改行できなくなった状況
  • VS Code統合ターミナルとPowerShell単体での切り分け
  • Codex CLIのIssue確認
  • /keymap debug による調査方法
  • /keymapInsert Newlinectrl-enter を追加する方法
  • TOMLで設定する場合の未検証メモ

対象読者

この記事は、以下のような人向けです。

  • VS Code統合ターミナルでCodex CLIを使っている
  • Codex CLIで Ctrl + J が効かない
  • Codex CLIで Shift + EnterAlt + 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 によるパネル表示切替は無効化できます。
スクリーンショット 2026-05-23 092301.png

しかし、自分の環境ではこの設定だけでは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.0configurable TUI keymaps が追加されたことが確認できます。

また、関連しそうなIssueとして、統合ターミナル上で Shift + EnterAlt + 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)
自分の環境では、以下のように表示されました。

スクリーンショット 2026-05-23 095210.png

Detected: ctrl + enter
Config key: ctrl-enter
Raw event: code=Enter, modifiers=ctrl, kind=Press

つまり、VS Code統合ターミナル上では、自分が改行に使いたいCtrl + jがCodex CLI側には ctrl-enter として届いていました。

enterのみを押した場合
スクリーンショット 2026-05-23 095239.png
jのみを押した場合
スクリーンショット 2026-05-23 095249.png

原因の整理

今回の問題は、単純に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を探します。
スクリーンショット 2026-05-23 095149.png

Editor > Insert Newline

Insert Newline を選択し、Add alternate binding から ctrl-enter(ユーザー任意) を追加します。
スクリーンショット 2026-05-23 095601.png

Replace(置換)でもいいかも

スクリーンショット 2026-05-23 095339.png

スクリーンショット 2026-05-23 095339.png

自分の環境では、最終的に 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 Newlinectrl-enter を追加することで改善しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?