/model, no restart needed.
Setup
The recommended way is the Lyceum CLI.lyceum code launches Claude Code preconfigured, in its own profile that never touches an existing Anthropic login:
lyceum-cli is republished under its normal name on PyPI — check pip install lyceum-cli first, in case it’s caught up by the time you read this.)
Trying it out in a single terminal without installing anything? Set these two environment variables before starting Claude Code:
~/.claude/settings.json yourself for a setup that persists across terminals:
Switching models mid-session
Pass any Lyceum model ID directly to/model inside Claude Code:
z-ai-glm-5.2) are accepted for clients that reject / in model names.
Note: the bare /model menu (without an argument) only lists Anthropic tier names — selecting there switches between the tiers mapped below, not the full catalog.
Model mapping
Anthropic tier names map to Lyceum models automatically:| Claude tier | Model |
|---|---|
| claude-fable-* / claude-opus-* | GLM-5.2 |
| claude-sonnet-* | Kimi-K2.7-Code |
| claude-haiku-* | MiniMax-M3 |
- A Lyceum model ID in the request’s
modelfield (what/model <id>sends) - A fixed-model endpoint path as the base URL, e.g.
.../external/claude-kimior.../external/claude-deepseek - The tier mapping above
Switching from Anthropic to Lyceum
If you previously used Claude Code with a direct Anthropic key, make sure to update both variables - not just the base URL. Claude Code warns you if both a claude.ai session andANTHROPIC_API_KEY are set at the same time. To avoid auth conflicts, run /logout inside Claude Code before setting the Lyceum key, or use lyceum code, which runs in a separate profile.
Note on 1M context models
Avoid usingsonnet[1m] or similar extended-context variants. The [1m] suffix is Anthropic-specific and Claude Code will not connect through the proxy with it set. Use sonnet instead, either via /model in Claude Code or by setting "model": "sonnet" in ~/.claude/settings.json.
