feat(coding-agent): add experimental feature flag

This commit is contained in:
Vegard Stikbakke
2026-06-08 15:36:26 +02:00
Unverified
parent d8aef0feff
commit 54c49ddeb0
7 changed files with 86 additions and 3 deletions
+12 -2
View File
@@ -1,6 +1,6 @@
# Settings
Pi uses JSON settings files with project settings overriding global settings.
Pi uses JSON settings files with project settings overriding global settings unless a setting notes otherwise.
| Location | Scope |
|----------|-------|
@@ -64,6 +64,16 @@ Use `/trust` in interactive mode to save a project trust decision for future ses
Set `PI_SKIP_VERSION_CHECK=1` to disable the Pi version update check. Use `--offline` or `PI_OFFLINE=1` to disable all startup network operations described here, including update checks, package update checks, and install/update telemetry.
### Experimental Features
| Setting | Type | Default | Description |
|---------|------|---------|-------------|
| `experimentalFeatures` | boolean | `false` | Enable early features that may change or break |
`experimentalFeatures` is global-only. Set it in `~/.pi/agent/settings.json`; `.pi/settings.json` is ignored for this setting. It is not shown in `/settings`.
Set `PI_EXPERIMENTAL=1` (or `true`/`yes`) to enable experimental features for one process. If `PI_EXPERIMENTAL` is set, it overrides `experimentalFeatures`; use `0`, `false`, or `no` to force-disable.
### Warnings
| Setting | Type | Default | Description |
@@ -269,7 +279,7 @@ See [packages.md](packages.md) for package management details.
## Project Overrides
Project settings (`.pi/settings.json`) override global settings. Nested objects are merged:
Project settings (`.pi/settings.json`) override global settings except for global-only settings such as `experimentalFeatures`. Nested objects are merged:
```json
// ~/.pi/agent/settings.json (global)
+1
View File
@@ -288,6 +288,7 @@ pi --exclude-tools ask_question
| `PI_OFFLINE` | Disable startup network operations, including update checks, package update checks, and install/update telemetry |
| `PI_SKIP_VERSION_CHECK` | Skip the Pi version update check at startup. This prevents the `pi.dev` latest-version request |
| `PI_TELEMETRY` | Override install/update telemetry and provider attribution headers: `1`/`true`/`yes` or `0`/`false`/`no`. This does not disable update checks |
| `PI_EXPERIMENTAL` | Override `experimentalFeatures` for early features: `1`/`true`/`yes` or `0`/`false`/`no` |
| `PI_CACHE_RETENTION` | Set to `long` for extended prompt cache where supported |
| `VISUAL`, `EDITOR` | External editor for Ctrl+G |