Skip to content

[BUG] claude update very slow #51243

@phil71x

Description

@phil71x

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

claude update downloads the full release tarball (~226 MB) even when already up-to-date
Environment: WSL2 Ubuntu, native install, Claude Code 2.1.114, Config install method: native, Auto-update channel: latest
Repro:

$ time claude update
Current version: 2.1.114
Checking for updates to latest version...
Claude Code is up to date (2.1.114)
real    0m30.247s

Diagnosis: strace shows ~226 MB received on the GCS socket across 6,915 reads during a no-op update check. Expected: a HEAD request or small metadata fetch to compare versions, followed by early exit. Actual: full tarball download, then "already up to date."
Impact: 30s latency per manual update check on ~7 MB/s links. Silent bandwidth cost for metered connections. Linear in release size.

What Should Happen?

the command should not download that much data if claude code is uptodate.

Error Messages/Logs

the strace summary command I ran and its output:

$ awk 'match($0, /<[0-9.]+>$/) {
  dur = substr($0, RSTART+1, RLENGTH-2) + 0
  print dur "\t" $0
}' /tmp/claude-update2.trace | sort -rn | head -20
9.9e-05 51596 19:49:56.619725 recvfrom(18, "n\277\312_5\247\253\274\357\201#\3228\3143A\356BT\311\5\250\r\374\3444FY\270J\10\231"..., 524288, MSG_DONTWAIT, NULL, NULL) = 24852 <0.000099>
9.9e-05 51596 19:49:55.477304 recvfrom(18, "\t\277rL\3540\373\"i\206\307\274\356\35o\307\367&\200ND\232\312\231\260}!\5>\213_~"..., 524288, MSG_DONTWAIT, NULL, NULL) = 44472 <0.000099>
9.9e-05 51596 19:49:54.917806 recvfrom(18, "\37\323^\206\312\250AV\2263\371\216A\211\301\272\271\260\236>\3374M\224\204\323\300\311\353dCd"..., 524288, MSG_DONTWAIT, NULL, NULL) = 7848 <0.000099>
9.9e-05 51596 19:49:52.040078 recvfrom(18, "\6c[lh\260wk\274V\346T\222\247\314\2137\315\327\357\217@Kf\314\201|\232\254\301t\333"..., 524288, MSG_DONTWAIT, NULL, NULL) = 3924 <0.000099>
9.9e-05 51596 19:49:50.239335 recvfrom(18, "\3501\272\3626\327\27\\\302W/\3100\374\220\375Q\252\n\2400\363\204\262\360~\270`52\25\333"..., 524288, MSG_DONTWAIT, NULL, NULL) = 62784 <0.000099>
9.9e-05 51596 19:49:48.871225 recvfrom(18, "\357\257\267\367\33 M\277\226\344@\332Xf\26\333\244V8\322\324\214K\214\300\313\200Zf\201\331\236"..., 524288, MSG_DONTWAIT, NULL, NULL) = 18312 <0.000099>
9.9e-05 51596 19:49:44.972496 recvfrom(18, "v\314\342\355\314\365\216\250\30K^\4\327\232+\304\336Lz\223g\1\202\201]t\373\256\230\2430\307"..., 524288, MSG_DONTWAIT, NULL, NULL) = 13080 <0.000099>
9.9e-05 51596 19:49:39.323200 recvfrom(18, "\2\371\33\240\331\362~\371\372\340\354\16f\237\201``qRZh&C\373W/\336\342\7\362\257\210"..., 524288, MSG_DONTWAIT, NULL, NULL) = 60168 <0.000099>
9.9e-05 51596 19:49:38.513445 recvfrom(18, "\221\23\3444\212\10\204\230\202\320\213\364\204\3253\312\304\267L\347\251q]\251Tm\322\367v\231\354%"..., 524288, MSG_DONTWAIT, NULL, NULL) = 18312 <0.000099>
9.9e-05 51596 19:49:37.584354 recvfrom(18, "\353\245:\231<\230l}\235\230\306\250\257\264\4S\267F<T\355\273\\B\31|Q1\261\251\360\373"..., 524288, MSG_DONTWAIT, NULL, NULL) = 70632 <0.000099>
9.9e-05 51596 19:49:36.431502 recvfrom(18, "\233hK1'\222\177VV\236\312\326\362\233iI\314%\7\373L\211\305Y\346\342M\326i${\342"..., 524288, MSG_DONTWAIT, NULL, NULL) = 1308 <0.000099>
9.9e-05 51596 19:49:33.872659 recvfrom(18, "u+*\256\216 \33\2W\300X\271\334\310;\308G\201\354\324\274\0 \351Y\331\t\333G\260#"..., 524288, MSG_DONTWAIT, NULL, NULL) = 36624 <0.000099>
9.9e-05 51596 19:49:33.318245 recvfrom(18, "\357\272\332\315\357\264\3\23\203\242\364\27\333\377\37M\216{\214I\27\251\37\373?8=\317\356\343\264\1"..., 524288, MSG_DONTWAIT, NULL, NULL) = 5232 <0.000099>
9.9e-05 51596 19:49:33.050977 recvfrom(18, "\257!]<\353\357\334\21\343\244\327\256V\316\247\16k\30z\277\3548_\206\264G\273B\223\304\356p"..., 524288, MSG_DONTWAIT, NULL, NULL) = 18312 <0.000099>
9.9e-05 51596 19:49:32.712606 recvfrom(18, "\325+\266\r_(Q\273\377\r\337]`\311\363\17\264\1m\34;\270T2\3641\272K\262o\253\255"..., 524288, MSG_DONTWAIT, NULL, NULL) = 7848 <0.000099>
9.9e-05 51596 19:49:31.166175 recvfrom(18, "\260\265D\362NYK\335\316\225n\235\375\353\24/.x_\247\264\203yj\272\305\25\213\376n\222N"..., 524288, MSG_DONTWAIT, NULL, NULL) = 71940 <0.000099>
9.9e-05 51596 19:49:28.952525 recvfrom(18, "\242Do\31x\302<N}C\22a\311\2033,?GS\240\326\262\20\0374\22\362\350\2526\223\236"..., 524288, MSG_DONTWAIT, NULL, NULL) = 34008 <0.000099>
9.9e-05 51596 19:49:28.106956 recvfrom(18, "\36\204\vawxfRZ\237\333\221\1\17z\230\375Wf\223\243#,\220\231s\224u\303\203\3459"..., 524288, MSG_DONTWAIT, NULL, NULL) = 18312 <0.000099>
9.8e-05 51596 19:49:54.789785 recvfrom(18, "@\255\35\t\273\3571\323v\217O\266\36R\302\312^\344\310\374\33\1Dq\273\342\220\330p\277\207\353"..., 524288, MSG_DONTWAIT, NULL, NULL) = 1308 <0.000098>
9.8e-05 51596 19:49:53.909199 recvfrom(18, "y\254\311\314H\256\334.\340\373rW\355b\30\375\306\347\340W\3748\33\1Cm\3331\317\254\253\243"..., 524288, MSG_DONTWAIT, NULL, NULL) = 32700 <0.000098>

Steps to Reproduce

type claude update command in the windows terminal on my ubuntu WSL2 sysetem

Claude Model

None

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

2.1.114

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

VS Code integrated terminal

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:packagingbugSomething isn't workinghas reproHas detailed reproduction stepsplatform:wslIssue specifically occurs on WSL

    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