Personal extensions for Mario Zechner's Pi Coding agent.
A variant of Mario's own permission-gate which intercepts agent tool calls and prompts for confirmation before they run, resulting in behavior more similar to Claude Code etc. Covers the four tools that touch your filesystem or execute commands: bash, edit, read, and write.
Each tool has one of three modes:
| Mode | Behavior |
|---|---|
allow |
Always permit — no prompt |
deny |
Always block — agent receives an error |
ask |
Prompt for confirmation each time (default) |
Modes are stored in permission-gate/permission-gate.json and persist across sessions, e.g.:
{
"bash": "ask",
"edit": "ask",
"read": "allow",
"write": "ask"
}You can edit this file directly, or use the interactive UI at runtime.
Run /permissions to open an interactive settings panel. Use ↑↓ to navigate between tools and ←→ to cycle through modes. Changes are saved immediately to permission-gate.json.
Note: If the agent runs in headless mode, any tool in
askmode is automatically blocked.
Lets you view and edit the agent's full system prompt mid-session. Useful for inspecting the exact set of instructions the agent is operating under, or for temporarily overriding them to test different behaviors.
The /systemprompt command opens the current system prompt in an editor. If you save changes, you'll be asked to confirm the override. Once confirmed:
- The edited prompt replaces the live system prompt for the rest of the session.
- The prompt is frozen — it will no longer update automatically when tools, skills, or settings change.
- A
⚠ custom system promptindicator appears in the status bar as a reminder.
Run /systemprompt reset to clear the override and return to the default dynamic prompt.
The override is session-scoped: it is cleared automatically on /new, /resume, or /fork.