explainx.ai0k
TrendingAI News TodayPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

follow on google

Add explainx.ai as a preferred source

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

community

Join the community

learn

mind: share how you thinkpathways — start freeworkshopsbootcampscoursescompare Explainxcertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsmdx readeragentsllmsdesignsdictionarypeopleagi trackerfelony benchranks

company

aboutvisionmissionteaminstructorsteach on explainxpartnershipscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportcontactprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

explainx.ai

On this page

  • What should I actually do with Pi 1.0?
  • What 1.0 actually added (one table, then we leave the changelog)
  • Why do people pick Pi over Claude Code or Codex?
  • Vanilla Pi or oh-my-pi — who pays the token tax?
  • Why is fullscreen the default — and should I turn it off?
  • Is Anthropic cache warming "not minimal"?
  • What is Pi Durable actually for?
  • TypeScript vs Rust, and why Armin's "trained-on Codex" line matters
  • Commands you can run today
  • Honest limitations
  • Bottom line
  • Related reading
← Back to blog

explainx / blog

Pi 1.0 and Pi Durable: How People Actually Use a Minimal Harness

Pi, Agent Harnesses, Earendil, Coding Agents, Developer Tools

Earendil shipped Pi 1.0 and experimental Pi Durable on Oct 1, 2026. Why people pick a tiny harness, fight fullscreen, and run agents as daemons.

Oct 2, 2026·14 min read·Yash Thakker
add explainx.ai
go deep
Pi 1.0 and Pi Durable: How People Actually Use a Minimal Harness

Earendil tagged Pi 1.0 on October 1, 2026 and, in the same newsletter, published experimental Pi Durable — a library for agent sessions that outlive a terminal tab. The launch hit Hacker News at 932 points and 307 comments. That thread is the useful document. People were not asking for a feature matrix. They were arguing about how a minimal agent harness actually gets used: tiny prompts, local Qwen, inspectable session files, oh-my-pi batteries versus vanilla, fullscreen versus native scrollback, cache warming, and whether Durable is a Slack/Kubernetes daemon or just another coding CLI.

This is not a rewrite of the June Pi onboarding guide. It is not a second pass at the September 29 MCP / Codemode reversal. 1.0 is the moment those earlier bets hardened into a version number — and Durable is the moment the same loop leaves the TUI.

Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.

What should I actually do with Pi 1.0?

table · 2 cols
QuestionDirect answer
Is this a new product?No. Pi 1.0 is the same small TypeScript harness, with features that waited until they proved themselves. Durable is a separate experimental package.
Do I need to rewrite my extensions?Unlikely if you stayed on skills, CLIs, and TypeScript hooks. Re-check MCP + Codemode if you still carry a third-party MCP extension — that story is in the Sep 29 reversal.
Claude Code or Codex instead?Use those when you want a sealed daily driver. Use Pi when you want to see the prompt, the cost, and the session file, and change them.
Vanilla Pi or oh-my-pi?Vanilla if the ~6% start-of-session context tax bothers you. omp if you want LSP, hashline edits, and more tools than the core ships.
Do I need Durable?Only if the agent must keep running after you close the TUI — Slack, a cluster, a phone over Tailscale, a CRM, a daemon. Not for "edit this file."
Are the user-count claims solid?No. Treat "hundreds of thousands weekly" and the Wheen npm/stars/OpenRouter numbers as unverified marketing. The product argument does not need them.
Install today?curl -fsSL https://pi.dev/install.sh | sh (macOS/Linux). Windows PowerShell: irm pi.dev/install.ps1. Docs: pi.dev.

What 1.0 actually added (one table, then we leave the changelog)

Earendil's stated philosophy is still wait until a feature proves itself. Codemode and native MCP landed in an essay earlier that week. 1.0 is the hardening pass, not a second manifesto.

table · 3 cols
1.0 pieceWhat it is forWhat it is not
CodemodeHarness-side JS that composes MCP tools and non-LLM decision models such as Jev, plus image models, without stuffing every schema into every turnA replacement for bash, or a reason to dump 40 MCP servers into a coding session
Virtual model extensionsSwap or wrap models without forking the loopA new model vendor
Deferred tool loadingTools enter context when neededProof that your 80-tool MCP host is now cheap
Cache warming (Anthropic)Prefix-friendly turns so cached tokens actually fireFree tokens; see context caching in harnesses
Mid-conversation system messagesTranscript-aware prompt and tool changes mid-sessionA license to mutate the system prompt every turn
New TUI theme + fullscreen defaultA full-screen coding surfaceUniversal love — HN split hard on this

If you need the component model (loop, tools, context, sessions), stay on the June guide and the harness pillar. The rest of this post is the October argument.

Why do people pick Pi over Claude Code or Codex?

The October thread, and months of comments before it, converge on four properties. None of them is "more tools."

The system prompt is small. That is the whole product thesis. A small prefix is cheaper, caches better, and leaves room for your repo instructions. It is also why a 7B–32B Qwen local model can stay useful: there is leftover context for the file you actually opened. Heavy product harnesses spend that budget on their own chrome before the first user token.

Context, cost, and session files are inspectable. People who left Claude Code or Codex for Pi keep saying they can see the turn: what went into the model, what it cost, which JSONL/session file to diff. That is context / prompt / loop / harness engineering as a daily habit, not a blog category. If you cannot open the session, you cannot debug the harness.

The TypeScript is supermalleable. Earendil's answer to the language debate is blunt: TypeScript is how you bootstrap and how the agent rewrites its own harness. Rust fans on the thread wanted a rewrite for speed and a smaller binary. The counter is not "TypeScript is faster." It is "the coding agent can patch the loop you are sitting in." That is a different optimization target than a sealed Rust TUI.

Local models are first-class enough to try. Nobody claimed Qwen matches a frontier coding subscription. They claimed Pi does not immediately make a local model unusable. That is a harness property: prompt size, tool-schema load, and how much of the window the product steals.

If you picked Pi last spring because it advertised no MCP, that sentence is gone. Upgrade, leave MCP unconfigured if you still want CLI-plus-skills, and read the reversal once — then stop re-litigating 2025 MCP.

Vanilla Pi or oh-my-pi — who pays the token tax?

oh-my-pi (omp) is the batteries-included fork: hash-anchored edits, LSP, more providers, more tools. The October thread put a number on the obvious trade. Commenters measured roughly 6% of context used at session start on omp versus vanilla Pi.

That tax is not a bug. It is the prompt and tool list that make edits stick and renames propagate. The question is whether you are buying those tools or inheriting someone else's chrome.

Practical split we would actually run:

  • Stay on vanilla Pi 1.0 if you chose Pi for the tiny prefix, you run local Qwen, or you already have skills that cover LSP-ish work.
  • Use omp if your failure mode is "the model cannot apply the diff" or "rename missed half the repo," and you will watch the context meter.
  • Do not run both mental models at once. omp is not "Pi plus a theme." It is a different default prompt. Measure start-of-session tokens the same way you would measure cache hits.

1.0 does not make omp obsolete. It makes the tax easier to explain: the core is now willing to ship Codemode and cache warming, and still refuses to become a 32-tool IDE in the default install.

Why is fullscreen the default — and should I turn it off?

Diagram of a small terminal agent harness with optional extensions, reused as the visual for Pi 1.0's still-minimal core

Fullscreen-by-default is the change that made people angry in a way Codemode did not. The argument is not aesthetic.

A native terminal keeps scrollback in the emulator. You search it with the same keybindings as less. You copy a stack trace without fighting a widget. A fullscreen TUI owns the alternate screen. History lives in the app. That is fine in iTerm if the app's history is good. It is hostile if you live in tmux, screen, or a Linux framebuffer and expected the kernel's scrollback.

Two concrete reports from the thread, treated as bug reports not as a review score:

  • History-jump. Jumping through prior turns did not always land on the turn people thought they selected. That is worse than an ugly theme. It breaks the inspectability story above.
  • ANSI blink inside screen. Fullscreen plus screen produced blink artifacts. If your remote workflow is SSH → screen → Pi, test 1.0 before you tell the team "just upgrade."

Earendil shipped a new theme in the same breath. Themes are cheap to revert. Fullscreen-as-default is a values statement: Pi wants to look like a coding product, not a thin wrapper around /usr/bin/less. If you adopted Pi as "the harness that stays out of the way of my terminal," flip the default and file the history-jump if you can reproduce it. Do not treat the HN pile-on as a spec. Treat your multiplexer as the spec.

Is Anthropic cache warming "not minimal"?

Cache warming is the other purity fight. One camp says a minimal harness should not special-case a provider. The other camp says prefix stability is table-stakes in 2026, and a harness that "forgets" to warm Anthropic's cache is leaving money on the table.

Both are right about the mechanism. Google's harness-caching writeup is the general rule: if the static prefix moves, or you never send a long-enough invariant prefix, you transmit full tokens and then conclude "caching did nothing." Warming is the boring work of making the first turns look like the later turns.

Pi 1.0 adding Anthropic-specific warming is a product choice, not a philosophy collapse. It is the same class of decision as deferred tools: the core stays small, the loop learns a provider quirk that every serious coding agent now needs. If you want zero provider branches, you will reimplement warming in an extension and then discover why they upstreamed it.

Pair this with mid-conversation system messages. Those let you change prompts and tools without pretending the transcript is still the original system prompt. That is how you keep a cache-friendly prefix and steer a long session. It is also how you shoot yourself in the foot if every turn rewrites the system message and busts the cache on purpose. Use it when the task changed. Do not use it as a hidden todo list.

What is Pi Durable actually for?

Pi Durable is experimental, MIT-licensed, and not the TUI. Install:

bash
npm install @earendil-works/pi-durable @earendil-works/pi-ai @earendil-works/chord

Mario published a separate writeup on Durable (read that; this post will not paraphrase a second changelog). The HN use cases are the interesting part. They are not "run pi in the background."

Slack or Kubernetes sessions. The agent is a process with a durable transcript, not a laptop tab. You attach from wherever you are. The failure mode is the same as any long-running agent: unbounded tool loops, secrets in the environment, and nobody watching the channel at 3 a.m. Durable does not invent a permission popup Pi refused to ship. You still bound blast radius with project trust, containers, and a human on the other end of Slack.

Phone via Tailscale. People already SSH home and run Pi. Durable is the version of that story where the session is not tied to one PTY. Tailscale gets you onto the host; Durable keeps the agent state when the phone sleeps. This is a homelab pattern, not an enterprise MDM story.

CRM and daemon agents. A session that updates records, nags a queue, or watches a deploy is an application. That is closer to "agentic app" than "coding CLI." Commenters compared it to OpenAI Dots in the "always-on helper" sense, not as a feature-for-feature clone. Name the difference: Dots is a hosted product. Durable is a library you run. You own the process, the disk, and the incident.

When not to reach for Durable. Editing a pull request, exploring a repo, or teaching yourself the harness layer still belongs in the 1.0 TUI (or omp). Do not promote a coding session to a daemon because the version number is 1.0.

TypeScript vs Rust, and why Armin's "trained-on Codex" line matters

The language debate is perennial and mostly beside the daily-driver question. Rust fans want memory safety and a single static binary. Earendil's stated reason for staying on TypeScript is bootstrapping and self-modify: the same models that write your app can write the harness. A Pi session that patches extensions/ is the demo. A Rust rewrite that the model cannot safely edit is a different product.

Armin's comment in the thread is the other half of 1.0. Labs follow what models are trained on. If post-training data is full of Codex-shaped tool loops and "codemode" sandboxes, a minimal harness that refuses those shapes will look worse on the same weights — not because the philosophy is wrong, but because the model keeps reaching for a missing primitive. That is why Codemode arriving the same week as 1.0 is not random. It is the MCP reversal plus an admission that "omit everything the labs invented" is no longer a free lunch.

You can still omit MCP. You should not omit the idea of harness-side composition if you are calling classifiers like Jev or image models from the same session. Those are not bash.

Commands you can run today

bash
# Pi 1.0 CLI — macOS / Linux
curl -fsSL https://pi.dev/install.sh | sh

# Windows PowerShell
# irm pi.dev/install.ps1

# Confirm you are not still on a June mental model
pi --version

# Durable is a library, not a second CLI name
npm install @earendil-works/pi-durable @earendil-works/pi-ai @earendil-works/chord

After install: /login or provider keys, same as the June guide. If you use MCP, let Codemode load and keep the server list short. If you do not, leave it off. Source of truth for flags is pi.dev. The tree is earendil-works/pi on GitHub — named here, not linked.

Honest limitations

  • User counts are not facts. Earendil said hundreds of thousands of weekly users. A commenter (Wheen) countered with about 3.6 million weekly npm, 110k GitHub stars, and an OpenRouter rank. We are not treating any of those as audited. npm weekly can count CI. Stars are not seats. OpenRouter rank is one proxy among many. The 932-point thread is a better demand signal than the press numbers.
  • Durable is experimental. MIT is the license, not a stability promise. Do not put a production CRM agent on it without your own supervision, persistence tests, and a kill switch.
  • Fullscreen, history-jump, and screen blink are thread reports, not a QA matrix from explainx.ai. Reproduce on your multiplexer before you write a team wiki.
  • Cache warming is Anthropic-shaped in the 1.0 note. Other providers still follow their own prefix rules. Read the caching guide before you assume one warmer covers Gemini and everyone else.
  • This is not a substitute for the MCP essay. Composition, deferred tools, and Jev-in-Codemode are covered in the Sep 29 post. 1.0 assumes you already decided whether MCP belongs in your loop.
  • explainx.ai has not load-tested Durable in CI. Use cases above are how the thread and the newsletter framed the library.

Bottom line

Pi 1.0 is Earendil saying the small harness is no longer a prototype: Codemode, deferred tools, cache warming, and mid-session prompt edits earned a version number. Pi Durable is them saying the same loop can sit under Slack, a cluster, or a phone, without pretending that is still a TUI problem.

Pick vanilla Pi when you want to see every token. Pick oh-my-pi when you will pay ~6% up front for batteries. Turn off fullscreen if your terminal is the product. Reach for Durable only when the session must outlive the tab. Keep the model swappable. That rule survived 1.0.

Related reading

  • Pi adds MCP and Codemode (Earendil reversal, Sep 29) — why MCP entered core; do not re-read as a 1.0 changelog
  • Pi: Mario Zechner's minimal coding agent (June 2026 guide) — install path, tree sessions, four runtime modes
  • What is an agent harness?
  • oh-my-pi (omp) — batteries, hashline edits, the token-tax trade
  • What is MCP?
  • What are decision models? — the classifier category Jev belongs to
  • DeepSeek Harness desktop — plugin-first dock app vs Pi's tiny core
  • Jev / System One models — the non-LLM classifier Codemode is meant to call
  • Context caching in agent harnesses
  • Context, prompt, loop, harness stack
  • Browse explainx.ai loops · MCP servers · Skills

Sources

  • Earendil newsletter, October 1, 2026 (Pi 1.0 and Pi Durable announcement)
  • pi.dev documentation
  • Hacker News discussion of the 1.0 / Durable launch (932 points, 307 comments)
  • Mario's Durable writeup (named; read on Earendil / Mario's own site)

Pi 1.0 defaults, Durable APIs, and install scripts are described from the October 1, 2026 Earendil newsletter and the public thread. Confirm pi --version, fullscreen settings, and package names on pi.dev before you change a team image.

Spotted something out of date? Let us know.
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

View Yash Thakker in People in AI →

Related posts

Oct 1, 2026

Pi Adds MCP — Earendil Reverses "No MCP" With Codemode

Pi.dev used to advertise that it did not support MCP. On September 29, 2026 Earendil shipped MCP in core, wired through Codemode, so agents can compose MCP tools in a harness-side JavaScript sandbox instead of dumping every tool into context. Here is what changed and what to do if you picked Pi for the old "skills + CLI" rule.

Sep 28, 2026

Hindsight: The Open-Source Memory System That Makes Agents Learn, Not Just Recall

Most "agent memory" is RAG with extra steps: embed the chat, vector-search it, hope for the best. Hindsight, from Vectorize.io, takes a different bet — biomimetic memory types, a retain/recall/reflect loop, and observations that get refined rather than overwritten. 38,000 GitHub stars in, here's what it actually does, how to run it, and where the claims need a second look.

Sep 28, 2026

Paperclip: The Open-Source App for Running a Company Made of AI Agents

20 Claude Code tabs open and no idea which one is doing what — that's the problem Paperclip exists to solve. It's not another agent framework; it's the org chart, budget, and governance layer that sits on top of the agents you already have. 90,500 GitHub stars in, here's what it does, how to run it, and where the "not a chatbot" pitch is worth a second look.