★ Insight ─────────────────────────────────────
I've completed my investigation of pi's configuration system. Here are the key findings:
-
Pi has two-level settings: Global (
~/.pi/agent/settings.json) and project-specific (.pi/settings.json), but these only control core pi behavior (models, theme, compaction) - NOT tool parameter defaults. -
Extension-specific config is optional: Some extensions like
antigravity-image-genimplement their own config files (~/.pi/agent/extensions/antigravity-image-gen.json), but this is not required or standardized by pi's core. -
Subagent has no config mechanism: The subagent tool uses hardcoded defaults (
agentScope: "user",confirmProjectAgents: true) and doesn't support configuration files. To add this, you'd need to modify the extension source code.─────────────────────────────────────────────────
★ Lessons ─────────────────────────────────────
- Configuration in pi is layered: core settings (global/project) vs. extension-specific (optional, extension-implemented)
- Extension config patterns are not enforced - each extension decides whether to support configuration files
- Tool parameter defaults are typically hardcoded in extension code, not configurable via settings.json unless explicitly implemented
─────────────────────────────────────────────────
I've written comprehensive findings to /Users/nejo/src/github/vedang/agents/context.md including:
- All relevant file paths and line numbers
- How configuration loading works
- The extension-specific config pattern (with code examples)
- Why the subagent tool doesn't currently support default configuration