Terminal launcher for claude with saved profiles, provider presets, and an Anthropic-to-OpenAI-compatible proxy.
Requirements:
- Rust stable
claudeavailable inPATH
cargo install --path .
claude-profilerProfiles are stored in:
- macOS:
~/Library/Application Support/claude-profiler/profiles.toml - Linux:
~/.config/claude-profiler/profiles.toml - Windows:
%APPDATA%\claude-profiler\profiles.toml
Other files in the same directory:
openai-oauth.json: cached ChatGPT OAuth tokenscache/: cached Codex instructions
The file is created automatically on first run.
You can edit profiles in the UI or directly in profiles.toml.
These are templates. Replace placeholder API keys before use.
| Profile | Purpose | Current default models |
|---|---|---|
default |
Use your existing shell environment | whatever claude already sees |
zai |
Direct Z.ai Anthropic-compatible endpoint | glm-5-turbo, glm-5, glm-5.1 |
minimax |
Direct MiniMax Anthropic-compatible endpoint | MiniMax-M2.7 |
OpenRouter |
Direct OpenRouter endpoint | openai/gpt-5.4-mini, openai/gpt-5.4 |
OpenAI Codex OAuth |
ChatGPT OAuth + Codex backend proxy | gpt-5.4, gpt-5.4-mini |
custom example |
Example OpenAI-compatible proxy profile | local-model |
Model values are just env vars. You can change them in the UI or directly in profiles.toml.
Main model-related variables:
| Variable | Meaning |
|---|---|
ANTHROPIC_DEFAULT_HAIKU_MODEL |
Claude Haiku slot |
ANTHROPIC_DEFAULT_SONNET_MODEL |
Claude Sonnet slot |
ANTHROPIC_DEFAULT_OPUS_MODEL |
Claude Opus slot |
ANTHROPIC_MODEL |
Fallback model / proxy override |
ANTHROPIC_SMALL_FAST_MODEL |
Auxiliary model for lightweight proxy requests |
If you are using Anthropic directly, current Claude model aliases are:
| Slot | Current example |
|---|---|
| Haiku | claude-haiku-4-5 |
| Sonnet | claude-sonnet-4-6 |
| Opus | claude-opus-4-6 |
Example mapping:
ANTHROPIC_DEFAULT_HAIKU_MODEL = "claude-haiku-4-5"
ANTHROPIC_DEFAULT_SONNET_MODEL = "claude-sonnet-4-6"
ANTHROPIC_DEFAULT_OPUS_MODEL = "claude-opus-4-6"The Codex profile currently defaults to:
- main model:
gpt-5.4 - auxiliary model:
gpt-5.4-mini
The in-app Codex model picker prefers the current set first:
gpt-5.4gpt-5.4-minigpt-5.3-codex
It also includes the current older/live fallback set:
gpt-5.2gpt-5.2-codexgpt-5.1gpt-5.1-codexgpt-5.1-codex-maxgpt-5.1-codex-minigpt-5gpt-5-codexgpt-5-codex-mini
Reasoning suffixes are generated from the live Codex capability set, including minimal where supported.
Set this on the Codex profile to request fast mode:
SERVICE_TIER = "fast"You can set this directly in profiles.toml or in the TUI profile editor.
The proxy only sends fast mode for models that currently support it, and maps it to the upstream Responses API service tier used by the Codex backend.
Set PROXY_TARGET_URL to any OpenAI-compatible target to enable the local proxy.
Accepted forms:
- base URL like
http://localhost:1234/v1 - full endpoint ending in
/responses - full endpoint ending in
/chat/completions - full endpoint ending in
/completions
When enabled, Claude is pointed at:
http://localhost:4000/anthropic
Main proxy variables:
| Variable | Meaning |
|---|---|
PROXY_TARGET_URL |
Upstream OpenAI-compatible base URL or endpoint |
ANTHROPIC_AUTH_TOKEN |
Upstream API key or bearer token |
OPENAI_OAUTH |
Enable ChatGPT OAuth for Codex |
SERVICE_TIER |
Optional Responses service tier |
API_TIMEOUT_MS |
Passed through to claude |
The OpenAI Codex OAuth profile:
- opens a browser on first use
- listens on
http://localhost:1455/auth/callback - stores tokens in
openai-oauth.json
Normal mode:
j/korUp/Down: moveEnter: launch selected profilee: edit profilen: new profiled: delete profiler: reset profile, or clear Codex OAuth tokensR: reset all profiles and tokens?: helpqorEsc: quit
Edit mode:
Tab/Shift+TaborUp/Down: move fieldsCtrl+G: toggle API key visibilityEnter: save, or open Codex model picker on model fieldsEsc: cancel
Model picker:
j/korUp/Down: moveEnter: selectEsc: cancel
claudenot found: install Claude Code and ensure it is inPATH- proxy does not start: check whether
127.0.0.1:4000is already in use - Codex OAuth hangs: make sure
http://localhost:1455/auth/callbackis reachable locally - wrong models: update the model env vars in the profile instead of relying on old saved mappings
ron a Codex profile clears OAuth tokens;Rresets everything
See SECURITY.md.
MIT. See LICENSE.