openai/openai-cli
Go
Captured source
source ↗openai/openai-cli
Description: Official CLI for the OpenAI API
Language: Go
License: Apache-2.0
Stars: 627
Forks: 30
Open issues: 11
Created: 2026-05-01T16:40:05Z
Pushed: 2026-06-03T22:33:46Z
Default branch: main
Fork: no
Archived: no
README:
OpenAI CLI
The official CLI for the OpenAI REST API.
Installation
Installing with Homebrew
brew install openai/tools/openai
Installing with Go
To test or install the CLI locally, you need Go version 1.25 or later installed.
go install 'github.com/openai/openai-cli/cmd/openai@latest'
Once you have run go install, the binary is placed in your Go bin directory:
- Default location:
$HOME/go/bin(or$GOPATH/binif GOPATH is set) - Check your path: Run
go env GOPATHto see the base directory
If commands aren't found after installation, add the Go bin directory to your PATH:
# Add to your shell profile (.zshrc, .bashrc, etc.) export PATH="$PATH:$(go env GOPATH)/bin"
Running Locally
After cloning the git repository for this project, you can use the scripts/run script to run the tool locally:
./scripts/run args...
Usage
The CLI follows a resource-based command structure:
openai [resource] [flags...]
Standard API endpoints require an API key:
export OPENAI_API_KEY="sk-..." openai responses create \ --input "Say this is a test" \ --model gpt-5.5
Admin endpoints require an admin API key:
export OPENAI_ADMIN_KEY="sk-admin-..." openai admin:organization:usage completions \ --start-time 1735689600 \ --end-time 1735776000 \ --bucket-width 1d
For details about specific commands, use the --help flag.
Environment variables
| Environment variable | Required | Default value | | ----------------------- | -------- | ------------- | | OPENAI_API_KEY | no | null | | OPENAI_ADMIN_KEY | no | null | | OPENAI_ORG_ID | no | null | | OPENAI_PROJECT_ID | no | null | | OPENAI_WEBHOOK_SECRET | no | null |
Global flags
--api-key(can also be set withOPENAI_API_KEYenv var)--admin-api-key(can also be set withOPENAI_ADMIN_KEYenv var)--organization(can also be set withOPENAI_ORG_IDenv var)--project(can also be set withOPENAI_PROJECT_IDenv var)--webhook-secret(can also be set withOPENAI_WEBHOOK_SECRETenv var)--help- Show command line usage--debug- Enable debug logging. This includes HTTP request/response details and bodies; do not share debug logs if they may contain sensitive payloads.--version,-v- Show the CLI version--base-url- Use a custom API backend URL--format- Change the output format (auto,explore,json,jsonl,pretty,raw,yaml)--format-error- Change the output format for errors (auto,explore,json,jsonl,pretty,raw,yaml)--transform- Transform the data output using GJSON syntax--transform-error- Transform the error output using GJSON syntax
Passing files as arguments
To pass files to your API, you can use the @myfile.ext syntax:
openai --arg @abe.jpg
Files can also be passed inside JSON or YAML blobs:
openai --arg '{image: "@abe.jpg"}'
# Equivalent:
openai --username '\@abe'Explicit encoding
For JSON endpoints, the CLI tool does filetype sniffing to determine whether the file contents should be sent as a string literal (for plain text files) or as a base64-encoded string literal (for binary files). If you need to explicitly send the file as either plain text or base64-encoded data, you can use @file://myfile.txt (for string encoding) or @data://myfile.dat (for base64-encoding). Note that absolute paths will begin with @file:// or @data://, followed by a third / (for example, @file:///tmp/file.txt).
openai --arg @data://file.txt
Linking different Go SDK versions
You can link the CLI against a different version of the OpenAI Go SDK for development purposes using the ./scripts/link script.
To link to a specific version from a repository (version can be a branch, git tag, or commit hash):
./scripts/link github.com/org/repo@version
To link to a local copy of the SDK:
./scripts/link ../path/to/openai-go
If you run the link script without any arguments, it will default to ../openai-go.
License
Copyright 2026 OpenAI
This project is licensed under the [Apache License 2.0](LICENSE).
Excerpt shown — open the source for the full document.
Notability
notability 5.0/10New CLI tool by OpenAI, moderate stars, low HN points