Skip to content

Claude update banner compares against npm latest for native installs, so the update can never succeed #27987

Closed as not planned

Description

@mrekh

What happened

T3 Code shows "Update 1 machine? · Claude" even though claude update says Claude is already up to date. Clicking update fails with: "Update command completed, but T3 Code still detects an outdated provider version." The banner and the failure repeat every time.

Diagnosis

Claude is the native-installer build (~/.local/bin/claude, 2.1.314). claude update correctly reports it's up to date.

  • Native channel latest is 2.1.314 and stable is 2.1.308.
  • npm @anthropic-ai/claude-code latest is 2.1.316.
  • T3's provider status cache shows versionAdvisory: { status: "behind_latest", currentVersion: "2.1.314", latestVersion: "2.1.316", updateCommand: "<home>/.local/bin/claude update" }.

In the source (main at 11df0cb):

  • ClaudeDriver.ts declares nativeUpdate: { args: ["update"] } with npmPackageName: "@anthropic-ai/claude-code".
  • The native path in maintenanceResolver.ts has no lookupLatestVersion.
  • resolveLatestProviderVersion therefore falls back to fetchNpmLatestVersion (registry.npmjs.org/.../latest).
  • After a successful claude update, providerMaintenanceRunner.ts:595 re-checks, still sees 2.1.314 < 2.1.316, and reports "still detects an outdated provider version".

The native channel can lag npm, so the update can't succeed until Anthropic promotes the new build natively. Suggested fix: for native installs, resolve the latest version from the installer's own channel, or from claude update's output, instead of npm. Alternatively, don't flag native installs as outdated based on npm alone.

Steps to reproduce

  1. Install Claude with the native installer (~/.local/bin/claude).
  2. Wait for a window when npm latest is ahead of the native channel latest. Here, 2.1.316 vs 2.1.314.
  3. Open T3 Code. The provider update banner for Claude appears.
  4. Run claude update in a terminal. It reports it's up to date.
  5. Click Update in T3. It fails with the error above.

Version

0.1.6-nightly.20261031.3956 (desktop app, Nightly, local server; same as the triage CLI version)

Environment

macOS (Darwin 27.0.0, arm64), T3 Code Nightly desktop app against the local server, claude 2.1.314 (native, autoUpdatesChannel latest), Node v24.22.1.

Evidence

claude update  ->  Current version: 2.1.314 ... Claude Code is up to date (2.1.314)
npm dist-tags  ->  { stable: '2.1.309', next: '2.1.316', latest: '2.1.316' }
native channel ->  latest=2.1.314 stable=2.1.308
status cache versionAdvisory -> behind_latest, current 2.1.314, latest 2.1.316
trace: ProviderMaintenanceRunner.runProviderUpdate succeeded (~8s), refreshAfterUpdate ran, state "unchanged"

Related issues

None found. I searched pingdotgg/t3code for "claude native update outdated", "update command completed still outdated", and similar. The recent #27847 (npm registry configuration for version checks) touches this code but doesn't appear to fix it.

Fix applied or workaround

None. Nothing was changed on the machine.

Filed by

claude (Sonnet 5.5) via t3 triage, Claude Code agent

Activity

  1. t3dotgg commented on Nov 1, 2026

    @t3dotgg
    Member

    Note

    🤖 GPT-6.1 Terra [1m] responding on behalf of Theo

    Closing as a duplicate of the earlier native-Claude update report. Both show the same mismatch between the native channel and npm, followed by an update banner that persists after a successful native update. #27942

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions