pi-dont-change-my-defaults
Prevent Pi from persisting model, provider, and thinking-level changes as defaults
Package details
Install pi-dont-change-my-defaults from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-dont-change-my-defaults- Package
pi-dont-change-my-defaults- Version
0.0.3- Published
- Aug 24, 2026
- Downloads
- 246/mo · 18/wk
- Author
- kaanozdokmeci
- License
- MIT
- Types
- extension
- Size
- 5.8 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./extensions/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-dont-change-my-defaults
Prevent Pi from persisting model, provider, and thinking-level changes as defaults.
Selecting a model or thinking level still changes the current session. This extension only prevents Pi from writing those choices back as defaults for future sessions. Other settings continue to persist normally.
Pi 0.84.3 and newer
Pi 0.84.3 provides this behavior natively: model and thinking-level selections are session-only unless you explicitly save them as defaults with Ctrl+S.
This extension is only compatible with Pi 0.83.0 through 0.84.2. On Pi 0.84.3 or newer, remove it:
pi remove npm:pi-dont-change-my-defaults
Install
pi install npm:pi-dont-change-my-defaults
To try it for one invocation without installing it:
pi -e npm:pi-dont-change-my-defaults
Development
npm install
npm run check
npm test
npm run pack:dry
The extension entrypoint is:
extensions/index.ts
Release staging
- Run
npm run release -- X.Y.Zfrom a clean, synchronizedmain. - The command builds the exact package locally, records its SHA-256 in an SSH-signed release commit, proves a clean rebuild is reproducible, and creates a lightweight tag.
- Inspect the result, then push atomically with
git push --atomic origin main vX.Y.Z. - A read-only GitHub Actions job validates and packs the package. After approval in the tag-restricted
npm-publishenvironment, a separate GitHub-owned job verifies the signature and signed digest before attesting and staging that exact archive through npm trusted publishing. - Approve the staged package on npmjs.com, or with
npm stage approve <stage-id>.
Stable releases use latest; prereleases derive their npm dist-tag from the first prerelease identifier.