Skip to content

Configuration overview ​

This page tells you where each setting lives, what it defaults to, and gives a few ready-made combinations.

pi-webapp has few settings of its own. Most things you'd want to change are in the Pi Settings dialog, the Plugins page or one environment variable. If a setting you expect isn't here, it probably doesn't exist; for example there is no setting for the port (FAQ).

Where to change what ​

I want to…Go toDefault
Connect a provider, add models, add my own endpointPi Settings → Models (Models and providers)No provider connected
Change the interface languagePi Settings → General → LanguageYour browser's language: Chinese if it starts with zh, otherwise English
Switch light or darkPi Settings → General → AppearanceSystem
Choose stable or preview updatesPi Settings → General → Update preference (Updates)Stable (recommended)
Update the appPi Settings → General → App updatesManual
Add a Pi package or extensionPi Settings → Packages (Packages, skills and plugins)None added
Add a skillPi Settings → SkillsSkills Pi discovers on its own
Turn Files, Terminal or Git on or offPlugins in the sidebarAll three on
Install the Excalidraw pluginPlugins → Official plugins (Diagrams)Not installed
Add or remove a workspaceSidebar (Sessions and workspaces)The launch folder and every folder with saved sessions
Move Pi's data folderPI_CODING_AGENT_DIR (Environment variables)~/.pi/agent
Stop the browser opening on startPI_WEBAPP_AUTO_OPEN=0Opens
Use a proxyHTTPS_PROXY and friendsNone
Turn error reporting onPI_WEB_SENTRY_ENABLED=trueOff
Use a different shell in the terminalSHELL (Windows: COMSPEC)Your login shell

The Pi Settings dialog ​

Open it with Pi Settings at the bottom of the sidebar. It has four sections:

SectionWhat's in it
GeneralLanguage (English or Chinese), Appearance (Light, Dark or System), Update preference, and App updates with the current and target versions and the Check for updates and Update and restart buttons.
ModelsConnected providers, + Add provider and + Add custom provider.
PackagesInstalled packages, standalone extensions, Add package and Extension paths.
SkillsDiscovered skills and manually configured paths.

Pi Settings → General

Language and appearance are remembered by your browser, per address

They are stored in the browser for the exact address you opened, and that includes the port. After the service restarts on a new port the browser can treat it as a new site and fall back to the defaults. Set them again if that happens.

Common combinations ​

A quiet background service on a remote machine (no browser to open, access over SSH):

bash
PI_WEBAPP_AUTO_OPEN=0 npx pi-webapp

then forward the port as described in Security → Remote machines.

A clean, throwaway setup for trying things without touching your real sessions or credentials:

bash
PI_CODING_AGENT_DIR=/tmp/pi-scratch npx pi-webapp

It runs as a second, separate service with its own data folder.

Behind a company proxy:

bash
HTTPS_PROXY=http://proxy.example.com:3128 NO_PROXY=127.0.0.1,localhost npx pi-webapp

Keep everything on your machine: add a custom provider that points at a local model server, and leave error reporting off (the default).

Browser view of the Pi terminal, opened automatically:

bash
PI_WEBAPP_AUTO_OPEN=1 pi

Applying changes ​

Changes in the Pi Settings dialog and the Plugins page apply right away. Environment variables apply only when the service starts: stop it and start it again (Environment variables).

These pages describe the source in this repository. Check Pi Settings → General for the version you are running.