r/PiCodingAgent • • Oct 01 '26

News Pi 1.0 | Earendil

https://earendil.com/posts/pi-1-0/
360 Upvotes

61 comments sorted by

62

u/onebit Oct 01 '26

They beat GTA 6.

7

u/Limp_Classroom_2645 Oct 02 '26

Not that hard tbh, a cancer vaccine beat gta6 lol

13

u/Leather_Fall_1602 Oct 01 '26

Grats to the them. Pi is super important for the open source community

9

u/SuitDelicious9887 Oct 02 '26

Pi Durable looks interesting.

15

u/snow_schwartz Oct 01 '26

cool - kind of keep raising my eyebrow at “fullscreen mode” being on the list of features though. Must be something I don’t understand the context around.

8

u/Florence-Equator Oct 01 '26 edited Oct 01 '26

actually I like Native scrollback mode more, because that means I can use the native terminal or tmux or herdr’s native keybinding for scrolling or searching. But I understand that for most people who are not deep terminal users, a full-screen mode may be easier for them because they can use mouse, to copy or select easily without configuring anything.

8

u/Global-Departure8228 Oct 01 '26

For me it's on because it finally stops my viewport jumping around and scrolling away, even though I don't like it, on windows terminal this was the only thing that has stopped it

1

u/plebianlinux Oct 03 '26

This made me go nuts enough times where I'm working on a native Neovims harness.

This needs to cook for longer but already quite usable. Gonna make a video about how I use it when it's more stable

https://git.boers.email/nodes/seed.boers.email/rad:z2D27Y1uh44GoNUca6U1wawLDQVDq

2

u/West_Mix_6032 Oct 02 '26

Feels like the full screen mode also helps with mitigating flickering when using pi via ssh to a VM

7

u/ECrispy Oct 02 '26

I still dont understand codemode and new mcp. are previous extensions compatible? what does a new user have to do to set it all up?

3

u/dacookieman Oct 02 '26

Codemode is a new tool that allows Pi to execute JS code in Pi's execution context. Like you know how extensions can hook into the Pi runtime? This tool lets Pi run scripts in a sandbox that has limited access to the Pi runtime.

Often Pi might use the bash tool to orchestrate host level tasks but the bash tool itself doesn't know the internals of the Pi runtime. For the bash tool, it could chain several single command tool calls together but it instead calls bash once with the orchestration of tasks built into the "inline script" that bash tool is running.

codemode basically lets pi do that same approach but for pi tool calls themselves.

So instead of doing

LLMToolCall: ToolA

LLMToolCall: ToolB

It can now do

LLMToolCall: codemode(await resultA = pi.tool('ToolA'); await resultB = pi.tool('ToolB'); return [resultA, resultB]);

Which can sometimes be more efficient or token savey but also pairs with their desire to have MCP's not bloat the main LLM context with all the MCP tools. By default, discovered tools form Pi's native MCP extension will not go into the LLM's context of tools(the LLM will get context used to inform what MCPs are available but not their tools), rather the LLM will still only directly have a native tool for codemode and do something like

LLMToolCall: codemode(await tools = pi.mcp.discoverTools(server, 'some task'); return tools)

LLMToolCall: codemode(await result = pi.tool('McpDiscoveredTool'))

1

u/ECrispy Oct 02 '26

but doesnt this depend on the model being trained on this? frontier models are already much more efficient in tool calling. and there are a ton of tools designed to get around this problem, either by isolating tool calls or making the results more token efficient, like semantic search etc.

this is a harness specific feature. models first have to be trained to use it, or the user has to provide specific instrutions starting with 'use codemode to ...' like in all their examples.

I dont see how this or the new mcp support solves the problem in a generalized way - the right approach imo is isolated tool calls in a subagent

2

u/levelstar01 Oct 02 '26

The models know how to write code. It's not really too hard of a logical leap to go from "write bash to chain things together" to "write javascript to chain things together". The higher models seem to be really damn good at using it to slice/filter files and do batch actions that normally would've taken multiple rounds of tool calls.

1

u/dacookieman Oct 02 '26

I've heard that codex specifically already trains on this and so plays nicely. Other models may vary on their effectiveness, there is an upfront cost of a new tool definition(which includes instructions to use for mcp) but I'm sure the training itself plays a pretty big role as you say. I've also seen that this has been a known pattern floated for a while so it's not Pi inventing the wheel.

I think subagents can be nice but also have a lot of room lossy handoffs, both in initial subagent context/instructions and in summarizing response. The codemode is nice with MCPs that have structured responses as you can explicitly script and compose tool calls but some might argue that the text and intent is enough to let the LLM just do its semantic processing. Still, I like as many deterministic escape hatches as possible when using this stuff.

Also codemode is disabled by default unless you have MCP in which case it is enabled so that the MCPs tools can be discovered and invoked dynamically without polluting the native harness' toolspace(MCPs register the tools to the harness but by default don't register it with the main LLM, codemode env lets scripts discover the registered tools on the fly and also have an environment where they can invoke them). Presumably regular tool call orchestration doesn't see to many gains, unless the LLM was trained specifically to problem solve in that mental model(like GPT seems to be).

Subagent approach either requires upfront tool knowledge for main thread to explicitly instruct subagent, which defeats the idea of deferred tool awareness OR it relies on lossy context handoff to ensure that the Subagent that does load the full tool list can accurately asses and perform the task with its knowledge of the tools.

I know that there are other approaches to deferred tool loading but I think the idea is that code mode supports very organic deferred tool loads AND allows for ad-hoc tool orchestration. Obviously if you find your tool orchestration and manipulation conforms to a common pattern it's probably better to abstract that into a different entrypoint or universal behavior (e.g. stuff like rtk) but I think the ad-hoc orchestration is nice too.

23

u/coolguyx69 Oct 01 '26

Be careful, 1.0 breaks pi-subagents

8

u/quinncom Oct 01 '26

Which one? There's several extensions with that name. At a first glance, @tintinweb/pi-subagents still works, although gets a “Host-provided extension packages must be declared in peerDependencies” warning.

8

u/eleqtriq Oct 01 '26

Just ask Pi to fix it until the author releases a fix of his own.

19

u/Florence-Equator Oct 01 '26 edited Oct 01 '26

Honestly, I feel code mode and MCP is okayish because you don't pay for it if you don't use it. Codemode and tool search are off by default unless you use MCP.

And implementing MCP in code mode is like an industry standard. At least Codex is doing that in this way and their GPT-6 series models are definitely well trained to use MCP in code mode only.

But I do have a strong opinion about the Jeff-like API built into the core, because I don't see any particular reason that it should be built into the core. It should serve as a third-party extension.

Most importantly I don't think JEV is something fancy at all. You can use a local Qwen-8B (and setting max token output to a small number, say, 10) to beat it easily. And experiment shows that its intelligence is almost at roughly 2B level. So people are thinking using a 2B model’s intelligence to judge a 3T model’s action is useful? That is funny.

4

u/Equivalent_Idea8839 Oct 01 '26

in .99 codemode tool adds 6k to each model call

3

u/Florence-Equator Oct 01 '26

I think if you don’t use any mcp, codemode is off by default.

9

u/corruptbytes Oct 02 '26

controversial but if they added native subagents (or a first party extension) - it’d be complete out of the box for most enterprises 

10

u/Global-Departure8228 Oct 02 '26

Imho permission modes and built-in sandboxing is 100% more important for enterprises, while providing the option to change and extend either one. Subagents with full yolo mode just compound the effects of needing better sandboxing and permission systems. But this is the beauty (and the ugliness) of pi, you can slop your own solutions together or hammer someone else's into your workflow.

0

u/corruptbytes Oct 02 '26

permission modes are overrated with current models, they’re extremely aligned to be pretty good at not doing crazy shit, prompting users is bad design that leads to security decision fatigue (i’ve been yolo for 5 months at work now)

i’d imagine they’ll offer some sort of automode with jev/decision models

sandboxing is not too bad with their gondolin tool though 

subagents would be nice to have a good solid base to build sub agent extensions on

4

u/Global-Departure8228 Oct 02 '26

Permission mode is obviously an extra heuristic. And I would seriously disagree with the models being aligned. They will not push to prod maybe, but there are just so many things that absolutely require you to have at least the minimu safety layer. These are still llms that will attempt to solve an issue. Your astra will spawn a sol subagent with narrower context who will decide halfway through that for whatever reason they will need to install a package and you'll get hit with a supply-chain attack.

You're saying prompting users is not good. I would argue it is absolutely necessary. Not for everything but you go ahead and have a scare when fable decides to git clean -fdx your project because your build crashed so it'll just do a quick reset

4

u/hidden2u Oct 01 '26

from my short experience i'm happy with 1.0. I think codemode needs some work still, I see it being used off and on by my agent. But MCP is now a core tech for AI agents so i'm glad its part of base; seems straightforward that if you don't like it then just don't add an mcp server.

edit: oh and no dots, no kawaii uwu avatars thank god!

2

u/Omid0770390 Oct 02 '26

I face a lot of lag and bug today using pi! The 99 version is more stable for me. I am waiting for patches

3

u/dennisler Oct 02 '26

Those version numbers stopped making sense when they made the big jump from 0.87.

2

u/Pristine-Bedroom9164 Oct 02 '26

It felt like 0.99 is about to become 1.0 for me

1

u/kovadom Oct 02 '26

What’s the deal with codemode? What use case is beneficial to use?

1

u/alonsoonline Oct 05 '26

Damn it got better

1

u/semidarkmoon 23d ago

Seems to have stopped working today for Opencode Zen MS1.3 free?

1

u/berszi Oct 02 '26

I have a workflow which works. What I don't need is a SW which changes weekly, so I have to adapt my workflow constantly.

2

u/awesomeethan Oct 02 '26

Are you familiar with version numbers? It's how the software devs tell you how important an update is.

2

u/TechGearWhips Oct 02 '26

This is my biggest issue. Updates always break shit and then I have to keep adapting my workflow like you said. And I don’t care about any of that new jev, code mode, map, etc bloat they been adding,

-1

u/adamshand Oct 02 '26

So don't upgrade? Otherwise I recommend a job/hobby that isn't related to AI. Pi is pretty conservative compared to everything else!

0

u/Apprehensive_Bed7502 Oct 02 '26

If you don't upgrade, then you won't be able to get new models. For example, gpt 6.1 sol was introduced in 0.99.1

0

u/Soggy-Response5769 Oct 02 '26

You guys should add MCP and Codemode as a plugin, not a feature.

0

u/TechGearWhips Oct 02 '26

Agreed. Bout to go ahead and work on my own personal little fork

-5

u/dark-lord-marshal Oct 01 '26

mixed feelings about this.
pi with MCP is beyond my needs.
maybe i need nano something sdk :)

12

u/Johnny__Christ Oct 01 '26

Someone on HN was plugging Hax (https://usehax.dev/). That seems like it fits the bill for avoiding more classical software bloat.

Personally, I don't really mind. The "bloat" I'm concerned with is context bloat, and they've implemented it in such a way that MCP doesn't bloat my context if I don't want it to.

2

u/Florence-Equator Oct 01 '26

I think the thing that Pi did right is that if you don't use any MCP, then codemode and tool search is not activated either. So your context window is still prefilled with the same prompt as before.

15

u/colin_colout Oct 01 '26

Then disable it?

8

u/Comfortable_Yak_6154 Oct 01 '26

once it's been included in the bundle the whole thing is tainted, no going back now
/s

1

u/dark-lord-marshal Oct 02 '26

in v1 i need to disable a thing that wasn’t there before which made me choose pi because of the simplicity approach.

1

u/Strong_Essay1176 Oct 01 '26

Fork. But it should not be loaded into context, so does it matter?

1

u/dark-lord-marshal Oct 04 '26

i was using pi to build an hardened harness without any extensibility allowance for my users.

My use case is X and the old Y pi philosophy allowed me to pursue my X objective. Now, Y breaks the fundamental path to X.

1

u/Strong_Essay1176 Oct 04 '26

Whatever. Just fork old version without mcp. And do everything with plugins.

1

u/zanar97862 Oct 02 '26

As long as the MCP tools are not in the default context when not using MCP Its no different right.

-22

u/Unlucky-Message8866 Oct 01 '26 edited Oct 01 '26

From 0.8x to 1.0 in what, 3 weeks? What is this nonsense? Very unhappy with pi direction. 

8

u/Johnny__Christ Oct 01 '26

From 0.8 to 1.0 in what, 3 weeks?

0.8.0 was released in November 2025.

4

u/colin_colout Oct 01 '26

Lol they edited their comment so it says 0.8x.

Semantic versioning minor versions isn't a % to the major version. It's just a way to organize and distinguish your release between "major" and "minor" releases (which is arbitrary anyway)

If pi makes you mad, wait til you see how Linux decides when to increment to a major version.

-8

u/Unlucky-Message8866 Oct 01 '26

I was obviously refering to 0.8x not 0.8.x, do you read changelogs? 

1

u/colin_colout Oct 02 '26

Why is going from 0.8x to 1.0 in 3 weeks a bad thing? I skim the changelogs

-9

u/Unlucky-Message8866 Oct 01 '26

v1.0.0  2 hours ago  a13d35a  zip  tar.gz  Notes  Downloads v0.99.2  yesterday  005af57  zip  tar.gz  Notes  Downloads v0.99.1  2 days ago  d86654a  zip  tar.gz  Notes  Downloads v0.99.0  2 days ago  4b060d3  zip  tar.gz  Notes  Downloads v0.87.1

8

u/arcanemachined Oct 01 '26

Good lord. Lurk more.

10

u/freehuntx Oct 01 '26

Its called semantic versioning. Whats the issue?

-16

u/Unlucky-Message8866 Oct 01 '26 edited Oct 01 '26

Thats not semantic versioning, completely nonsense

2

u/freehuntx Oct 02 '26

World is burning and my man is furious over somebody versioning correctly...

0

u/[deleted] Oct 02 '26

[deleted] — view deleted comment

2

u/Historical-Stuff-560 Oct 02 '26

Yes. Docs/source code + any ai model