$ cat ~/map/pie.md
Pie
Native SwiftUI macOS client for pi --mode rpc: Pi-owned sessions, chat-side diffs, and Pi's own commands and skills.
tools✓ Sep 16
Facts
- repository
- github.com/hieunc229/Pie ↗
- GitHub Stars
- ★ 106
- Forks
- 7
- license
- MIT
- npm / mo
- —
- last push
- Oct 11, 2026
install
Open PiCode.xcodeproj in Xcode, select the PiCode scheme with My Mac as the destination, and build and run; macOS 14 Sonoma or later and Xcode with the macOS 14 SDK are required, and pi must already be installed and on PATH## TL;DR
A native SwiftUI macOS client for the pi coding agent: it launches the installed pi executable in RPC mode — one pi --mode rpc process per active session — and leaves messages, sessions, providers, and credentials under pi's control while the app stores only interface state.
## Key points
- $Architecture: a SwiftUI interface over a typed RPC client that speaks JSONL on stdin and stdout to pi --mode rpc, one process per active session with the selected project as its working directory — the app is a client for pi, not a fork or a replacement.
- $Ownership boundary: pi keeps messages, agent state, models, thinking levels, queues, compaction, retries, session history, extensions, and authentication; the app stores only recent projects, pins, drafts, search index, transcript position, window layout, and UI preferences; git owns working-tree status and diffs; provider secrets stay with pi and the Keychain.
- $Session management: chats group by project folder with search, pin, rename, resume, clone, fork, export, and safe delete, and model choice, supported thinking level, attachments, steering, follow-up queues, and stop are all controllable.
- $Review beside the chat: files, edits, diffs, reads, and command output open next to the conversation instead of switching away from it.
- $Pi-native customization: the app discovers pi's own commands, skills, prompt templates, extensions, custom providers, and packages rather than maintaining a separate catalog, and package installation and removal are delegated to the pi installation so GUI and terminal see the same environment.
- $Extension compatibility: RPC-exposed interactions work — commands, notifications, status, widgets, and native select, confirm, input, and editor dialogs — while APIs that need pi's terminal UI (arbitrary custom TUI components, header or footer replacement, custom editors, TUI theme control) are identified as compatibility limits and the session stays usable.
- $Security and privacy: project trust is not a sandbox and does not restrict ordinary tool calls; the app requires no account of its own and does not mirror pi sessions or credentials into a separate database; diagnostic RPC payload capture is off by default and, when enabled, is retained in memory rather than written to disk.
## FAQ
Q Is Pie a fork or replacement of pi?
No. The README states it explicitly: it is a client for pi that launches your installed pi executable in RPC mode, uses pi's providers and session files, and leaves credentials under pi's control. If it cannot find a working pi installation it shows setup instructions rather than installing or changing pi automatically.
Q Do all pi extensions work inside the app?
The interactions pi exposes over RPC work, including commands, notifications, status, widgets, and the four native dialog kinds. Extension APIs that require pi's terminal UI — custom TUI components, header or footer replacement, custom editors, TUI theme control — cannot be reproduced through RPC; the app flags the limitation and keeps the session usable, continuing in Terminal where practical.
Q Where do sessions and credentials live?
With pi. Messages and session files are pi's own, so terminal and desktop sessions stay compatible and there is no second source of truth; the app stores only interface state such as recent projects, pins, drafts, and layout preferences.
Q How mature is the project?
It is under active development. The README defines the first production release by end-to-end session reliability, faithful pi behavior, safe review flows, and complete keyboard and accessibility support, with the full specification in IMPLEMENTATION.md.
## References
## Related entries
$ Pi Desktop
Open-source macOS client driving a local pi over JSONL RPC — projects, streaming conversations, commands, extensions.
$ Pier
macOS desktop client for pi: streams sessions over pi --mode rpc with diffs, follow-ups, and extension dialogs.
$ Pion
RPC-backed Electron desktop GUI — streaming chat, session fork, git worktree review loop, and a bounded multi-agent flow.
## Guides
Last updated: Sep 16, 2026