This is a proposed fix for #8912 Information provided by Codex: no_proxy means “don’t use any system proxy settings for this client,” even if macOS has proxies configured in System Settings or via environment. On macOS, reqwest’s proxy discovery can call into the system-configuration framework; that’s the code path that was panicking with “Attempted to create a NULL object.” By forcing a direct connection for the OAuth discovery request, we avoid that proxy-resolution path entirely, so the system-configuration crate never gets invoked and the panic disappears. Effectively: With proxies: reqwest asks the OS for proxy config → system-configuration gets touched → panic. With no_proxy: reqwest skips proxy lookup → no system-configuration call → no panic. So the fix doesn’t change any MCP protocol behavior; it just prevents the OAuth discovery probe from touching the macOS proxy APIs that are crashing in the reported environment. This fix changes behavior for the OAuth discovery probe used in codex mcp list/auth status detection. With no_proxy, that probe won’t use system or env proxy settings, so: If a server is only reachable via a proxy, the discovery call may fail and we’ll show auth as Unsupported/NotLoggedIn incorrectly. If the server is reachable directly (common case), behavior is unchanged. As an alternative, we could try to get a fix into the [system-configuration](https://github.com/mullvad/system-configuration-rs) library. It looks like this library is still under development but has slow release pace. |
||
|---|---|---|
| .devcontainer | ||
| .github | ||
| .vscode | ||
| codex-cli | ||
| codex-rs | ||
| docs | ||
| scripts | ||
| sdk/typescript | ||
| shell-tool-mcp | ||
| third_party/wezterm | ||
| .codespellignore | ||
| .codespellrc | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc.toml | ||
| AGENTS.md | ||
| announcement_tip.toml | ||
| CHANGELOG.md | ||
| cliff.toml | ||
| flake.lock | ||
| flake.nix | ||
| justfile | ||
| LICENSE | ||
| NOTICE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| PNPM.md | ||
| README.md | ||
npm i -g @openai/codex
or brew install --cask codex
Codex CLI is a coding agent from OpenAI that runs locally on your computer.
If you want Codex in your code editor (VS Code, Cursor, Windsurf), install in your IDE.
If you are looking for the cloud-based agent from OpenAI, Codex Web, go to chatgpt.com/codex.
Quickstart
Installing and running Codex CLI
Install globally with your preferred package manager:
# Install using npm
npm install -g @openai/codex
# Install using Homebrew
brew install --cask codex
Then simply run codex to get started.
You can also go to the latest GitHub Release and download the appropriate binary for your platform.
Each GitHub Release contains many executables, but in practice, you likely want one of these:
- macOS
- Apple Silicon/arm64:
codex-aarch64-apple-darwin.tar.gz - x86_64 (older Mac hardware):
codex-x86_64-apple-darwin.tar.gz
- Apple Silicon/arm64:
- Linux
- x86_64:
codex-x86_64-unknown-linux-musl.tar.gz - arm64:
codex-aarch64-unknown-linux-musl.tar.gz
- x86_64:
Each archive contains a single entry with the platform baked into the name (e.g., codex-x86_64-unknown-linux-musl), so you likely want to rename it to codex after extracting it.
Using Codex with your ChatGPT plan
Run codex and select Sign in with ChatGPT. We recommend signing into your ChatGPT account to use Codex as part of your Plus, Pro, Team, Edu, or Enterprise plan. Learn more about what's included in your ChatGPT plan.
You can also use Codex with an API key, but this requires additional setup.
Docs
This repository is licensed under the Apache-2.0 License.