Codex と Claude Code、ディスク上のファイルから見る違い
どちらが優れたコードを書くかという話ではありません。実際に両方を1つのウィンドウで動かすことになった人たちが、2つのプログラムの挙動を書き記したものです。
この比較が他と違う理由
CodexとClaude Codeについて書かれているものの多くは、誰かのノートパソコンで行ったベンチマークにすぎず、1か月もすれば古びてしまいます。両者ともモデルの更新が速すぎて、書いている端から情報が追いつかなくなるからです。このページはそれをやりません。どちらが優れたコードを書くかは、尋ねたその日にどのモデルを使っているかで決まる話であり、それに白黒つけるふりをするつもりはありません。
私たちがお伝えできるのは、2つのプログラムが何でできているかという事実です。Vobudaはどちらの上にもコントロールバーを描くために、両方を読み込む必要がありました。セッションをどこに保存するか、再開する操作を何と呼ぶか、モデルの一覧がどこにあるか、今どのモードで動いているかをどう表示するか。これらはあなたのディスク上にある事実で、変化はゆっくりで、日々の作業にどう組み込めるかを左右するものです。
手短に言えば、外部から見てわかりやすいのはClaude Codeのほうです。モデルの一覧をファイルに書き出し、セッションはプロジェクトごとのフォルダに保存し、再開にはフラグを1つ渡すだけです。Codexは多くを内部に抱え込みます。モデルの切り替えは独自のピッカーで行うため、いずれ間違いになる一覧を用意するよりも、そのピッカーを開いて表示される内容を読むほうが誠実です。
それぞれが何をどこに保存するか
この表にある内容はすべて、目の前のマシン上にあり、実際に確認できます。
| Claude Code | Codex | |
|---|---|---|
| 過去のセッション | ~/.claude/projects 以下にプロジェクトごとのフォルダ | すべてのスレッドを記録する1つのインデックス、~/.codex/session_index.jsonl |
| 過去のセッションを開く | --resume <id> | resume <id> |
| 直前のセッションを再開 | --continue | resume --last |
| スキル | ~/.claude/skills、およびプロジェクト内の対応フォルダ | ~/.codex/skills、およびプロジェクト内の対応フォルダ |
| モデル一覧 | 専用のファイルにサーバーからの情報がそのまま書き込まれるため、新しいモデルは公開当日に反映される | 独自のピッカー。メニューがそれを開き、1行ずつ読み取ります |
| モデルの設定 | モデルは/model、レベルは/effort | 独自の/modelピッカー。そのあとモデルごとにレベルを選びます |
| 設定ファイル | settings.json | config.toml |
| ステータスラインの表示 | Opus 5.5、思考の深さ高、Claude Max | gpt-5.6-terra medium |
| プロセスとしての見え方 | claude | node、Codex は node として動作するため |
2026年9月時点で、両方の最新インストール環境を確認した内容です。公式ドキュメントが正典であり、これはあくまで両者を操作しなければならないウィンドウから見た姿です。
2つのフォルダ、上の表はすべてここから読み取っている
どちらのエージェントも、これらを隠してはいません。Vobudaのコントロールバーはまさにこれらのファイルを読み取っているため、私たちが手で書き留めたことのないモデル一覧まで表示できます。
settings.json モデル、エフォートレベル、権限projects/ プロジェクトごとのフォルダ <project>/ そのプロジェクトのセッション、新しい順に末尾へskills/ 自分のスキルと、プロジェクト固有のスキルhistory.jsonl 入力した内容を時系列で記録 config.toml モデルと推論レベルsession_index.jsonl すべてのスレッドを1行ずつ記録skills/ 自分のスキルと、プロジェクト固有のスキル 私たちがはまった3つの落とし穴、気づけるように
どれも最初はVobuda側の不具合でしたが、それぞれが両エージェントについての本質を物語っています。
Claude セッションの最深プロセスが codex であることは多い
Claude CodeはCodexを自身のヘルパーとして起動することがあります。そのためプロセスツリーの最深部を見てブロックの所属エージェントを判定すると、Claudeのセッションなのにドックが CODEX と表示され、新規作成が間違ったプログラムを再起動してしまいました。ブロックが属するエージェントとは、そのエージェントが起動したものではなく、人間が起動したものを指すべきです。
Codex は node_repl ではない
Codexはnodeとして動作します。シェルはプログラムを起動する際、自身をフォークしてからそのプログラムに置き換えるため、実行ファイルを名前で問い合わせない限り、プロセス一覧はその後もずっと古い名前で呼び続けます。かつてCodexを実行しているブロックは node_repl というタイトルになっていました。
あるエージェントの一覧が別のエージェントのブロックに表示される
2つのモデル一覧と continue フラグは、エージェントが1つしかなかった頃に書かれたコードで、エージェントが3つに増えた後もグローバルなままでした。Codexのブロックを開くとOpus、Sonnet、Haiku、Fableが表示され、continueを押すと codex --continue が送られてCodexは使用方法エラーを返していました。プログラムから読み取るものは、今ではそのプログラムだけに紐づけて、そのプログラム経由でのみ問い合わせます。
エージェントの画面表示の文言は変わっていく
エージェントの回答や、与えられたリクエストを、インターフェース内の特定の単語を探して読み取る方法は、そのエージェントの次のリリースで通用しなくなります。代わりにどちらも形で認識しています。エージェントは、入力の前に置く待機プロンプトによって識別されるのであって、周囲に描かれた枠によってではありません。枠は流行で変わりますが、プロンプトは変わらないからです。
多くの人が本当に求めている答えは両方だ
実際のところ、どちらか一方を選んでもう一方を消す人はいません。今この時間にやっていることは片方のほうが得意で、もう片方には別の作業をしていたときのセッションが残っており、どちらも都合の悪いタイミングで利用制限に達します。重要なのは、両方を同時に動かすことに何かコストがかかるかどうかです。
Vobudaでは、そうはなりません。1つのタブに2つのブロック、あるいは2つのタブで、それぞれが自分のエージェントを読み取る専用のバーを持ち、それぞれのモデルと思考の深さが表示され、その横にClaude Codeの権限モードが並びます。どちらもシグナルを同じ方法でウィンドウに渡すため、バッジも音も通知も、どちらが発したものであっても同じ意味を持ちます。離席中に起きたことの記録も、ブロックごとにまとめて並べて表示されます。
どちらも設定画面やトグルで接続する必要はありません。使う前に設定が必要なシグナルは機能ではなく、宿題だからです。起動時に自動的に接続され、すでに起動していたエージェントには、タブストリップの「連携」ボタンで接続をやり直せます。既存のサードパーティ製フックはそのまま残り、すでにイベントを使っているものは、私たちのフックの直後に呼び出されます。
Codex と Claude Code について、率直に答える
Codex と Claude Code、どちらが優れていますか?
コード品質については、尋ねたその日にそれぞれがどのモデルを動かしているかという話であり、書き留めた答えはすぐに古くなります。プログラムとしての挙動でいえば、外部から見てわかりやすいのはClaude Codeのほうです。モデル一覧をファイルに書き出し、セッションはプロジェクトごとのフォルダに保存し、再開にはフラグを1つ渡せば済みます。Codexは多くを内部に留めています。
Codex と Claude Code を並行して動かせますか?
できます。同じウィンドウ内に2つのブロックを置き、それぞれが自分のエージェントを読み取る専用のコントロールバーを持ちます。どちらも完了時や権限が必要なときに通知し、離席中に起きたことの記録にも両方が並んで表示されます。
VobudaはCodexのモデルをどう一覧表示しますか?
Codexに問い合わせています。以前、Codexが実行しない2つのモデルの一覧を公開してしまい、公開したその日から間違っていました。今はモデルボタンを押すとCodex自身のピッカーが開き、表示された行を読み取って、あなたが選んだものを押します。各モデルには、Codexがそのモデルに用意しているレベルが表示されます。
どちらかのエージェントに Vobuda のアカウントは必要ですか?
いいえ。Vobudaにはそもそもアカウントという仕組みがありません。各エージェントは、すでに与えられているサブスクリプションやキーをそのまま使います。VobudaがClaude Codeのサインインを使うのは1つの用途だけで、Anthropicに利用上限を問い合わせるときです。Codexのサインインには一切触れません。
ローカルモデルを使う場合はどうですか?
Ollama経由のローカルモデルは、agents.jsonに1エントリを追加するだけで、コードは一切不要です。そのエージェントが自身について正直に申告できる範囲の情報を持つブロックとバーが用意されます。
1つのウィンドウに、両方のエージェント
無料、アカウント登録不要。各バーがその下で動くエージェントをそのまま読み取ります。
curl -fsSL https://vobuda.com/install.sh | sh