Claude Code launchers
The bex CLI ships one launcher per provider — bex glm, bex muse, bex kimi, bex deepseek. Each starts a real Claude Code instance connected to that provider's Anthropic-compatible endpoint, the integration pattern every one of these providers documents officially.
bex code is the management hub: it shows key status across providers, and bex code keys set|unset <provider> manages the stored keys.

Install bex
bex is the CLI that launches Claude Code against each provider, so install it first. Pick either channel — both install the same signed release binaries.
Install script
curl -fsSL https://raw.githubusercontent.com/bex-co/bex/main/scripts/install-bex.sh | shDetects your OS and architecture, verifies checksums.txt, and installs atomically to ~/.local/bin. BEX_VERSION pins an exact release and BEX_INSTALL_DIR retargets the directory.
Homebrew
brew install bex-co/tap/bexThe same binaries through the bex-co tap; upgrade later with brew upgrade bex.
Confirm the install
bex -vbex -v prints the release version and tells you when a newer release exists.
Both channels ship macOS and Linux builds for arm64 and amd64; every release includes checksums.txt and a keyless cosign signature bundle. Windows is not currently built — use WSL.
How a launcher works
Documented seams, nothing forked
Claude Code stays an external runtime; each launcher only sets its documented environment variables — ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN, CLAUDE_CONFIG_DIR and the model-slot variables — at exec time.
Isolated per provider
Every provider gets its own config dir under ~/.bex/code, so settings, history and permissions stay independent, instances run in parallel, and your personal ~/.claude setup is neither read nor modified.
Your key, captured once
The first launch opens the provider's API-key console, takes one hidden paste, verifies the key live against the provider's endpoint, and stores it owner-only in keys.toml. A key set in the environment always overrides the store.
Everything else goes to claude
Arguments after the provider name are passed to claude unchanged — bex glm --continue, bex glm -p "one prompt", or bex glm --help for Claude Code's own flags.
Launch a provider
# Claude Code is the runtime — install it once npm install -g @anthropic-ai/claude-code# first launch opens the provider console and captures your key once bex glm# everything after the provider name goes straight to claude bex glm --continue# key status across all providers bex code keys
Pick a provider
- GLM (Z.ai coding plan)Use your Z.ai coding plan with Claude Code — GLM's own documented pairing, one command away.Default model:
glm-5.2 - Muse Spark (Meta Model API)Meta's Muse Spark models behind Claude Code's workflow, keyed through the Meta Model API.Default model:
muse-spark-1.2 - Kimi (Moonshot platform)Moonshot's Kimi K3 driving Claude Code, with a key from the Moonshot platform console.Default model:
kimi-k3 - DeepSeekDeepSeek's Anthropic-compatible endpoint inside Claude Code — pay-as-you-go, one console key.Default model:
deepseek-chat