v0.30.4
v0.30.4
Patch release fixing two issues, one of them breaking historian and dreamer runs for many Pi users.
Pi: historian and dreamer can now use models from provider extensions
Pi subagents (historian, dreamer, sidekick, recomp) were spawned with extension discovery disabled. If your configured model came from a provider extension — Antigravity, Anthropic OAuth, or any other auth extension — every subagent run failed instantly with Model "..." not found, so the historian and dreamer never ran at all. Models defined in models.json were unaffected, which is why this only hit extension-based setups.
Subagent processes now load your extensions, so extension-provided models resolve the same way they do in your interactive session. What changed underneath:
- Recursion protection moved from disabling all extensions to a targeted guard: the full Magic Context extension detects it is inside a Magic Context subagent and stays inert there.
- Every subagent now runs under an explicit per-agent tool allow-list. Unknown agents get no tools at all. Extension tools you have installed cannot leak into a subagent that was not meant to use them.
- Dreamer code-reading tasks (memory mapping, verification, docs maintenance, primer investigation) now get AFT's read-only navigation tools on Pi when the AFT extension is installed, matching OpenCode.
Pi: retrospective and refresh-primers read sessions through the right API
The Pi dreamer's session readers probed an API that does not exist in pi-coding-agent (SessionManager.listSessions), so the retrospective task failed with Pi session APIs unavailable and refresh-primers silently fell back to closed-book seeds. Both providers now share one resolver using the real API (SessionManager.listAll + parseSessionEntries), with tests against the installed package so a future Pi API change fails in CI instead of degrading quietly.
OpenCode: the sidebar entry in tui.json is yours again
The plugin used to re-add its TUI sidebar entry to tui.json(c) on every OpenCode start. If you removed the sidebar deliberately, it came back on the next launch. The entry is now written only by the setup wizard and doctor — removing it from tui.jsonc disables the sidebar permanently.