PI-Desktop is a free, open source ai development platforms project written in TypeScript and released under LGPL-3.0. It has 7,609 GitHub stars, 744 forks and 102 open issues, and was last pushed 13 hours ago. On this registry it ranks #80 of 155 tracked projects in AI Development Platforms, with 5 head-to-head comparisons available. It gained 1,432 stars over the last 30 tracked days.

What is PI-Desktop?

PI-Desktop is a local-first desktop workspace for AI coding agents, built on an Electron shell with a Rust host core and the pi Agent Harness, extensible through user-installable plugins, and aimed at developers who want agents working inside their own local projects against model providers they configure themselves.

What it is

PI-Desktop is a desktop application for the AI coding agent ecosystem, written primarily in TypeScript and licensed under LGPL-3.0. It combines an Electron front end with a Rust host core and the pi Agent Harness, and it presents projects, sessions, files, reviews, previews, models, permissions, extensions, and long-running work as one workspace. The project describes itself as local-first, model-agnostic, and extensible, and it ships for macOS, Windows, and Linux with documentation and a Simplified Chinese README. Sessions and projects stay on the machine, and model requests go directly to the provider or endpoint the user configures, with no PI-Desktop account and no mandatory relay.

The concrete problem it addresses is the fragmentation of coding agents across terminal tools, editor extensions, and hosted services. Rather than adding another chat window to an existing editor, PI-Desktop gives the agent workflow a workspace of its own, so the workflow is not tied to a single editor, model vendor, or hosted runtime. It also imports existing local sessions from Claude Code, Codex, OpenCode, and Pi, which lets users carry prior work into the desktop instead of starting over.

Key capabilities

  • Three working modes with different approval boundaries: Agent approves nothing extra, Plan approves the implementation plan, and Goal approves the outcome and acceptance criteria. In Plan mode the agent studies the repository, writes a frozen plan, then waits for approval.
  • Model-agnostic provider configuration supporting OpenAI, Anthropic, local models, hosted gateways, and any OpenAI-compatible API, with configurable context windows, output limits, and reasoning levels. Models can be switched from the Composer without recreating the session.
  • A permission layer that routes privileged actions from the agent through explicit approval, covering file reads, code edits, and command execution, with diffs and command output available for inspection.
  • Extension surfaces for Skills, MCP servers, Subagents, pi extensions, and installable Plugins, documented in docs/plugin-development.md, plus a plugin marketplace for extending both the agent and the desktop.
  • Session and project management across multiple repositories, with pinning, archiving, branching, conversation search, prompt queuing, and transcript navigation for long-running conversations.
  • Session import from Claude Code, Codex, OpenCode, and Pi.
  • Global, i18n-aware desktop builds distributed from GitHub releases, with the CI workflow at .github/workflows/ci.yml and documentation at https://pi-docs.aiuo.net.

Who uses it and how

  • Developers doing fast day-to-day work in Agent mode, letting the agent inspect the tree, patch files, run commands, test, and iterate.
  • Teams facing large or risky changes in Plan mode, reviewing an immutable implementation plan before execution rather than approving each step.
  • Users of outcome-first tasks in Goal mode, locking the objective and acceptance criteria while the agent chooses the path.
  • Developers migrating from Claude Code, Codex, OpenCode, or Pi, importing existing local sessions into the desktop workspace.
  • Plugin and extension authors building against the documented plugin interfaces, Skills, MCP servers, and Subagents.

Getting started

Download a release build for macOS, Windows, or Linux from the latest GitHub release, then follow the documentation at https://pi-docs.aiuo.net/. No package-manager or container install method is described in the README.

How it compares

Among the tools named in its own materials, PI-Desktop sits beside Claude Code, Codex, OpenCode, and Pi — which it can import sessions from — but positions itself as a desktop workspace rather than a terminal agent or an editor extension or a hosted service. The distinguishing claim in the README is that it requires no PI-Desktop account, no mandatory relay, and no editor lock-in.

When to use it — and when not to

PI-Desktop is in Early Preview: it is usable for real coding workflows, but APIs, extension interfaces, and some desktop behaviors are still evolving, so teams that need frozen interfaces or long-term stability guarantees should wait. It expects the user to supply model providers and endpoints directly, so anyone wanting a fully managed hosted agent service with no configuration will not be served by it. Self-hosters operate the desktop application itself; no database, object storage, or SMTP dependency appears in the README.

project readme (upstream, from github) — read inline

PI-Desktop

The desktop workspace for AI coding agents.

Bring your own model. Open any local project. Let agents work — while you stay in control.

Local-first · Model-agnostic · Extensible · macOS / Windows / Linux


Release Downloads Stars CI License


Download · Documentation · Screenshots · Build a Plugin · 简体中文



No PI-Desktop account. No mandatory relay. No editor lock-in.

Projects and sessions stay on your machine. Model requests go directly to the provider or endpoint you configure.



vastsa/PI-Desktop | Trendshift   PI-Desktop on Product Hunt


[!IMPORTANT] PI-Desktop is in Early Preview. It is already usable for real coding workflows, while APIs, extension interfaces, and some desktop behaviors are still evolving.

Not another chat window

Most coding agents live inside a terminal, an editor extension, or a hosted service.

PI-Desktop gives the agent workflow a workspace of its own.

Projects, sessions, files, reviews, previews, models, permissions, extensions, and long-running work live together — without tying your workflow to a single editor, model vendor, or hosted runtime.

Your models

Use OpenAI, Anthropic, local models, hosted gateways, or any OpenAI-compatible API.

Configure multiple providers, context windows, output limits, reasoning levels, and model-specific behavior. Switch models directly from the Composer without recreating the session.

Your projects

Open a local repository or project directory and keep its sessions, files, reviews, previews, and agent work in one place.

Import existing local sessions from Claude Code, Codex, OpenCode, and Pi.

Your control

Agents can read files, edit code, and run commands, while privileged actions pass through PI-Desktop's permission layer.

Inspect diffs. Review command output. Decide how much autonomy each session gets.

Your extensions

Add Skills, MCP servers, Subagents, pi extensions, and installable Plugins.

Extend the agent and the desktop instead of waiting for every workflow to become a built-in feature.


One workspace. Three ways to work.

Same agent. Different approval boundaries.

Agent Plan Goal
You approve Nothing extra The implementation plan The outcome and acceptance criteria
The agent does Reads, edits, runs commands, tests, iterates Studies the repo, writes a frozen plan, then waits Chooses the path and works toward the goal
Best for Fast day-to-day work Large or risky changes Outcome-first tasks

Agent — let it inspect the tree, patch files, run commands, test, and keep going.

Plan — review the approach before execution. The agent researches first, produces an immutable implementation plan, and waits for approval.

Goal — lock the objective and acceptance criteria. The agent decides how to get there.

Privileged tools still go through the permission layer in every mode.


See the work, not just the answer

Long-running conversations with transcript navigation

Switch providers, models, and reasoning levels per session

Extend the workspace through the plugin marketplace

Add a provider and connect a model

Explore all screenshots →


Built for work that lasts longer than one prompt

PI-Desktop is designed around persistent projects and long-running sessions rather than disposable chat threads.

  • Manage multiple projects and sessions
  • Pin, archive, branch, and search conversations
  • Queue prompts while an agent is already running
  • Reference files with @
  • Use slash commands
  • Review diffs and command output
  • Keep streaming responses checkpointed so interrupted work can recover whenever possible

Delegate to Subagents

Large tasks do not have to live in one context window.

Delegate independent work to background Subagents for:

  • codebase exploration
  • multi-file implementation
  • research and investigation
  • test analysis
  • adversarial review

Each Subagent runs in its own context and reports its result back to the parent agent.


Extend the workspace instead of rebuilding it

PI-Desktop has multiple extension layers, from lightweight reusable instructions to full desktop integrations.

Plugins

Plugins can extend PI-Desktop with:

Agent Workspace Platform
Agent tools Commands MCP servers
Skills Workspace panels Subagents
pi extensions Work-panel views Resident services
Themes Inter-plugin messaging

Install plugins locally or through the marketplace using the .piplug package workflow.

Session Orchestrator

The official pi.session-orchestrator plugin lets an Agent coordinate durable worker sessions in parallel. Install pi.session-orchestrator from the Plugins marketplace, then use its SessionTask tool to spawn, send, supervise, inspect status, wait for bounded results, accept reports, cancel work, and list workers.

Workers inherit the parent project's provider, model, thinking level, and permission mode. They remain ordinary PI-Desktop sessions, so you can open and inspect their transcripts at any time. Work is parent-scoped and bounded to four active workers per parent and sixteen across the plugin.

Coordinate multiple durable worker sessions from one conversation

Open a worker session and inspect its progress independently

Build your first plugin →

[!NOTE] Plugin processes are permission-gated and isolated from the renderer, but plugins are still user-trusted code rather than a complete operating-system sandbox. Only install plugins you trust.

Skills

Give agents reusable instructions and workflows. Skills can be installed globally or activated for individual projects.

MCP

Connect external tools and services through Model Context Protocol servers without baking them into the desktop application.

PI-Desktop can also be controlled by an external MCP Agent. Start the app with PI_DESKTOP_MCP_CONTROL=1, then read the loopback endpoint and bearer token from mcp-control.json in the Electron user-data directory.

The control endpoint supports project, session, and Agent workflows plus a reviewed desktop operation catalog. It is disabled by default, binds to loopback only, and grants the calling local Agent the same authority as the desktop for those operations. confirm: true is not a user prompt.

pi extensions

Extensions written for the pi CLI can run inside PI-Desktop's agent unchanged.

A plugin can list them under contributes.agentExtensions, or Plugins → Import pi extension can wrap an existing extension file or directory in a plugin. If the directory declares production or optional npm dependencies, a system npm on PATH performs a bounded registry-only install before first load (--ignore-scripts, so no third-party install script ever runs); release builds do not include standalone Node/npm.

They can register tools, slash commands, and hooks on every turn, tool call, and provider request. They run with the same access as the agent's own tools, gated by the agent.extension permission.


Bring the model you want

PI-Desktop does not hardcode your agent workflow to one model vendor.

Use:

  • OpenAI and Anthropic
  • OpenAI-compatible APIs
  • hosted model gateways
  • local gateways such as Ollama and LM Studio
  • multiple models under the same provider
  • provider OAuth accounts where supported

Per-model configuration can include context windows, output limits, reasoning controls, temperature, and other model-specific behavior.

The model is a replaceable part of the workflow — not the workflow itself.


Local-first, precisely

PI-Desktop is local-first, not “nothing ever touches the network.”

Data Behavior
Conversations Stored locally as JSONL with a SQLite index
Settings Stored on your machine
API credentials Stored in the operating system keychain
Logs Local
PI-Desktop telemetry None
Model requests Sent directly to the provider or endpoint you configure

There is no required PI-Desktop account and no mandatory PI-hosted relay between your machine and your model provider.

If you use a remote model provider, the context required for that model request is sent to that provider according to its own privacy policy.


From install to first patch

  1. Download PI-Desktop Get the latest build from GitHub Releases.

  2. Connect a model Open Settings → Model configuration, choose a provider or compatible API, and add your credentials.

  3. Open a project Add any local repository or project directory from the sidebar.

  4. Choose Agent, Plan, or Goal Start immediately, approve an implementation plan first, or define the outcome and let the agent choose the path.

  5. Review the result Inspect edits in the Review panel, check command output, preview the application, and continue without leaving PI-Desktop.


Download

Download the latest release →

Platform Architecture Package
macOS Apple Silicon .dmg / .zip
macOS Intel .dmg / .zip
Windows x64 NSIS installer / portable .exe
Linux x64 .AppImage / .deb / .rpm / .asar

Packaged builds can check GitHub Releases for updates and surface new versions inside the application.

Windows NSIS and Linux AppImage can download and install updates in-app. macOS, Linux deb/rpm, and the Windows portable executable open the releases page.

Linux compatibility

Linux x64 packages require glibc 2.35 or newer, including:

  • Ubuntu 22.04 or later
  • Debian 12 or later
  • Fedora 36 or later

Ubuntu 20.04, Debian 11, Fedora 35, and older releases cannot load the bundled host.

Check your version with:

ldd --version

The Linux .asar asset is also available for repackaging with a system Electron:

electron PI-Desktop-<version>-linux-x64.asar

The target distribution still needs the required native host and packaged resources.

macOS unsigned-build notes

The tagged-release workflow publishes unsigned macOS artifacts by default.

For a trusted unsigned install, move PI-Desktop.app to /Applications and open it. If macOS reports the app as damaged or refuses to open it:

  1. Confirm the app came from a trusted PI-Desktop release.
  2. Move PI-Desktop.app to /Applications.
  3. Run:
xattr -r -d com.apple.quarantine /Applications/PI-Desktop.app
  1. Open PI-Desktop again.

The DMG includes If app won't open, read this.txt. The ZIP also includes PI-Desktop-macOS-open.command, which performs the same trusted-source fallback after the app is moved to Applications.

The command only removes Apple's quarantine attribute. Do not use it for an untrusted app.

A manually dispatched run with sign_macos: true signs, notarizes, and staples macOS artifacts with Developer ID credentials before publication; signed builds do not need this fallback.

Code signing

Windows releases of PI-Desktop are digitally signed with free code signing provided by SignPath.io, using a certificate from the SignPath Foundation.


Bring your existing sessions

Already using another coding agent?

PI-Desktop can import local sessions from:

  • Claude Code
  • Codex
  • OpenCode
  • Pi

Open Settings → Import to bring existing work into the desktop workspace.


Architecture

PI-Desktop separates the user interface, privileged host capabilities, and the agent loop.

flowchart TB
    UI["React Renderer<br/>Chat · Projects · Reviews · Settings"]
    Electron["Electron Main<br/>Desktop orchestration"]
    Rust["Rust Host Core<br/>Permissions · Filesystem · SQLite · Secrets"]
    Agent["pi Agent Sidecar<br/>Agent loop · Models · Streaming"]
    Provider["Model Provider<br/>Cloud or Local"]

    UI --> Electron
    Electron --> Rust
    Electron --> Agent
    Agent <--> Rust
    Agent --> Provider

The renderer has no Node integration.

The Rust Host Core owns privileged workspace operations, permissions, persistence, and secrets. The pi Agent Sidecar owns model interaction and the agent loop. Electron coordinates the desktop lifecycle while keeping those responsibilities separated.

Read the architecture specification →


Built on pi

PI-Desktop builds on the excellent work of the pi-mono ecosystem.

The agent runtime uses pi-ai and pi-agent-core.

Pi provides the agent engine. PI-Desktop turns it into a persistent desktop workspace.

The desktop application also uses technologies including Electron, React, TypeScript, Rust, SQLite, Vite, Tailwind CSS, Shiki, Mermaid, KaTeX, TypeBox, and i18next.


Project status

PI-Desktop is an early preview under active development.

The current 0.15.x line includes the desktop shell, streaming agent runtime, Agent / Plan / Goal workflows, permission-aware workspace tools, projects and sessions, session imports, local MCP control, MCP / Skills / Subagents, background delegation, multi-provider model configuration, plugins and marketplace support, context checkpoints, notifications, release notes, and cross-platform packaging.

Current priorities include:

  • macOS tagged-release qualification
  • installer upgrade and rollback qualification
  • continued runtime and session-recovery hardening
  • stronger plugin sandboxing and publisher verification
  • broader UI-driven end-to-end coverage

Follow development through the project board and milestones.


Development

Run PI-Desktop locally

Requirements

  • Node.js >=22.19
  • pnpm >=10
  • stable Rust toolchain

The repository currently pins pnpm 11, while CI and release builds use Node 24.

Start

git clone https://github.com/vastsa/PI-Desktop.git
cd PI-Desktop

pnpm install

cargo build -p host-core
pnpm build:js

pnpm dev

Validate changes

pnpm typecheck
pnpm lint
pnpm test

Additional protocol, Plan, supervision, Subagent, and Electron E2E suites are documented in the repository specification.

Documentation

pnpm docs:dev
pnpm docs:check

Useful references:


Contributing

Issues, bug reports, feature proposals, documentation improvements, plugins, Skills, MCP integrations, and pull requests are welcome.

For larger changes, opening an issue first makes it easier to align the implementation with the existing architecture and product contracts.

When working in the repository, start with AGENTS.md and the specification index.

Report an issue · View open issues · Build a plugin


Model acknowledgements

Not by a lone genius, but by a token-powered construction crew.

This project was created with the models below.

View model usage — 27,144,044,009 listed tokens
Provider Model Tokens
OpenAI gpt-5.6-luna 5,304,019,817
OpenAI gpt-5.6-sol 4,825,458,273
OpenAI gpt-5.4 4,213,269,324
Anthropic claude-opus-5 3,909,952,653
OpenAI gpt-5.5 3,800,382,171
xAI grok-4.5 1,947,736,115
xAI grok-4.6 797,233,571
DeepSeek deepseek-v4-flash 329,790,234
OpenAI gpt-5.2-codex 320,983,170
Xiaomi mimo-v2.5-pro 304,822,052
Anthropic claude-fable-5-1 302,580,552
OpenAI gpt-5.6-terra 274,107,085
OpenAI gpt-5.3-codex 255,366,945
OpenAI gpt-5.1-codex-max 220,947,212
OpenAI gpt-5.1 142,533,699
— Unknown model 69,801,632
Anthropic claude-opus-4.6 55,223,768
Zhipu stealth/ox-alpha 22,954,876
Anthropic claude-fable-5 16,116,907
OpenAI gpt-5.1-codex-mini 12,895,478
Xiaohongshu dots-3-note-prev 10,166,895
OpenAI gpt-5.1-codex 3,916,509
Xiaomi mimo-v2.5 3,785,071

Total for listed models: 27,144,044,009 tokens.


Community

  • Linux.Do — Share, discuss, and follow development with the community.

Star History

Star History Chart

License

PI-Desktop is licensed under the GNU Lesser General Public License v3.0.

See LICENSE for details.


Build with the model you want. Keep the workflow yours.

Download PI-Desktop

macOS · Windows · Linux

Frequently asked questions

Is PI-Desktop free to use?

PI-Desktop is open source under the LGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does PI-Desktop do?

Local-first AI coding agent desktop: Electron + Rust host core + pi Agent Harness + user-installable plugins

What is PI-Desktop written in?

PI-Desktop is primarily written in TypeScript. Its source is publicly available at https://github.com/vastsa/PI-Desktop, and it has 7,609 GitHub stars.