pi-sticky-model
Pi extension that keeps your selected model and thinking level across /new, /resume, and /fork. Resets on Ctrl+C.
Package details
Install pi-sticky-model from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-sticky-model- Package
pi-sticky-model- Version
0.4.1- Published
- Aug 3, 2026
- Downloads
- 697/mo · 279/wk
- Author
- eiei114
- License
- MIT
- Types
- extension
- Size
- 15.1 KB
- Dependencies
- 0 dependencies · 5 peers
Pi manifest JSON
{
"extensions": [
"./extensions"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-sticky-model
Keeps your model and thinking-level selections across
/new,/resume, and/forkwithout mixing settings between sessions. Resets on Ctrl+C — no settings.json override needed.
What this is
Pi extension. When you switch models with /model or Ctrl+P, or change the thinking level, the selection sticks across /new, /resume, and /fork for the lifetime of the Pi process. Close Pi (Ctrl+C) and everything resets to your settings.json default.
For anyone tired of their model snapping back to the settings.json default every time they start a new conversation. Each session keeps its own model; a new or forked session inherits only from its predecessor.
Features
- Sticky model:
/modelselection persists across/new,/resume,/fork - Sticky thinking: thinking level follows the selected model across
/new,/resume,/fork - Session-scoped: sessions keep separate model selections; Ctrl+C / process exit resets the current session
- Zero config: install and it works — no YAML, no JSON, no setup
- Reload-safe:
/reloadpreserves your current model
Coexistence
This extension works alongside other model-switching extensions such as pi-weighted-model-router and pi-scheduled-router. Since all of them call pi.setModel(), the last one to fire wins. Control the priority by ordering your packages array in .pi/settings.json.
Install
Install the published npm package with Pi:
pi install npm:pi-sticky-model
Pin a specific version when you want reproducible installs:
pi install npm:pi-sticky-model@0.4.1
Install into the current project instead of your user Pi settings:
pi install npm:pi-sticky-model -l
Or install from GitHub:
pi install git:github.com/eiei114/pi-sticky-model
Try it without permanently installing:
pi -e npm:pi-sticky-model
Quick start
Try this package locally:
pi -e .
Then pick a model and thinking level, then run /new — both selections stay.
Package contents
Shipped files (see package.json files and npm pack --dry-run):
| Path | Purpose |
|---|---|
extensions/index.ts |
Pi extension entrypoint — event hooks for model persistence |
lib/sticky-model.ts |
Session-scoped process memory for sticky models |
README.md |
Package overview and install guide |
CHANGELOG.md |
Version history |
LICENSE |
MIT license |
Development
npm install
npm run ci
npm run ci runs typecheck, tests, and npm pack --dry-run via pack:check. Confirm the published tarball any time with:
npm run pack:check
Short flow:
Vault notes -> PRD -> Issues -> implement -> ci/check -> release -> save learnings
Release
This package is set up for npm Trusted Publishing, so no NPM_TOKEN is required.
npm version patch
git push
See docs/release.md for setup details.
Docs
docs/release.md— Trusted Publishing setup detailsdocs/health-check.md— Maintenance health check baseline
Security
Pi packages can execute code with your local permissions. Review extensions before installing third-party packages.
For vulnerability reporting, see SECURITY.md.
Links
- npm: https://www.npmjs.com/package/pi-sticky-model
- GitHub: https://github.com/eiei114/pi-sticky-model
- Issues: https://github.com/eiei114/pi-sticky-model/issues
License
MIT