---
title: "GPT-5 and GPT-6 in Claude Code — for a whole team · Selan"
description: "Claude Code speaks Anthropic's API, not OpenAI's, so GPT needs a gateway that translates. Run it on your ChatGPT plan, an OpenAI key or OpenRouter."
url: https://selan.ai/guides/gpt-in-claude-code
updated: 2026-10-15T06:58:32+00:00
---

Guide · Other models in Claude Code

# How do you run GPT in Claude Code?

Point Claude Code at a gateway that translates Anthropic's API into OpenAI's, then name a GPT model. Claude Code cannot call OpenAI by itself. Through Selan, an owner connects the company's ChatGPT plan, an OpenAI API key or OpenRouter once. Each developer then runs `selan claude --model openai:gpt-6.1-sol` or picks GPT in `/model`.

## Why can't Claude Code call GPT by itself?

Claude Code sends requests in three formats: Anthropic's Messages API, Amazon Bedrock's and Google Cloud's. All three are formats for Claude models.

OpenAI serves GPT over its own API, which Claude Code does not speak. Something in the middle has to rewrite each request and each streamed reply.

That something is a gateway. Claude Code reaches one when `ANTHROPIC_BASE_URL` is set to its address.

## How do you run GPT in Claude Code without a gateway product?

Run a translating proxy on your own machine, such as LiteLLM or claude-code-router. Give it your OpenAI API key, point `ANTHROPIC_BASE_URL` at it, and name the GPT model when you start Claude Code.

It works for one person. Three things then fall to you:

-   **The context window.** Claude Code assumes 200K for a model id it does not recognise, so it compacts early unless you declare the real window.
-   **The picker.** A gateway's model list reaches `/model` only for ids containing `claude` or `anthropic`. A GPT model never appears there by itself.
-   **Keeping up.** Claude Code adds request fields with each release, and a proxy that does not handle them breaks those features.

On a team, that is one proxy and one OpenAI key per laptop, and no shared view of what GPT costs. Why a key on every laptop is the expensive part is in [keeping API keys off laptops](https://selan.ai/guides/claude-code-without-api-keys).

## How do you run GPT in Claude Code through Selan?

An owner connects one or more OpenAI routes in Selan. Developers install the `selan` CLI, sign in as themselves and name a model:

```bash
selan claude --model openai:gpt-6.1-sol
selan claude --model openai-api:gpt-6.1-sol
selan claude --model openrouter:openai/gpt-6.1-sol
```

The part before the first colon is the provider, and the session runs on that provider only. A model your company cannot use is refused before Claude Code starts, not at the first request.

With `--model`, Selan tells Claude Code the model's real context window, so a session compacts at the model's limit and not at 200K.

To skip the flag, an owner adds the GPT model to Claude Code's picker under [Settings → Model pickers](https://control.selan.ai/settings/pickers). It then appears in `/model`, and you can switch between GPT and Claude mid-session. The details are in [Run any model](https://selan.ai/docs#any-model).

## Which account does a GPT turn run on?

| Route | How it bills | Name it as |
| --- | --- | --- |
| Your ChatGPT plan, signed in | The plan you already pay for | `openai:gpt-6.1-sol` |
| An OpenAI API key | Per token, on your OpenAI invoice | `openai-api:gpt-6.1-sol` |
| An OpenRouter key | Per token, on your OpenRouter invoice | `openrouter:openai/gpt-6.1-sol` |

A pick in `/model` names the model without a provider. Selan then tries your ChatGPT plan first, then a key an owner marked preferred, and moves to the next account when one fails.

ChatGPT answers only a request that names a GPT model. A request that names no model never lands on it.

The plan you already pay for answers first. A metered key answers only when it cannot.

Linking a ChatGPT plan switches GPT models on in [Settings → Models](https://control.selan.ai/settings/models). A key switches nothing on by itself: an owner switches a GPT model on at that provider first. GPT-6 Astra, GPT-6 Luna and GPT-5.6 Terra take the same names as GPT-6.1 Sol.

## What does a team get beyond the model?

-   **One usage record.** GPT turns land beside Claude turns, per person and per repository. [Usage per developer](https://selan.ai/guides/claude-code-usage-per-developer) shows what an owner sees.
-   **One spend limit.** A turn on the ChatGPT plan is priced at OpenAI's standard API rates, so it counts against a member's limit as Claude traffic does. See [spend limits](https://selan.ai/solutions/spend).
-   **No OpenAI key on a laptop.** Keys and the ChatGPT sign-in stay on the gateway. A developer holds a Selan session you can revoke.
-   **Codex on the same accounts.** `selan codex` uses the same routes. See [Codex](https://selan.ai/docs/codex).

## What should you check before switching a team to GPT?

-   **A free ChatGPT plan cannot serve.** OpenAI refuses those models for a free account, so link a paid plan or use a key.
-   **Your plan's terms.** A ChatGPT plan is used under OpenAI's terms for it. Whether they cover a team's Claude Code traffic is for your company to check. The two keys bill per token instead.

**Good to know:** Anthropic doesn't support routing Claude Code to non-Claude models through any gateway, Selan included. A GPT session is the gateway's to answer for, not Anthropic's.

[Start for free](https://selan.ai/pricing)

Free for up to three seats, and the Free plan needs no card.

### The short version

-   Claude Code speaks Anthropic's API, so GPT needs a gateway that translates.
-   Through Selan, a developer runs `selan claude --model openai:gpt-6.1-sol` or picks GPT in `/model`.
-   GPT runs on your ChatGPT plan first, then on an OpenAI or OpenRouter key.
-   GPT turns share one usage record and one spend limit with Claude, with no OpenAI key on a laptop.

What Claude Code sends to a gateway is as Anthropic's Claude Code docs (other LLM gateways and the gateway compatibility guide) described it on 15 October 2026. What Selan does is its model list, its CLI and its providers, Codex and getting-started docs as they stood on the same day.
