Skip to main content

smolagents-codex

Use a ChatGPT/Codex OAuth session as a smolagents.Model.

PyPI Python License smolagents Downloads

PyPIGetting StartedPython UsageSupport MatrixTroubleshooting


smolagents-codex is an unofficial external adapter that lets smolagents.CodeAgent call the ChatGPT Codex Responses backend through OAuth device-code login.

It does not fork smolagents, does not use the Codex CLI, does not require a Platform API key, and does not use LiteLLM or the OpenAI Python SDK.

[!WARNING] This package talks to an internal ChatGPT/Codex transport, not the public OpenAI API. The backend can change without notice.

Features

  • smolagents.Model implementation for CodeAgent
  • OAuth device-code login against ChatGPT/Codex
  • Access-token refresh with local credential storage
  • Direct HTTPS/SSE transport to the Codex Responses backend
  • Text-only message conversion for system, developer, user, assistant, and CodeAgent observation history
  • Client-side stop-sequence trimming

Getting Started

Install from PyPI:

pip install smolagents-codex

Log in with device-code OAuth:

python -m smolagents_codex login

The command prints a verification URL and one-time code. Open the URL in a normal browser and enter the code only if you started the login.

Check or clear credentials:

python -m smolagents_codex status
python -m smolagents_codex logout

[!IMPORTANT] No default model is hardcoded. Pass a model ID that your ChatGPT/Codex account can use. Model IDs are case-sensitive.

Python Usage

from smolagents import CodeAgent
from smolagents_codex import CodexOAuthModel

model = CodexOAuthModel(model_id="MODEL_ID")

agent = CodeAgent(
    tools=[],
    model=model,
    stream_outputs=False,
    use_structured_outputs_internally=False,
    max_steps=3,
)

print(agent.run("Calculate 17 * 23 and return the result."))

Run the bundled example:

export SMOLAGENTS_CODEX_MODEL=MODEL_ID
python examples/code_agent.py

python examples/code_agent.py MODEL_ID

Credentials

Set SMOLAGENTS_CODEX_HOME to choose the credential directory. Otherwise the package uses ~/.smolagents-codex/credentials.json.

Credential files are written with private Unix permissions where supported, but file permissions are not encryption.

Support Matrix

Area Status
smolagents.CodeAgent Supported
Blocking generate() Supported
Text messages Supported
OAuth device-code login Supported
Access-token refresh Supported
Public smolagents streaming Not supported
ToolCallingAgent / native function calls Not supported
Structured response_format Not supported
Images, audio, video, files Not supported
Codex server-side tools Not supported
Codex CLI state Not used

Troubleshooting

Symptom Fix
Device auth disabled Enable device-code authentication in ChatGPT security settings or ask a workspace admin.
401 after refresh Run python -m smolagents_codex login.
403 Check workspace membership, RBAC, entitlements, and admin restrictions.
404 Check the model ID and whether the endpoint is available to your plan.
429 You hit ChatGPT/Codex plan or usage limits.
Timeout Retry on a stable network.
Corporate proxy/custom CA Use standard httpx environment settings such as HTTPS_PROXY, SSL_CERT_FILE, or SSL_CERT_DIR.
Malformed credential file Run python -m smolagents_codex logout, then python -m smolagents_codex login.

Development

pip install -e '.[dev]'
ruff check .
mypy src/smolagents_codex
python -m build

Protocol details and upstream source commits are recorded in PROTOCOL.md. Re-check that file when Codex or smolagents changes.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smolagents_codex-0.1.1.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smolagents_codex-0.1.1-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file smolagents_codex-0.1.1.tar.gz.

File metadata

  • Download URL: smolagents_codex-0.1.1.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.7

File hashes

Hashes for smolagents_codex-0.1.1.tar.gz
Algorithm Hash digest
SHA256 42b07fea37d7638dd89ac08bbf9110aad5b9170dbe2e201220d9a828ef72c4f5
MD5 645c8c34fb12ee4fb3bcb9606b574fc6
BLAKE2b-256 944b47c213764190665b6e657973d47035f173600b2bab5ddbfab65579ae08c2

See more details on using hashes here.

File details

Details for the file smolagents_codex-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for smolagents_codex-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d0be0281e49dc8be978558a7c8e55042a16f3d814a764d49e7b8e55cab92c889
MD5 988971d861d54263dff2c0d4084b454d
BLAKE2b-256 0dcd2e417f208f42b5452cd4daa5897a9d8a44de355cf8a3b1b97152317097b6

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page