Codex の出力に出るファイル参照を VS Code や Cursor で直接開く file_opener の設定
Codex CLI が引用したファイルパスをクリックでエディタに開けるようにする config.toml の file_opener の値(vscode / vscode-insiders / windsurf / cursor / none)と既定、ターミナル側の条件、無効化の方法を解説します。
Codex が「src/auth/session.ts:42 を修正しました」のように場所を示してくれても、そのたびにエディタでファイルを探すのは手間です。Codex CLI には、こうしたファイル参照を エディタで直接開けるリンク に変換する file_opener 設定があります。
結論として、~/.codex/config.toml に file_opener = "cursor" のようにエディタ名を書くだけで、出力中のファイル参照がそのエディタの URI スキームのリンクになります。既定は vscode です。
KEY POINT
この記事で分かること
file_openerに指定できる 5 つの値と既定- リンクが動くために必要なターミナル側の条件
- 無効化と、SSH 越しなど効かない場面
file_opener の値
file_opener = "cursor"
| 値 | 開くエディタ |
|---|---|
vscode(既定) | Visual Studio Code |
vscode-insiders | VS Code Insiders |
windsurf | Windsurf |
cursor | Cursor |
none | リンク化しない |
公式ドキュメントは、この設定を「ファイルの引用を、対応エディタの URI スキームによるクリック可能なリンクに変換する」ものと説明しています。VS Code なら vscode://file/絶対パス:行:列 の形式で、クリックするとその行にジャンプします。
用語解説
URI スキーム: vscode:// や cursor:// のように、アプリケーションを直接呼び出すためのアドレス形式です。OS がスキームとアプリを対応付けているため、リンクをクリックすると該当のエディタが開きます。
動く条件
リンクが機能するには、次の条件がそろっている必要があります。
- ターミナルがハイパーリンク(OSC 8)に対応している。iTerm2、WezTerm、Windows Terminal、Kitty、最近の GNOME Terminal などは対応しています
- 指定したエディタがローカルにインストールされ、URI スキームが登録されている
- Codex がローカルで動いている。SSH 先で動かしている場合、リンクは SSH 先のパスを指すためローカルのエディタでは開けません
VS Code の統合ターミナルで Codex を動かしている場合は、file_opener = "vscode" のままにしておくと、同じウィンドウでファイルが開きます。
Codex IDE 拡張には別の仕組みがある
file_opener は CLI(ターミナル)向けの設定です。VS Code や Cursor の Codex 拡張では、差分やファイルへの移動が拡張の UI に組み込まれています。拡張の使い方は Codex VS Code 拡張の使い方 を参照してください。
無効化と関連設定
リンク化そのものを止めたい場合は none にします。
file_opener = "none"
同じ [tui] 周辺には、表示に関する設定がいくつかあります。用途に合わせて組み合わせてください。
| キー | 既定 | 意味 |
|---|---|---|
tui.theme | 未設定 | シンタックスハイライトのテーマ |
tui.alternate_screen | auto | 代替スクリーンを使うか(auto / always / never) |
tui.animations | true | ターミナルのアニメーション |
tui.raw_output_mode | false | スクロールバックを残す raw モードで開始する |
推論(reasoning)の表示を減らして出力を読みやすくする設定は hide_agent_reasoning の設定 で扱っています。config.toml 全体の構造は親記事の config.toml でモデル・推論の深さ・プロファイルを切り替える を参照してください。
まとめ
file_openerはファイル参照をエディタの URI リンクにする設定。値はvscode(既定)/vscode-insiders/windsurf/cursor/none- ターミナルの OSC 8 対応と、エディタの URI スキーム登録が必要
- SSH 先で動かしている Codex のリンクはローカルでは開けない
- IDE 拡張には別の仕組みがあるので、CLI 向けの設定と考える
- 表示まわりは
[tui]のテーマ・代替スクリーン・アニメーションと組み合わせる
よくある質問
- file_opener の既定値は何ですか?
- vscode です。設定していなくても、対応ターミナルなら VS Code で開くリンクになります。
- Cursor を使っています。
- file_opener = "cursor" にします。windsurf と vscode-insiders も指定できます。
- リンクにならず、ただの文字列として表示されます。
- ターミナルがハイパーリンク(OSC 8)に対応している必要があります。対応していないターミナルでは URI が表示されるか、リンク化されません。
参考にした一次情報
この記事は公式ドキュメントを基に AI が下書きを作成し、運営者が内容を確認して公開しています。誤りを見つけた場合は お問い合わせからお知らせください。