Skip to content

Using NativePi

NativePi and Pi

Pi is the coding agent. NativePi is a desktop interface that starts Pi, sends it ordinary commands, and renders what it returns.

What Pi owns

Pi owns the agent loop, provider and model integrations, authentication, tools, prompts, skills, extensions, message queues, compaction, and sessions. A NativePi chat runs a pinned Pi build in RPC mode rather than reproducing those capabilities in the desktop app.

This means a prompt sent under the same Pi configuration should behave similarly in NativePi and Pi's terminal interface.

What NativePi owns

NativePi owns desktop concerns: pinned projects and chats, panes, drafts, integrated terminals, narrow Git workflows, browser access, notifications, keyboard shortcuts, and its window preferences. It also exposes controlled graphical slots for packages that opt into the extension API.

How chats run

Each active chat gets its own Pi process. Chats in one project or across several projects can run concurrently. Opening a saved conversation does not wait for Pi to start because NativePi reads Pi's session file for display, then starts the process when the chat needs agent work.

Shared configuration

Agent settings shown in NativePi are read and written through Pi's settings manager at user scope. The Pi command line sees those changes immediately. Project-scope overrides remain managed through Pi.

NativePi bundles a pinned Pi version, so it may not match a separately installed CLI version at every moment. Both still use Pi's normal files and formats.