№ 0771GitHub
muse-cc subscription proxy
A Go reverse proxy with an embedded dashboard that lets Claude Code and OpenAI/Codex clients use muse-spark models through a Muse Code subscription, authenticated with the muse login credential.
muse-cc — Muse Code subscription proxy
Local reverse proxy that lets Claude Code (and any OpenAI/Codex-compatible
client) use Meta's muse-spark models through a Muse Code subscription.
No ZEN_API_KEY, no Zen billing — the only upstream is https://api.meta.ai,
authenticated with the muse login credential.
| What | Where |
|---|---|
| Port | :8788 (never :8787 — that is opencode-cc) |
| Binary | ~/.local/bin/muse-cc |
| systemd unit | ~/.config/systemd/user/muse-cc.service |
| Env file | ~/.config/muse-cc/env (mode 600) |
| Data dir | ~/.local/share/muse-cc |
| Go proxy + embedded dashboard | this repo (main.go, internal/, web/) |
1. Overview
muse-cc accepts the same three API surfaces clients already speak and serves
them from Meta, natively on every surface (all verified live with 200s):
POST /v1/messages— Anthropic Messages API → Meta/v1/messages
passthrough (content blocks,thinking,tool_use/tool_result,stop_reasonpreserved byte-for-byte).POST /v1/chat/completions— OpenAI Chat Completions passthrough.POST /v1/responses— Codex Responses API passthrough (Meta's recommended
full-featured surface: reasoning replay, tool loops, search grounding).GET /v1/models— live upstream list, 60 s TTL cache, static fallback.GET /api/*+/— JSON control API and the embedded React panel.
Non-Meta targets configured via the upstream pool still use the translation
paths (Messages↔Chat, Responses↔Chat, Responses↔Messages bridge); the
Anthropic↔Responses bridge also remains as the fallback when native routing
is disabled.
2. Quick start
# 1. Log the Muse CLI in (one time; creates ~/.config/muse/auth.json).
muse login
# 2. Run the proxy. No key export needed: it auto-syncs the login credential.
muse-cc -data ~/.local/share/muse-cc # listens on :8788
# 3. Point Claude Code at it.
export ANTHROPIC_BASE_URL=http://localhost:8788
export ANTHROPIC_AUTH_TOKEN=anything
claude
Claude Code's default claude-* model ids are mapped tomuse-spark-1.3-contributor automatically; explicit muse-* ids pass
through verbatim. Prefer an explicit model? export ANTHROPIC_MODEL=muse-spark-1.3.
Heads-up: if your ~/.claude/settings.json pins env.ANTHROPIC_BASE_URL
(e.g. to another proxy), that wins over shell exports — use theclaude-muse launcher (§10) instead, which overri




ChatForm
Tgmlabs