1. Check the model and protocol
Public prices help identify model IDs and declared capabilities. Use the signed-in catalog and GET /v1/models to check your account's available models. Do not substitute display names, historical test models or another provider's IDs.
| Client | Base URL | Required checks |
|---|---|---|
| Codex | https://ak47token.com/v1 | Responses, streaming, tool_calling |
| Claude Code | https://ak47token.com | Messages, streaming, tool_calling |
2. Set the Codex Key in your terminal
This is a macOS/Linux shell example. Replace the placeholder in your own environment, back up your configuration and never publish a real Key in a script.
export AK47TOKEN_API_KEY='YOUR_AK47TOKEN_API_KEY'
3. Codex custom-provider template
Merge this TOML into user-level ~/.codex/config.toml. Put top-level keys before the first table. Replace the model placeholder and restart the client to check the selected provider. env_key names the environment variable from the previous step, not the Key itself.
# Merge into your user-level ~/.codex/config.toml.
# Keep these top-level keys before the first [table].
model = "REPLACE_WITH_AVAILABLE_MODEL_ID"
model_provider = "ak47token"
web_search = "disabled"
[model_providers.ak47token]
name = "AK47Token"
base_url = "https://ak47token.com/v1"
env_key = "AK47TOKEN_API_KEY"
wire_api = "responses"
4. Claude Code environment template
This is a macOS/Linux shell example. Do not append /v1 to this Base URL: the client requests /v1/messages. Use a Key created in your AK47Token account. Check existing provider variables to avoid sending the wrong credentials. Never publish a real Key in a script.
- This uses the site's converted-route thinking invocation to avoid native display: omitted continuity state. It does not guarantee that the upstream model stops reasoning. That mode requires a separately verified native Messages route.
- ANTHROPIC_API_KEY sends X-Api-Key. Alternatively, use the supported ANTHROPIC_AUTH_TOKEN Bearer method; avoid conflicting credential variables.
- Anthropic's official support and this site's compatibility conversion are different. Non-Claude models through Messages depend on the AK47Token route and actual client testing, not Anthropic certification.
# macOS / Linux shell example. Use a model supporting Messages.
export ANTHROPIC_BASE_URL='https://ak47token.com'
export ANTHROPIC_API_KEY='YOUR_AK47TOKEN_API_KEY'
CLAUDE_CODE_DISABLE_THINKING=1 MAX_THINKING_TOKENS=0 \
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 \
claude --model 'REPLACE_WITH_AVAILABLE_MODEL_ID'
5. Verify streaming and a complete tool loop
Start with a small request to verify authentication, model and protocol. In a new temporary test directory, ask the client to create, read and edit a file, run an assertion, then consume the tool results in its next response. Text output, HTTP 200 or a catalog tool label alone is not a successful tool loop.
- Record client version, exact model ID, time, protocol and request ID; check the usage record and charge.
- Catalog declarations select candidates. Advanced tools, hosted search, encrypted history and native compaction each require separate checks.
- The console's CC Switch entry still requires your import confirmation and provider selection. It does not mean client setup is complete.
6. Understand historical acceptance evidence
On an isolated test deployment on 2026-09-11, specified combinations with Codex 0.154.0 and Claude Code 2.1.268 completed two rounds of file and shell tools. This does not certify current production routes, all models or newer clients. Native Responses testing on 2026-09-19 encountered upstream 503 errors and did not pass.
- Configuration contracts and public sources were reviewed for this page on 2026-10-20. This is not a new paid production-client acceptance run.
- For 401 check credentials; for 404 check final URL and model ID; for 501 check capabilities. After upstream errors or timeouts, inspect the original request state first.