v3.3.0 — crash recovery · session branching · doctor diagnostics

Every provider.
One terminal.
Never stop coding.

The autonomous multi-repo AI coding agent for your terminal. Boots free with zero config — or bring 180+ providers and the Claude/ChatGPT/Gemini subscriptions you already pay for. One 85 MB binary. No accounts. No lock-in. With crash recovery, session branching, and an 8-point health check.

goat — zsh
GoatCode terminal session doing real work: streaming agent turn with live tool calls and results

Speaks to all of them, natively:

Anthropic OpenAI Google Mistral Groq DeepSeek xAI OpenRouter Bedrock Azure Ollama LM Studio Copilot Kimi Together Fireworks +165 more
180+
providers & subscription logins
85 MB
single binary, 5 platforms
90%
cheaper sessions with prompt caching
40
slash commands, zero context switches

What's new in v3

Five pillars, one binary

A major architectural leap: sub-second code intelligence and team collaboration without leaving the terminal.

⛶ Multi-repo workspaces

Mount several repos at once — cross-repo search, per-repo sandboxes, strict permission rules. workspace.repos does it.

/find resolveRepos · /index
✺ Code intelligence graph

Zero-config tree-sitter parser (TS · JS · Python · Go) with WASM fallback. Incremental mtime+size fast path, atomic persistence, TF-IDF ranked symbol lookup.

/index → /find <symbol>
⇄ P2P collab relay

End-to-end-encrypted WebSocket relay — Lamport timestamp sequencing, invite codes, turn-tokens, live peer sync. Share your session with a teammate.

/share · /peers · /handoff
⛁ Agent-as-a-Service

JSON-RPC 2.0 over HTTP and WebSocket. Constant-time token auth, path-jailed execution, remote agent mounting — mount a teammate's agent as remote_<name>.

POST /rpc
⛓ Signed plugin marketplace

Browse and install community plugins verified with ed25519 signatures against pinned keys — secure tar extractor with path-traversal and bomb guards.

/marketplace
⌥ Noir theme

Recrafted terminal UI — true-black #000F08 input, deep #25262D panels, violet accents. Every GIF on this page runs in it.

it's just how it looks now
⚡ Goated-Flash-Free

No API key yet? GoatCode auto-boots an embedded free inference engine on loopback — full AI coding out of the box, zero setup, $0. /model flash anytime.

goat ← literally just this
◈ Session branching

Fork conversations with /fork — create child sessions that share history up to the branch point. Track all branches in the parent session's metadata.

/fork · /resume
☠ Crash recovery

Append-only session persistence with crash recovery markers. Resume interrupted sessions via /recover — replay pending tool calls and never lose progress.

/recover
⚕ Doctor diagnostics

Run /doctor for a comprehensive 8-point system health check covering providers, configs, credentials, and network connectivity.

/doctor

See it in action

The autonomous multi-repo coding agent

A sixty-second walkthrough of GoatCode v3 — providers, code intelligence, collab relay, and failover.

Full feature showcase — 60s landscape reel

GoatCode hitting 429 retries and switching to a fallback provider mid-turn, finishing the answer
429 retries → ⇢ switched provider → answer

pty-captured recordings of the real TUI — real renderer, real agent loop, never a mock-up.

Mid-turn failover

Quota dies at 2 AM?

GoatCode retries the provider, walks your fallback chain live — switches, says so, and finishes the answer. No crash, no lost context.

The switch is sticky: the next launch starts on the provider that worked.

goat config set fallback-models \
  '["openrouter/claude-sonnet","groq/llama-3.3-70b",
   "deepseek/deepseek-chat"]'

Background work gets its own budget too: set small_model and compaction + explore-subagents route to the cheap model while your main turn stays on the frontier one.

Why GoatCode

Coding agents are great until they
ask you to subscribe to them.

Your terminal, your keys, your existing plans. Not a comparison chart trick — every cell is a feature you can test in sixty seconds.

▄███▄ GoatCode v3Claude CodeCodex CLIOpenCode
Cost to start$0, MIT + free built-in modelproprietaryproprietaryMIT
Providers180+ + any compatible endpointAnthropic onlyOpenAI onlymulti
Use your existing subscriptions✓ OAuth → credentialsonly Anthropic'sonly OpenAI'spartial
Multi-repo workspace✓ native roots mapsinglesinglesingle
Code intelligence✓ tree-sitter + WASM + rankbasic grepbasic grepbasic grep
Collab & relay✓ E2E · Lamport sync · invites———
Agent-as-a-Service✓ JSON-RPC 2.0 + remote tools———
Signed plugins✓ ed25519 + bomb guards———
Config UI✓ repos · providers · models · permissions · flash · hooks · skills · plugins———
Failover when quota dies✓ built-in, mid-turn——manual
Desktop control (click/type/launch)✓ built-in———
MCP / skills / plugins✓ ✓ ✓✓ · plugins ✗—✓
Single static binary✓ Bun-compiled, 5 platformsNodeNodevarious
Prompt caching + live cost in USD✓ automatic, /costsilent—varies
/rewind — transcript + files restored✓✓——
Session search across all history✓ /search———

Features differ by vendor version — spot-check anytime: goat --help lists everything.

Log in, don't sign up

Your subscriptions, as API credentials

Browser / device OAuth — one command each. No new accounts, no extra invoices.

Claude Pro / Max
goat auth claude --oauth
ChatGPT (Codex)
goat auth codex --oauth
Gemini
goat auth gemini --oauth
Kimi
goat auth kimi --oauth
Grok
goat auth grok --oauth
GitHub Copilot
goat auth github-copilot --oauth

API-key providers too — OpenAI, DeepSeek, Groq, Mistral, Together, Fireworks, xAI, OpenRouter, Moonshot, Cerebras, Ollama, LM Studio, llama.cpp… set the usual env var or goat auth <id> --key. Any endpoint speaking OpenAI / Anthropic / Gemini wire formats slots in with goat addp. Check what resolves: goat providers --check.

Computer use

It actually drives your machine

The computer tool clicks, types, scrolls, launches apps, and reads what's on screen — vision included, screenshots go straight into the model.

Permission-gated by default: every destructive action asks — or plan/bypass modes decide per-session.

And reads are parallelized — a five-file exploration costs one round-trip, not five.

goat — zsh
> open the settings and tell me which
  extension is using the most disk
GoatCode todo planning and file tools while driving the desktop

Extensible

MCP · Skills · Plugins · Hooks

⛁ MCP servers

Add any stdio / http / sse server — their tools land beside the built-ins.

goat mcp add context7 npx -y @upstash/context7-mcp
✦ SKILL.md skills

Drop a folder into ~/.goatcode/skills/. Progressive disclosure keeps context lean. /skills lists everything loaded.

⚄ Plugins

One config line points at a directory of commands + skills. /plugin reload picks up edits live.

⛓ Hooks

Claude-Code-compatible PreToolUse / PostToolUse / Stop shell hooks. Guardrails as code, not vibes.

▤ GOAT.md

Project memory loaded into every session. /init drafts it from a real read of your codebase — commands, architecture, gotchas with file:line examples.

⟳ self-update

goat self-update swaps the running binary for the latest release atomically. The TUI hints the moment a release lands.

Toolbox

Built for the long session

⚡ Prompt caching

System prompt + tools cached between turns — repeated context bills at 10% of input price. Savings shown live in /cost.

⎿ Inline diffs

Every edit prints its colored diff the moment it lands. /rewind 4 restores transcript and files to turn 4.

🐐 GOAT MODE

Bypass permissions that actually bypasses — every tool auto-approves, mid-turn, no prompts.

⧉ /ultraplan fan-out

Decomposes a goal into parallel scout subagents, then merges one prioritized plan — dispatched in a single command.

⌕ /search

Full-text search across every saved session.

⌨ @file + aliases

@file completion and /model sonnet shortcuts.

Slash commands

Forty commands. Zero context switches.

/model
switch model, aliases
/index
build code graph
/find
ranked symbol search
/ultraplan
parallel scout fan-out
/share
start collab relay
/peers
list live peers
/handoff
pass turn-token
/marketplace
signed plugins
/rewind
back to any turn
/auth
login flow
/mcp
manage servers
/skills
list skills
/sessions
history
/resume
pick one and continue
/new
fresh session
/compact
fold context
/search
all sessions, full-text
/cost
this session, live USD
/usage
all-time dashboard
/context
token window
/doctor
health check
/init
write GOAT.md
/review
code review
/undo
revert last edits
/tasks
background jobs
/memory
show GOAT.md
/status
providers + model
/export
transcript → md
/permissions
session rules
/plugin
list · reload
/providers
catalog browse
/models
per-provider list
/config
edit settings
/rename
label a session
/leave
exit collab
/logout
drop credentials
/clear
wipe transcript view
/help
everything
/fork
branch session
/recover
crash recovery
/doctor
8-point health check
/quit
exit

shift+tab cycles ask → accept-edits → plan → 🐐 GOAT MODE (--bypass) — zero prompts, instant execution  ·  ctrl+t task panel  ·  ctrl+v attach image  ·  esc interrupt

CI & scripts

Pipe-native. Machine-readable.

Print mode reads stdin, writes JSON, and its sessions stay resumable — goat -c picks up where CI left off.

Unknown models show honest zeros and a no price known note instead of a made-up number.

$ cat error.log | goat -p "why did this fail?" --output-format json
{
  "type": "result",  "is_error": false,
  "session_id": "…",  "model": "…",
  "usage": { input_tokens: 512, output_tokens: 42 },
  "cost_usd": 0.002166
}

$ goat /usage all
all time · 41 sessions · 1,284,113 in / 204,992 out · $4.31

Quick start

Three commands to goat

01 — installnpm install -g goatcode-cli

Or zero-install: npx goatcode-cli. Any OS with Node ≥16 — fetches the right binary.

02 — run it, that's itgoat

No key? It boots Goated-Flash-Free — an embedded model, zero setup, $0. Add a provider whenever you want.

03 — level upgoat auth claude --oauth

Turn your subscription into credentials — or paste a key, /model flash flips back to free anytime.

no npm? one line from the release —
windows   powershell -c "irm …/install.ps1 | iex"
unix     curl -fsSL …/install.sh | bash
or grab a binary straight from GitHub releases —
goat-windows-x64.exe · goat-linux-x64 · goat-linux-arm64 · goat-darwin-arm64 · goat-darwin-x64

FAQ

Fair questions

Is it free?
Yes — MIT, $0 forever. You only pay whichever providers you choose (or already pay for).
Can it actually use my Claude subscription?
goat auth claude --oauth → browser login → credentials, done. Same for ChatGPT, Gemini, Kimi, Grok, and Copilot.
What if a provider dies mid-session?
The fallback chain handles it — GoatCode walks the chain mid-turn, switches, and finishes the answer. And the switch is sticky: the next launch starts on the provider that worked.
Windows?
First-class. irm | iex install, native computer-use, ConPTY-tested TUI. CI runs on ubuntu, windows and macos on every push.

Stop babysitting rate limits.

If GoatCode saved your quota an evening, a ★ is the cheapest thank-you.