pi-sticky-model

Pi extension that keeps your selected model and thinking level across /new, /resume, and /fork. Resets on Ctrl+C.

Packages

Package details

extension

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

Join dotfield.xyz on Discord

CI Publish npm version npm downloads License: MIT Pi package Trusted Publishing

Keeps your model and thinking-level selections across /new, /resume, and /fork without 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: /model selection 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: /reload preserves 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

Security

Pi packages can execute code with your local permissions. Review extensions before installing third-party packages.

For vulnerability reporting, see SECURITY.md.

Links

License

MIT