You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Bun-global provider updates advertise npm's latest even when bun's minimumReleaseAge refuses it #30632
Area: apps/server (provider update advertising) Impact: Major degradation or frequent failure
Steps to reproduce
Set a bun release-age limit in ~/.bunfig.toml:
[install]
minimumReleaseAge = 604800
Install OpenCode globally with bun on an older version, for example bun i -g @opencode/cli@2.2.0.
Open T3 Code > Settings > Providers. OpenCode shows an update to 2.2.5, which is npm's latest dist-tag. That version was published 2026-10-30T23:14Z, so it is inside the 7-day window.
Click Update. T3 runs bun i -g @opencode/cli@latest. bun installs 2.2.0, exits 0, and T3 shows "Update command completed, but T3 Code still detects an outdated provider version." Repeating the update gives the same result until 2.2.5 ages past the window.
Expected behavior
T3 advertises the newest version bun will actually install under minimumReleaseAge. When that version is already installed, no update is offered.
Actual behavior
T3 advertises npm's latest (2.2.5), which bun refuses. The update succeeds on bun's side but installs the old version, so the provider stays flagged as outdated.
Evidence
Observed with bun 1.3.3 and the config above:
$ bun add @opencode/cli@latest
installed @opencode/cli@2.2.0
$ bun add @opencode/cli@2.2.4
error: No version matching "@opencode/cli" found for specifier "2.2.4" (blocked by minimum-release-age: 604800 seconds)
So @latest silently falls back to the newest eligible release, but an exact pin to a too-new version is rejected. The advertised version is what is wrong, not the update command.
Diagnosis
The bun-global branch of resolvePackageManagedProviderMaintenance (packages/provider-core/src/server/maintenanceResolver.ts) has no lookupLatestVersion, so it falls back to the npm latest dist-tag. npm's latest ignores bun's minimumReleaseAge. This is the same class of bug as #14249 (pnpm, fixed in #19580), #21422 (npm and Vite+), and the open npm fix in #24062. bun global installs are not covered by any of them.
Activity