neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
Run Claude Code on GPT from your ChatGPT plan, or on GLM, Kimi, DeepSeek, Gemini and local models. Pick them in /model, next to Claude.
Developer toolsRust · HTMLGitHub @baoengineerOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Run Claude Code on GPT from your ChatGPT plan, or on GLM, Kimi, DeepSeek, Gemini, OpenRouter and local Ollama models. Pick them in /model, next to Claude. One Rust binary.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Run Claude Code on GPT, GLM, Kimi or a local model. Pick any of them in Claude Code's /model picker, next to Claude, and it works with Claude Code's own tools, hooks, MCP servers and skills. GPT comes from your ChatGPT plan through OpenAI's official sign-in, with no API key. MiniMax, DeepSeek, Gemini, Groq, OpenRouter, and local models through Ollama or LM Studio work the same way. byom stands for bring your own model.Read the full README ↗English | 简体中文
Run Claude Code on GPT, GLM, Kimi or a local model. Pick any of them in Claude Code's /model picker, next to Claude, and it works with Claude Code's own tools, hooks, MCP servers and skills. GPT comes from your ChatGPT plan through OpenAI's official sign-in, with no API key. MiniMax, DeepSeek, Gemini, Groq, OpenRouter, and local models through Ollama or LM Studio work the same way. byom stands for bring your own model.
Claude Code stays unmodified. Its tools, subagents, hooks, MCP servers, skills, plan mode and session resume work as usual. byom runs a small local router that sends each request to the right provider by model ID:
claude (official)
▼
byom router (127.0.0.1) ─┬─ openai/* → ChatGPT plan (Sign in with ChatGPT)
├─ zai/*, kimi/*, minimax/*, deepseek/*, openrouter/*, ollama/*, lmstudio/*
│ → Anthropic-compatible APIs, forwarded
├─ groq/*, gemini/*, mistral/*, cerebras/*, together/*, xai/*
│ → OpenAI-compatible APIs, translated
└─ claude-* → Anthropic: an API key, or Claude Code's own sign-in (opt-in)
Claude can use the other models too. Each session loads a byom skill and one subagent per model, so you can say "get a second opinion from GPT" or "have a fast model scan these files", and Claude picks the right one.
byom is an independent project, not affiliated with or endorsed by Anthropic, OpenAI or any other provider.
Requires macOS or Linux, Claude Code (tested with 2.1.295), and at least one model: a ChatGPT Plus or Pro plan, an API key for a supported provider, a local Ollama or LM Studio server, or Claude (see Claude models).
With Homebrew:
brew install baoengineer/tap/byom
With Cargo:
cargo install byom
Or download a binary from Releases, for example on an Apple silicon Mac:
curl -LO https://github.com/baoengineer/byom/releases/latest/download/byom-v0.4.2-aarch64-apple-darwin.tar.gz
tar xzf byom-v0.4.2-aarch64-apple-darwin.tar.gz
mv byom-v0.4.2-aarch64-apple-darwin/byom ~/.local/bin/ # any directory on your PATH
xattr -d com.apple.quarantine ~/.local/bin/byom # macOS: the binary is not notarized
Each archive has a .sha256 file to check it against. Or build the latest source with Rust 1.89 or newer:
cargo install --git https://github.com/baoengineer/byom
byom login # pick a provider: ChatGPT sign-in, or paste an API key
byom # start Claude Code with every signed-in model
Inside Claude Code, /model lists every model you can use. Claude Code's own flags work as usual: byom --resume <id>, byom -c, byom -p "...". Start on a specific model with byom run openai/gpt-5.6-sol, and add flags after it, as in byom run kimi/k3 --continue.
byom config opens a home screen with four tabs: Models (the roster; set the main, background and subagent models), Providers (sign-ins and keys), Roles (model slots, aliases, relay, context, transport) and Usage (requests, tokens, estimated cost).
| Provider | ID | Sign-in | Notes |
|---|---|---|---|
| OpenAI ChatGPT plan | openai | Sign in with ChatGPT | Plus or Pro; per-app usage cap |
| Z.ai GLM Coding Plan | zai | API key | For supported coding tools such as Claude Code |
| Kimi For Coding | kimi | API key | Kimi Code membership |
| Moonshot AI | moonshot | API key | |
| MiniMax | minimax | API key | Token Plan allows third-party tools |
| DeepSeek | deepseek | API key | |
| OpenRouter | openrouter | API key | Name the models you want in providers.openrouter.models |
| Groq, Mistral, Gemini, Cerebras, Together, xAI | groq … xai | API key | Gemini uses an AI Studio key |
| Ollama, LM Studio | ollama, lmstudio | none | Ollama 0.14+, LM Studio 0.4.1+ |
| Anthropic (Claude) | anthropic | API key, or Claude Code's sign-in | See Claude models |
Any other Anthropic- or OpenAI-compatible endpoint works as a custom provider; see docs/CONFIGURATION.md.
Claude models are off in byom until you choose how to reach them:
byom login anthropic. Requests go to Anthropic with that key.byom config set relay true. byom then forwards Claude requests to Anthropic exactly as Claude Code sent them, with Claude Code's own sign-in, and stores nothing from it. If you also saved an API key, Claude Code's sign-in wins.Read this before turning the relay on. Anthropic documents local gateways between Claude Code and its API, but its terms for Claude Code also say third-party developers may not route requests through Free, Pro or Max plan credentials on their users' behalf. Whether a tool you run yourself falls under that is Anthropic's call, so the relay is your choice and off by default. Without it, Claude Code's Claude sign-in is not used at all, and claude.ai connectors are off in byom sessions.
Each byom session loads a small plugin, and nothing is written to ~/.claude:
byom --skill.byom:openai-gpt-5-6-sol. Claude's Agent tool can only name Claude models directly, so these agents are how subagents and workflows run on other models.byom models --json gives Claude the live roster: each model's agent, context window, effort levels, price and status (ready, capped, no-key, signed-out, offline). Local servers that aren't running are left out of the session.Claude Code's agent teams let a lead session spawn teammates that share a task list and message each other. With byom, each teammate can run on a different provider:
byom config set teams true
Then ask for a team, for example: "spawn a reviewer on GPT-5.6-Sol, an implementer on GLM-5.3 and a test writer on Kimi K3". Claude picks each teammate's model from its byom agent (byom:openai-gpt-5-6-sol, …) and coordinates the work. Teammates run inside the lead's terminal, so they share its connection to byom. Agent teams are experimental in Claude Code and every teammate uses its own tokens.
byom [claude flags] start Claude Code, as in byom --resume <id>
byom run <model> [claude flags] start on a specific model
byom login [provider] sign in, or save an API key
byom models [--json] [--refresh] the model roster
byom config [get|set|unset|path] settings (no argument: the config screen)
byom doctor check Claude Code, sign-ins, the bridge and each provider
byom logs [-n N] recent requests: model, route, latency, tokens
byom --help lists the rest (logout, auth, status, restart, stop, --skill). Settings and credentials are described in docs/CONFIGURATION.md.
Is this allowed? byom never imitates another client, reads another tool's credentials, pools accounts, or offers sign-ins that providers forbid for third-party tools (Claude, Copilot, Gemini CLI and Antigravity subscriptions). ChatGPT uses OpenAI's plan usage in open-source apps flow under byom's own app name. Z.ai, Kimi and MiniMax plans name Claude Code as a supported client, and requests keep Claude Code's own client identity. For Claude, see Claude models. Each provider's own plan limits apply.
Does it change Claude Code? No. byom starts the official claude with a base URL, a settings file and a session plugin. Run claude directly and nothing from byom is there.
What does it store? Settings, credentials you add, a local bridge key and request metadata, all in ~/.byom. See SECURITY.md.
How is it different from OpenAI's Codex plugin? The Codex plugin lets Claude hand reviews and tasks to the Codex agent, while Claude stays the main model. With byom, GPT is a model Claude Code itself runs on: pick it in /model and it uses Claude Code's own tools, hooks and skills, and Claude can also hand it work through its byom subagent. byom also covers GLM, Kimi, DeepSeek, Gemini, OpenRouter and local models, and needs no Node.js or Codex install. The two work side by side.
How is it different from claude-code-router? Both route Claude Code's requests to other models. byom's focus is different in four ways: it signs in to your ChatGPT plan through OpenAI's official open-source app flow, so no API key; Claude stays in the same /model list as the other models; Claude gets one subagent per model and can run model teams, so it can hand work to other models itself; and it ships as one Rust binary that finds your models without a config file.
Coming from byoclaude? byom was called byoclaude until 0.4.0. The first run copies ~/.byoclaude to ~/.byom; agent names change from byoclaude: to byom:.
Each provider's plan limits apply. ChatGPT also caps each connected app: if requests fail with "ChatGPT plan limit reached", raise byom's limit in ChatGPT Settings → Usage or wait for the reset. Plan limits are not retried; a configured fallback takes over instead. byom models marks recently limited models as capped.
byom doctor, then byom logs.byom login, then byom models --refresh./model. Claude models are opt-in; see Claude models.OLLAMA_CONTEXT_LENGTH=32768 ollama serve, and use a model that supports tools.byom restart swaps in the new bridge; open sessions reconnect on their next request.byom restart starts it, and the session continues.byom stop --force
rm "$(command -v byom)" # or: cargo uninstall byom
rm -rf ~/.byom
Also disconnect byom in ChatGPT settings if you signed in, and revoke API keys you pasted at each provider.
See CONTRIBUTING.md, docs/ARCHITECTURE.md and docs/ROADMAP.md.