A small pi package that adds a /thinking command to set the current thinking level and persist it as your default.
pi already makes it easy to change thinking level interactively with Shift+Tab.
This package exists for a slightly different use case: giving you an explicit command for setting a specific level and saving it as your default in one step.
That makes it useful if you want a workflow that is:
- More deliberate — choose
highormediumdirectly instead of cycling - More persistent — update your current session and your future default together
- More scriptable/documentable — easy to mention in notes, team docs, screenshots, and demos
- More self-explanatory —
/thinking highis clearer than “press Shift+Tab until it looks right”
- Adds a
/thinkingcommand - Updates the current session's thinking level immediately
- Writes
defaultThinkingLevelto~/.pi/agent/settings.json - Supports the built-in pi thinking levels:
offminimallowmediumhighxhigh
/thinking status
/thinking off
/thinking minimal
/thinking low
/thinking medium
/thinking high
/thinking xhigh
If you run /thinking with no arguments, it shows the current level.
pi install npm:pi-thinking-levelpi install git:github.com/mdsitton/pi-thinking-levelpi install /absolute/path/to/pi-thinking-levelOr use it for a single run:
pi -e /absolute/path/to/pi-thinking-levelAfter installation, run:
/reload
/thinking status
/thinking medium
/thinking high
Example flow:
- Run
/thinking high - pi switches the current session to
high - The extension saves
"defaultThinkingLevel": "high"to your pi settings - Future sessions start with that default unless you change it again
- This package only adds one command and has no third-party runtime dependencies.
- If pi cannot write
settings.json, it still updates the current session and shows a warning. - If
settings.jsoncontains invalid JSON or a non-object top-level value, the extension will warn instead of overwriting it blindly.
pi-thinking-level/
├── src/
│ └── index.ts
├── package.json
├── README.md
└── LICENSE
The package uses the pi package manifest in package.json:
{
"pi": {
"extensions": ["./src/index.ts"]
}
}Test the extension entrypoint directly with:
pi -e ./src/index.tsOr test the package root with:
pi -e .Or place the folder in:
~/.pi/agent/extensions/pi-thinking-level
Then hot reload with:
/reload
MIT