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

# Codex

> Use the latest MiniMax M-series models for AI programming in the Codex desktop app.

<div style={{background:"#fffbeb",borderLeft:"4px solid #d97706",padding:"12px 16px",borderRadius:"6px",margin:"16px 0"}}>[**Codex**](https://developers.openai.com/codex/) is OpenAI's official AI coding agent for the desktop.</div>

## Install Codex

Download and install the Codex desktop app from the [OpenAI Codex page](https://developers.openai.com/codex/).

## Configure MiniMax API

<Steps>
  <Step title="Edit the config file">
    Open `~/.codex/config.toml` and add the following, replacing `<MINIMAX_API_KEY>` with your key from the [MiniMax Developer Platform](https://platform.minimax.io/user-center/payment/token-plan):

    ```toml theme={null}
    model = "MiniMax-M3"
    model_provider = "minimax"
    model_context_window = 1000000

    [model_providers.minimax]
    name = "MiniMax"
    base_url = "https://api.minimax.io/v1"
    experimental_bearer_token = "<MINIMAX_API_KEY>"
    wire_api = "responses"
    ```
  </Step>

  <Step title="Restart Codex and start using MiniMax-M3">
    Restart Codex — MiniMax-M3 is now ready to use.
  </Step>
</Steps>

## Configure Model Capabilities (Optional)

Codex can use a custom model catalog to recognize MiniMax-M3 capabilities such as multimodal input, reasoning effort as the thinking switch, system prompt instructions, tool type, and other detailed model parameters. After this is configured, type `/model` in Codex CLI to see MiniMax-M3 and its available reasoning levels in the model list.

Add the following line to `~/.codex/config.toml`:

```toml theme={null}
model_catalog_json = "~/.codex/model-catalogs/custom-catalog.json"
```

Then create `~/.codex/model-catalogs/custom-catalog.json` with the detailed model configuration:

```json theme={null}
{
  "models": [
    {
      "slug": "MiniMax-M3",
      "display_name": "MiniMax-M3",
      "description": "MiniMax",
      "default_reasoning_level": "high",
      "supported_reasoning_levels": [
        { "effort": "none", "description": "Think-Off" },
        { "effort": "high", "description": "Deep" }
      ],
      "shell_type": "shell_command",
      "visibility": "list",
      "supported_in_api": true,
      "priority": 0,
      "base_instructions": "You are Codex, a coding agent based on MiniMax-M3. You and the user share the same workspace and collaborate to achieve the user's goals.",
      "supports_reasoning_summaries": true,
      "default_reasoning_summary": "none",
      "support_verbosity": false,
      "truncation_policy": { "mode": "bytes", "limit": 10000 },
      "supports_parallel_tool_calls": true,
      "experimental_supported_tools": [],
      "input_modalities": ["text", "image"]
    }
  ]
}
```

Common fields in this configuration:

* `slug` / `display_name`: The model identifier and display name used in Codex config and the `/model` list. Keep this aligned with the model name used by the API.
* `default_reasoning_level`: The default reasoning effort. For MiniMax-M3, any non-`none` value enables Adaptive Thinking; the value does not tune reasoning depth.
* `supported_reasoning_levels`: Reasoning options users can switch between in `/model`. `none` turns thinking off; `high` enables Adaptive Thinking.
* `base_instructions`: Base system prompt Codex adds when using this model. Use it to describe the model identity and collaboration style.
* `supports_reasoning_summaries`: Enables Codex's Responses API reasoning path for this model. Set this to `true` so Codex sends `reasoning.effort`; otherwise Codex omits the `reasoning` field even when `default_reasoning_level` is configured. In this example, `default_reasoning_summary` is set to `none` so Codex does not request a separate reasoning summary.
* `shell_type`: Declares the shell tool-call type supported by the model. This example uses `shell_command`.
* `visibility` / `supported_in_api` / `priority`: Control whether the model appears in the list, whether it is available through the API, and its ordering priority in the model list.
* `supports_parallel_tool_calls`: Indicates that the model supports parallel tool calls, allowing Codex to handle multiple tool requests.
* `experimental_supported_tools`: Reserved list for experimental tool capabilities. Leave it as an empty array when no extra tools are needed.
* `input_modalities`: Supported input modalities. `["text", "image"]` means text and image input are supported.
* `truncation_policy`: Controls truncation behavior for retained context or tool output. This example limits retained content by bytes.

Restart Codex after changing the model catalog.
