Skip to content

Confusing minimumReleaseAge vs pi update behavior #4929

@ashwch

Description

@ashwch

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.

Metadata

Metadata

Assignees

Labels

inprogressIssue is being worked on

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions