Use Continuum’s hosted inference in T3 Code

T3 Code is a control surface for other people’s agents: it launches codex, claude, cursor, grok, and opencode as child processes and gives them one interface. It performs no inference of its own, which is why there is no base-URL field to fill in and no OpenAI-compatible provider to add. The working route is the one its own documentation uses for external providers: a dedicated Claude provider with environment variables set on the instance.

By the Continuum team. We build a workbench that runs Claude Code, Codex, and their peers, so the model rates quoted here are the ones our own cost analytics ship with.

The short version

T3 Code drives provider CLIs and does no inference itself, so there is no native OpenAI-compatible base-URL field; the feature request for one, pingdotgg/t3code issue 4941, was open when this was checked. The supported route is a Claude provider instance: set Binary path to claude and CLAUDE_CONFIG_DIR path to a dedicated home such as ~/.claude_continuum_home, then in that provider’s Environment variables pane set ANTHROPIC_BASE_URL to https://continuumcode.ai (bare origin, no /v1), ANTHROPIC_AUTH_TOKEN to a cont_sk_ key marked Sensitive, and ANTHROPIC_API_KEY to an empty value. Pin the model roles with ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL, and ANTHROPIC_DEFAULT_HAIKU_MODEL, the last of which must point at claude-sonnet-5 because Continuum serves no Haiku. Verify with /status in a session. Do not use the OpenCode provider for this: t3code issue 4239 reports that T3 Code unconditionally sets OPENCODE_CONFIG_CONTENT to an empty object, which hides custom providers.

What you need to know
  • T3 Code does no inference. It drives provider CLIs, so you configure the CLI through T3 Code rather than configuring T3 Code.
  • There is no native OpenAI-compatible base-URL field; the feature request for one was still open when this page was written.
  • Use a dedicated CLAUDE_CONFIG_DIR, never HOME. Setting HOME writes the login somewhere T3 Code does not look.
  • Variables go in the provider’s Environment variables pane, not Launch arguments and not your shell profile.
  • Mark the token Sensitive: T3 Code stores it as a server secret and never sends it back to the app.
  • Pin the Haiku role to claude-sonnet-5. Continuum serves no Haiku, and an unpinned role fails the same way it does in bare Claude Code.

What T3 Code is, and why that decides the method

T3 Code is an agent-harness control surface. It supports Codex, Claude, Cursor, Grok Build, and OpenCode, and it works by launching those CLIs as child processes and rendering their sessions in one place. You authenticate with the CLI, not with T3 Code — its own installation guide tells you to run claude auth login or codex login before first use.

A feature request for a native OpenAI-compatible provider by base URL — pingdotgg/t3code#4941 — was open when this guide was written on 13 August 2026, so if you came here looking for that field, it does not exist yet rather than being hidden somewhere. The route below is not a workaround for a missing feature; it is the mechanism T3 Code’s own documentation uses for external providers, worked through with an OpenRouter example.

Where a Continuum setup can live in T3 Code, checked 13 August 2026.

Provider typeWorkable?Notes
ClaudeYes — the recommended routeEnvironment variables on the instance, exactly as the docs do for OpenRouter
CodexWorkable, less turnkeyCarry the config.toml setup; the docs point at the same env pane but name no OpenAI base-URL variable
OpenCodeNoT3 Code clobbers the OpenCode config in the child environment — see the warning below

What you need first

Setting T3 Code up this way requires Continuum Plus or higher. Inference keys do not mint on the Free tier, so the Create key button stays disabled until you subscribe, and the provider below has no token to carry without one.

  • T3 Code installed and running, with the Claude CLI on the machine that runs the sessions.
  • A Continuum account on a paid plan. Personal API keys are a paid-plan feature: Plus at $25/mo, Max 100 at $100/mo, Max 200 at $200/mo, or Ultra at $500/mo as of August 2026. See pricing.
  • A decision about isolation. This setup wants its own Claude home so it cannot collide with a normal Anthropic login. Create it before you start: mkdir -p ~/.claude_continuum_home.

Add a Claude provider pointed at Continuum

01

Create a Continuum API key

In the Continuum web app at continuumcode.ai/app, open Settings, then Account, then Inference API. Create your key under Your keys. The same panel is on the Usage tab. Copy it at creation: it begins cont_sk_ and is shown exactly once.

Get hosted inference

Keys mint on Plus and above, so on the Free tier Create key stays disabled until you subscribe.

02

Create the provider with a dedicated Claude home

In T3 Code Settings, add a Claude provider (or edit one you keep for experiments):

Display name:            Claude Continuum
Binary path:             claude
CLAUDE_CONFIG_DIR path:  ~/.claude_continuum_home

T3 Code points the child at that directory with the CLAUDE_CONFIG_DIR environment variable and leaves HOME alone, which is what you want: your keychain, git, and ssh configuration all keep working. Do not try to achieve the same isolation by setting HOME yourself — that writes the login to a path T3 Code does not read, and the provider then behaves as though it were never configured.

03

Set three environment variables on that provider

Open the provider’s Environment variables pane. Not Launch arguments: T3 Code’s documentation says plainly that environment-variable assignments do not work there.

ANTHROPIC_BASE_URL    https://continuumcode.ai
ANTHROPIC_AUTH_TOKEN  cont_sk_...              Sensitive
ANTHROPIC_API_KEY                              Empty value

The base URL is the bare origin with no /v1, because Claude Code appends /v1/messages itself — the same rule T3 Code’s own OpenRouter example follows when it insists on https://openrouter.ai/api rather than .../api/v1. Mark the token Sensitive so T3 Code stores it as a server secret and never sends it back to the app after saving. The empty ANTHROPIC_API_KEY is deliberate: an empty value reads as unset, which stops Claude Code from attempting an Anthropic login.

04

Pin the model roles

Claude Code routes work to model roles rather than to one model, and each role has a built-in default ID that Continuum does not necessarily serve. Add these to the same pane:

ANTHROPIC_DEFAULT_OPUS_MODEL    claude-opus-5
ANTHROPIC_DEFAULT_SONNET_MODEL  claude-sonnet-5
ANTHROPIC_DEFAULT_HAIKU_MODEL   claude-sonnet-5
CLAUDE_CODE_SUBAGENT_MODEL      claude-sonnet-5

The Haiku line is the one that matters and the one that looks like a typo. Continuum serves no Haiku model, so the Haiku role has to point at something that exists; claude-sonnet-5 is the cheapest served Claude and the natural target. This is the same fix as pinning ANTHROPIC_SMALL_FAST_MODEL in a plain Claude Code setup, wearing a different variable name.

05

Open a session and check /status

Start a Claude session on the new provider and run /status. It reports the Anthropic base URL in effect, which should read https://continuumcode.ai. If it shows Anthropic’s own endpoint, the variables did not reach the child, and the provider instance is where to look rather than your shell.

The other two routes

The Codex provider: workable, less turnkey

T3 Code also drives the Codex CLI, and Codex has its own first-class provider mechanism in ~/.codex/config.toml. Setting that up as described in the Codex guide gives you a Codex provider on Continuum, and T3 Code’s Codex documentation points at the same per-provider environment pane under "I Need A Different API Key Or Endpoint" for account-specific variables. What it does not do is name an OpenAI base-URL variable, so the endpoint half of the configuration has to live in config.toml rather than in T3 Code. That works; it is just less contained than the Claude route, because part of the setup sits outside the provider record.

The OpenCode provider: do not

Standalone OpenCode is unaffected and works fine with Continuum — the bug is in the T3 Code driver, not in OpenCode. If OpenCode is the harness you want, run it directly and follow the OpenCode guide.

When it does not work

SymptomCauseFix
/status shows Anthropic’s endpointThe variables are not on this provider instanceCheck the Environment variables pane of the provider you actually started the session on
Sessions bill your Anthropic planA cached login in that Claude home winsRun /logout in a session for that home, then start again
Variables set in Launch arguments do nothingAssignments are not supported thereMove them to the Environment variables pane
404 on every turnA /v1 on the base URLUse the bare origin https://continuumcode.ai
Works, then fails on an unfamiliar model IDA model role still points at its built-in defaultPin all three role variables, Haiku included
Custom models missing from an OpenCode providerThe OPENCODE_CONFIG_CONTENT clobber, t3code#4239Use the Claude provider route instead; the OpenCode driver cannot see your config
The provider shows the wrong accountTwo providers sharing one config directoryGive each provider its own CLAUDE_CONFIG_DIR path

One structural note worth internalising: T3 Code deliberately keeps Claude providers with different config directories isolated from one another, and will not offer a provider on a different config directory for an existing thread. That is correct behaviour rather than a bug — Claude Code spreads account and local state across several files under its config directory — but it means a thread started on your normal Claude account cannot be continued on the Continuum provider. Start a new thread instead.

Questions people ask

Not as of 13 August 2026. T3 Code drives provider CLIs and does no inference itself, so there is no endpoint of its own to redirect. The feature request, pingdotgg/t3code#4941, was open when this page was written.

Because T3 Code points the child at CLAUDE_CONFIG_DIR and leaves HOME alone. Setting HOME yourself writes the login into a nested path T3 Code does not read, so the provider behaves as though nothing was configured, and it breaks git, ssh, and the keychain along the way.

In that provider instance’s Environment variables pane. Not Launch arguments, where T3 Code says environment assignments do not work, and not a global shell profile, where they would leak into every other provider.

T3 Code stores sensitive values as server secrets and does not send them back to the app after saving, so the key is not echoed into a client that may be running somewhere you would rather it were not.

An empty value is treated as unset for provider selection, which stops Claude Code from trying an Anthropic login instead of using the token you supplied. It is the same instruction T3 Code gives for its OpenRouter setup.

Continuum serves no Haiku model, and the Haiku role’s built-in default is a Haiku ID. Pointing it at claude-sonnet-5 gives the role something that exists. It is the same fix as pinning ANTHROPIC_SMALL_FAST_MODEL in a plain Claude Code setup.

No. t3code#4239 reports that T3 Code unconditionally sets OPENCODE_CONFIG_CONTENT to an empty object in the child environment, so custom providers in opencode.json never appear. Standalone OpenCode is unaffected; the bug is in the driver.

Usually not. T3 Code only offers Claude providers that use the same config directory for an existing thread, and this setup deliberately uses its own. Start a new thread on the Continuum provider.

Run /status inside a Claude session in T3 Code. It prints the Anthropic base URL in effect, which is the only check that reports what the running child process actually received.

Sources

Every figure above was read from these pages on August 2026. Vendors reprice without notice; if you find a stale number, tell us.

  1. T3 Code docs: Claude providers the provider fields, the CLAUDE_CONFIG_DIR-not-HOME rule, the environment-variable pane, the Sensitive flag, the model-role variables, the /logout caveat, and the Launch-arguments warning
  2. T3 Code docs: Codex providers "I Need A Different API Key Or Endpoint" points at the same per-provider environment pane
  3. t3code#4941: OpenAI-compatible provider by base URL the feature request for a native base-URL provider; open when read on 13 August 2026
  4. t3code#4239: opencode subprocess forced to an empty config the OPENCODE_CONFIG_CONTENT clobber that hides custom providers; open when read on 13 August 2026
  5. Continuum pricing plan names, prices, and which tiers include personal API keys
  6. Continuum hosted inference the model lanes and the gateway surfaces, read 13 August 2026; the live /v1/models endpoint itself needs a cont_sk_ bearer
Try it

One harness
is never enough.

One Continuum plan drives the T3 Code provider above. Subscribe, create a key, fill in the environment pane. The Continuum workbench is there if you want it, and optional.

Plus is $25/mo · cancel anytime · configured inside T3 Code