Auto
Request or disable model-assisted decisions without changing global authorization.
Version 0.4.1 retains the global Pi permission-judge controls introduced in 0.4.0. These controls require Pi 0.84.2. They select the secondary model used for eligible permission decisions and never change Pi’s primary conversation model or thinking level.
Auto
Request or disable model-assisted decisions without changing global authorization.
Judge model
Search Pi’s current model scope and choose the secondary model used by the gate.
Thinking
Select inherit, off, or a level supported by the chosen judge model.
Shortcuts
Open the menu or toggle requested Auto with configurable global bindings.
Run this command in Pi TUI mode:
/amg-judgeThe menu shows Auto, the selected judge model, effective thinking, and reset. Model search matches provider, model ID, and display name. The thinking selector lists only levels supported by the selected model.
RPC, print, and JSON modes do not open or wait for the TUI menu. Use direct commands in RPC automation.
/amg-judge status/amg-judge on/amg-judge off/amg-judge model <provider> <model-id>/amg-judge thinking <level>/amg-judge reset| Command | Result |
|---|---|
status |
Reports enabled/off plus model and requested thinking when available; otherwise it reports the blocking policy or availability reason. |
on |
Requests Auto for this and future sessions after the preference file is saved. |
off |
Disables requested Auto after the preference file is saved. |
model |
Selects an available model inside Pi’s current model scope. |
thinking |
Selects inherit, off, or a level supported by the selected model. |
reset |
Removes model and thinking overrides while preserving Auto and shortcut choices. |
A command reports success only after the complete preference snapshot is written. A failed save leaves the current session unchanged.
Auto can remain requested while its effective state is off. This happens when:
Fix the blocking condition and check status again. Reload or restart Pi when host scope or extension configuration changes. Auto Mode Gate does not erase the requested preference when a project or model restriction disables it.
The preference schema accepts inherit, off, minimal, low, medium, high, xhigh, and max. A model can support fewer levels.
inherit uses Pi’s verified model-registry completion path without a thinking override.off explicitly disables secondary-model thinking when the model supports that setting.Unsupported levels are rejected before transport. Auto Mode Gate does not clamp a requested level to another value. Each eligible decision still uses at most one isolated request with no tools, no history, no retries, host cancellation, and a local deadline.
The defaults are:
| Action | Shortcut |
|---|---|
| Open the control menu | Ctrl+Alt+G |
| Toggle Auto | Ctrl+Alt+A |
Change them in the global preference file and then run /reload or restart Pi. Pi rejects its reserved bindings and warns when another extension registers the same non-reserved combination.
Pi reads one global file:
$PI_CODING_AGENT_DIR/auto-mode-gate-preferences.jsonWhen PI_CODING_AGENT_DIR is not set, the fallback is:
~/.pi/agent/auto-mode-gate-preferences.jsonExample with fictional model values:
{ "version": 1, "autoEnabled": true, "model": { "provider": "example-provider", "id": "example-model" }, "thinking": "high", "shortcuts": { "menu": "ctrl+alt+g", "toggleAuto": "ctrl+alt+a" }}model and thinking are optional. The file has no project variant and is not read from legacy policy paths. Invalid JSON, extra keys, oversized input, links, unreadable files, unavailable models, missing scope, and unsupported thinking load safe defaults or disable effective Auto without weakening policy.
Preferences do not enter Pi session JSONL or Auto Mode Gate decision logs.