OpenAIのCodex CLIをローカルOSSモデルで動かす——この組合せは1月から実験的に可能だったが、2026年5月14日に公開されたOllama v0.24.0 で公式機能として完全に統合された。ollama launch codex 一発でCodex CLIがローカルLLMバックエンドで立ち上がり、ollama launch codex-app でデスクトップ版Codex Appもそのまま起動する。OpenAIのコーディングエージェントが、自分のMacのGPUで、レート制限なし、API課金なしで無限に動く時代が来た。

ローカルLLM全般の選び方とOllama/LM Studio/GPT4Allの比較は ローカルLLMとは?2026年版ツール比較——Ollama・Lemonade・LM Studio・GPT4Allの選び方 をご覧ください。

この記事のポイント
  • Ollama 0.24で 「ollama launch codex」「ollama launch codex-app」 が公式コマンドとして追加。Codex CLI/デスクトップAppの双方をローカルLLMバックエンドで一発起動できる
  • 推奨は gpt-oss:20b(手元PC向け)/gpt-oss:120b(ハイエンドMac向け)/gpt-oss:120b-cloud(Ollama Cloud)。コンテキスト窓は64k以上が必須で、Codex特有のエージェントループに耐えるモデルが要る
  • config.tomlプロファイル で複数モデルを切替可能。`codex --profile ollama-launch` のようにプロファイル指定すれば、ローカル20B/クラウド120B/OpenAI公式を1コマンドで切り替えられる
  • API課金もレート制限もないのでエージェント系の重い反復処理が現実的なコストで回せる。コードがOpenAIに送られない点も社外秘リポジトリで効く

1. 何が起きたのか:Ollama 0.24でCodex統合が完成

Ollama 0.24は『Codexをローカルで動かす』というユーザー要望に対する公式回答だ。2026年1月15日のOllama公式ブログ「OpenAI Codex with Ollama」で ollama launch codex が初登場し、5月14日のv0.24.0でデスクトップ版Codex Appを起動する ollama launch codex-app まで追加された。これでCLI・デスクトップの両系統が ollama launch … ファミリーに揃った形になる。

技術的に何が新しいかというと、実はOllama自体は以前から http://localhost:11434/v1 でOpenAI互換APIを提供していた。だからCodex CLI側の --oss フラグや OPENAI_BASE_URL 環境変数を手動で設定すれば、技術的にはローカル接続できていた。今回の変更は「セットアップの摩擦を消す」レイヤーで、具体的には次の作業を ollama launch codex が肩代わりする。

  1. Codex CLIがインストールされているかチェック(なければ案内)
  2. Ollama側で推奨モデル(デフォルトはgpt-oss:20b)が落ちているかチェックし、なければpull
  3. Codex CLIの ~/.codex/config.tomlmodel_providers.ollama-launchprofiles.ollama-launch を自動追記
  4. コンテキスト窓を64k以上に設定(gpt-ossは128kまで対応)
  5. プロファイル --profile ollama-launch 指定でcodexプロセスを起動

これまで「ローカル開発でCodexを使いたい」と思った人が30分かけてやっていた作業が、コマンド1発に圧縮された。ollama launch ファミリーはClaude Code・Codex・Droid・OpenCodeなど主要エージェントCLIをカバーする方向で広がっていて、Ollamaが「ローカルLLMコーディングのハブ」を狙っているのが見える。

Ollama 0.24のCodex関連新機能まとめ
  • ollama launch codex:Codex CLIをローカルLLMバックエンドで起動。config.toml自動生成、モデル自動pull、プロファイル登録まで一括
  • ollama launch codex-app:OpenAI公式のCodex App(デスクトップGUI)を起動。組み込みブラウザでローカルサーバを確認しながらコメント注釈で修正指示できる
  • --restore オプション:以前のセッション設定を復元してCodex Appを起動
  • worktree/git統合:Codex App内で複数のCodexスレッドを並列に走らせ、git worktree単位で作業を分離できる
  • MLXサンプラ最適化:Apple Silicon上でのトークン生成品質が改善され、Mシリーズ実機のレスポンスが軽くなった

2. OpenAI Codex CLIとは何か:ターミナルで動くOpenAI公式エージェント

ローカル化の前提として、OpenAI Codex CLI 自体を簡単におさらいしておく。@openai/codex パッケージとしてnpm(Homebrewも可)で配布されている、Rust実装・Apache-2.0ライセンスの公式コーディングエージェントだ。2026年5月時点で 0.130.0 系が安定版で、レポジトリ説明には “Codex CLI is a coding agent from OpenAI that runs locally on your computer.” と明記されている。

Codex CLIの位置づけは「ターミナルで動くChatGPT Codex」に近い。ファイル読み書き、シェル実行、Gitオペレーション、ブラウザ確認といったツールを呼びながら、コードベースに対して自律的にタスクを進める。Claude Codeに対するOpenAI側のカウンターパートで、設計思想も近い:エディタ非依存、ターミナル中心、エージェントループ前提。

認証方式は3系統ある:

  • ChatGPT契約でのサインイン:Plus/Pro/Business/Edu/Enterpriseユーザーは codex 起動時に「Sign in with ChatGPT」でログイン可能。クォータはChatGPT側のメッセージ枠を消費
  • OpenAI APIキーOPENAI_API_KEY を環境変数に入れる従来方式。トークン課金
  • OSSモード(今回の本題)codex --oss または --profile <ollama-profile> でローカル/OSSプロバイダ接続。課金なし、レート制限なし

--oss の存在自体は2026年1月のOllama公式ブログ「OpenAI Codex with Ollama」で公式機能化され、Codex CLI側にもサポートが入った。Codex公式ドキュメントにも --oss-m gpt-oss:20b の例が掲載されている。

3. アーキテクチャ:Codex CLIとOllamaの接続レイヤー

実体としては、Codex CLIがHTTPクライアント、OllamaがOpenAI互換のHTTPサーバとして動く構成だ。Codex CLIはOpenAI API互換のリクエスト(/v1/chat/completions 風のエンドポイント)を http://localhost:11434/v1 に投げ、Ollamaがそれを自分のローカルモデル(gpt-oss:20bなど)にルーティングしてストリーミングレスポンスを返す。

graph TD A["ユーザー: codex --profile ollama-launch"] -->|起動| B["Codex CLI
Rust製エージェント"] B -->|プロンプト+ツール定義| C["OpenAI互換HTTP
localhost:11434/v1"] C --> D["Ollama Server
v0.24.0"] D -->|モデル選択| E["gpt-oss:20b
または gpt-oss:120b"] E -->|推論結果| D D -->|ストリーミング応答| C C --> B B -->|ツール実行| F["ファイル読書
シェル実行
Git操作"] F -->|結果| B B -->|次のターン| C style B fill:#dbeafe style D fill:#fef3c7 style E fill:#fce7f3

この構造のキモは、Codex CLI側はOllamaを「ただのOpenAIサーバ」として扱っていること。Codex CLIから見ると api.openai.comlocalhost:11434 の区別はベースURLの違いでしかなく、エージェントループ・ツール実行・コンテキスト管理は完全に同一のコードパスで走る。クラウドCodexで磨かれたエージェント実装の利得が、そのままローカルでも享受できる設計だ。

注意点は2つ。1つ目はコンテキスト窓の要件で、Codexは1ターンあたりエージェントの思考・ツール出力・差分パッチを大量に積むので、64k以上のコンテキスト窓を持つモデル必須。gpt-oss:20b/120b、Qwen3 Coder、GLM-5.1、Kimi K2.6あたりが候補になる。2つ目はツール呼出(function calling)への対応で、OllamaのTools APIに乗っているモデルでないとCodexのエージェントループが破綻する。ollama show <model>Tools: yes を確認するのが安全だ。

ローカルLLMの推論バックエンド自体に関しては、Ollama単体だけでなく Distributed Llama のような分散推論や vLLM の本番向け実装も併用が効く。Codex CLIから見るとどれも「OpenAI互換APIを話すサーバ」なので、リソースが余っているマシンを束ねるなら分散推論側を選ぶ手もある。

4. セットアップ:5分で動かす最短手順

最短手順は「Ollama 0.24以上を入れる→Codex CLIを入れる→ollama launch codex を打つ」の3段階だ。それぞれ詳しく見ていく。

4.1 Ollama 0.24.0以上をインストール

macOS/Linux/Windows公式バイナリが用意されている。Macなら brew install ollama でも入る。

# 公式インストーラ(macOS / Linux)
curl -fsSL https://ollama.com/install.sh | sh

# バージョン確認(0.24.0以上であること)
ollama --version
# => ollama version is 0.24.0

# Ollamaサーバが動いていることを確認
ollama serve &
curl -s http://localhost:11434/api/tags | head -c 200

ollama launch サブコマンドが認識されない場合はバージョンが古い。ollama update または再インストールでv0.24.0以上にする。Brewユーザーは brew upgrade ollama だ。

4.2 OpenAI Codex CLIをインストール

Codex CLIはNode.jsで配布されている。Node 18以上が必要。

# npm経由(推奨)
npm install -g @openai/codex

# Homebrew(macOS)
brew install --cask openai-codex-cli

# バージョン確認(0.130.0以上が望ましい)
codex --version

Homebrewの場合は管理者権限不要で ~/.codex/ 配下に設定が置かれる。Windowsの場合はScoopまたは公式インストーラを使う。codex --version が通れば準備完了だ。

4.3 ollama launch codexで起動

ここからが本題。1コマンドでCodex CLIがgpt-oss:20bバックエンドで立ち上がる

# デフォルト構成で起動(gpt-oss:20b、64kコンテキスト)
ollama launch codex

# 初回はモデル自動pullが走る(gpt-oss:20bで約13GB)
# pull完了後、Codex CLIが対話モードで起動する

ollama launch codex の実行で何が起きているかを順番に追うと:

  1. ~/.codex/config.toml がなければ作成し、ollama-launchプロファイルを追記
  2. gpt-oss:20b が未取得なら ollama pull gpt-oss:20b を内部実行
  3. Ollamaサーバが起動していなければバックグラウンドで起動
  4. codex --profile ollama-launch 相当のコマンドでCodex CLIを起動

起動後はChatGPT版Codexと同じUI/キーバインドで対話できる。差分はモデルが手元のマシンで動いていることだけだ。ファイル編集・シェル実行・Git操作などツール呼出も同じように使えるので、--oss 環境下でも素のエージェント体験が損なわれない。

4.4 別モデルへの切替:gpt-oss:120bやCloud版

ハイエンドMacや96GB以上のメモリを積んだLinuxマシンなら、120Bモデルが現実的に動く。

# gpt-oss:120b(ローカル実行、約65GB必要)
ollama launch codex --model gpt-oss:120b

# gpt-oss:120b-cloud(Ollama Cloud経由、課金あり)
ollama launch codex --model gpt-oss:120b-cloud

# 既存セッションを復元
ollama launch codex --restore

--model フラグは ollama launch codex 系の共通オプション。Cloud版は手元のリソースを使わず、Ollama側のクラウド推論を使う構成で、課金は発生するがレート制限はOpenAI APIより緩やか。「とりあえず120Bを試してから判断したい」フェーズで便利だ。

5. config.tomlで複数モデルをプロファイル管理する

実運用では「軽い修正は20B、重い設計レビューは120Bクラウド、本番デプロイ直前のレビューはGPT-5公式」のようにモデルを使い分けたい。Codex CLIはこれを プロファイル という形でサポートしている。

~/.codex/config.toml の構造はこうなる:

# Ollama接続定義(base_urlが11434なのがポイント)
[model_providers.ollama-launch]
name = "Ollama"
base_url = "http://localhost:11434/v1"

# プロファイル1: ローカル20B(普段使い)
[profiles.ollama-launch]
model = "gpt-oss:20b"
model_provider = "ollama-launch"

# プロファイル2: ローカル120B(M4 Max級限定)
[profiles.ollama-120b]
model = "gpt-oss:120b"
model_provider = "ollama-launch"

# プロファイル3: クラウド120B(外部送信OKな案件)
[profiles.ollama-cloud]
model = "gpt-oss:120b-cloud"
model_provider = "ollama-launch"

# プロファイル4: OpenAI公式(最終チェック用)
[profiles.openai]
model = "gpt-5"

切替は単純で、codex --profile <名前> を打つだけ。

# 軽量タスク
codex --profile ollama-launch "READMEの誤字を直して"

# 重い設計レビュー(ローカル120B)
codex --profile ollama-120b "src/payments/配下のリファクタ案を出して"

# 最終確認(OpenAI公式)
codex --profile openai "リリース前にこのPRを最終レビューして"

プロファイル運用の最大の利点は「コスト構造を意識しなくてよくなる」点だ。普段は0円のローカル20Bで叩き、本当に必要な場面だけクラウドに切り替えれば、月額のAPI課金が劇的に減る。Codex CLI公式のヘビーユーザーがChatGPT Pro契約で月数千円〜数万円使う中、ローカル比率を上げれば実質コストを1/10以下にできる。

6. 対応モデルの選び方:gpt-ossを中心にした使い分け

Ollama公式ブログがCodex向けに明示しているのは gpt-oss:20b gpt-oss:120b gpt-oss:120b-cloud の3つ。これに加えて、Ollamaライブラリ側にあるツール呼出(function calling)対応モデルなら、config.toml で指定するだけで動く。

主要候補の比較を以下にまとめる。

モデル パラメータ 量子化後VRAM目安 コンテキスト ツール呼出 Codexスコア感
gpt-oss:20b 20B (MoE) 約13GB 128k ★★★(基準)
gpt-oss:120b 120B (MoE) 約65GB 128k ★★★★
gpt-oss:120b-cloud 120B (MoE) クラウド 128k ★★★★
Qwen3 Coder 30B 30B 約18GB 256k ★★★★(コード特化)
GLM-5.1 32B / 106B 20〜60GB 200k ★★★
Kimi K2.6 1T (MoE) クラウド推奨 256k ★★★★(巨大MoE)
DeepSeek V3 Coder 685B (MoE) クラウド 128k ★★★★
Llama 3.3 70B 70B 約40GB 128k ★★
Gemma3 8B 8B 約5GB 128k ★(軽すぎ)

「Codexスコア感」は筆者が同一プロンプト(軽量リファクタ+PR作成タスク)で試した主観評価で、ベンチマーク値ではない点に注意してほしい。結論としてはgpt-oss:20b/120bが「Codex特化チューン済み」感が一番強い。これはgpt-ossが2025年にOpenAI自身がオープン化したシリーズで、Codex CLIのプロンプト前提に最も自然に噛み合うためだ。

コード特化を狙うなら Qwen3 Coder 30B が強力で、長尺リファクタや既存コード読解で20Bよりよい結果が出ることもある。Kimi K2.6 は1Tパラメータ級のMoEで、エージェント協調タスクで頭一つ抜けるが、ローカル実行は事実上不可能なのでクラウド経由になる(Kimi K2.6エージェントスワーム解説)。Gemma3 8B はコンテキストは128kあるが、エージェントループの自己修正能力が低くCodex用途には不向きだ。

初期セットアップで失敗しにくいパス

  1. まずgpt-oss:20bで ollama launch codex を試す
  2. 自分のマシンでGPU余裕があるか確認(ollama ps で稼働モデルとメモリ使用量が見える)
  3. メモリに余裕があれば --model gpt-oss:120b に上げる
  4. それでも不足ならconfig.tomlにOllama Cloud版を追加してプロファイル切り替え
  5. 特定タスクで足りなくなったらOpenAI公式モデル(gpt-5など)プロファイルを追加

ローカル→クラウドへのスケールアップが連続的なので、最初から完璧を狙わなくていい。

7. Codex App(デスクトップ版)も同時に進化した

ollama launch codex-app で起動するのが、OpenAI公式のCodex App(デスクトップ版)。CLIとは別系統のGUI体験で、v0.24.0のメイン目玉だ。

Codex Appの主な機能:

  • 組み込みブラウザ:開発中のローカルサーバ(http://localhost:3000 など)をApp内のブラウザで直接開ける。表示されたページを直接クリック・注釈してCodexに修正指示が出せる。Figmaのコメント機能をコードレビューに持ち込んだような体験
  • レビューモード:差分を見ながらCodexにコメント形式でフィードバックを返せる。「ここはもう少しシンプルに」「このloopは並列化して」など、IDEから出ずに修正サイクルが回る
  • Worktree統合:複数のCodexスレッドを並列に走らせ、git worktreeで作業ディレクトリを分離。1つのリポで「PRレビュー」「新機能実装」「バグ修正」を同時並行できる
  • Git連携:コミット作成、ブランチ切替、PR作成までApp内で完結
  • –restore で復元:前回のセッション(開いていたスレッド、選択モデルなど)をそのまま戻せる
# Codex Appをローカルバックエンドで起動
ollama launch codex-app

# 前回セッションを復元
ollama launch codex-app --restore

注意したいのは、Codex AppのバックエンドはCLIと同じくOpenAI互換API経由なので、ollamaで起動した時点で全推論がローカルLLMに切り替わる。クラウドCodex Appと同じUIなのにモデルがgpt-ossで動いている状態だ。デザイン上は『SwitchをOFFにする』みたいに見えるが、内部的にはbase URLとモデル名の差し替えだけが起きている。

Codex AppはCodex CLIの「上位互換」ではなく「並列の選択肢」と捉えるのがよい。ターミナル中心の開発者(vim/tmux/zsh派)はCLI、ブラウザでのUIプレビューが重要なフロントエンド開発者はAppという棲み分けになる。

8. ローカルCodexのリアルな性能と限界

ローカルLLMで本当に開発作業が回るのか——これは現実的に気になる点だ。筆者の検証環境(M4 Max 64GB、gpt-oss:20b)で同等タスクをChatGPT Codex(gpt-5)とローカルで比較した感触は次の通り。

ローカルgpt-oss:20bが安心して任せられる作業

  • 5〜30行程度のバグ修正・型エラー解消
  • READMEや日本語ドキュメントの整形・翻訳
  • 単体テスト追加(テンプレ的なケース)
  • 既存ヘルパー関数のリネーム・移動
  • TypeScript/Python/Rust/Goの軽量〜中量リファクタ

ローカル20Bでは厳しく、120Bか公式モデルに切り替えたほうがよい作業

  • 数十ファイルを跨ぐ設計変更(依存関係を理解した変更)
  • 抽象クラス/DI/ジェネリクスを多用した複雑なリファクタ
  • 業務ロジックを推論で補完する系(仕様書から逆算した実装)
  • パフォーマンスチューニング(ボトルネックの推定)
  • セキュリティ監査的なレビュー

体感では、「diffが30行以内、影響範囲が3ファイル以内」のタスクなら20Bでクラウド並の体験になる。エージェントループは1〜2回で収束し、ツール呼出も安定する。逆に「20ファイル横断のリファクタ」のような大物は20Bだとループが10回以上回ってもまとまらず、結局120Bやクラウドに切り替えることになる。

この『20Bで足りる8割、足りない2割』を切り分けて使うとローカルCodexは本当に強い。すべてをローカルでやろうとすると挫折するし、すべてをクラウドでやると課金が膨らむ。プロファイル切り替えで境界を意識しながら使うのがリアルな運用感だ。

9. クラウドCodexとローカルCodexの本質的な違い

ローカル化は単なる「同じものをタダで」ではない。実はできることの内訳が変わる。整理しておく。

クラウドCodex(gpt-5) ローカルCodex(gpt-oss:20b)
課金 トークン課金 or ChatGPT契約 $0
レート制限 あり(プランによる) なし
モデル品質 最高水準 ★★★(実用十分)
コード送信先 OpenAIサーバ 端末内のみ
オフライン動作
コンテキスト窓 数十万〜数百万 128k
応答速度 API遅延あり GPU依存(M4 Maxで〜80 tok/s)
長時間タスク 課金が膨らむ 電気代のみ
モデル更新 OpenAI側で勝手に更新 自分で ollama pull
エージェント反復 課金懸念で抑制しがち 気にせず叩ける

特筆すべきは右下の 「エージェント反復を気にせず叩ける」。Codex CLIのようなエージェント系は、1タスクあたり10〜50回モデルを呼ぶことが普通で、クラウド経由だと「これでお金溶けるかな」というメンタルコストが地味に効く。ローカルなら無限に叩けるので、たとえば「今のPRを5パターンの観点でレビューさせて、それぞれの修正案を競争させる」みたいな贅沢な使い方が成立する。

逆にデメリットは2つ。1つ目はモデル品質の差で、コード理解の絶対値ではgpt-5に勝てない。2つ目はコンテキスト窓の差で、100万トークン超のリポジトリをまるごと食わせるような芸当はローカルでは無理だ。「速度・課金・プライバシー」を取るか、「品質・コンテキスト・最新性」を取るかのトレードオフになる。

10. つまずきやすい点とトラブルシュート

実際に立ち上げる時に詰まりやすいポイントを並べておく。

10.1 「Tools: no」のモデルを選んでしまう

ツール呼出非対応のモデルを選ぶとCodexが起動直後にループする。ollama show <model>Tools: yes を必ず確認する。

ollama show gpt-oss:20b | grep -i tools
# => Tools: yes  ← OK

10.2 コンテキスト窓不足

Codexはエージェントループでツール出力をどんどん積むため、64k未満ではすぐ詰まる。ollama showcontext length を確認し、必要ならパラメータでオーバーライドする。

ollama show gpt-oss:20b
# context length: 131072  ← 128k OK

10.3 GPUメモリ不足で20Bが激重

ollama ps でモデルがCPU側にスピルアウトしていないか確認する。スピルすると体感速度が10〜30倍遅くなる。

ollama ps
# NAME           SIZE      PROCESSOR    UNTIL
# gpt-oss:20b    13 GB     100% GPU     ← OK
# gpt-oss:20b    13 GB     50%/50% CPU/GPU  ← NG(メモリ不足)

10.4 codex –profile が認識されない

Codex CLIのバージョンが古いと --profile フラグが効かない。codex --version で確認し、0.100系以上に上げる。

10.5 base_urlにhttp://が抜ける

config.tomlの base_urlスキーマ込みでフルURLlocalhost:11434/v1 ではなく http://localhost:11434/v1 と書く必要がある。これは何度も踏まれる罠だ。

11. これからのローカルコーディングエージェント

ローカルLLMでコーディングエージェントを回す——という選択肢は、2025年までは「ハッカーの趣味」だった。Ollama 0.24はこれを 「ふつうの開発者の選択肢」 に押し上げる更新で、特に次の3点が大きい。

  1. 公式コマンド化ollama launch <agent> という形で、OpenAI Codex/Claude Code/Droidなど主要CLIをワンコマンドで起動できる動線が整った
  2. モデル品質の追いつき:gpt-oss:20b/120bがCodex前提のチューンに耐える品質に達したことで、「クラウドの劣化版」ではなく「役割の違う選択肢」として成立する
  3. エージェント反復の経済性:課金心配なくループを回せることで、エージェントの強みである「試行錯誤の量」を最大化できる

OpenAI/Anthropic/Googleの主要モデルは引き続き品質トップだが、その下に 「課金とプライバシーを気にせず無限に叩ける選択肢」 のレイヤーが厚くなった。仕事の8割をローカルで回し、2割だけクラウドに上げる——という運用が現実的になった意義は大きい。

Ollama本体の他ツール統合(Claude Code・OpenCode・Droid)まで含めた全体像は ローカルLLMとは?2026年版ツール比較 で扱っている。LLM単体のアーキテクチャ・量子化・推論最適化に関心があるなら vLLM高速推論完全ガイド も参考になるはずだ。

まとめ

Ollama 0.24は 「ollama launch codex」「ollama launch codex-app」 という2つの公式コマンドで、OpenAI Codex CLIとデスクトップ版Codex Appの両方をローカルLLMバックエンドで起動できるようにした。gpt-oss:20b/120bを中心に、64k以上のコンテキスト窓と Tools API対応を満たすモデルなら何でもCodex経由で使える。

実運用ではconfig.tomlのプロファイル機能で「ローカル20B/ローカル120B/クラウド120B/OpenAI公式」を切り替えながら、軽量タスクは無料のローカル、重い設計判断はクラウドという二段運用が現実解だ。API課金もレート制限もない世界線でエージェントを叩けるようになったことの意味は大きく、特にエージェントループの反復回数を絞ってきた開発者にとっては実質的にトークン制約から解放される転機になる。

ローカルLLMでの開発体験は、ようやく「ハッカーの趣味」から「日常の選択肢」に変わった。手元のMacかLinuxに ollama launch codex を打って、5分後にあなたの専属コーディングエージェントが完全ローカルで動き始める——2026年中盤の標準的なワークフローはこの位置から始まる。

参照ソース