# Connect Codex to aicharged.io

> The Codex CLI, desktop app and IDE extension share one config; the key is read from an environment variable.

## At a glance

| Kind | Sign-in | Platforms | Status | Verified |
|---|---|---|---|---|
| Terminal agents (CLI) | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | works today | 2026-10-22 |

- MCP: `https://aicharged.io/api/v1/mcp`
- Docs: https://learn.chatgpt.com/docs/extend/mcp?surface=cli

## Recipe

Store the key in an environment variable:

```sh
export AICHARGED_API_KEY="<API_KEY>"
```

Add the export line to your shell profile (e.g. ~/.zshrc) so new terminals see the key too.

Store the key in an environment variable — Windows (PowerShell):

```powershell
[Environment]::SetEnvironmentVariable("AICHARGED_API_KEY", "<API_KEY>", "User")
```

One command:

```sh
codex mcp add aicharged --url https://aicharged.io/api/v1/mcp --bearer-token-env-var AICHARGED_API_KEY
```

Config file (`~/.codex/config.toml`):

```toml
[mcp_servers.aicharged]
url = "https://aicharged.io/api/v1/mcp"
bearer_token_env_var = "AICHARGED_API_KEY"
```

Config with the key inline (`~/.codex/config.toml`):

```toml
[mcp_servers.aicharged]
url = "https://aicharged.io/api/v1/mcp"
http_headers = { "Authorization" = "Bearer <API_KEY>" }
```

Sign in with OAuth:

```sh
codex mcp add aicharged --url https://aicharged.io/api/v1/mcp
codex mcp login aicharged
```

[Client documentation](https://learn.chatgpt.com/docs/extend/mcp?surface=cli)

## Authentication

- Send `Authorization: Bearer <API_KEY>` with every request. Create a key at https://aicharged.io/admin/account/api-keys.
- OAuth 2.1 (PKCE S256) is available for clients that cannot send a static key (ChatGPT).
- Without a key the endpoint answers 401 with a WWW-Authenticate header that points to https://aicharged.io/.well-known/oauth-protected-resource.

All 51 clients: https://aicharged.io/connect.md

HTML version: https://aicharged.io/connect/codex
