OpenAI CLIは、OpenAI REST API用のOpenAI公式コマンドラインツールです。1つのopenaiバイナリをインストールし、OPENAI_API_KEYを設定して、ターミナルまたはシェルスクリプトからAPIを呼び出します:openai responses create、openai files upload、openai batches create、openai images generate。これはCodex CLIではありません。Codexはコーディングエージェントであり、openaiはコマンドごとに1つのAPIリクエストを送信します。
このガイドでは、インストール、認証、最初に実行する価値のあるコマンド、およびCodex CLIやPython SDKがPATHに配置した古いopenaiコマンドとの比較について説明します。以下のすべてのコマンドと出力は、2026年10月28日にインストールして実行したバージョン1.44.1によるものです。
OpenAI CLIとは?
OpenAI CLIは、OpenAIがApache 2.0ライセンスの下でgithub.com/openai/openai-cliで公開しているオープンソースのGoバイナリです。そのコマンドはAPIのリソース(responses、files、batches、images、audio、vector-stores、admin)を反映しているため、curlやSDKで送信するものはすべて、フラグ付きの1つのターミナルコマンドになります。
これは全く新しいものではありません。バージョン1.0.0は2026年5月5日にリリースされ、それ以来プロジェクトは99回のリリースを行っています。1.44.1は2026年10月27日に登場しました。したがって、これは見逃していたかもしれない成熟したツールとして扱ってください。新規リリースではありません。
初回実行時に得られるものは次のとおりです:

ヘルプはコマンドを役割別にグループ化しています:コンテンツ生成(responses、chat、images、audio、videos)、データと取得(files、uploads、vector-stores、embeddings)、モデルとジョブ、管理、そしてネットワークに一切触れないローカルツールのセットです。ヘルプ自体はAPIキーも接続も必要としないため、openai <command> --helpがフラグを学ぶ最速の方法です。
これは、スクリプトを書かずにプロンプトをテストしたい開発者、cronジョブでファイルアップロードとバッチ処理を行いたい運用担当者、手書きのcurlの代わりに文書化されたインターフェースを必要とするコーディングエージェントに適しています。
OpenAI CLIのインストール方法
インストール方法は3つあり、すべてプロジェクトのREADMEに記載されています:
- ビルド済みバイナリ。 GitHub Releasesからお使いのOSとアーキテクチャ用のアーカイブをダウンロードし(macOS、Linux、Windowsビルドが公開されています)、展開して
openaiをPATHに配置します。 - Homebrew。
brew install openai/tools/openai
- Go。 Go 1.26以降が必要です。
go install 'github.com/openai/openai-cli/cmd/openai@latest'
export PATH="$PATH:$(go env GOPATH)/bin"
自己管理のリリースインストールは、対話的な実行中に自己更新できます。CIでバージョンを固定する場合は、OPENAI_CLI_NO_AUTO_UPDATE=1を設定して自動インストールを停止するか、OPENAI_CLI_NO_UPDATE_CHECK=1を設定して更新チェックを完全にオフにします。HomebrewとGoのインストールは更新通知を表示しますが、アップグレードはパッケージマネージャーに任せます。
OpenAI CLIの認証の仕組み
CLIは標準のAPIキーをOPENAI_API_KEY(または--api-keyフラグ。シェル履歴に残るため避けるべきです)から読み取ります。まだお持ちでない場合は、OpenAI APIキーの取得に関するガイドで手順を説明しています。
最速のセットアップは組み込みガイドです:
openai help setup
これはAPIキーページを案内し、Bashまたはzsh用のread -rs OPENAI_API_KEY行を提供するので、キーは非表示で入力され、エコーされることはありません。
キーを忘れると、明確でスクリプト可能な失敗が得られます。これはキーが設定されていない場合の実際の出力です:

ステータス1で終了し、キーがどこから取得できるかを正確に示します。スクリプトが生のエラーボディを必要とする場合は、--format-error jsonを追加します。
その他の認証設定:
| 設定 | フラグ | 環境変数 | 用途 |
|---|---|---|---|
| APIキー | --api-key |
OPENAI_API_KEY |
通常のすべてのAPI呼び出し |
| 管理者キー | --admin-api-key |
OPENAI_ADMIN_KEY |
openai admin ...(使用状況、プロジェクト)。プロジェクトキーでは代用できません |
| ベースURL | --base-url |
OPENAI_BASE_URL |
CLIを別のホストまたはゲートウェイに向ける |
| mTLS証明書とキー | --mtls-client-cert-file, --mtls-client-key-file |
OPENAI_MTLS_CLIENT_CERT_FILE, OPENAI_MTLS_CLIENT_KEY_FILE |
相互TLS。明示的なHTTPSベースURLが必要です |
最初に実行するOpenAI CLIコマンド
コマンドの形式はAPIに従います:openai <resource> [subresource...] <command> [flags...]。これらはツールボックスに入れておく価値のあるコマンドです。
Responses APIを呼び出す
openai responses create \
--model gpt-5.5 \
--input "Say this is a test"
長いプロンプトはエスケープする必要はありません。JSON入力フラグは@pathでファイルから読み取ります:
openai responses create --model gpt-5.5 --input @prompt.txt
信頼できないソースからJSONまたはYAMLをパイプする場合は、OPENAI_UNTRUSTED_STDIN=1を設定して、入力がローカルファイルの読み取りをトリガーしないようにします。
ファイルのアップロードと取得
openai files upload report.txt --purpose user_data
openai files get file-example
openai files download file-example --output downloaded-report.txt
バッチを実行する
requests.jsonlに1行につき1つのリクエストを、それぞれ一意のcustom_idとともに記述し、次に:
openai files upload requests.jsonl --purpose batch
openai batches create --input-file-id file-example \
--endpoint /v1/responses --completion-window 24h
openai batches wait batch_example --output-dir ./results
batches waitはバッチが完了するまでポーリングし、結果ファイルを保存します。これにより、自分で書く必要があるポーリングループが不要になります。プロジェクトのバッチガイドには、現在の制限として入力ファイルあたり50,000リクエストと200 MB、完了ウィンドウは24hと記載されています。バッチの価格設定は同期呼び出しとは異なります。大きなジョブをキューに入れる前に、OpenAI APIの価格の内訳をご覧ください。
キーなしでローカルにトークンをカウント
tokenizerコマンドは完全にオフラインで実行されます:認証情報もネットワークも、入力の保存もありません。

デフォルトのエンコーディングはo200k_baseで、openai tokenizer encodingsに他のエンコーディング(cl100k_baseと2つのレガシーエンコーディング)が一覧表示されます。ヘルプは制限について正直です:プレーンテキストのカウントはリクエスト構造とマルチモーダル入力を除外するため、課金の数値ではありません。サーバー側のカウントには、openai responses input-tokens countを使用してください。
スクリプトが解析できる出力を取得
デフォルトの出力は、パイプされた場合でも読みやすいテキストです。データを明示的に要求します:
openai models list --format jsonl | jq '.id'
openai files list --format json > files.json
openai files get file-example --transform filename --raw-output
--formatはauto、text、json、jsonl、yaml、explore(インタラクティブなJSONビューア)、prettyを受け付けます。--transformはGJSON構文でフィールドを抽出し、jqはさらに高度なことを処理します。リダイレクトされたファイルを信頼する前に、必ず終了ステータスを確認してください。失敗したリクエストは部分的なファイルを残す可能性があります。
呼び出しが誤動作する場合、--debugは試行ごとのHTTPタイミングを追加します。共有する前にそのログを精査してください。429が発生している場合は、OpenAIレート制限ガイドでティアについて説明しています。
OpenAI CLI vs Codex CLI vs 古いopenaiコマンド
3つのツールが同じベンダーを共有し、2つが同じ名前を共有しています。これが簡単な説明です:

| OpenAI CLI | Codex CLI | 従来のPython openai |
|
|---|---|---|---|
| コマンド | openai |
codex |
openai |
| 概要 | REST APIのクライアント | プロジェクト内のコードを読み取り、編集し、実行するコーディングエージェント | openai Pythonパッケージに同梱されているCLI |
| インストール | バイナリ、Homebrew、またはGo | npm install -g @openai/codex または brew install --cask codex |
pip install openai |
| 認証 | OPENAI_API_KEY |
独自のサインインを処理 | APIキー |
| 使用する場合 | 特定のAPI呼び出し、またはスクリプト内のAPIステップが必要な場合 | エージェントに変更を実装またはデバッグさせたい場合 | それに基づいて構築された古いスクリプトを保守している場合 |
openai codexを実行すると、OpenAI CLI自体がCodexのインストールコマンドを表示し、独自のサインインを持つ別のツールであることに言及します。Codex CLIガイドではエージェント側をカバーしており、ソースはgithub.com/openai/codexにあります。
PATHの衝突に注意
openai Pythonパッケージもopenaiという名前のバイナリをインストールします。pip install openaiを実行したことがある場合、2つ存在する可能性があります:

このMacでは、Pythonの方はopenai 2.30.0と報告し、api、tools、migrate、gritサブコマンドを提供します。Goの方はopenai version 1.44.1と報告します。PATH上で最初に来るディレクトリが優先されます。インストール後にwhich -a openaiとopenai --versionを実行してください。出力がopenai version 1.44.1(またはそれ以降)であれば、正しい方です。裸のバージョン番号(openai 2.30.0など)を出力する場合は、PATHを並べ替えるか、新しいバイナリをフルパスで呼び出してください。
Apidog CLIがOpenAI CLIの隣でどのように位置づけられるか
OpenAI CLIはOpenAIへの呼び出しを行います。それはあなた自身のAPIについては関知しません。つまり、あなたのアプリがOpenAIの上に公開するエンドポイント、デプロイ先の環境、リリースが何も壊さなかったことを証明するアサーションなどです。それは別の仕事であり、そこにApidog CLIが登場します。どちらかを選ぶのではなく、AI機能を出荷するほとんどのチームは両方を必要とします。
さらに良いことに、コーディングエージェントに両方を実行させましょう。Apidog CLIを一度セットアップします:
npm install -g apidog-cli@latest
apidog login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com # pick your agent when prompted
次に、エージェントに1つのプロンプトを与えます:
Use the openai CLI to confirm my key works with one responses create call on gpt-5.5.
Then import ./openapi.yaml into Apidog project <id>, create a test case for
POST /v1/summarize that asserts a 200 and a non-empty "summary" field, run it
against the staging environment and summarize any failures.
エージェントはopenaiでキーを確認し、次にApidog CLIを進めます。ペイロードを書く前にスキーマを読み取り、ファイルを検証し、それからケースを作成して実行します:
apidog import --project <id> --format openapi --file ./openapi.yaml
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <id> --file case.json
apidog run --test-case <caseId> --project <id> -e <envId> -r cli,json
apidog test-case create --helpからの2つの詳細が往復を節約します:ケースには有効なcategoryIdが必要であり(apidog test-case category --project <id>で一覧表示できます)、ペイロードは記憶からではなくcli-schemaから取得する必要があります。同じapidog run行に-r junitを付けるとCIに組み込めます。Apidog CLI CI/CDガイドで示しています。Codexをエージェントとして使用している場合は、Apidog CLI in Codexから始めてください。
Apidogの無料プランは最大4ユーザーをカバーするので、小さなチームは購入の決定をせずにこれを試すことができます。
FAQ
OpenAI CLIは無料ですか? ツールはApache 2.0の下で無料かつオープンソースです。それが行うAPI呼び出しは、通常のAPI料金でOpenAIアカウントに請求されます。openai tokenizerのようなローカルコマンドとすべての--helpページは無料で、キーも必要ありません。
OpenAI CLIはCodex CLIと同じですか? いいえ。openaiはコマンドごとに1つずつ直接APIリクエストを送信します。codexはプロジェクトを読み取り、編集し、コマンドを実行するコーディングエージェントです。これらは別々にインストールされ、別々に認証されます。
MacにOpenAI CLIをインストールするにはどうすればよいですか? brew install openai/tools/openaiを実行するか、GitHub Releasesからmacos_arm64(Apple Silicon)またはmacos_amd64(Intel)のzipをダウンロードし、バイナリをPATHに配置します。次にopenai --versionを実行して、古いPythonのopenaiコマンドに当たっていないことを確認します。
OpenAI CLIはシェルスクリプトやCIで動作しますか? はい、それが主な設計目標です。解析可能な出力には--format jsonまたはjsonlを使用し、終了ステータスを確認し、キーはシークレットマネージャーからOPENAI_API_KEYに入れ、バージョンを固定するにはOPENAI_CLI_NO_AUTO_UPDATE=1を設定します。
OpenAI CLIはいつリリースされましたか? バージョン1.0.0は2026年5月5日にGitHubで公開されました。2026年10月28日時点で最新リリースは10月27日の1.44.1です。
