症状
macOS の Ghostty で Vim や Claude Code、codex などの AI エージェントを使っているとき、IME の変換中に Ctrl+M で確定すると、確定されるはずの入力中の文字が消えてしまいます。iTerm2、WezTerm、kitty、Terminal.app では起きません。
環境:macOS Tahoe 26.4 / Ghostty 1.3.1 stable
対処方法:tip 版に切り替える
この問題は Ghostty 本体ですでに修正されています。ただし、修正はまだ stable 版に入っていないため、修正入りの tip 版に切り替えれば使えます。
-
Ghostty の設定ファイル(
~/.config/ghostty/configなど)に次の1行を追加しますauto-update-channel = tip -
Ghostty を完全に終了して、起動し直します
-
メニューの「Ghostty → Check for Updates…」で更新します
私の環境では、これで Vim でも Claude Code でも Ctrl+M で正しく確定できるようになりました。
なぜ直ったのか
この問題は、knu さんの PR(#12518、
#12547)で修正されています。ただし、どちらも 1.3.1 のリリース後にマージされたため、stable 版にはまだ入っていませんでした。tip は main ブランチから自動でビルドされるプレリリース版なので、修正が入っています。
ソースコードを読んだ範囲では、1.3.1 は IME が確定した文字列を「Ctrl+M というキー入力」とまとめてアプリに送っていました。そのため、Vim や AI エージェントには「Ctrl+M が押された」という情報しか届かず、文字が消えていたようです。修正後は、確定した文字列だけを送るようになっています。
注意
tip はプレリリース版です。修正を含む次の stable 版が出たら、auto-update-channel = stable に戻すとよいでしょう。