This guide is for people who want to use more than one Claude setup in T3 Code. For Codex, see Codex. For first-time setup, see Install T3 Code.
Common reasons:
Use the default provider.
Log in with Claude Code normally:
| 1 | claude auth login |
In T3 Code Settings, your Claude provider can stay like this:
| 1 | Display name: Claude |
| 2 | Binary path: claude |
| 3 | CLAUDE_CONFIG_DIR path: empty |
An empty CLAUDE_CONFIG_DIR path means T3 Code uses Claude Code's normal config directory.
When you set this field, T3 Code points Claude Code at that directory with the
CLAUDE_CONFIG_DIR environment variable. It does not change HOME, so your system keychain and
the rest of your environment stay as they are.
In Settings, open your Claude provider and set Auto-compact after to a token count between
100000 and 1000000. For example, 300000 compacts the conversation into a summary once it
reaches about 300,000 tokens, without changing the model's context window. Leave the field
empty to keep Claude Code's default behavior.
On web and desktop, when you return to an older Claude thread with a large context, T3 Code
offers to compact the conversation before you continue. You can also select Compact context
from the context meter. On every client, you can enter /compact in the message composer, and
Claude can show its own resume prompt when you continue an old session.
T3 Code looks for Claude skills in the Claude config directory's skills folder and
<workspace>/.claude/skills, the two places Claude Code loads them from.
If the same skill name exists in more than one folder, the one in the Claude config directory wins, the same way Claude Code resolves it.
A skill set to off in Claude Code's skillOverrides is left out of both composer menus. A skill
marked disable-model-invocation still appears, because you start it yourself when you pick it.
Claude Code runs one skill per message; when a message names several, the last one runs directly and
Claude starts the others through its Skill tool, which refuses skills marked
disable-model-invocation.
Use a different Claude config directory for each account.
Example:
| 1 | default config dir work account |
| 2 | ~/.claude_personal_home personal account |
Log in normally:
| 1 | claude auth login |
In T3 Code Settings:
| 1 | Display name: Claude Work |
| 2 | Binary path: claude |
| 3 | CLAUDE_CONFIG_DIR path: empty |
Log in with a separate config directory:
| 1 | mkdir -p ~/.claude_personal_home |
| 2 | CLAUDE_CONFIG_DIR=~/.claude_personal_home claude auth login |
Use CLAUDE_CONFIG_DIR, not HOME. Setting HOME writes the login to
~/.claude_personal_home/.claude, which is not where T3 Code looks.
Then add another Claude provider in T3 Code:
| 1 | Display name: Claude Personal |
| 2 | Binary path: claude |
| 3 | CLAUDE_CONFIG_DIR path: ~/.claude_personal_home |
Use the email shown in Settings to confirm each provider is using the intended account. Emails are blurred by default; click the blurred email to reveal it.
Usually, no.
T3 Code only offers Claude providers that use the same config directory for an existing thread. A different config directory is treated as a different Claude environment.
This is different from the recommended Codex setup. Claude Code keeps account and local state across multiple files under its config directory, so T3 Code keeps separate config directories isolated instead of trying to share part of the state.
Use this when you want Claude Code to talk to OpenRouter directly, without running a local router. This is the simplest external-provider setup.
OpenRouter provides a Claude Code integration through Claude's Anthropic-compatible environment variables.
Add or edit a Claude provider in T3 Code Settings:
| 1 | Display name: Claude OpenRouter |
| 2 | Binary path: claude |
| 3 | CLAUDE_CONFIG_DIR path: ~/.claude_openrouter_home |
In that provider's Environment variables section, add:
| 1 | ANTHROPIC_BASE_URL https://openrouter.ai/api |
| 2 | ANTHROPIC_AUTH_TOKEN sk-or-... Sensitive |
| 3 | ANTHROPIC_API_KEY Empty value |
Mark ANTHROPIC_AUTH_TOKEN as sensitive. T3 Code stores the value as a server secret and does not
send it back to the app after saving.
If you want this setup isolated from your normal Claude account, create that home first:
| 1 | mkdir -p ~/.claude_openrouter_home |
If you previously used the same Claude home with a normal Anthropic login, run /logout in a Claude
Code session for that home before using OpenRouter. Otherwise Claude Code may keep using cached
Anthropic credentials instead of the OpenRouter token.
OpenRouter can route Claude Code's default model roles to OpenRouter model IDs.
Example:
| 1 | ANTHROPIC_DEFAULT_OPUS_MODEL anthropic/claude-opus-4.6 |
| 2 | ANTHROPIC_DEFAULT_SONNET_MODEL anthropic/claude-sonnet-4.6 |
| 3 | ANTHROPIC_DEFAULT_HAIKU_MODEL anthropic/claude-haiku-4.5 |
| 4 | CLAUDE_CODE_SUBAGENT_MODEL anthropic/claude-sonnet-4.6 |
Add those to the same provider's Environment variables section if you want stable model choices.
Open a Claude session and run:
| 1 | /status |
You should see the Anthropic base URL set to:
| 1 | https://openrouter.ai/api |
You can also check the OpenRouter activity dashboard for requests from your API key.
https://openrouter.ai/api, not https://openrouter.ai/api/v1, for Claude Code.ANTHROPIC_AUTH_TOKEN to your OpenRouter API key.ANTHROPIC_API_KEY to an empty string so Claude Code does not try to use an Anthropic login.OpenRouter's setup can change over time. Use its upstream Claude Code guide for the current details: https://openrouter.ai/docs/guides/guides/claude-code-integration.
Claude Code Router is useful when you want a local routing layer with more control than a direct OpenRouter setup.
T3 Code does not need a special Claude Code Router provider. Treat the router as a Claude
environment: give a Claude provider its own CLAUDE_CONFIG_DIR path, and put whatever variables
the router tells you to export into that provider's Environment variables section. Mark tokens
and API keys as sensitive.
| 1 | Display name: Claude Router |
| 2 | Binary path: claude |
| 3 | CLAUDE_CONFIG_DIR path: ~/.claude_router_home |
Follow the upstream project's README for the router's own install, startup, and configuration steps: https://github.com/musistudio/claude-code-router.
Create another Claude provider with the same account if you want a named preset.
Examples:
If the preset needs different Claude files, give it a different CLAUDE_CONFIG_DIR path. If it needs
different API keys, base URLs, or router settings, use Environment variables.
Do not put environment variable assignments in Launch arguments.