# Continue on Codex Pooler

Continue brings AI coding assistance to your editor and terminal. Use it to ask questions about your code, make edits and work through development tasks. Connect the IDE extension or CLI to Codex Pooler to use the models available to your Pool.

![Codex Pooler Continue integration](/codex-pooler-continue.webp)

## Before you start

- Install [Continue CLI](https://docs.continue.dev/cli/quickstart) or the [IDE extension](https://docs.continue.dev/ide-extensions/install) using the official instructions.
- Have a Codex Pooler URL reachable from the client.
- Create a [Pool API key](/getting-started/quick-start/) and choose a model available to that Pool.

## Configure the connection

Set `provider: openai`, point `apiBase` at the `/v1` base URL and supply the Pool API key as a Continue secret. The installed Continue version chooses the request endpoint.

Use the commands for the terminal that starts the client. Environment-variable assignments below apply to that terminal; desktop apps and services need the variables in their own launch environment.

### Config file path

For local Continue configs, put the Codex Pooler assistant in `config.yaml`:

| OS | Local config file |
| --- | --- |
| macOS | `~/.continue/config.yaml` |
| Linux | `~/.continue/config.yaml` |
| Windows | `%USERPROFILE%\.continue\config.yaml` |

In the IDE extension, open the Continue chat sidebar, use the config selector above the chat input, then click the gear icon beside **Local Config**. Continue creates this file on first use and reloads it after saves.

Continue CLI resolves config from `--config` first, then the saved last-used config, then the default assistant or the local `config.yaml` listed above when not logged in. If you set `CONTINUE_GLOBAL_DIR`, use that folder instead.

These are the default locations. On Windows, paste the `%USERPROFILE%`, `%APPDATA%` or `%LOCALAPPDATA%` path into File Explorer's address bar. For a client installed inside WSL, use the Linux paths and commands inside WSL. Keep any custom configuration folder or profile you already use.

Hub configs live in Continue Mission Control instead of this local file. For Codex Pooler examples, local `config.yaml` is the clearest setup because it keeps the Pool route, capabilities, and optional MCP entry inspectable.

```yaml title="config.yaml" frame="code"
name: Codex Pooler
version: 1.0.0
schema: v1

models:
  - name: GPT-6 Sol via Codex Pooler
    provider: openai
    model: gpt-6-sol
    apiBase: https://codex-pooler.example.com/v1
    apiKey: "${{ secrets.CODEX_POOLER_API_KEY }}"
    contextLength: 828400
    defaultCompletionOptions:
      maxTokens: 128000
    roles:
      - chat
      - edit
      - apply
      - summarize
    capabilities:
      - tool_use
      - image_input
  - name: GPT-6 Luna via Codex Pooler
    provider: openai
    model: gpt-6-luna
    apiBase: https://codex-pooler.example.com/v1
    apiKey: "${{ secrets.CODEX_POOLER_API_KEY }}"
    contextLength: 828400
    defaultCompletionOptions:
      maxTokens: 128000
    roles:
      - chat
      - edit
      - apply
      - summarize
    capabilities:
      - tool_use
      - image_input
  - name: GPT-6 Astra via Codex Pooler
    provider: openai
    model: gpt-6-astra
    apiBase: https://codex-pooler.example.com/v1
    apiKey: "${{ secrets.CODEX_POOLER_API_KEY }}"
    contextLength: 828400
    defaultCompletionOptions:
      maxTokens: 128000
    roles:
      - chat
      - edit
      - apply
      - summarize
    capabilities:
      - tool_use
      - image_input
```

For local setup, change `apiBase` to `http://localhost:4000/v1` in every model entry.

## Choose a model

The configuration defines Sol, Luna, and Astra separately so they are available in Continue's model selector. Select the model you want to use and keep only entries available to your Pool. Keep the documented `roles` and `capabilities` with each model entry, and check each model's context limit independently.

Continue uses `contextLength` for request pruning and `defaultCompletionOptions.maxTokens` for the completion budget. The `828400` value above is a long-profile example for a model whose selected Pool catalog source reports an 872000-token raw ceiling. Provider accounts can temporarily report different ceilings for the same model; a selected 272000-token profile exposes `258400` instead. Use `/v1/models.context_length` as the authoritative `contextLength`, not the raw ceiling. For the long-profile example, Continue leaves 699400 tokens for input after its 128000-token completion cap and fixed 1000-token counting buffer.

## Verify the connection

Check the headless CLI path after saving the config:

**macOS / Linux / WSL**

```bash
export CODEX_POOLER_API_KEY="<pool-api-key>"
npx -y @continuedev/cli@latest -p \
  --config ~/.continue/config.yaml \
  --silent \
  'Reply with exactly: continue ok'
```

**Windows PowerShell**

```powershell
$env:CODEX_POOLER_API_KEY = "<pool-api-key>"
npx -y @continuedev/cli@latest -p --config "$env:USERPROFILE\.continue\config.yaml" --silent 'Reply with exactly: continue ok'
```

In Codex Pooler's request logs, match the request time, API key, model, and final status to your test. A reply alone does not confirm that the client used your Pooler instance.

## Operator MCP (optional)

To enable operator metadata tools, add this top-level block to the same `config.yaml` and configure the separate `CODEX_POOLER_MCP_KEY` secret:

```yaml title="config.yaml" frame="code"
# Optional operator-only MCP metadata add-on. Omit for model/runtime use.
mcpServers:
  - name: codex_pooler
    type: streamable-http
    url: https://codex-pooler.example.com/mcp
    requestOptions:
      timeout: 30000
      headers:
        Authorization: "Bearer ${{ secrets.CODEX_POOLER_MCP_KEY }}"
```

For local MCP setup, change `url` to `http://localhost:4000/mcp`.

The Pool API key authenticates model requests. The MCP token authenticates only the operator metadata endpoint.

## Compatibility notes

This client uses Codex Pooler's narrow OpenAI-compatible `/v1` surface. For shared route support and limits, see [OpenAI-compatible SDKs](/clients/openai-compatible/).