pi-thinking-level

A tiny pi package that adds a /thinking command to set and persist pi's default thinking level.

Package details

extension

Install pi-thinking-level from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-thinking-level
Package
pi-thinking-level
Version
0.2.0
Published
Apr 27, 2026
Downloads
246/mo · 135/wk
Author
mdsitton
License
MIT
Types
extension
Size
6.9 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./src/index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-thinking-level

A small pi package that adds a /thinking command to set the current thinking level and persist it as your default.

Why this exists

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 high or medium directly 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 high is clearer than “press Shift+Tab until it looks right”

What it does

  • Adds a /thinking command
  • Updates the current session's thinking level immediately
  • Writes defaultThinkingLevel to ~/.pi/agent/settings.json
  • Supports the built-in pi thinking levels:
    • off
    • minimal
    • low
    • medium
    • high
    • xhigh

Command

/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.

Installation

From npm

pi install npm:pi-thinking-level

From GitHub

pi install git:github.com/mdsitton/pi-thinking-level

From a local path

pi install /absolute/path/to/pi-thinking-level

Or use it for a single run:

pi -e /absolute/path/to/pi-thinking-level

After installation, run:

/reload

Usage examples

/thinking status
/thinking medium
/thinking high

Example flow:

  1. Run /thinking high
  2. pi switches the current session to high
  3. The extension saves "defaultThinkingLevel": "high" to your pi settings
  4. Future sessions start with that default unless you change it again

Notes

  • 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.json contains invalid JSON or a non-object top-level value, the extension will warn instead of overwriting it blindly.

Package structure

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"]
  }
}

Development

Test the extension entrypoint directly with:

pi -e ./src/index.ts

Or test the package root with:

pi -e .

Or place the folder in:

~/.pi/agent/extensions/pi-thinking-level

Then hot reload with:

/reload

License

MIT