Configuration & Settings
Settings Files
Project settings file
| Parameter |
Type |
Default |
Description |
Effect |
| Path |
string |
none |
.pi/pi-config-settings.json in the repository root. |
Highest-precedence settings source for the current project. |
{
"pidash_enable": true,
"pidash_port": 19190,
"cli_agents": ["claude", "cursor"]
}
Global settings file
| Parameter |
Type |
Default |
Description |
Effect |
| Path |
string |
none |
~/.pi/pi-config-settings.json in the current user's home directory. |
Fallback settings source for all projects when a key is not set in the project file. |
{
"dream_interval_hours": 6,
"review_loop_enforcement": true
}
Resolution order
| Parameter |
Type |
Default |
Description |
Effect |
| Resolution order |
ordered list |
built-in default last |
Settings resolve in this order: project file → global file → environment variable → default. |
Determines which value is used when the same key appears in multiple places. |
project file -> global file -> environment variable -> default
Git & Workflow Keys
commit_trailer
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
commit_trailer |
string or false |
false |
PI_COMMIT_TRAILER |
Commit trailer name, or a comma-separated list of trailer names. |
Injects a trailer into git commit commands when a string value is set. |
Note: A comma-separated string such as "Assisted-by, Co-authored-by" is treated as a selectable list of trailer names.
{
"commit_trailer": "Assisted-by"
}
export PI_COMMIT_TRAILER="Assisted-by"
allow_push_to_protected_branches
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
allow_push_to_protected_branches |
boolean |
false |
PI_ALLOW_PUSH_TO_PROTECTED_BRANCHES |
Allows commits and pushes to protected branches. |
Disables the protected-branch block in git enforcement. |
{
"allow_push_to_protected_branches": true
}
export PI_ALLOW_PUSH_TO_PROTECTED_BRANCHES=true
use_worktrees
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
use_worktrees |
boolean |
false |
PI_USE_WORKTREES |
Forces worktree-only branch workflows. |
Blocks branch-changing git checkout and git switch commands in the main worktree. |
{
"use_worktrees": true
}
export PI_USE_WORKTREES=true
dco
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
dco |
boolean |
false |
PI_DCO |
Enables Developer Certificate of Origin signing. |
Adds --signoff to git commit when the flag is not already present. |
orchestrator_edit_write_block
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
orchestrator_edit_write_block |
boolean |
false |
none |
Blocks the top-level orchestrator from calling edit and write directly. |
File changes must be delegated through the subagent tool. Subagent child processes are not blocked by this key. |
{
"orchestrator_edit_write_block": true
}
See Managing Custom Agents for details.
Review & PR Keys
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
comment_signature |
boolean |
false |
none |
Enables an AI signature on PR comments posted through the review CLI helpers. |
Sets the PI_COMMENT_SIGNATURE process variable on session start for review tooling to read. |
{
"comment_signature": true
}
See Automating Code Reviews for details.
review_loop_enforcement
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
review_loop_enforcement |
boolean |
false |
PI_REVIEW_LOOP_ENFORCEMENT |
Enables review-loop enforcement. |
Blocks git commit until the review state is clean and tests have passed. Also enables the review status UI slot. |
{
"review_loop_enforcement": true
}
export PI_REVIEW_LOOP_ENFORCEMENT=true
See Automating Code Reviews for details.
review_loop_max_cycles
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
review_loop_max_cycles |
integer 1-10 |
3 |
PI_REVIEW_LOOP_MAX_CYCLES |
Maximum number of review-loop cycles when review-loop enforcement is enabled. |
Caps reviewer re-dispatch count. Invalid values fall through to the next resolution layer or the default. |
Warning: Accepted values are integers 1 through 10, or digit strings "1" through "10". Values such as 0, 11, "01", "10.0", "1e1", and "inf" are ignored.
{
"review_loop_max_cycles": 5
}
export PI_REVIEW_LOOP_MAX_CYCLES=7
See Automating Code Reviews for details.
Provider Registration & Model Routing
cli_agents
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
cli_agents |
string or string[] |
[] |
CLI_AGENTS |
List of CLI-backed agent names. |
Registers cli-<agent> providers in the unified provider extension. |
| Supported built-in value |
Registered provider ID |
claude |
cli-claude |
gemini |
cli-gemini |
cursor |
cli-cursor |
Note: Values are lowercased, deduplicated, and invalid names are filtered out.
Tip: Set an explicit empty array ([]) in the project file to override inherited global or environment values.
{
"cli_agents": ["claude", "cursor"]
}
export CLI_AGENTS="Cursor,Gemini"
See External AI Agents & CLI for details.
acpx_agents
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
acpx_agents |
string or string[] |
[] |
ACPX_AGENTS |
List of ACPX agent names to register. |
Registers acpx-<agent> providers in the unified provider extension. |
Note: Values are lowercased, deduplicated, and invalid names are filtered out.
{
"acpx_agents": ["cursor"]
}
export ACPX_AGENTS="cursor,claude"
See ACPX Provider Integration for details.
agent_provider
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
agent_provider |
string |
"" |
none |
Default provider for subagents. |
Used when a per-agent override and agent frontmatter do not provide a provider. |
{
"agent_provider": "cli-cursor"
}
agent_model
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
agent_model |
string |
"" |
none |
Default model ID for subagents. |
Used when a per-agent override and agent frontmatter do not provide a model. |
{
"agent_model": "cursor:cursor-grok-4.5-high-fast"
}
agent_overrides
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
agent_overrides |
object |
{} |
none |
Per-agent provider/model overrides. |
Highest-precedence settings layer for subagent model routing. |
provider |
string or null |
inherited |
none |
Provider override for a named agent. |
null means inherit the parent provider directly. |
model |
string or null |
inherited |
none |
Model override for a named agent. |
null means inherit the parent model directly. |
| Resolution priority |
Source |
| 1 |
agent_overrides[name] |
| 2 |
Agent frontmatter (provider, model) |
| 3 |
agent_provider / agent_model |
| 4 |
Parent session provider/model |
{
"agent_provider": "cli-cursor",
"agent_model": "cursor:cursor-grok-4.5-high-fast",
"agent_overrides": {
"debugger": {
"provider": null,
"model": null
},
"reviewer": {
"provider": "cli-claude",
"model": "claude-sonnet"
}
}
}
See Managing Custom Agents for details.
Dashboard & UI Keys
pidash_enable
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
pidash_enable |
boolean |
true |
PI_PIDASH_ENABLE |
Enables the global dashboard extension. |
Controls /pidash availability and daemon connection behavior. |
Note: Environment values false, 0, no, and off disable pidash.
{
"pidash_enable": false
}
export PI_PIDASH_ENABLE=false
pidiff_enable
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
pidiff_enable |
boolean |
true |
PI_PIDIFF_ENABLE |
Enables the diff viewer extension. |
Controls /pidiff availability and per-project diff server startup. |
Note: Environment values false, 0, no, and off disable pidiff.
{
"pidiff_enable": false
}
export PI_PIDIFF_ENABLE=off
pidash_port
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
pidash_port |
integer |
19190 |
PI_PIDASH_PORT |
HTTP and WebSocket port for pidash. |
Sets the port used when spawning or reconnecting to the pidash daemon. |
Warning: Only integer values in the range 1-65535 are accepted. Invalid values fall back to the next resolution layer or the default.
export PI_PIDASH_PORT=19191
See Using the Web Dashboard for details.
image_model
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
image_model |
string |
"" |
PI_IMAGE_MODEL |
Gemini image generation model name. |
Enables the generate_image tool to call the Gemini API. |
{
"image_model": "gemini-3-pro-image"
}
export PI_IMAGE_MODEL=gemini-3-pro-image
See Image Generation for details.
Background & Async Keys
dream_interval_hours
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
dream_interval_hours |
number |
3 |
PI_DREAM_INTERVAL_HOURS |
Interval between automatic dream passes. |
Controls how frequently background memory consolidation is scheduled. |
{
"dream_interval_hours": 6
}
export PI_DREAM_INTERVAL_HOURS=6
See Background Memory Consolidation (Dreaming) for details.
async_llm_provider
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
async_llm_provider |
string |
"" |
PI_ASYNC_LLM_PROVIDER |
Provider to use for must-async LLM work when a sidecar provider/model pair is required. |
Combined with async_llm_model to define the sidecar provider. |
{
"async_llm_provider": "openai"
}
export PI_ASYNC_LLM_PROVIDER=openai
async_llm_model
| Parameter |
Type |
Default |
Environment variable |
Description |
Effect |
async_llm_model |
string |
"" |
PI_ASYNC_LLM_MODEL |
Model ID paired with async_llm_provider for must-async LLM work. |
Combined with async_llm_provider to define the sidecar model. |
{
"async_llm_model": "gpt-5.4"
}
export PI_ASYNC_LLM_MODEL=gpt-5.4
Warning: Both async_llm_provider and async_llm_model must be set together. If either is missing, must-async work is skipped.
Warning: async_llm_provider cannot be an acpx-* provider ID.
See Running Background Agents and Scheduled Tasks for details.
Environment-only Process Flag
PI_SUBAGENT_CHILD
| Parameter |
Type |
Default |
Description |
Effect |
PI_SUBAGENT_CHILD |
string |
unset |
Process flag set to "1" for subagent child processes. |
Disables parent-session-only startup behavior such as pidash/pidiff registration and settings cache reset hooks in child processes. |
See Running Background Agents and Scheduled Tasks for details.
Related Pages