Configuration
The Micro Manager loads YAML settings and Markdown review priorities. User files apply to all projects. Project files apply only after Pi grants project trust.
Quick configuration
Create ~/.pi/agent/MICRO_MANAGER.yml:
enabled: true
thinking: low
tools: [read, grep, find, ls]
When no later file defines named managers, this configuration creates one default manager. It uses the primary session model.
Run /micro-manager reload after you change a file in an active session.
YAML settings
Top-level settings control the extension and all manager runtimes.
| Key | Default | Accepted value | Effect |
|---|---|---|---|
enabled |
false |
Boolean | Enable review when the session starts. |
model |
Primary model | Model selector | Set the inherited review model. |
thinking |
low |
Pi thinking level | Set the inherited thinking level. |
tools |
All four tools | Tool-name array | Set the inherited investigation tools. |
timeout_ms |
30000 |
1,000 to 120,000 | Limit one provider attempt, including its tool rounds. |
max_input_chars |
24000 |
2,000 to 100,000 | Limit one primary transcript update. |
max_output_tokens |
512 |
64 to 4,096 | Limit each provider response. |
max_tool_rounds |
3 |
0 to 8 | Limit read-only investigation rounds for one update. |
max_context_chars |
100000 |
8,000 to 500,000 | Limit one manager's private conversation. |
max_attempts |
2 |
1 to 3 | Set the number of provider attempts for one update. |
immune_turns |
3 |
0 to 20 | Set non-interrupting turns after an interrupting report. |
instructions |
None | Nonempty string | Add shared instructions to every manager. |
managers |
None | Manager array | Replace the default manager with named managers. |
Accepted thinking levels are off, minimal, low, medium, high, xhigh, and max. Pi clamps the level to the selected model's capabilities.
Accepted tools are read, grep, find, and ls. search maps to grep. glob maps to find. An empty tool array disables file investigation but keeps the internal report tool.
timeout_ms covers all model calls and tool work in one attempt. Each retry starts a new timeout.
A primary update cannot exceed half of max_context_chars. This rule applies even when max_input_chars is larger.
Model selectors
Use a provider and model ID when you select a model:
model: anthropic/claude-sonnet-4-6
Add a thinking suffix to override the inherited thinking level:
model: anthropic/claude-sonnet-4-6:medium
A bare model ID works only when exactly one registered provider has that ID. Use provider/model to avoid ambiguity.
If you omit model, the manager follows the primary session model. The extension rebuilds inherited-model managers after primary model selection changes. It starts from current history and does not replay earlier turns.
Named managers
Use named managers for separate review concerns:
enabled: true
model: anthropic/claude-sonnet-4-6
thinking: low
tools: [read, grep, find, ls]
instructions: |
Report only claims supported by repository evidence.
managers:
- name: Architecture
thinking: medium
instructions: |
Check ownership, state transitions, and module boundaries.
- name: Tests
model: openai/gpt-5.4:low
tools: [read, grep, find]
instructions: |
Check regression coverage and failure paths.
- name: Paused example
enabled: false
Each manager accepts these keys:
| Key | Default | Effect |
|---|---|---|
name |
Required | Set the display name and merge identity. Maximum length is 80 characters. |
enabled |
true |
Start or pause this manager. |
model |
Top-level model | Override the model selector. |
thinking |
Top-level thinking | Override the thinking level. |
tools |
Top-level tools | Override the investigation tools. |
instructions |
None | Add instructions after shared instructions. |
When managers contains any definitions, the extension does not create the default manager. If all named managers are paused, no review model runs.
Configuration retains at most eight merged manager definitions. If file merging produces more than eight, the extension keeps the eight most specific definitions and reports a warning.
Markdown priorities
Put project-specific review priorities in MICRO_MANAGER.md:
# Review priorities
- Check that durable writes finish before success is reported.
- Require terminal text to remove control characters.
- Require a package smoke test before release.
The extension wraps each Markdown file as an attention block in the system prompt. It appends all nonempty blocks in load order.
Treat these files as model instructions. Do not put secrets in them.
File locations and load order
The extension checks these user files first:
~/.pi/agent/MICRO_MANAGER.ymlorMICRO_MANAGER.yaml~/.pi/agent/MICRO_MANAGER.md
For a Git worktree, it then walks from the repository root to the current directory. At each directory, it checks:
MICRO_MANAGER.ymlorMICRO_MANAGER.yamlMICRO_MANAGER.md.pi/MICRO_MANAGER.ymlor.pi/MICRO_MANAGER.yaml.pi/MICRO_MANAGER.md
When both YAML suffixes exist at one location, .yml takes precedence. The extension does not read the .yaml file at that location.
Later YAML settings replace earlier top-level settings. Shared instructions values accumulate in load order.
Manager names use a normalized lowercase identity. A later manager replaces the complete earlier definition with the same identity. The replacement then inherits the final top-level model, thinking level, and tools.
For example, Architecture, architecture, and Architecture / normalize to the same identity. Use stable, distinct names across configuration levels.
Outside a Git worktree, the extension checks only the current directory and its .pi directory for project files.
Project trust
Project MICRO_MANAGER files are repository-controlled model instructions. They can select providers and grant read-only access to workspace files. The extension requires explicit Pi project trust before it reads their content.
The extension checks file metadata to detect a project configuration. It does not read configuration content during that check.
In the TUI, the extension asks for trust when a root MICRO_MANAGER file is the only project resource. A saved /trust decision applies to later sessions.
Print and JSON modes cannot show this extension's trust prompt. Grant trust in an interactive session before a headless run. --approve can grant trust when the project also contains a standard Pi trust-gated resource, such as .pi/settings.json.
User files do not require project trust.
Validation and failure rules
The parser rejects:
- Unknown YAML keys.
- Duplicate YAML keys.
- Values with the wrong type.
- Limits outside their accepted range.
- Tools other than the four read-only tools and their aliases.
- Manager names with control or formatting characters.
- YAML files larger than 64 KiB.
- Symbolic links and non-regular configuration files.
A bad file produces a configuration warning. The extension skips that file and continues with other files. Run /micro-manager status to see the warning count and loaded source paths.