“Should I actually leave Claude Code for Pi, or is ‘Goodbye Claude, Hello Pi’ just another Hacker News mood?”
That landed hard after Caleb’s post (21 Sep 2026, updated 07 Nov 2026). Multi-tab IDE selection broken for months. Roughly 244 releases in a year, many rewriting the system prompt and tools. Default Bash tool text chewing nearly 3,000 tokens on git/PR lectures models already know. Anthropic shipped AGENTS.md support the day after he decided to leave. He still left. You don’t have to – but if you’re curious, here’s the path that got me to a working Pi session on a real repo without deleting Claude Code.
What “Goodbye Claude, Hello Pi” actually means
Pi is a terminal coding agent loop: model in, tools out – read files, edit code, run shell. The earendil-works/pi README (MIT) keeps the default set at read, write, edit, bash. Docs and community put system prompt + tool defs under roughly 1,000 tokens. You reshape the loop; it doesn’t reshape you.
Claude Code stays Anthropic’s product – permission modes, sub-agents, plan mode, IDE deep links, Claude-only, bundled with Claude plans. Pi costs $0 for the software. You bring the model: Anthropic API, Claude subscription via login flows, OpenAI, Copilot, OpenRouter, Ollama, more. As of early November 2026 the repo sat north of 120k GitHub stars; npm @earendil-works/pi-coding-agent sat around 1.5.x after Pi 1.0 landed ~1 Oct 2026.
Fatigue, not hate: a vendor loop that keeps moving while the token tax stays high. Pi bets on a stable core and extensions you own. Caleb’s multi-tab IDE fix is the proof point – same bug open for months in Claude Code; he shipped a Pi extension in about twenty minutes (his footnotes).
Practical setup: install and first session
Leave Claude Code installed. Pi doesn’t need the throne on day one.
Install – paths from the pi.dev quickstart:
# macOS / Linux
curl -fsSL https://pi.dev/install.sh | sh
# Windows PowerShell
powershell -c "irm https://pi.dev/install.ps1 | iex"
# npm - Node.js 22.19+ required (installer can provision Node; plain npm will not)
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
pi --version
Installer pins deps and supports pi update. Older Node on the npm path is the classic first-hour faceplant – cryptic failures, not a friendly error.
- cd into a non-critical project.
- Run
pi. /login– provider, subscription or API key./modelif you don’t want the default.- Small task:
Explain how this repo is structured and how to run its checks.
Pi streams every tool call. No per-call approval prompt. You review the diff. Resume with pi --continue or /resume.
Pro tip: Root
AGENTS.mdfor non-negotiables (test command, don’t touch.env, language rules). Pi also picks up CLAUDE.md-style context while walking parent dirs, so migration is often rename-or-symlink – not a full rewrite. Global copy can live at~/.pi/agent/AGENTS.md; optional.pi/APPEND_SYSTEM.mdor full replace via.pi/SYSTEM.md(replace only if you know what you’re deleting).
Advanced usage after the honeymoon
Ownership starts here.
- Extensions / packages –
pi installfrom npm or git. TypeScript extensions add tools, slash commands, even virtual model routers. - MCP / Codemode – since the 1.0 line, MCP rides a sandboxed scripting path so full tool schemas need not sit in every prompt (as of late 2026 docs; confirm on your build).
- Print / JSON –
pi --print "..."or JSON event streams for scripts and CI. - Local models – point
models.jsonat Ollama, LM Studio, llama.cpp, or vLLM OpenAI-compatible endpoints.
Claude-habit bridges (transcript import, subscription auth helpers) exist as community packages. Third-party code – read it before pi install.
CLI gotcha since ~1.1.0: --tools rejects mixing plain tool names with +name/-name modifiers. Explicit list or modifiers alone. Mix them and validation fails.
There’s a moment, usually day two, when the model doesn’t feel smarter – the loop just got quieter. More of the context window is your repo, not a vendor essay about opening a PR.
Honest limitations (read before you live in it)
Treat model-generated commands as untrusted. That’s the line from Pi’s security docs – not a blog hot take. Pi runs as the launching user. No approval gate on every tool call. No built-in filesystem, network, or credential sandbox.
The catch is project trust. It only gates loading that folder’s .pi settings, packages, and extensions. Answer “no” and bash still has your full user rights. Watching the transcript does not create a boundary either. Untrusted repos, unattended runs, machines stuffed with cloud keys: container, VM, or dedicated OS user. Official guidance.
Other traps:
- Batteries-not-included – sub-agents, plan mode, rich permission UIs are extensions or something you ask Pi to build.
- Prompt injection via AGENTS.md, comments, or tool output can’t be fully blocked. Load trusted projects and extensions only.
Want guardrails and one vendor on the hook inside Claude models? Claude Code is still rational. Want a short prompt, multi-provider freedom, and code you can fork? That’s the switch the viral title points at.
FAQ
Do I have to uninstall Claude Code to try Pi?
No. Install beside it, poke a side project, decide later. They don’t share one global command.
What happens to my CLAUDE.md files?
Keep them during transition. Pi loads AGENTS.md and can still see CLAUDE.md-style files while walking directories – a common pattern is symlinking AGENTS.md to the shared rules file you already trust. Project replace/append lives under .pi/. After edits, /reload or restart. Load order can shift by version; when unsure, check configuration docs for the build you actually installed.
Is Pi free if I still want Claude-quality models?
The runner is MIT and free. Tokens aren’t. Anthropic (API or supported subscription login), OpenAI, someone else, or local weights – you pay that bill. People usually “save” on a smaller system/tool tax and fewer surprise loop changes, not on magic zero-cost inference. Run a week of similar tasks on both sides. Compare the invoice. That number beats any tweet thread.
Pick one repo you can afford to bruise. Install, /login, one “summarize structure + how to test” prompt tonight. If the quiet context and four-tool loop stick, write the extension that would have made Claude Code tolerable – the twenty-minute kind. That’s the real Hello Pi.