# Codex compatibility

Which OpenAI-compatible request settings work on Codex Hosted.

*ProxyLLM docs · https://proxyllm.ai/docs/codex-compatibility*

Codex Hosted accepts OpenAI-compatible Chat Completions and Responses requests, then runs them through your ChatGPT/Codex subscription.

## Works the same

| Setting | Support |
| --- | --- |
| `model` | Supported. Stable tiers like `flagship` and `mini` resolve at request time. |
| `messages` / `input` | Supported. |
| `instructions` | Supported. |
| Streaming | Supported. ProxyLLM streams from Codex and returns OpenAI-compatible events. |
| Tools | Supported: function, web search, custom, and image generation tools. |
| `tool_choice` | Supported. |
| JSON schema / object | Supported. |
| Image and file input | Supported. |
| Prompt caching | Supported by Codex. |

## Codex controls

| Control | Request field | Default |
| --- | --- | --- |
| Thinking effort | `reasoning.effort` or `reasoning_effort`: `none`, `low`, `medium`, `high`, `xhigh`, `max` | `low` |
| Answer length | `text.verbosity` or `verbosity`: `low`, `medium`, `high` | None unless you set it |
| Priority speed | `service_tier`: `priority` | No priority tier unless you set it |

You can set these on a Codex lane in the dashboard. A request can also override the lane for that call.

## Not available on Codex

| Field | What happens |
| --- | --- |
| `temperature` | Ignored on Codex. |
| `top_p` | Ignored on Codex. |
| `seed` | Ignored on Codex. |
| `logprobs` | Ignored on Codex. |
| `stop` | Ignored on Codex. |
| `n` | Ignored on Codex. |
| `frequency_penalty` | Ignored on Codex. |
| `presence_penalty` | Ignored on Codex. |
| `logit_bias` | Ignored on Codex. |
| `max_output_tokens` | Ignored on Codex. |
| `max_tool_calls` | Ignored on Codex. |
| `truncation` | Ignored on Codex. |
| `metadata` | Ignored on Codex. |
| `user` | Ignored on Codex. |
| `previous_response_id` | Ignored on Codex. |
| `response_format` | Ignored on Codex. |

OpenAI's subscription endpoint accepts a fixed set of parameters; the fields above are not in it. ProxyLLM returns the answer anyway and names ignored settings on the `x-proxyllm-dropped-params` header.

Every Codex response also includes `x-proxyllm-applied-params`, for example:

```text
reasoning.effort=low,text.verbosity=medium
```

## System messages

Chat Completions system messages are folded into `instructions` before the request is sent to Codex. User, assistant, and tool messages stay in the conversation.

## Streaming and storage

Codex Hosted always streams upstream from Codex. ProxyLLM does not store Codex conversation state server-side.

`store` and `previous_response_id` do not apply on Codex. To continue a conversation, resend the message history.

See [Connect Codex](/docs/codex/) for setup and [Chat completions](/docs/api/chat-completions/) for the request format.
