0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめてのCodex設定:CLIのインストールからAPI接続、デスクトップ版の利用まで

0
Last updated at Posted at 2026-10-14

自動設定と手動設定のどちらからでも進められる、確認ポイント付きの導入メモです。

Codexの導入では、「コマンドが起動する」「APIから回答が返る」「デスクトップ版でも使える」を分けて確認すると、設定をやり直す範囲を絞れます。本稿は初めてターミナルを使う人向けに、入力する場所と操作順をまとめています。

1. 再現条件とAPIキーを準備します

Windowsでの確認環境は次のとおりです。必須の最低バージョンを示す表ではありません。

項目 2026年10月14日の確認環境
OS Windows
Node.js / npm 24.21.0 / 11.19.0
Git 2.53.0
Codex CLI 0.162.1
モデルID gpt-5.6-sol

既存環境で、自動設定と手動設定の両方から短い質問への回答を確認しました。新規PCへの依存関係の全インストール、macOSでの実行、デスクトップ版からの独立した通信確認までは含みません。

接続例にはCrazyrouterを使います。Codex連携ページから登録画面へ進み、必要事項とメール認証を完了してログインします。

ユーザー情報とメール認証を入力する登録画面

実際の登録画面です。画像内の表示言語は取得時の中国語のままです。

管理画面でAPIキーを作成します。サービスの案内では「Token Management」→「Create Token」という名称です。有効期限、利用可能額、モデル制限を確認してコピーしてください。ログイン用パスワードとは別物です。登録やスクリプト実行だけで無料の利用枠が付くとは限りません。

第三者のAPIを使う理由は、モデルごとの料金比較や利用量の一元管理です。ただし、安さだけでなくResponses APIへの対応やサポートも確認します。公式APIに直接接続する選択肢もあり、ChatGPTのサブスクリプションとは課金の仕組みが異なります。

2. 自動設定を使う場合:OSごとに実行します

この節と次の手動設定は、どちらか一方を選びます。 自動設定が完了したら第4節へ進めます。スクリプトはCLIを対象としており、デスクトップ版は別途インストールします。

OS別の一括設定コマンドが掲載された連携ページ

画面の短縮コマンドはswitch用です。初回は下記のfullを使います。

Windows

Windowsキーを押して「PowerShell」と検索し、「開く」を選びます。コードをCtrl+Cでコピーし、PowerShellへCtrl+Vで貼り付け、1行ごとにEnterを押します。PS ...>という表示はコピーしません。

以下のコマンドは固定バージョンの公開スクリプトを取得し、実行前に古いAPIアドレスを置き換えます。生成される設定とOPENAI_BASE_URLをhttps://api.crazyrouter.com/v1に統一しますが、元のリポジトリ自体は変更しません。古い画像内のコマンドではなく、以下の修正版をコピーしてください。

$env:CRAZYROUTER_CODEX_MODE='full'
(Invoke-WebRequest -UseBasicParsing -ErrorAction Stop 'https://raw.githubusercontent.com/xujfcn/crazyrouter-codex-cli/b68d1db167950df4ab597b853ca0aec1b16295b8/install-crazyrouter-codex.ps1').Content.Replace('https://cn.crazyrouter.com/v1', 'https://api.crazyrouter.com/v1') | Invoke-Expression

fullはGit、Node.js、CLIの不足を補い、接続先を設定します。CLIが導入済みなら、1行目の'full'を'switch'に変更します。2行目は公開スクリプトのダウンロードと実行です。連携ページからソースを確認でき、fullではインストーラーや権限の画面が開く場合があります。ソフトウェアの規約を受諾するオプションも使われています。

キー入力の案内が出たらキーだけを貼り付けてEnterを押します。非表示入力でも正常です。続くモデル選択では、利用権限がある場合に既定のgpt-5.6-solを確定します。完了後はターミナル全体を閉じて開き直します。

macOS

Command+Spaceで「ターミナル」を検索し、Returnで開きます。以下はzsh用です。別のシェルを使っている場合は先にzshを実行してください。貼り付けはCommand+V、実行はReturnです。

touch ~/.zshrc
curl -fsSL https://raw.githubusercontent.com/xujfcn/crazyrouter-codex-cli/b68d1db167950df4ab597b853ca0aec1b16295b8/install-crazyrouter-codex.sh | sed 's#https://cn\.crazyrouter\.com/v1#https://api.crazyrouter.com/v1#g' | bash -s -- --full

1行目は既存内容を消さずに設定ファイルを用意します。CLI導入済みの場合は--fullを--switchへ変更します。案内に従ってキー、モデルの順に入力します。インストーラーが求めるシステムパスワードにはMacのログイン用パスワードを使います。

Gitがない場合はxcode-select --installで開発ツールを導入し、git --versionで確認してから再実行します。終了後は次を実行します。

source ~/.zshrc
codex --version

3. 手動設定を使う場合:インストールと認証を分けます

CLIをインストールします

WindowsではNode.js公式サイトからLTS版を取得し、PCのCPUに合うインストーラーを起動します。PATHの設定を有効にしたままインストールし、PowerShellを開き直して順に実行します。

node --version
npm.cmd --version
npm.cmd install -g @openai/codex
codex.cmd --version

途中で失敗した場合は先へ進まず、その行のエラーを確認します。Gitが必要ならGit for Windowsの公式サイトから導入します。

macOSでは公式の独立したCLIインストーラーを使えます。

curl -fsSL https://chatgpt.com/codex/install.sh | sh

PATHの案内が出たら反映し、ターミナルを開き直してcodex --versionを確認します。

設定ファイルを編集します

Windowsでは次を1行ずつ実行します。既存ファイルは日時付きでバックアップされます。

$codexConfigDir = Join-Path $env:USERPROFILE '.codex'
New-Item -ItemType Directory -Path $codexConfigDir -Force | Out-Null
$codexConfigPath = Join-Path $env:USERPROFILE '.codex\config.toml'
if (Test-Path -LiteralPath $codexConfigPath) { Copy-Item -LiteralPath $codexConfigPath -Destination ($codexConfigPath + '.backup-' + (Get-Date -Format 'yyyyMMdd-HHmmss')) }
if (-not (Test-Path -LiteralPath $codexConfigPath)) { New-Item -ItemType File -Path $codexConfigPath | Out-Null }
notepad.exe $codexConfigPath

macOSでは次を実行します。

mkdir -p ~/.codex
if [ -f ~/.codex/config.toml ]; then cp ~/.codex/config.toml ~/.codex/config.toml.backup-$(date +%Y%m%d-%H%M%S); fi
nano ~/.codex/config.toml

開いたエディターに次の内容を入れます。これはターミナルで実行するコマンドではありません。

設定は改行を保ったままファイルへ貼り付けてください。各設定と角括弧のセクション見出しは別の行に置きます。1行にまとめたり言語ラベルまでコピーしたりしないでください。

model = "gpt-5.6-sol"
model_provider = "crazyrouter"

[model_providers.crazyrouter]
name = "Crazyrouter"
base_url = "https://api.crazyrouter.com/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"

既存設定がある場合は対応する項目だけを更新します。先頭の2項目は最初の角括弧より前に置き、同じプロバイダー節を重複させません。メモ帳はCtrl+S、nanoはControl+O→Return→Control+Xで保存・終了します。ファイル名をconfig.toml.txtにしないでください。

手動設定のAPIアドレスと各項目

env_keyはキー本体ではなく、キーを保存した環境変数の名前です。

自動・手動ともにhttps://api.crazyrouter.com/v1を使います。/responsesは追加しません。

APIキーを保存します

Windowsで次を実行し、表示された入力欄にキーを貼り付けてEnterを押します。

$codexApiKey = Read-Host 'Paste your API Key, then press Enter' -AsSecureString

通常のプロンプトに戻ってから実行します。

[Environment]::SetEnvironmentVariable('OPENAI_API_KEY', ([System.Net.NetworkCredential]::new('', $codexApiKey)).Password, 'User')
Remove-Variable codexApiKey

他のツールも使う可能性があるユーザー環境変数を更新します。保存後はPowerShellまたはWindows Terminal全体を終了し、開き直します。

macOSはnano ~/.zshrcを開き、次の行を追加します。同名の設定があれば置き換えます。

export OPENAI_API_KEY='YOUR_API_KEY'

YOUR_API_KEYを自分のキーに置き換え、引用符は残します。保存後にsource ~/.zshrcを実行します。キーは平文で保存されるため、このファイルを画像やGitで共有しないでください。

4. 回答を受け取れるか確認します

Windowsでのキー読み込み確認です。

if ([string]::IsNullOrWhiteSpace($env:OPENAI_API_KEY)) { 'KEY_MISSING' } else { 'KEY_FOUND' }

macOSはこちらです。

if [ -n "${OPENAI_API_KEY:-}" ]; then echo KEY_FOUND; else echo KEY_MISSING; fi

KEY_FOUNDは値の存在だけを示します。次に練習用フォルダーを作って起動します。Windows:

$codexPracticeDir = Join-Path $env:USERPROFILE 'Projects\codex-first-test'
New-Item -ItemType Directory -Path $codexPracticeDir -Force | Out-Null
Set-Location -LiteralPath $codexPracticeDir
codex

macOS:

mkdir -p ~/Projects/codex-first-test
cd ~/Projects/codex-first-test
codex

フォルダーの信頼を確認する画面が出たら対象を確認します。Codexの入力欄で、次の質問を送ります。

READMEファイルの用途を3文で説明してください。ファイルの読み取りや変更はしないでください。

期待する結果は、エラーではなく説明文が返ることです。確認環境ではこの質問の中国語版に回答が返りました。ローカライズした質問を新たに実測したという意味ではありません。

5. デスクトップ版を追加します

公式セットアップページからOSに合うアプリを取得します。Windowsは案内されたインストーラーやStoreの手順を使います。キー保存前から起動していたアプリは、完全に終了して再起動してください。

デスクトップ版の取得とセットアップを案内する公式ページ

CLIのセットアップ後も、アプリ自体のインストールは必要です。

現在の公式ページではアプリ全体が「ChatGPT desktop app」と案内されています。起動後にChatGPTの製品メニューから「Codex」を選びます。APIキーでも利用できますが、使える機能はログイン方式によって異なる場合があります。

Windowsのフォルダー選択で%USERPROFILE%\Projects\codex-first-testを開き、新しい会話で同じ短い質問を試します。

MacはAppleメニューの「このMacについて」でチップを確認します。公式ページの対応OS条件を読み、Apple silicon用またはIntel用を選びます。ダウンロードした.dmgはアプリケーションへドラッグし、.pkgなら案内に従ってインストールします。

Apple siliconとIntelのダウンロード選択肢

自分のMacのチップに対応するパッケージを選びます。

Dockからの起動では.zshrcが自動で読み込まれません。Command+Qでアプリを終了し、ターミナルでキーの存在を確認したうえで実行します。

source ~/.zshrc
launchctl setenv OPENAI_API_KEY "$OPENAI_API_KEY"

アプリを起動し、フォルダー選択のCommand+Shift+Gから~/Projects/codex-first-testを開きます。この環境変数の受け渡しはログインセッション内の設定なので、ログアウトや再起動後は再実行します。CLIとアプリは同じローカルユーザー、標準設定場所を使う前提です。WSLは別環境として扱います。

6. つまずいた箇所だけを修正します

症状 確認する箇所
PowerShellの実行ポリシーで起動できない codexの代わりにcodex.cmdを試します
npm導入後もMacでコマンドがない 下記のPATHを一時追加します
401 キーの値、有効期限、接続先を確認します
403 実際のエラー文とモデル権限、アカウント条件を照合します
CLIだけ成功する アプリの再起動とキーの受け渡しを確認します
ファイルを保存できない 作業フォルダーと権限を確認します
export PATH="$PATH:$(npm config get prefix)/bin"

これで解決した場合だけ、nano ~/.zshrcで同じ行を保存します。API側のエラーは発生時刻を控え、利用ログと照合すると調べやすくなります。

ファイル操作は回答の受信とは別に確認します。CLIは/permissions、アプリは入力欄の下の権限設定を開きます。「Ask for approval」は作業範囲内の変更を許可し、範囲外では確認を求めるモードです。環境の上位ポリシーによって制限される場合があります。

公式ドキュメントの権限選択例

操作位置を示す資料画像であり、ファイル保存の成功画面ではありません。

練習では、learning-checklist.mdに「CLI設定」「回答の受信」「ファイル編集」の3項目を未チェックのMarkdownタスクとして保存するよう依頼します。ExplorerまたはFinderで実ファイルを開き、次に最初の2項目だけをチェック済みにするよう依頼して差分を確認します。以前の確認環境では書き込みが読み取り専用ポリシーで拒否されたため、この操作の成功までは主張しません。

再現メモには「どこまで成功したか」を残すと便利です。バージョン表示、キーの読み込み、API回答、アプリの回答、ファイル変更を分ければ、接続エラーのたびに最初からインストールし直す必要がなくなります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?