There are many agent harnesses, but this one is yours

The World
Based in Austria
Today's Monday Meditations is a photo of a rock sculpture someone at Earendil built in Austria
8
1
129
15,913
Welcome to our Monday Meditations! 🌞 @badlogicgames and @mitsuhiko are chatting about self modifying software and harnesses.
12
26
392
37,796
Welcome to our Monday Meditations! 🌞 Today @badlogicgames and @mitsuhiko are talking why we built Pi Durable, a harness build around a small task-based workflow engine so long-running, multiplayer agents can suspend and resume anywhere. Also: why not Temporal or Effect.ts.
42
60
891
119,058
Welcome to our Monday Meditations. In which @badlogicgames and @mitsuhiko are talking about things that might or might not need to change in Pi given the changes in models.
15
12
352
56,539
Hi people of Pi. Greetings from Vienna. Enjoy your weekend and spend some time with humans. And consistent with that message, we're moving our Sunday videos to Monday.
8
2
315
15,873
Good afternoon from Vienna People of Pi ☀️ Some slightly different Sunday meditations today in which @mitsuhiko talks about some shared frustrations with agentic software engineering. Remember that you're not alone in finding it harder than it looks!
31
45
494
55,652
"Pi reaches the Pareto frontier on both benchmarks by providing just four tools: read, write, edit, and bash. To understand how harness design affects spending, we examine costs across completed attempts, recorded turn counts, and initial context." Sharing this analysis on the Harness Tax by @MelissaPan and others. harnesstax.github.io
37
73
1,234
135,893
Good morning from Vienna People of Pi🌞 Sunday meditations today from @badlogicgames and @mitsuhiko Among other things: - agents that generate too much code poison their own context (slippery slop) - code matters wherever control matters - unreadable code from Astra
19
14
485
73,905
When code is abundant quality becomes the differentiator, but what is good code? New blog post from Earendil engineer @SebastianBaye on why quantifying the ‘sloppiness’ of code is difficult, which eval methods don’t work well, and what metrics matter. Link to the post below
23
37
717
50,304
A cache miss happens when a model has to re-read (and re-charge you for) text it had already processed before. This can be caused by:  - switching models  - idling past 5mins - editing earlier threads Pi can notify you when this happens and how much it costs!
47
48
1,148
83,239
Gpt-6-astra is @OpenAI’s latest model. Astra is said to be their most intelligent model so far, with frontier leading capabilities for computer use. Have you tried it? What are your thoughts so far? If you haven’t, give it a try in Pi today!
26
5
298
29,448
Pi lets you pass a project directory (cwd) to createAgentSession(), to help scope where tools should work. Tools like read, grep, find and ls efficiently resolve in that project, and the session picks up the projects AGENTS.md and skills. Here’s the code to try this out
10
14
377
27,206
Good morning from Vienna People of Pi🌞 Sunday meditations today from @badlogicgames and @mitsuhiko - change the harness, not your workflow - harness, know thyself - agency to build the features you need when you need them *clip from February with our friends @syntaxfm
18
20
584
43,909
Extensions are one of Pi’s most loved features! They are TypeScript modules that extend pi's behavior. Here’s an example of an extension that: - git commits a checkpoint before every turn - gives the model a run_tests tool - adds an /undo command to roll the session back
12
16
482
34,271
Pi v0.85.0 is out 🥳 New QOL improvements you’ll notice in this version: - persistent per turn Claude thinking effort and safe recovery from signed thinking mismatches - better fullscreen transcript navigation and controls - faster transcript search on long sessions
18
20
446
29,646
Pi is a tool for more than just engineers! New blog post by Earendil Founders Associate @jakob_ebe, sharing his experience as a non-technical member of our team. Jakob walks through his thoughts getting started and how he customized Pi to make it his own. Link to blog below!
16
26
461
37,662
Tips to get the most out of /tree:   - shift+l: label checkpoints  - ctrl+o: cycle through to view session trees in default mode, with no-tools, user-only or labeled-only views - ctrl+l: collapse to just checkpoints Here’s an example workflow of how to use these
19
26
455
29,983
Pi now has 100000 stars on GitHub⭐️Thank you People of Pi for your contributions and support. The community is growing faster than ever! Pi v2 coming soon…
131
141
2,971
262,527
ICYMI, Pi now has a thinking level selector.   - Use the /thinking slash command - pick a level and Ctrl+S to make it your startup default. - use Shift+Tab to cycle through levels mid-session
40
20
632
41,232
Good morning from Vienna People of Pi ☀️ Sunday meditations from @badlogicgames and @mitshuko - LLMs seem to be improving for looping but not much elsewhere - Over RLing on some harnesses can cause regressions - Open weight models are not a panacea but can be a valid option
13
16
351
32,594
Pi 0.84.4 is out🥳 3 updates we’re excited for you to try:    - Compaction now runs between large tool results and the next reply, in the same run  - DeepSeek V4 Flash Vision  - Terminal overrides for hyperlinks, images and true color Run pi update for the latest
33
29
775
61,963
This week, our team listened in as @theo, creator of T3 Chat, explored whether code is all you need for memory 🎧 Theo walks through a clip of Mario and Armin discussing this and more. He also shares some thoughts on Pi! Great for a Friday listen. Link below. We recommend!
10
11
299
40,708
Lead Engineer, Scott Fryxell, used Pi to move most of his client work to DeepSeek, dipping into Fable only when necessary. By primarily using ‘commodity models’ he only needs two $20 plans for his total usage. Read how Pi became “the most important piece” of Scott’s rig below
41
158
2,526
197,948
Pi comes with 15+ providers and hundreds of models. If you have some favorites you find yourself coming back to, you can make a shortlist. Use /scoped-models to select the models. Then Ctrl+P to cycle through them. What’s your current favorite model combo?
21
18
359
27,083
Pi lets you register custom slash commands! Here’s an example of adding a /deploy command. Start with pi.registerCommand(“deploy”) followed by - description: shows up in the command menu - getArgumentCompletions: tab-autocomplete -handler: the code that runs Docs below
9
24
368
25,618
Ox Alpha is currently the most popular model on @OpenRouter and is free to use! A reasoning model designed for coding, sustained agentic work and production workloads. 1M token context window, with support for text, image and video input. Try it out in Pi today
35
39
863
75,699
Good morning from Vienna People of Pi🌞 The usual Sunday meditations from @badlogicgames and @mitsuhiko - Understand the consequences of your code design - Avoid being purely performative - Aim to create value
13
25
364
22,895
ICYMI, pi-transcribe is our official package for local speech-to-text dictation in Pi🗣️ Once you install it: - type /transcribe - select a local model and language - run CTRL + ALT + Z to start or stop dictation Are you a typer or a talker?
30
44
886
52,239
This week we read research from a team of academics that ran a software task across 7 agents and 5 models. They found that in domains with a mature CLI ecosystem, agents without MCP baked in completed the task just as reliably and were 5-28x cheaper. Full arXiv paper below
74
150
2,166
330,611
A harness turns a model into an agent. At it’s core it provides 4 things: - a system prompt - tools - an agentic loop - a translation layer across models New blog post from Earendil co-founder @colindaymond on what a harness is, and how you can own yours. Full post below
43
198
2,631
425,876
Pi can create skills! At startup, Pi scans skill locations and extracts their names and descriptions. When a task matches, the agent loads the full SKILL.md into its context. This is progressive disclosure. Here’s an example of a commit skill. What skills have you made in Pi?
21
23
557
32,139
Last week Pi v0.84.2 came out🥳 This version comes with - fullscreen transcript search: hit Ctrl+Shift+F to search your whole session - Configurable default tools: pick your startup built-ins, globally or per project And more! Run ‘pi update’ to get the latest!
17
16
489
36,018
One way you can you extend Pi is by building extensions for event interception. An example of this is adding guardrail permission gates that block or modify dangerous tool calls. Here’s the code you can use to ensure your agent confirms with you before running ‘rm -rf’
24
28
561
40,903
Good morning from Vienna People of Pi 🌞 Sunday meditations from @badlogicgames and @mitsuhiko - On memory: code is the truth - Bash is all you need - Build context efficient tools
59
148
1,839
467,354
LLMs are non-deterministic. Pi turns your sessions into a tree you can use to time travel and explore different outcomes. Try out: - /fork: new session from a past message - /tree: navigate the session tree and continue from any point - /resume: reopen a previous session
25
48
984
63,543
This week we listened to an episode of @whiskeywebfm where @joelhooks, founder of @eggheadio, shared how he’s using Pi. Joel dives into his setup, extensions and the parts of Pi’s philosophy he loves most. Link to full episode below. We highly recommend!
2
5
116
16,364
ICYMI refresh your model catalogs. Grok 4.6 is out 🛸 Built for long-running agent tasks, with stronger capabilities across coding, knowledge work, and visual tasks. $2/M input and $6/M output. Welcome Grok 4.6 to Pi.
Introducing Grok 4.6. It delivers frontier intelligence and is a significant improvement over Grok 4.5 at the same price.
11
14
284
238,354
LLMs have a limited context window. When conversations grow too long this affects output quality, performance and cost. New blog post from Earendil engineer @vegardstikbakke on how compaction addresses this and how we’ve implemented it in Pi. Read the full post below
34
152
2,079
263,711
Extensions allow you to customize Pi in many ways, including UI! For example using ctx.ui.setWorkingMessage(“phrase”) and ctx.ui.setWidget(“pi-anim”) let you replace Pi’s default “Working…” message with your own phrases and animation. How have you customized Pi?
24
18
557
38,516
Nvidia Nemotron 3.5 Lightning delivers leading accuracy on agentic coding tasks and up to 4x the speed of comparable open models. With open weights, datasets, and recipes, Nemotron is open and easy to customize. Welcome to Pi, Nemotron 3.5 Lightning!
Introducing NVIDIA Nemotron 3.5 Lightning⚡ An open 30B MoE model with 3B active parameters, built for always-on agents to complete high-volume, specialized tasks faster. It delivers up to 4x the output speed of similar-sized models.
11
15
385
33,202
Pi has 4 modes: - TUI - SDK - Print - RPC Here’s an example of asking Pi TUI to build a script that wraps Pi print mode (pi -p “query”), which turns prompts into a shell command, shows it to the user and after confirmation runs it. Great for scripting Pi into workflows!
31
53
975
53,080
Pi ships with 4 built-in tools: - read - bash - edit - write These tools are mostly all you need for an effective coding agent. Models know how to use bash and can do more than you think with the basics. Here's the code to add these primitives to your app using Pi’s SDK.
67
95
2,159
273,606
Good morning from Vienna People of Pi ☀️ Sunday meditations today from @badlogicgames and @mitsuhiko - friction is useful - understand your code structurally - being in the code keeps quality high
7
10
243
21,825
Our sessions have been messaging each other for months btw ;) @nicopreme’s pi-intercom extension makes it easy for one session to pick up where another left off. Open source Pi packages mean there are multiple ways you can customize Pi. Link to this package and more below.
New Pi extension: pi-intercom. A simple way to see active Pi sessions and chat with them directly. Press `alt+m` or `/intercom` to DM other active Pi sessions in any folder. Great for handing off context or getting some help from another session. pi install npm:pi-intercom github.com/nicobailon/pi-int…
34
96
1,513
129,164
We’ve been excited to see so many people using and building on Pi. This week we listened to Scott Gerring from @datadoghq share how he configures Pi for his work. Start minimal, notice when you hit friction and ask Pi to remove it. Link to full episode below. We recommend!
21
24
451
29,012
Pi 0.84.0 is out🥳 A quick tip for getting a detailed view of everything that’s new, including: - full screen mode - mermaid charts - windows improvements, and more run ‘/changelog’ in Pi, then use ‘/compact’ to get a short summary of the highlights.
People of pi: a significant new release, 0.84.0 is out. In settings you can now turn on fullscreen (alt screen) mode. Pi now also renders LaTeX formulas and mermaid charts in the transcript. Also in this release: improvements for Windows support. Also: AGENTS.override.md support!
17
25
452
35,080
DeepSeek V4 Flash is Ollama's fastest growing model ever in token usage, and the most popular model on OpenRouter this week. It’s available in Pi across a range of providers. If you’ve never tried an open weight model in an open source harness, this is a good time to start.
49
48
757
50,211
Over the past few months Pi has consistently shown up in benchmarks as the best harness for both cost and performance. Earendil engineer @cristinaponcela examines case studies from @databricks and @Shopify highlighting why Pi’s minimalism is the advantage. Blog post below
30
104
1,341
128,249
In Pi, extensions allow you to subscribe to lifecycle events, register custom tools, add commands, and more. Here’s an example of using the Pi SDK to register a custom tool. Pi loads the tool name, description and parameters. The model can then call the tool when needs it🛠️
17
24
460
25,857
Good morning from Vienna People of Pi🌞 Sunday meditations from @badlogicgames and @mitsuhiko - A good engineer says no a lot - Keep complexity low - The learning process gives you authority
13
23
399
28,574
Pi helps you use tokens as efficiently as possible. Here’s a cheatsheet of commands to try: - /session: shows token use, cost, messages - /compact: summarizes context. Send a message with it to steer the summary - tune compaction in your settings json file for more control
12
23
606
37,885
Recommended Friday listening from our team🎧 This past week we tuned into The Next Token where @dillon_mulroy shared how he’s customized Pi for his workflow. An excellent conversation with some of our friends from @Cloudflare. Link to the full episode below
3
9
135
14,294
We value open source, a large part of which is about freedom to explore, understand and experiment. New blog from our team on how many providers are not choosing this path, and how a growing lack of transparency hurts us all. Read ‘The Session You Cannot Take With You’ below
A post of ours on vendor lock in and LLMs. We don't like the growing trend of AI companies quietly hiding your data while stripping away your control. We think that's bad for users and bad for the ecosystem. Here's are our thoughts: earendil.com/posts/session-p…
8
27
385
46,796
Did you know you can run Pi from your phone? Pi runs on Android via Termux, a terminal emulator and Linux environment! Here’s Pi on mobile, spinning up a calendar reminder🗓️ We’ve loved seeing Pi run on phones, Raspberry Pi’s, IPads and more! Docs on how to try it out below.
30
23
367
23,965
People of pi a small update for you all. 0.83.0 comes with a various fixes and improvements. pi.dev/news/releases/0.83.0
5
10
185
12,937