🛠 Overview
This guide explains how to install the OpenAI Codex CLI on Ubuntu or Windows Subsystem for Linux (WSL), set up your API key, and switch authentication methods between apikey and chatgpt.
⚙️ Installation Steps
# Update packages
sudo apt update -y
sudo apt upgrade -y
# Install Node.js (using Node 22 as an example)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
# (Optional) Ensure git is installed
sudo apt install -y git
# Install the Codex CLI globally via npm
sudo npm install -g @openai/codex
# Set your OpenAI API key
export OPENAI_API_KEY="your_OpenAI_API_Key"
# To make this persistent across sessions:
echo 'export OPENAI_API_KEY="your_OpenAI_API_Key"' >> ~/.bashrc
source ~/.bashrc
# Verify installation
codex --version
🔄 Switching Authentication Methods
You can choose how Codex authenticates your account:
# Use direct API key authentication
codex --config preferred_auth_method='apikey'
# Or use ChatGPT-based login
codex --config preferred_auth_method='chatgpt'
🔑 Set API Key Manually
If needed, you can manually edit your authentication file:
vi ~/.codex/auth.json
Add or update your API key inside that file.
🪄 One-Line Quick Install (for Termux / Android)
pkg update -y && pkg upgrade -y && \
pkg install -y curl git && \
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash && \
source ~/.bashrc && \
unset PREFIX && \
nvm install 20 && \
npm install -g @openai/codex && \
echo 'export OPENAI_API_KEY="your_OpenAI_API_Key"' >> ~/.bashrc && \
source ~/.bashrc
Use Local LLM:
Open your Codex configuration file: C:\Users\<username>\.codex\config.toml Replace or append the following: # Use Ollama as model provider model = "gpt-oss:20b" model_provider = "ollama"
like below:
# Use Ollama as model provider
model = "gpt-oss:20b"
model_provider = "ollama"
[model_providers.ollama]
name = "Ollama (local)"
base_url = "http://127.0.0.1:11434/v1"
# Ollama does not require API Key
wire_api = "chat" # Codex uses Chat Completions API
Restart VS Code
After saving, restart VS Code (or reload the Codex extension) to apply the new settings.