Pi's brain.
Grok's body.
grok-pi fuses Pi's agent runtime — models, tools, extensions, sessions — with Grok Build's native terminal UI. One binary. One terminal. The full power of both.
Everything you need. Nothing you don't.
grok-pi doesn't bolt a second TUI onto your terminal. It projects Pi's full capability surface through Grok Build's native Pager components.
Any Model, Any Provider
Pi's model catalog flows into Grok's native model selector. Switch between OpenAI, Anthropic, Google, local models — all from the same slash command you already know.
Extension Ecosystem
Pi's extensions, skills, and prompts render as native Grok slash commands. The full Pi ecosystem, zero adaptation layer on your side.
Native Terminal UI
Markdown, tool cards, diffs, dialogs, scrollback — all rendered by Grok's production Pager. No character-art mockups. No second renderer.
Sub-agents & Parallel Work
Pi sub-agents project into native SubagentBlock, Tasks Pane, and child AgentView. Foreground or background — you choose.
Session Tree & Fork
Resume, fork, clone, navigate the session tree. Named sessions, tags, recap — Pi's full session lifecycle in Grok's native modals.
Context Visualization
Click the context bar or run /context for a live breakdown: system, tools, AGENTS.md, skills, messages. Rendered in Grok's native ModalWindow.
Rhai Workflows
Upstream xai-workflow host (F2, off by default). /workflow, /workflows, /create-workflow with scripts under ~/.grok-pi/workflows.
Isolation & Self-heal
Product homes ~/.grok-pi. Crashing extensions are bisected and dropped so startup self-heals. grok-pi -ne as escape hatch.
Why not just Grok Build?
Grok Build is a great terminal. grok-pi makes it an agent platform. Here's what changes when Pi's runtime sits behind Grok's Pager.
| Capability | Grok Build (stock) | grok-pi |
|---|---|---|
| Model access | Grok models only | Any Pi provider — OpenAI, Anthropic, Google, local, custom |
| Extensions & skills | Grok plugin system | Full Pi extension ecosystem + native slash integration |
| Session management | Cloud session history | Local JSONL sessions, tree, fork, clone, tags, recap |
| Sub-agents | — | Pi sub-agents with native task views & background execution |
| Context inspection | Basic token count | Live breakdown: system / tools / AGENTS / skills / messages |
| Plan mode | — | Native plan toggle → Pi tool gate → approval flow |
| Compaction | — | /compact with custom instructions, native progress blocks |
| Resource manager | — | Rust /pi-config two-pane for extensions, skills, prompts, themes |
| Background bash | Limited | Send to Background + native task kill/wait tools |
| Rhai workflows | Grok-only engine | Same engine + Pi spawn backend (F2 opt-in) |
| Config isolation | ~/.grok | ~/.grok-pi + .grok-pi/ (no dual-scan of stock) |
| Theme system | Grok themes | Grok + Pi themes (pi:<name>), transparent mode |
| Data ownership | Cloud-dependent | Local-first. Your sessions, your machine. |
Three boundaries. Zero hacks.
grok-pi is not a fork. It's a composition. Pi stays Pi. Grok stays Grok. The adapter is a headless JSONL RPC ↔ ACP bridge that owns no terminal and renders no UI.
Grok Pager
Terminal lifecycle, input, rendering, dialogs, scrollback
pi-grok-adapter
Headless JSONL RPC ↔ ACP bridge. No terminal. No renderer.
Pi Agent Core
Agent loop, models, providers, tools, extensions, sessions
See it in action.
A real session. No mockups. No screenshots of screenshots.
Two entry paths. One host.
From stock Grok: keep Pager muscle memory. From interactive Pi: keep sessions and extensions. Full guide under Docs → Migration. Docs → Migration
Install
One command. Platform binary to ~/.local/bin.
curl -fsSL https://github.com/Dwsy/grok-pi/releases/latest/download/install.sh | shEnsure Pi ≥ 0.80.10
Required agent core (skip if you already run interactive pi).
npm install --global @earendil-works/pi-coding-agentRun
Same project cwd. From Pi: resume with --session or /resume.
cd your-project && grok-piKeep your Grok muscle memory
Same Pager, same slash commands, same Ctrl+key shortcuts. grok-pi adds capability, not complexity.
Keep your Pi sessions
JSONL under ~/.pi/agent is unchanged. /resume and --session work like interactive pi.
Unlock any model
/model opens Pi's full catalog — GPT-4o, Claude, Gemini, local LLMs.
Isolation + self-heal
UI under ~/.grok-pi. Bad extensions are bisected out so you are never stuck at startup.
Ready when you are.
One binary. Three platforms. No account required.
macOS / Linux
curl -fsSL https://github.com/Dwsy/grok-pi/releases/latest/download/install.sh | shWindows
irm https://github.com/Dwsy/grok-pi/releases/latest/download/install.ps1 | iexRequires Pi ≥ 0.80.10 · Rust 1.92 for source builds · GitHub Releases for updates
View on GitHub