altcode — ~/project
The harness is the product. The model is the engine. Pick the engine you want.
17MB binary · 13 providers · 100+ models · AGPL-3.0 · 0 vendor lock-in
────────────────────────────────────────────────────────────────

If you only have 30 seconds

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
────────────────────────────────────────────────────────────────

Two stacks. One coupled, one open.

       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.

────────────────────────────────────────────────────────────────

Install

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

────────────────────────────────────────────────────────────────

Zero Config

Already use Claude Code or Codex CLI? Just run altcode — credentials auto-detected.

If you have...altcode uses it
Claude Code CLIClaude subscription ✓
Codex CLICodex subscription ✓
ANTHROPIC_API_KEYAnthropic API ✓
OPENAI_API_KEYOpenAI API ✓
DEEPSEEK_API_KEYDeepSeek ✓
ZHIPU_API_KEYGLM-5 ✓
MOONSHOT_API_KEYKimi K2.5 ✓
MINIMAX_API_KEYMiniMax M2.7 ✓
DASHSCOPE_API_KEYQwen ✓
ALTLLMaltllm-basic ✓
OpenRouter key100+ models ✓
Ollama runningLocal models ✓
────────────────────────────────────────────────────────────────

Usage

altcode
# Interactive TUI (auto-detects provider)
altcode "explain this error"
# Headless exec mode
altcode --model deepseek/deepseek-chat
# Chinese providers: DeepSeek, GLM, Kimi, MiniMax, Qwen
altcode --model ollama/llama3
# Local models, no API key needed
altcode workflow --mode ralph "add auth"
# Persistent execution — loops until complete
altcode workflow --mode interview "add rate limiting"
# Socratic clarification before coding
altcode --resume
# CC-style resume — pick a recent session interactively
altcode -c "follow-up question"
# Continue the most recent session with a new turn
altcode daemon --port 9200 --auth-token $TOKEN
# AltFix daemon: REST + SSE + GitHub webhook lifecycle
────────────────────────────────────────────────────────────────

Why a harness?

Coding CLIaltcode (Harness)
Agent loopRun onceMulti-turn + verification gates
ContextSend & hopeToken tracking + auto-compact + LLM summarization
ToolsCall & prayPermissions + hooks + auto-verify
AgentsSingle modelMulti-agent + mailbox IPC + roles
WorkflowAd-hocInterview → plan → persistent execution
Providers1 vendor13 providers, any model
────────────────────────────────────────────────────────────────

Benchmarks (5 suites × 6 models)

ModelScore
DeepSeek V396%
MiniMax 2.793%
Qwen Coder93%
Claude Haiku90%
GLM-576%
Kimi K2.540%

HumanEval + SWE-bench + Terminal-Bench + Aider + FeatureBench · All via altcode

────────────────────────────────────────────────────────────────

Features

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)

────────────────────────────────────────────────────────────────

vs DeepSeek-TUI

Independent dual-reviewer score (Claude Code + Codex CLI), round 5:

DimensionaltcodeDeepSeek-TUI
Features9.158.5altcode +0.65
UI8.308.5tie / -0.20
Stability7.707.0altcode +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.

────────────────────────────────────────────────────────────────

The category is plural — peers worth comparing

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.

────────────────────────────────────────────────────────────────

Risk & disclaimer

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.

RiskWhat it meansMitigation
No vendor supportNo SLA, on-call, or support team. Community project.Pay Anthropic for Claude Code if you need a support contract.
Shell execution scopePermission 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 inheritanceSubagents inherit parent process environment.Review env + ~/.altcode/config.json before running on untrusted input.
Repository damageEdit / Write / Patch / Bash modify files and run shell.--permission-mode plan or --dry-run first. Commit before agent runs.
Provider quirksTool-use, rate limits, streaming, structured-output reliability vary across providers.Normalisation is good but not magical. Failure modes change monthly.
No data / PII guaranteesPrompts 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 softwareBehaviour, 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 verdict

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.

────────────────────────────────────────────────────────────────

Links

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).

altcode
● ready
Enter send · Esc quit
v0.10.5

Built with the Karpathy autoresearch loop — every change verified against committed mechanical metrics.