Tracking issue for the next phase of cuckoocode. Everything below came out of a research pass on 2026-07-21 covering the wrapper ecosystem, Claude Code's full configuration surface, and the Anthropic-compatible provider landscape.
Why this shape
Three findings drove the plan:
1. Upstream bugs hit every third-party user, and a launcher is uniquely placed to fix them.
We already cache context_length for all 342 OpenRouter models. Deriving env vars from that at exec time fixes the first two. A proxy has no pre-flight moment and a GUI has no exec, so nothing else in the ecosystem can do this.
2. We're missing table stakes. Named profiles appear in essentially every comparable tool. cuckoocode stores exactly one config, which makes switching providers worse than the shell aliases it replaced.
3. The niche is empty. Mass adoption sits with a desktop GUI (cc-switch, 120K stars, Tauri + SQLite) and a proxy daemon (claude-code-router, 36K stars, 150K weekly npm). Every CLI launcher has trivial adoption. cc-switch has an unanswered request for headless mode citing SSH and CI use.
Also of note: y-router archived itself once OpenRouter shipped a native Anthropic endpoint. The translation-proxy category is being commoditized away, which is a point in favour of the launcher approach.
Milestones
M1 — Correctness. Stop shipping known-broken sessions: #PLACEHOLDER_1, #PLACEHOLDER_2, #PLACEHOLDER_3, #PLACEHOLDER_4
M2 — Core UX. Reach parity with the aliases and then beat them: #PLACEHOLDER_5, #PLACEHOLDER_6, #PLACEHOLDER_7, #PLACEHOLDER_8
M3 — Providers. Breadth, verified rather than copied from blogs: #PLACEHOLDER_9, #PLACEHOLDER_10
M4 — Differentiators. #PLACEHOLDER_11, #PLACEHOLDER_12
Ground rule
Every env var and base URL must be verified against primary sources before it ships. The research surfaced multiple widely-repeated blog claims that are false — e.g. "strip the ms- prefix from ModelScope tokens," which actively breaks auth. A wrong env var name is a silent no-op; a wrong base URL is a user-facing bug.
Addendum — binary-derived findings (2026-07-21)
Investigating tanbiralam/claude-code led somewhere more useful than the repo itself: the shipping binary is greppable and always current. ~/.local/share/claude/versions/2.1.216 exposes 418 CLAUDE_CODE_* and 60 ANTHROPIC_* variables against ~50 documented.
New issues: #15, #16, #17.
Methodology change. Verify configuration surface against the local installed binary, not against docs and never against leaked source. tanbiralam/claude-code mirrors the 2026-03-31 source-map leak — unlicensed proprietary code, 128 releases stale, and demonstrably wrong about current behaviour (it documents CLAUDE_CODE_MAX_CONTEXT_TOKENS as an unconditional override; in 2.1.216 it is conditional). Do not vendor or derive code from it — this is a published npm package.
Record the binary version alongside every finding, since behaviour changes between releases.
Status (2026-07-21)
Tracking issue for the next phase of cuckoocode. Everything below came out of a research pass on 2026-07-21 covering the wrapper ecosystem, Claude Code's full configuration surface, and the Anthropic-compatible provider landscape.
Why this shape
Three findings drove the plan:
1. Upstream bugs hit every third-party user, and a launcher is uniquely placed to fix them.
api.anthropic.combase URL. Closed as not planned.We already cache
context_lengthfor all 342 OpenRouter models. Deriving env vars from that at exec time fixes the first two. A proxy has no pre-flight moment and a GUI has no exec, so nothing else in the ecosystem can do this.2. We're missing table stakes. Named profiles appear in essentially every comparable tool. cuckoocode stores exactly one config, which makes switching providers worse than the shell aliases it replaced.
3. The niche is empty. Mass adoption sits with a desktop GUI (cc-switch, 120K stars, Tauri + SQLite) and a proxy daemon (claude-code-router, 36K stars, 150K weekly npm). Every CLI launcher has trivial adoption. cc-switch has an unanswered request for headless mode citing SSH and CI use.
Also of note: y-router archived itself once OpenRouter shipped a native Anthropic endpoint. The translation-proxy category is being commoditized away, which is a point in favour of the launcher approach.
Milestones
M1 — Correctness. Stop shipping known-broken sessions: #PLACEHOLDER_1, #PLACEHOLDER_2, #PLACEHOLDER_3, #PLACEHOLDER_4
M2 — Core UX. Reach parity with the aliases and then beat them: #PLACEHOLDER_5, #PLACEHOLDER_6, #PLACEHOLDER_7, #PLACEHOLDER_8
M3 — Providers. Breadth, verified rather than copied from blogs: #PLACEHOLDER_9, #PLACEHOLDER_10
M4 — Differentiators. #PLACEHOLDER_11, #PLACEHOLDER_12
Ground rule
Every env var and base URL must be verified against primary sources before it ships. The research surfaced multiple widely-repeated blog claims that are false — e.g. "strip the
ms-prefix from ModelScope tokens," which actively breaks auth. A wrong env var name is a silent no-op; a wrong base URL is a user-facing bug.Addendum — binary-derived findings (2026-07-21)
Investigating
tanbiralam/claude-codeled somewhere more useful than the repo itself: the shipping binary is greppable and always current.~/.local/share/claude/versions/2.1.216exposes 418CLAUDE_CODE_*and 60ANTHROPIC_*variables against ~50 documented.New issues: #15, #16, #17.
Methodology change. Verify configuration surface against the local installed binary, not against docs and never against leaked source.
tanbiralam/claude-codemirrors the 2026-03-31 source-map leak — unlicensed proprietary code, 128 releases stale, and demonstrably wrong about current behaviour (it documentsCLAUDE_CODE_MAX_CONTEXT_TOKENSas an unconditional override; in 2.1.216 it is conditional). Do not vendor or derive code from it — this is a published npm package.Record the binary version alongside every finding, since behaviour changes between releases.
Status (2026-07-21)
382e58d, 458 tests green.e2e0498(Migrate to TypeScript #18, closed), 459 tests green. Ports are real interfaces.