はじめに
OpenAI Codex CLIには、Claude Codeの設定・スキル・直近のチャット履歴を選択的にインポートできる /import コマンドが実装されています1。複数の解説記事・体験レポートが「Claude CodeからCodexへの移行が数ステップで完了する」と紹介しており23、乗り換えや併用を検討している開発者にとって魅力的な機能に見えます。
この記事では、実際にCodex CLIの最新版をクリーンインストールし、/import を CIパイプラインや自動化スクリプトから呼び出せるか を検証しました。結論から言うと、スクリプトから叩ける入口はどこにも存在しませんでした。
この記事で学べること
-
/importが実際にはどこにも「CLIサブコマンド」として存在しないことの確認手順 -
codex features listで機能フラグを網羅的に確認する方法 - 公式ドキュメント上で「インポートされるもの」と「手動確認が必要なもの」の一覧
- ヘッドレス環境(CI・自動化パイプライン)でCodex CLIの初期設定を行う際に注意すべき前提
対象読者
- Claude CodeとCodex CLIを併用・比較検討している方
- エージェントツールのセットアップをCI/自動化パイプラインに組み込みたい方
- ドキュメントの機能紹介を鵜呑みにせず、自分の環境で確認する習慣をつけたい方
TL;DR
-
/importはCodex CLI 0.140.0(2026-06-15リリース)で追加された、Claude Codeの設定・チャット履歴を取り込む機能1 - しかし
codex --help/codex plugin --help/codex debug --help/codex exec --helpのどこにもimportサブコマンドは存在しない(codex-cli 0.144.1で確認) -
/importは 対話型TUI専用のスラッシュコマンド。実行にはインタラクティブなターミナルセッションと、ChatGPTアカウントまたはAPIキーでのログインが前提になる - つまり
codex execやcodex -c経由の非対話実行、CI上でのヘッドレス実行では そもそも呼び出す手段がない - 公式ドキュメントが挙げる「インポート対象」と「要手動確認の対象」は本文の一覧を参照
Codex CLIの/importとは
/import は、Claude Codeで構築した環境をCodex CLIに持ち込むための機能です。OpenAI公式のリリースノートには次のように記載されています。
Added
/importfor selectively importing setup, project configuration, and recent chats from Claude Code.
— openai/codex Releases: rust-v0.140.0(2026-06-15)
公式ドキュメント「Import from another agent」によると、インポート対象は以下の通りです4。
| カテゴリ | 内容 |
|---|---|
| 指示ファイル |
AGENTS.md、settings.json
|
| 設定 | config.toml |
| スキル | カスタムスキル |
| プラグイン | 既存プラグイン |
| プロジェクト | 同一構造のフォルダ |
| チャット履歴 | 直近30日以内のセッション |
| MCP設定 | サーバー設定 |
| フック | カスタムフック |
| スラッシュコマンド | スキルへ変換 |
| サブエージェント | エージェント設定 |
一方で公式ドキュメントは、次の3点については インポート後に手動確認が必要 と明記しています4。
- カスタム認証を使うMCPサーバー
- 追加のセットアップが必要なプラグイン
- シェル展開・ファイルパスのプレースホルダーに依存するプロンプト(
$ARGUMENTS、$1、@file参照など)
第三者の実機レポート(Codex CLI 0.141.0・macOS)でも、チャット履歴のインポートは直近30日・最大50件までに制限され、同名のスキルディレクトリが既に存在する場合はスキップされる、という制約が確認されています2。
ここまでは「機能紹介として妥当」に見えます。問題は、この /import を どうやって自動化・スクリプト化するか という点でした。
実際にインストールして確認した
手元の環境にNode.js v22で最新のCodex CLIをクリーンインストールし、バージョンを確認しました。
npm install -g @openai/codex
codex --version
# codex-cli 0.144.1
codex --help でトップレベルのサブコマンド一覧を確認します。
codex --help
Commands:
exec Run Codex non-interactively [aliases: e]
review Run a code review non-interactively
login Manage login
logout Remove stored authentication credentials
mcp Manage external MCP servers for Codex
plugin Manage Codex plugins
mcp-server Start Codex as an MCP server (stdio)
app-server [experimental] Run the app server or related tooling
...
debug Debugging tools
...
features Inspect feature flags
help Print this message or the help of the given subcommand(s)
import という名前のサブコマンドは一覧に存在しません。念のため codex import --help を直接叩いても、通常の --help と同じトップレベルの一覧が返るだけで、専用のヘルプは出ませんでした(=存在しないサブコマンドとして扱われている)。
plugin ・debug ・exec はいずれもさらにサブコマンドを持つグループコマンドです。それぞれの --help も確認しましたが、いずれにも import は含まれていません。
codex plugin --help | grep -i import # ヒットなし
codex debug --help | grep -i import # ヒットなし
codex exec --help | grep -i import # ヒットなし
次に、機能フラグの一覧を確認します。
codex features list | wc -l
# 92
92個のフラグを全件確認しましたが、import という名前で stable になっているフラグは存在しませんでした。
codex login status
# Not logged in
ログインもしていない状態です。/import はREADME・ドキュメントを見る限りTUI内のスラッシュコマンドとして実装されており、codex(引数なし)を実行して開く対話セッションの中でしか呼び出せません。対話セッションを開くにはターミナルのTTYと、ChatGPTアカウントまたはAPIキーでのログインが前提になります。
つまり、以下のような非対話実行では /import に到達する手段が存在しません。
# これらのどれでも /import は実行できない
codex exec "設定をインポートして"
codex -c 'features.external_migration=true' # そもそも対応する安定フラグがない
echo "/import" | codex exec - # execは/importスラッシュコマンドを解釈しない
なぜこれが問題になるか
このリポジトリのように、Claude CodeとCodex系ツールを併用しつつ セットアップ自体を自動化パイプラインに組み込んでいる 運用では、「新しいマシン・新しいCIランナーでエージェントツールの初期設定を再現できるか」が重要になります。
/import が対話TUI専用である以上、次のような制約を受け入れる必要があります。
- CIランナー・使い捨てコンテナでの自動セットアップには使えない(毎回人間が対話セッションを開いてログインする必要がある)
- チャット履歴のインポートは30日以内・最大50件までという時限性がある ため、そもそも定期実行するスクリプトには向かない設計
- 恒久的な移行手段としては、
/importを使わずAGENTS.md・config.toml・スキルファイルを 手動またはスクリプトで直接コピー する方が、CI/自動化とは相性が良い
ヘッドレス環境で代わりにやること
/import に頼らずCodex CLIの設定を再現したい場合、公式ドキュメントが挙げるインポート対象(前掲の表)のうち、ファイルベースで完結するものは通常のファイル操作で持ち込めます。同一ホスト上にClaude CodeとCodex CLIの両方がインストールされている前提のコマンド例です。
# AGENTS.md・config.tomlはファイルコピーで移行できる
cp ~/.claude/CLAUDE.md ./AGENTS.md # 内容の書式は要調整
cp ~/.codex/config.toml ./backup-config.toml
# スキル・プラグインもディレクトリ単位でコピー可能(同名衝突は要確認)
cp -r ~/.claude/skills/* ~/.codex/skills/
一方で、チャット履歴・MCPサーバーの認証情報・複雑なプレースホルダーを含むプロンプトは、この方法では再現できません。これらが必要な移行は /import の対話セッションを人間が実行する前提で計画するのが安全です。
著者視点の発見ポイント
今回、Codex CLIの /import を検証するまでは、ブログ記事の「数ステップで移行完了」という紹介をそのまま信じ、CIパイプラインの初期セットアップに組み込めるものだと想定していました。しかし codex --help ・codex features list を実際に叩いてみると、スクリプトから呼び出せる入口がどこにも存在しないことが分かりました。機能の「存在」と「自動化できるかどうか」は別軸で確認しないといけない、という当たり前ですが見落としがちな点を、実機検証で改めて認識しました。
新しいCLIツールの便利機能を見つけたら、まず --help の全サブコマンドと features list を確認し、「対話操作でしか使えないのか」「非対話実行に対応しているのか」を切り分けてから自動化の設計に組み込む価値がある、というのが今回の一番の学びです。
まとめ
- Codex CLIの
/import(0.140.0で追加)はClaude Codeの設定・チャット履歴を取り込む便利な機能だが、TUI専用の対話型スラッシュコマンド であり、CLIサブコマンドとしては存在しない -
codex-cli 0.144.1で--help・plugin --help・debug --help・exec --help・features list(92フラグ)を確認したが、非対話で呼び出せる入口は見つからなかった - チャット履歴のインポートは直近30日・最大50件までという時限制約もあり、定期実行を前提にした自動化には設計上向いていない
- CI・使い捨て環境でCodex CLIの設定を再現したい場合は、
AGENTS.md・config.toml・スキルディレクトリのファイルコピーなど、ファイルベースの移行手段を別途組む必要がある