● Claude Code is great — but it only runs Claude.
● altcode runs the same agentic loop against 13 providers and 100+ models.
● Including AltLLM, DeepSeek, GPT, MiniMax, GLM, Kimi, Qwen, Llama, Ollama.
● One binary. One configuration. One flag swaps the engine.
altcode --model altllm-basic "fix the failing tests" # AltLLM one-liner
altcode --model deepseek-v3 "add rate limiting" # swap to DeepSeek
altcode --model kimi-k2 "write tests" # swap to Kimi
altcode --model ollama/llama3 "explain this error" # local, no key
Vendor-locked stack Open stack
(Claude Code shape) (altcode shape)
─────────────────── ───────────────
Your application Your application
│ │
▼ ▼
Harness (closed, vendor) Harness (open, neutral)
│ │
▼ ▼
One model family 100+ models · swap with one flag
The harness layer is doing real work. The question is who owns it and whether the model underneath is interchangeable.
curl -fsSL https://altcode.io/install.sh | bash
Also: brew install jiayaoqijia/tap/altcode ·
go install github.com/jiayaoqijia/altcode/cmd/altcode@latest
Binaries: Linux · macOS · Windows — no runtime deps, single binary
Already use Claude Code or Codex CLI? Just run altcode — credentials auto-detected.
| If you have... | altcode uses it |
|---|---|
| Claude Code CLI | Claude subscription ✓ |
| Codex CLI | Codex subscription ✓ |
| ANTHROPIC_API_KEY | Anthropic API ✓ |
| OPENAI_API_KEY | OpenAI API ✓ |
| DEEPSEEK_API_KEY | DeepSeek ✓ |
| ZHIPU_API_KEY | GLM-5 ✓ |
| MOONSHOT_API_KEY | Kimi K2.5 ✓ |
| MINIMAX_API_KEY | MiniMax M2.7 ✓ |
| DASHSCOPE_API_KEY | Qwen ✓ |
| ALTLLM | altllm-basic ✓ |
| OpenRouter key | 100+ models ✓ |
| Ollama running | Local models ✓ |
| Coding CLI | altcode (Harness) | |
|---|---|---|
| Agent loop | Run once | Multi-turn + verification gates |
| Context | Send & hope | Token tracking + auto-compact + LLM summarization |
| Tools | Call & pray | Permissions + hooks + auto-verify |
| Agents | Single model | Multi-agent + mailbox IPC + roles |
| Workflow | Ad-hoc | Interview → plan → persistent execution |
| Providers | 1 vendor | 13 providers, any model |
| Model | Score | |
|---|---|---|
| DeepSeek V3 | 96% | |
| MiniMax 2.7 | 93% | |
| Qwen Coder | 93% | |
| Claude Haiku | 90% | |
| GLM-5 | 76% | |
| Kimi K2.5 | 40% |
HumanEval + SWE-bench + Terminal-Bench + Aider + FeatureBench · All via altcode
● Multi-turn agent loop with LoopGuard — blocks runaway tool repeats (3) and consecutive errors (8)
● 11 tools: read, write, edit, glob, grep, ls, bash, patch, web, agent, tasks
● MCP client (stdio + SSE) · 13 hook events · 53 slash commands · plugin marketplace
● Full-width chat body — every column of the terminal goes to the conversation, no side panels stealing real estate
● 500ms double-submit debounce — paste-and-Enter races no longer fire the same prompt twice
● No-sudo install — defaults to ~/.local/bin + OS-version preflight (glibc / macOS major)
● macOS Terminal HUD fix — auto-skips the dark background that rendered as solid black
● Type-ahead /queue — prompts buffered while a turn runs, drained on completion
● /anchor facts — survive compaction AND restart (saved to ~/.altcode/anchors.json)
● Runtime /model swap — fuzzy substring match, hot-swaps mid-session (no restart)
● OSC-8 hyperlinks on file:line refs in tool output (Cmd/Ctrl-click to source)
● Cache-hit % chip in HUD — surfaces prefix-cache effectiveness per turn
● OSC 9 desktop notification when long turns finish (20s+ threshold)
● Permission modal (default-on, y/n/a/!) · ALTCODE_AUTO_APPROVE=1 for YOLO
● CC-style resume: -c · --continue · --resume · /resume last hot-swaps in-place
● 8 themes — modern dusk default · Catppuccin Mocha · Tokyo Night · Rose Pine · Dracula · Nord · Solarized Dark · Amber Classic
● Multi-agent workspace — /workspace, /spawn, agent panes with role/branch/PR/CI
● Context harness — auto-compact, LLM summarization, real /v1/models context-size fetch (24h disk cache)
● AltFix daemon — autonomous multi-role pipeline (lead/implementer/reviewer/tester) with PR lifecycle
● 117 skills · OAuth login · Persistent memory · Claude Code compat (CLAUDE.md + .mcp.json + settings.json + hooks + skills + plugins)
Independent dual-reviewer score (Claude Code + Codex CLI), round 5:
| Dimension | altcode | DeepSeek-TUI | |
|---|---|---|---|
| Features | 9.15 | 8.5 | altcode +0.65 |
| UI | 8.30 | 8.5 | tie / -0.20 |
| Stability | 7.70 | 7.0 | altcode +0.70 |
Reviewer protocol: independent CC + codex agents read both codebases, score 1-10 each dimension, no cross-talk. altcode wins 2 of 3 unanimously and ties UI per CC / leads UI per codex.
altcode is not alone in the open-multi-provider quadrant. Evaluate two or three together before standardising:
● Aider — longest-running open-source coding-agent CLI, extremely good for git-aware single-repo edits.
● OpenHands — closest spiritual peer, more ambitious in scope, currently less focused on terminal ergonomics.
● Codex CLI — OpenAI's first-party harness, polished but provider-locked.
● Continue, Aichat, OpenCode — adjacent slices of the surface.
altcode's distinctive choices: a single statically-linked Go binary, the four-role daemon for self-hosting, deliberate parity with Claude Code's user-facing surface.
altcode ships under AGPL-3.0 AS-IS, WITHOUT WARRANTY OF ANY KIND (sections 15–17). These are not suggestions — read them before pointing altcode at code you care about.
| Risk | What it means | Mitigation |
|---|---|---|
| No vendor support | No SLA, on-call, or support team. Community project. | Pay Anthropic for Claude Code if you need a support contract. |
| Shell execution scope | Permission system gates tool calls, not process scope. Compromised model can run destructive shell. | Sandbox the harness yourself for CI / untrusted prompts (containers, gVisor, restricted users, ephemeral worktrees). |
| Credential inheritance | Subagents inherit parent process environment. | Review env + ~/.altcode/config.json before running on untrusted input. |
| Repository damage | Edit / Write / Patch / Bash modify files and run shell. | --permission-mode plan or --dry-run first. Commit before agent runs. |
| Provider quirks | Tool-use, rate limits, streaming, structured-output reliability vary across providers. | Normalisation is good but not magical. Failure modes change monthly. |
| No data / PII guarantees | Prompts and code go to whichever provider you configure. | Read each provider's terms. For on-prem, use ollama/ or lmstudio/; do not configure a remote provider alongside. |
| Pre-1.0 software | Behaviour, flags, config schema and events still evolving. | Pin to a release (@v0.10.5) or commit hash for reproducible rebuilds. |
If any row is a deal-breaker: Claude Code on Claude for vendor support, or self-hosted OpenHands for a containerised execution model.
The case for altcode is not that it beats Claude Code on Claude. The case is that the coding-harness category should not stay a vendor privilege.
For a team standardised on Claude and comfortable paying Anthropic, Claude Code remains the right tool. For a team that wants to keep its model choice open — for cost, sovereignty, on-prem inference, or simple optionality — altcode is one publicly developed answer that doesn't require rebuilding the harness in-house.
In 2026 the buyer has real model choice for the first time.
That changes which tooling layer matters most.
GitHub · Releases · README · Full docs · License
Long-form positioning piece: "Why DeepSeek and GPT need AltCode to beat Claude Code" (April 2026, 11 sections, ~3000 words).
Built with the Karpathy autoresearch loop — every change verified against committed mechanical metrics.