> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lyceum.technology/llms.txt
> Use this file to discover all available pages before exploring further.

# Codex

> Run OpenAI's Codex on open models through Lyceum's Responses API

Beta

[Codex](https://developers.openai.com/codex) is OpenAI's coding agent, in the terminal and as a desktop app. It talks to the Responses API, which Lyceum serves in beta, so you add Lyceum as a model provider and keep the rest of your setup.

## Configure

Add a Lyceum provider to `~/.codex/config.toml`:

`~/.codex/config.toml`

<pre />

`web_search = "disabled"` turns off Codex's built-in web search, which doesn't work on Lyceum yet. See [Web search](#web-search) for a workaround.

Export your key, then start Codex in your project:

`shell`

<pre />

> [!NOTE]
>
> Already use Codex with OpenAI? Put the same lines in `~/.codex/lyceum.config.toml` instead, and start Codex with `codex --profile lyceum` when you want Lyceum.

## Web search

Codex's built-in web search doesn't work on Lyceum yet: it runs on OpenAI's servers. Until we serve it, add a search tool through MCP instead. Exa and Brave both include free credits.

**Exa**

Exa's hosted server needs nothing installed. Add it to `~/.codex/config.toml`:

```toml ~/.codex/config.toml theme={null}
[mcp_servers.exa]
url = "https://mcp.exa.ai/mcp"
```

**Brave**

Get a key from the [Brave Search API](https://brave.com/search/api/), then add the server to `~/.codex/config.toml`. It runs through `npx`, so you need Node.js:

```toml ~/.codex/config.toml theme={null}
[mcp_servers.brave-search]
command = "npx"
args = ["-y", "@brave/brave-search-mcp-server"]
env = { BRAVE_API_KEY = "your_brave_api_key" }
startup_timeout_sec = 60
```

The first start downloads the server, which can take longer than Codex's default startup wait.

Codex calls the search tool whenever a task needs the web. Search queries go to the provider you choose, not to Lyceum.

## Verify

Run one task without the interactive view:

`shell`

<pre />

To let Codex edit files in a one-off run, add `-s workspace-write`. Continue the last session with `codex exec resume --last "<your next prompt>"`.

## Notes

* **Desktop app.** The Codex app reads the same `config.toml`. Pick the Codex workspace in the switcher at the top left, then start a project.
* **Models.** Kimi K3 and DeepSeek V4.1 Flash work well for coding in Codex. Take model IDs from the [models page](https://lyceum.technology/models/).
* **Reasoning effort.** Kimi K3 accepts `low`, `high` and `max`. If you set `model_reasoning_effort`, use one of those.
* **Model notice.** Codex says it has no metadata for the model and uses defaults. You can ignore it: tools and file edits work.
* **History.** We don't store responses. Codex sends the whole conversation with every turn, so resumed sessions work as usual.
* **Beta.** Requests and streaming over HTTP work today, and we're adding more of the Responses API. Tell us at [support@lyceum.technology](mailto:support@lyceum.technology) what you need next.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.