What do you want to change?
pi update should not silently stay on an older version when Pi was installed with pnpm v11.
Today the pnpm self-update command is:
pnpm install -g --ignore-scripts @earendil-works/pi-coding-agent
If the latest release is newer than pnpm’s minimumReleaseAge window, pnpm install -g installs the next older eligible version instead. Pi then says “Updated pi” even though it did not reach the latest version.
Why?
This is confusing and makes pi update feel broken.
In my case, pi update left Pi on 0.75.4 while Pi immediately showed “0.75.5 is available”. The user explicitly asked to update, so Pi should either:
- install the actual latest version, or
- clearly explain why it refused.
How?
For pnpm install -g installs, append --config.minimumReleaseAge=0 to the self-update command so the explicit pi update action bypasses pnpm’s age gate for that one invocation only. And imo in this bypassing should be fine because this is not a random dependency update, user are explicitly asking to update this specific package.
Example:
pnpm install -g --ignore-scripts --config.minimumReleaseAge=0 @earendil-works/pi-coding-agent
I’ve reproduced this locally and can send a PR if this approach looks acceptable.
What do you want to change?
pi updateshould not silently stay on an older version when Pi was installed withpnpmv11.Today the
pnpmself-update command is:pnpm install -g --ignore-scripts @earendil-works/pi-coding-agentIf the latest release is newer than pnpm’s minimumReleaseAge window,
pnpm install -ginstalls the next older eligible version instead. Pi then says “Updated pi” even though it did not reach the latest version.Why?
This is confusing and makes
pi updatefeel broken.In my case,
pi updateleft Pi on 0.75.4 while Pi immediately showed “0.75.5 is available”. The user explicitly asked to update, so Pi should either:How?
For
pnpm install -ginstalls, append--config.minimumReleaseAge=0to the self-update command so the explicit pi update action bypassespnpm’s age gate for that one invocation only. And imo in this bypassing should be fine because this is not a random dependency update, user are explicitly asking to update this specific package.Example:
pnpm install -g --ignore-scripts --config.minimumReleaseAge=0 @earendil-works/pi-coding-agentI’ve reproduced this locally and can send a PR if this approach looks acceptable.