[BUG] 1.0.117 crashing on upgrade or startup
Resolved 💬 3 comments Opened Sep 20, 2025 by wayneforrest Closed Sep 20, 2025
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] 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 crashes on startup, since perhaps some autoupdate.
I run claude on mingw bash, on Windows ARM64 - "Parallels / MacOS".
$ claude --version
1.0.117 (Claude Code)
1: claude crashes on upgrade
2: claude crashes on startup
What Should Happen?
Not crash
Error Messages/Logs
`$ claude
╭─────────────────────────────────────────────────────────────╮
│ ✻ Welcome to Claude Code! │
│ │
│ /help for help, /status for your current setup │
│ │
│ cwd: C:\Users\wayneforrest\Documents\projects\caltimemfc │
╰─────────────────────────────────────────────────────────────╯
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Try "refactor <filepath>"
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
? for shortcuts Auto-updating…
file:///C:/Users/wayneforrest/.nvm/versions/node/v22.19.0/bin/node_modules/@anthropic-ai/claude-code/cli.js:2989
`}]}};var NE=A1(H1(),1);var _9=A1(H1(),1);function f65(A,B,Q){let Z=Um(A);if(A===null&&b2()){let G=ER1();if(B){let Y=Q?` · Resets at ${pC(Q,!0)}`:"";Z=`${n1.bold("Default")} ${G} (currently Sonnet${Y})`}else if(jV())Z=`${n1.bold("Default")} ${G} (currently Opus)`;else Z=`${n1.bold("Sonnet")} ${G}`}return Z}function h65({type:A}){switch(A){case"check":return _9.createElement(M,{color:"success"},t0.tick);case"error":return _9.createElement(M,{color:"error"},t0.warning);case"info":return _9.createElement(M,{dimColor:!0},"L")}}function g65({item:A}){return _9.createElement(S,{gap:1,paddingLeft:1},_9.createElement(h65,{type:A.type}),_9.createElement(M,null,A.label))}function GzB({sections:A,version:B,onClose:Q}){s0((J,X)=>{if(X.return||X.escape)Q()});let Z=Z2(Q),[{mainLoopModel:G,maxRateLimitFallbackActive:Y}]=dB(),I=j01(),W=f65(G,Y,I.resetsAt);return A=[...A,{title:"Model",command:"/model",items:[{label:W,type:"info"}]}],_9.createElement(S,{flexDirection:"column",width:"100%",padding:1},_9.createElement(S,{flexDirection:"column",gap:1},_9.createElement(S,{flexDirection:"column"},_9.createElement(S,null,_9.createElement(M,{bold:!0},"Claude Code "),_9.createElement(M,{dimColor:!0},"v",B)),_9.createElement(S,null,_9.createElement(M,{dimColor:!0}," L "),_9.createElement(M,null,"Session ID: ",U2()))),A.map((J,X)=>(J.items&&J.items.length>0||J.content)&&_9.createElement(S,{key:X,flexDirection:"column",gap:0},_9.createElement(S,null,_9.createElement(M,{bold:!0},J.title," "),J.command&&_9.createElement(M,{dimColor:!0},"• ",J.command)),J.items?.map((F,V)=>_9.createElement(g65,{key:V,item:F})),J.content)),_9.createElement(S,{marginTop:1},Z.pending?_9.createElement(M,{dimColor:!0},"Press ",Z.keyName," again to exit"):_9.createElement(qb,null))))}var EE=A1(H1(),1);function YzB({context:A}={}){let B=OI(),Q=[];if(A?.readFileState)dv(A.readFileState).forEach((Y)=>{let I=A.readFileState.get(Y);if(I&&Y.endsWith("/CLAUDE.md")&&!B.some((W)=>W.path===Y))Q.push({path:Y,content:I.content,type:"Project",isNested:!0})});let Z=[...B,...Q];if(Z.length===0)return null;let G=new Map;return EE.createElement(S,{flexDirection:"column"},Z.map((Y,I)=>{let W=GJ(Y.path),J=Y.isNested?"nested: ":`${yWB(Y.type)}: `,X=Y.parent?(G.get(Y.parent)??0)+1:0;if(G.set(Y.path,X),X===0)return EE.createElement(M,{key:I},EE.createElement(M,{dimColor:!0}," L "),`${J}${W}`);else{let F=" ".repeat(X-1);return EE.createElement(M,{key:I}," ".repeat(J.length+2),F,EE.createElement(M,{dimColor:!0}," L "),W)}}))}var zzB=A1(_D1(),1);import{join as yY,dirname as yO,resolve as gb,delimiter as p65,basename as i65}from"node:path";import{homedir as HzB}from"node:os";import{homedir as Ah1}from"os";import{join as Bh1}from"path";function IzB(){return process.env.XDG_STATE_HOME??Bh1(Ah1(),".local","state")}function WzB(){return process.env.XDG_CACHE_HOME??Bh1(Ah1(),".cache")}function JzB(){return process.env.XDG_DATA_HOME??Bh1(Ah1(),".local","share")}function XzB(){return Bh1(Ah1(),".local","bin")}import{join as u65}from"node:path";import{createHash as m65}from"node:crypto";var FzB="https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases";async function d65(A="stable",B,Q){try{return(await L2.get(`${B}/${A}`,{timeout:30000,responseType:"text",...Q})).data.trim()}catch(Z){throw new Error(`Failed to fetch version from ${A}: ${Z}`)}}async function UL0(A){if(A&&/^v?\d+\.\d+\.\d+(-\S+)?$/.test(A))return A.startsWith("v")?A.slice(1):A;let B=A||"stable";if(B!=="stable"&&B!=="latest")throw new Error(`Invalid channel: ${A}. Use 'stable' or 'latest'`);return d65(B,FzB)}async function c65(A,B,Q,Z={}){let G=w1(),Y=await L2.get(A,{timeout:300000,responseType:"arraybuffer",...Z}),I=m65("sha256");I.update(Y.data);let W=I.digest("hex");if(W!==B)throw new Error(`Checksum mismatch: expected ${B}, got ${W}`);(await import("fs")).writeFileSync(Q,Buffer.from(Y.data)),G.chmodSync(Q,493)}async function l65(A,B,Q,Z){let G=w1();if(G.existsSync(B))G.rmSync(B,{recursive:!0,force:!0});let Y=VS(),J=(await L2.get(`${Q}/${A}/manifest.json`,{timeout:1e4,responseType:"json",...Z})).data.platforms[Y];if(!J)throw new Error(`Platform ${Y} not found in manifest for version ${A}`);let X=J.checksum,F=Qh1(Y),V=`${Q}/${A}/${Y}/${F}`;G.mkdirSync(B);let K=u65(B,F);await c65(V,X,K,Z||{})}async function VzB(A,B){return await l65(A,B,FzB),"binary"}var n65=2;function VS(){let A=aA.platform,B=process.arch==="x64"?"x64":process.arch==="arm64"?"arm64":null;if(!B){let Q=new Error(`Unsupported architecture: ${process.arch}`);throw c0(`Native installer does not support architecture: ${process.arch}`),Q}if(A==="linux"&&_H.isMuslEnvironment())return`linux-${B}-musl`;return`${A}-${B}`}function Qh1(A){return A.startsWith("win32")?"claude.exe":"claude"}function OA1(){let A=VS(),B=Qh1(A);return{versions:yY(JzB(),"claude","versions"),staging:yY(WzB(),"claude","staging"),locks:yY(IzB(),"claude","locks"),executable:yY(XzB(),B)}}function MA1(A){let B=w1();if(!B.existsSync(A))return!1;let Q=B.statSync(A);return Q.isFile()&&Q.size>10485760}function $L0(A){let B=OA1(),Q=w1();[B.versions,B.staging,B.locks].forEach((I)=>{if(!Q.existsSync(I))Q.mkdirSync(I)});let G=yO(B.executable);if(!Q.existsSync(G))Q.mkdirSync(G);let Y=yY(B.versions,A);if(!Q.existsSync(Y))Q.writeFileSync(Y,"",{flush:!0,encoding:"utf8"});return{stagingPath:yY(B.staging,A),installPath:Y}}async function DzB(A,B,Q=0){let Z=OA1(),G=w1(),Y=i65(A),I=yY(Z.locks,`${Y}.lock`);if(!G.existsSync(Z.locks))G.mkdirSync(Z.locks);let W=null;try{try{W=await zzB.default.lock(A,{stale:60000,retries:{retries:Q,minTimeout:Q>0?1000:100,maxTimeout:Q>0?5000:500},lockfilePath:I})}catch(J){return C1(J instanceof Error?J:new Error(String(J)),lZA),c0(`Failed to acquire lock for ${Y}: ${J}`),!1}try{return await B(),!0}catch(J){throw C1(J instanceof Error?J:new Error(String(J)),pZA),c0(`Install operation failed: ${J}`),J}}finally{if(W)await W()}}function CzB(A,B){let Q=w1();if(!Q.existsSync(yO(B)))Q.mkdirSync(yO(B));let Z=`${B}.tmp.${process.pid}.${Date.now()}`;try{Q.copyFileSync(A,Z),Q.chmodSync(Z,493),Q.renameSync(Z,B)}catch(G){try{if(Q.existsSync(Z))Q.unlinkSync(Z)}catch{}throw G}}function a65(A,B){let Q=w1(),Z=yY(A,"node_modules","@anthropic-ai"),Y=Q.readdirStringSync(Z).find((W)=>W.startsWith("claude-cli-native-"));if(!Y)throw new Error("Could not find platform-specific native package");let I=yY(Z,Y,"cli");if(!Q.existsSync(I))throw new Error(`Native binary not found at ${I}`);CzB(I,B),Q.rmSync(A,{recursive:!0,force:!0})}function s65(A,B){let Q=w1(),Z=VS(),G=Qh1(Z),Y=yY(A,G);if(!Q.existsSync(Y))throw new Error(`Staged binary not found at ${Y}`);CzB(Y,B),Q.rmSync(A,{recursive:!0,force:!0})}function r65(A,B){let{stagingPath:Q,installPath:Z}=$L0(A);if(B==="npm")a65(Q,Z);else s65(Q,Z)}function o65(A){let{installPath:B}=$L0(A);return MA1(B)}async function t65(A,B=!1){let Q=await UL0(A),{installPath:Z,stagingPath:G}=$L0(Q);if(F1(`Checking for native installer update to version ${Q}`),!await DzB(Z,async()=>{if(!o65(Q)||B){F1(B?`Force reinstalling native installer version ${Q}`:`Downloading native installer version ${Q}`);let W=await VzB(Q,G);r65(Q,W)}else F1(`Version ${Q} already installed, updating symlink`);let I=OA1();e65(I.executable),A55(I.executable,Z)},3))return!1;return F1(`Successfully updated to version ${Q}`),!0}function e65(A){let B=w1();try{if(B.existsSync(A)){if(B.statSync(A).isDirectory()){if(B.readdirStringSync(A).length===0)B.rmdirSync(A),F1(`Removed empty directory at ${A}`)}}}catch(Q){F1(`Could not remove empty directory at ${A}: ${Q}`)}}function A55(A,B){let Q=w1();if(VS().startsWith("win32"))try{let W=yO(A);if(!Q.existsSync(W))Q.mkdirSync(W);if(Q.existsSync(A)){try{let X=Q.statSync(A),F=Q.statSync(B);if(X.size===F.size)return!1}catch{}let J=`${A}.old.${Date.now()}`;Q.renameSync(A,J);try{Q.copyFileSync(B,A);try{Q.unlinkSync(J)}catch{}}catch(X){try{Q.renameSync(J,A)}catch(F){let V=new Error(`Failed to restore old executable: ${F}`,{cause:X});throw C1(V,DD1),V}throw X}}else{if(!Q.existsSync(B))throw new Error(`Source file does not exist: ${B}`);Q.copyFileSync(B,A)}return!0}catch(W){return C1(new Error(`Failed to copy executable from ${B} to ${A}: ${W}`),DD1),!1}let Y=yO(A);if(!Q.existsSync(Y))try{Q.mkdirSync(Y),F1(`Created directory ${Y} for symlink`)}catch(W){return C1(new Error(`Failed to create directory ${Y}: ${W}`),DD1),!1}try{if(Q.existsSync(A)){try{let W=Q.readlinkSync(A),J=gb(yO(A),W),X=gb(B);if(J===X)return!1}catch{}Q.unlinkSync(A)}}catch(W){C1(new Error(`Failed to check/remove existing symlink: ${W}`),_o1)}let I=`${A}.tmp.${process.pid}.${Date.now()}`;try{return Q.symlinkSync(B,I),Q.renameSync(I,A),!0}catch(W){try{if(Q.existsSync(I))Q.unlinkSync(I)}catch{}return C1(new Error(`Failed to create symlink from ${A} to ${B}: ${W}`),iZA),!1}}async function Ec(){if(X0().installMethod==="native")return!0;return await YW("tengu_native_installation")}async function kO(A=!1){if(EQ(process.env.DISABLE_INSTALLATION_CHECKS))return[];let B=V$(),Q=X0();if(!(A||B==="native"||Q.installMethod==="native"))return[];let G=w1(),Y=OA1(),I=[],W=yO(Y.executable),J=gb(W),F=VS().startsWith("win32");if(!G.existsSync(W))I.push({message:`installMethod is native, but directory ${W} does not exist`,userActionRequired:!0,type:"error"});if(!G.existsSync(Y.executable))I.push({message:`installMethod is native, but claude command not found at ${Y.executable}`,userActionRequired:!0,type:"error"});else if(!F)try{let K=G.readlinkSync(Y.executable),H=gb(yO(Y.executable),K);if(!G.existsSync(H))I.push({message:`Claude symlink points to non-existent file: ${K}`,userActionRequired:!0,type:"error"});else if(!MA1(H))I.push({message:`Claude symlink points to invalid binary: ${K}`,userActionRequired:!0,type:"error"})}catch{if(!MA1(Y.executable))I.push({message:`${Y.executable} exists but is not a valid Claude binary`,userActionRequired:!0,type:"error"})}else if(!MA1(Y.executable))I.push({message:`${Y.executable} exists but is not a valid Claude binary`,userActionRequired:!0,type:"error"});if(!(process.env.PATH||"").split(p65).some((K)=>{try{let H=gb(K);if(F)return H.toLowerCase()===J.toLowerCase();return H===J}catch{return!1}}))if(F){let K=W.replace(/\//g,"\\");I.push({message:`Native installation exists but ${K} is not in your PATH. Add it by opening: System Properties → Environment Variables → Edit User PATH → New → Add the path above. Then restart your terminal.`,userActionRequired:!0,type:"path"})}else{let K=hG1(),z=tM()[K],D=z?z.replace(HzB(),"~"):"your shell config file";I.push({message:`Native installation exists but ~/.local/bin is not in your PATH. Run: echo 'export PATH="$HOME/.local/bin:$PATH"' >> ${D} && source ${D}`,userActionRequired:!0,type:"path"})}return I}async function KS(A=!1,B,Q=!1){if(!A&&!await Ec())return{latestVersion:null,wasUpdated:!1};let Z=await UL0(B),G=await t65(B,Q);if(!G)return{latestVersion:null,wasUpdated:!1,lockFailed:!0};if(Z||G){let Y=X0();if(Y.installMethod!=="native")TA({...Y,installMethod:"native",autoUpdates:!1,autoUpdatesProtectedForNative:!0}),F1('Native installer: Set installMethod to "native" and disabled legacy auto-updater for protection')}return{latestVersion:Z,wasUpdated:G,lockFailed:!1}}function B55(A){let B=w1();try{if(B.existsSync(A)){let Q=B.readlinkSync(A),Z=gb(yO(A),Q);if(B.existsSync(Z)&&MA1(Z))return Z}}catch{}return null}async function wL0(){if(await Promise.resolve(),!await Ec())return;let A=w1(),B=OA1();if(VS().startsWith("win32"))try{let Z=yO(B.executable);if(A.existsSync(Z)){let Y=A.readdirStringSync(Z).filter((W)=>W.startsWith("claude.exe.old.")&&W.match(/claude\.exe\.old\.\d+$/)),I=0;for(let W of Y)try{let J=yY(Z,W);A.unlinkSync(J),I++}catch{}if(I>0)F1(`Cleaned up ${I} old Windows executables on startup`)}}catch(Z){F1(`Failed to clean up old Windows executables: ${Z}`)}if(A.existsSync(B.staging))try{let Z=A.readdirStringSync(B.staging),G=Date.now()-3600000,Y=0;for(let I of Z){let W=yY(B.staging,I);try{if(A.statSync(W).mtime.getTime()<G)A.rmSync(W,{recursive:!0,force:!0}),Y++,F1(`Cleaned up old staging directory: ${I}`)}catch{}}if(Y>0)F1(`Cleaned up ${Y} orphaned staging directories`),Y1("tengu_native_staging_cleanup",{cleaned_count:Y})}catch(Z){F1(`Failed to clean up staging directories: ${Z}`)}if(A.existsSync(B.versions))try{let Z=A.readdirStringSync(B.versions),G=Date.now()-3600000,Y=0;for(let I of Z)if(I.match(/\.tmp\.\d+\.\d+$/)){let W=yY(B.versions,I);try{if(A.statSync(W).mtime.getTime()<G)A.unlinkSync(W),Y++,F1(`Cleaned up orphaned temp install file: ${I}`)}catch{}}if(Y>0)F1(`Cleaned up ${Y} orphaned temp install files`),Y1("tengu_native_temp_files_cleanup",{cleaned_count:Y})}catch(Z){F1(`Failed to clean up temp install files: ${Z}`)}if(!A.existsSync(B.versions))return;try{let Z=A.readdirStringSync(B.versions).filter((V)=>{let K=yY(B.versions,V);try{let H=A.statSync(K);return H.isFile()&&(H.size===0||MA1(K))}catch{return!1}}),G=process.execPath,Y=G&&G.includes(B.versions)?gb(G):null,I=new Set([...Y?[Y]:[]]),W=B55(B.executable);if(W)I.add(W);let J=Z.map((V)=>{let K=gb(B.versions,V);return{name:V,path:K,mtime:A.statSync(K).mtime}}).filter((V)=>!I.has(V.path)).sort((V,K)=>K.mtime.getTime()-V.mtime.getTime()),X=J.slice(n65);if(X.length===0)return;let F=0;for(let V of X)try{if(await DzB(V.path,()=>{A.unlinkSync(V.path)}))F++}catch(K){C1(new Error(`Failed to delete version ${V.name}: ${K}`),nZA)}if(F>0)Y1("tengu_native_version_cleanup",{deleted_count:F,protected_count:I.size,retained_count:J.length-F})}catch(Z){C1(new Error(`Version cleanup failed: ${Z}`),cZA)}}function tI1(){let A=w1(),B=OA1();try{if(A.existsSync(B.executable))A.unlinkSync(B.executable),F1(`Removed claude symlink at ${B.executable}`)}catch(Q){C1(new Error(`Failed to remove claude symlink: ${Q}`),_o1)}}function eI1(){let A=[],B=tM();for(let[Q,Z]of Object.entries(B))try{let G=Kd(Z);if(!G)continue;let{filtered:Y,hadAlias:I}=W_1(G);if(I)b11(Z,Y),A.push({message:`Removed claude alias from ${Z}. Run: unalias claude`,userActionRequired:!0,type:"alias"}),F1(`Cleaned up claude alias from ${Q} config`)}catch(G){C1(G instanceof Error?G:new Error(String(G)),dZA),A.push({message:`Failed to clean up ${Z}: ${G}`,userActionRequired:!1,type:"error"})}return A}async function Q55(A){try{let B=await z7("npm",["config","get","prefix"]);if(B.code!==0||!B.stdout)return{success:!1,error:"Failed to get npm global prefix"};let Q=B.stdout.trim(),Z=w1(),G=!1;if(VS()==="windows"){let Y=yY(Q,"claude.cmd"),I=yY(Q,"claude.ps1"),W=yY(Q,"claude");if(Z.existsSync(Y))Z.unlinkSync(Y),F1(`Manually removed bin script: ${Y}`),G=!0;if(Z.existsSync(I))Z.unlinkSync(I),F1(`Manually removed PowerShell script: ${I}`),G=!0;if(Z.existsSync(W))Z.unlinkSync(W),F1(`Manually removed bin executable: ${W}`),G=!0}else{let Y=yY(Q,"bin","claude");if(Z.existsSync(Y))Z.unlinkSync(Y),F1(`Manually removed bin symlink: ${Y}`),G=!0}if(G){F1(`Successfully removed ${A} manually`);let Y=VS()==="windows"?yY(Q,"node_modules",A):yY(Q,"lib","node_modules",A);return{success:!0,warning:`${A} executables removed, but node_modules directory was left intact for safety. You may manually delete it later at: ${Y}`}}else return{success:!1}}catch(B){return c0(`Manual removal failed: ${B}`),{success:!1,error:`Manual removal failed: ${B}`}}}async function KzB(A){let{code:B,stderr:Q}=await z7("npm",["uninstall","-g",A],{cwd:w1().cwd()});if(B===0)return F1(`Removed global npm installation of ${A}`),{success:!0};else if(Q&&!Q.includes("npm ERR! code E404")){if(Q.includes("npm error code ENOTEMPTY")){c0(`Failed to uninstall global npm package ${A}: ${Q}`),F1("Attempting manual removal due to ENOTEMPTY error");let Z=await Q55(A);if(Z.success)return{success:!0,warning:Z.warning};else if(Z.error)return{success:!1,error:`Failed to remove global npm installation of ${A}: ${Q}. Manual removal also failed: ${Z.error}`}}return c0(`Failed to uninstall global npm package ${A}: ${Q}`),{success:!1,error:`Failed to remove global npm installation of ${A}: ${Q}`}}return{success:!1}}async function AW1(){let A=[],B=[],Q=0,Z=await KzB("@anthropic-ai/claude-code");if(Z.success){if(Q++,Z.warning)B.push(Z.warning)}else if(Z.error)A.push(Z.error);if({ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.anthropic.com/s/claude-code",VERSION:"1.0.117"}.PACKAGE_URL&&{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.anthropic.com/s/claude-code",VERSION:"1.0.117"}.PACKAGE_URL!=="@anthropic-ai/claude-code"){let I=await KzB({ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.anthropic.com/s/claude-code",VERSION:"1.0.117"}.PACKAGE_URL);if(I.success){if(Q++,I.warning)B.push(I.warning)}else if(I.error)A.push(I.error)}let G=w1(),Y=yY(HzB(),".claude","local");if(G.existsSync(Y))try{G.rmSync(Y,{recursive:!0,force:!0}),Q++,F1(`Removed local installation at ${Y}`)}catch(I){A.push(`Failed to remove ${Y}: ${I}`),c0(`Failed to remove local installation: ${I}`)}return{removed:Q,errors:A,warnings:B}}function Z55(){return null}function G55(A,B=null){let Q=[],Z=A?.find((G)=>G.name==="ide");if(Z){let G=c$0(Z)??"IDE";if(Z.type==="connected")Q.push({label:`Connected to ${G} extension`,type:"check"});else Q.push({label:`Not connected to ${G}`,type:"error"})}if(B){let G=WO(B.ideType);if(B.installed)if(Z&&Z.type==="connected"&&B.installedVersion!==Z.serverInfo?.version)Q.push({label:`Installed ${G} extension version ${B.installedVersion} (server version: ${Z.serverInfo?.version})`,type:"info"});else if(q$(B.ideType)&&Z?.type!=="connected")Q.push({label:`Installed ${G} plugin but connection is not established.
Error: Unsupported architecture: ia32
at VS (file:///C:/Users/wayneforrest/.nvm/versions/node/v22.19.0/bin/node_modules/@anthropic-ai/claude-code/cli.js:2989:4485)
at OA1 (file:///C:/Users/wayneforrest/.nvm/versions/node/v22.19.0/bin/node_modules/@anthropic-ai/claude-code/cli.js:2989:4787)
at tI1 (file:///C:/Users/wayneforrest/.nvm/versions/node/v22.19.0/bin/node_modules/@anthropic-ai/claude-code/cli.js:2989:13539)
at file:///C:/Users/wayneforrest/.nvm/versions/node/v22.19.0/bin/node_modules/@anthropic-ai/claude-code/cli.js:3387:5305
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
Node.js v22.19.0`
Steps to Reproduce
$ claude update
or simply
$ claude
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
not sure - where do I find the log of prev version - how do I revert ?
Claude Code Version
1.0.117
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
I use mingw bash, Windows terminal on Windows ARM64, Parallels, MacOS
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗