[BUG] Maximum call stack size exceeded on Windows on ARM

Resolved 💬 7 comments Opened Sep 3, 2025 by KondaCharana Closed Feb 9, 2026

I am consistently getting a "Maximum call stack size exceeded" error when trying to run the claude command.

Error Message:
Exception in PromiseRejectCallback:
file:///C:/Users/srich/Documents/npm-global/node_modules/@anthropic-ai/claude-code/cli.js:773
)}return C21(B)}}var OD1=IA(()=>{let A=zQ();try{return ka4(xa4("git rev-parse --show-toplevel",{cwd:A,encoding:"utf8",stdio:["pipe","pipe","ignore"]}).trim())}catch{return lN2(A)}});function $9(){let A=OD1(),B=P_(SJ(),AH);if(!B.projects)return KP;let Q=B.projects[A]??KP;if(typeof Q.allowedTools==="string")Q.allowedTools=y3(Q.allowedTools)??[];return Q}function l8(A){let B=OD1();try{rN2(SJ(),AH,(Q)=>({...Q,projects:{...Q.projects,[B]:A}}))}catch(Q){VA(Failed to save config with lock: ${Q});let Z=P_(SJ(),AH);sN2(SJ(),{...Z,projects:{...Z.projects,[B]:A}},AH)}}function Po(){let A=V0();return!!(process.env.DISABLE_AUTOUPDATER||process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC||A.autoUpdates===!1)}function UO1(){if(V9(process.env.DISABLE_COST_WARNINGS))return!1;if(AB())return!1;let B=FP(),Q=dI(!1)!==null;if(!B.hasToken&&!Q)return!1;let Z=V0(),G=Z.oauthAccount?.organizationRole,Y=Z.oauthAccount?.workspaceRole;if(!G||!Y)return!0;return["admin","billing"].includes(G)||["workspace_admin","workspace_billing"].includes(Y)}function So(){let A=V0();if(A.userID)return A.userID;let B=_a4(32).toString("hex");return OA({...A,userID:B}),B}function tN2(){let A=V0();if(!A.firstStartTime)OA({...A,firstStartTime:new Date().toISOString()})}function eN2(A,B){if(B){if(!oY0(A))console.error(Error: '${A}' is not a valid config key. Valid keys are: ${x81.join(", ")}),process.exit(1);return V0()[A]}else{if(!tY0(A))console.error(Error: '${A}' is not a valid config key. Valid keys are: ${v81.join(", ")}),process.exit(1);return $9()[A]}}function AL2(A,B,Q){if(Q){if(!oY0(A))console.error(Error: Cannot set '${A}'. Only these keys can be modified: ${x81.join(", ")}),process.exit(1);if(va4(A,Q)&&typeof B==="string")try{let G=JSON.parse(B);if(typeof G!=="object"||G===null||Array.isArray(G))console.error("Error: 'env' must be a valid JSON object"),process.exit(1);let Y=V0();OA({...Y,[A]:G}),process.exit(0)}catch(G){console.error(Error: Failed to parse JSON for 'env': ${G instanceof Error?G.message:String(G)}),process.exit(1)}if(To(A,Q)&&typeof B==="string"){console.warn(s1.yellow(Warning: '${A}' is an array type. Automatically using 'config add' instead of 'config set'.));let G=B.split(",").map((Y)=>Y.trim()).filter((Y)=>Y.length>0);DO1(A,G,Q);return}let Z=V0();OA({...Z,[A]:B})}else{if(!tY0(A))console.error(Error: Cannot set '${A}'. Only these keys can be modified: ${v81.join(", ")}. Did you mean --global?),process.exit(1);if(To(A,Q)&&typeof B==="string"){console.warn(s1.yellow(Warning: '${A}' is an array type. Automatically using 'config add' instead of 'config set'.));let G=B.split(",").map((Y)=>Y.trim()).filter((Y)=>Y.length>0);DO1(A,G,Q);return}let Z=$9();l8({...Z,[A]:B})}process.exit(0)}function BL2(A,B){if(B){if(!oY0(A))console.error(Error: Cannot delete '${A}'. Only these keys can be modified: ${x81.join(", ")}),process.exit(1);let Q=V0();delete Q[A],OA(Q)}else{if(!tY0(A))console.error(Error: Cannot delete '${A}'. Only these keys can be modified: ${v81.join(", ")}. Did you mean --global?),process.exit(1);let Q=$9();delete Q[A],l8(Q)}}function QL2(A){if(A)return PX1(V0(),x81);else return PX1($9(),v81)}function Uu(A){let B=zQ();if(A==="ExperimentalUltraClaudeMd")return Uu("User");switch(A){case"User":return _81(aB(),"CLAUDE.md");case"Local":return _81(B,"CLAUDE.local.md");case"Project":return _81(B,"CLAUDE.md");case"Managed":return _81(jh(),"CLAUDE.md");case"ExperimentalUltraClaudeMd":return _81(aB(),"ULTRACLAUDE.md")}}import{execSync as ga4}from"child_process";var jo=IA((A)=>{let B=So(),Q=V0(),Z="",G=0,Y=void 0;if(A){if(Z=jG()??"",Z!==""&&Q.claudeCodeFirstTokenDate){let I=new Date(Q.claudeCodeFirstTokenDate).getTime();if(!isNaN(I))G=I}Y=Q.hasOpusPlanDefault}return{customIDs:{sessionId:l2(),organizationUUID:Q.oauthAccount?.organizationUuid,organizationID:Q.oauthAccount?.organizationUuid},userID:B,appVersion:{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.102"}.VERSION,email:ua4(),custom:{userType:"external",organizationUuid:Q.oauthAccount?.organizationUuid,accountUuid:Q.oauthAccount?.accountUuid,subscriptionType:Z,firstTokenTime:G,hasOpusPlanDefault:Y,...process.env.GITHUB_ACTIONS==="true"&&{githubActor:process.env.GITHUB_ACTOR,githubActorId:process.env.GITHUB_ACTOR_ID,githubRepository:process.env.GITHUB_REPOSITORY,githubRepositoryId:process.env.GITHUB_REPOSITORY_ID,githubRepositoryOwner:process.env.GITHUB_REPOSITORY_OWNER,githubRepositoryOwnerId:process.env.GITHUB_REPOSITORY_OWNER_ID}}}});function ua4(){return}var ZL2="https://e531a1d9ec1de9064fae9d4affb0b0f4@o1158394.ingest.us.sentry.io/4508259541909504",GL2="client-RRNS7R65EAtReO5XA4xDC3eU6ZdJQi6lLEP6b5j32Me";function YL2(){dL.init({dsn:ZL2,environment:"external",release:{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.102"}.VERSION,defaultIntegrations:!1,tracesSampleRate:1,tracePropagationTargets:["localhost"]})}function EO1(A){try{let B=jo();dL.setTags({platform:rA.platform,terminal:rA.terminal,userType:"external",...IL2()}),dL.setExtras({sessionId:l2(),isCI:rA.isCI,isTest:!1,packageVersion:{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.102"}.VERSION}),dL.setUser({id:B.userID,email:B.email}),dL.captureException(A)}catch{}}function da4(A){return A.toISOString().replace(/[:.]/g,"-")}var BI0=da4(new Date);function ca4(){return AI0(vN.errors(),BI0+".txt")}var eY0=!1;function E1(A){if(eY0)return;eY0=!0;try{if(process.env.CLAUDE_CODE_USE_BEDROCK||process.env.CLAUDE_CODE_USE_VERTEX||process.env.DISABLE_ERROR_REPORTING||process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC)return;if(V9(!1))console.error(A);let B=A.stack||A.message,Q={error:B,timestamp:new Date().toISOString()};U4A(Q),la4(ca4(),{error:B})}catch{}finally{eY0=!1}EO1(A)}function WL2(){return C4A()}function QI0(A){if(!L1().existsSync(A))return[];try{return JSON.parse(L1().readFileSync(A,{encoding:"utf8"}))}catch{return[]}}function la4(A,B){return}async function yo(){let A=await cVA();return pa4(A.filter((B)=>B.messages.length)).map((B,Q)=>({...B,value:Q}))}async function JL2(A){return await pVA(A)}async function XL2(A){return(await yo())[A]||null}function pa4(A){return A.sort((B,Q)=>{let Z=Q.modified.getTime()-B.modified.getTime();if(Z!==0)return Z;let G=Q.created.getTime()-B.created.getTime();if(G!==0)return G;return B.created.getTime()-Q.created.getTime()})}function yG(A,B){if(VA(s1.red(MCP server "${A}" ${B})),(g2()||{}).cleanupPeriodDays===0)return;try{let Z=vN.mcpLogs(A),G=B instanceof Error?B.stack||B.message:String(B),Y=new Date().toISOString(),I=AI0(Z,BI0+".txt");if(!L1().existsSync(Z))L1().mkdirSync(Z);if(!L1().existsSync(I))L1().writeFileSync(I,"[]",{encoding:"utf8",flush:!1});let W={error:G,timestamp:Y,sessionId:l2(),cwd:L1().cwd()},J=QI0(I);J.push(W),L1().writeFileSync(I,JSON.stringify(J,null,2),{encoding:"utf8",flush:!1})}catch{}}function E2(A,B){k1(MCP server "${A}": ${B});try{let Q=vN.mcpLogs(A),Z=new Date().toISOString(),G=AI0(Q,BI0+".txt");if(!L1().existsSync(Q))L1().mkdirSync(Q);if(!L1().existsSync(G))L1().writeFileSync(G,"[]",{encoding:"utf8",flush:!1});let Y={debug:B,timestamp:Z,sessionId:l2(),cwd:L1().cwd()},I=QI0(G);I.push(Y),L1().writeFileSync(G,JSON.stringify(I,null,2),{encoding:"utf8",flush:!1})}catch{}}function ZI0(A,B){if(!B||B!=="repl_main_thread")return;let Q=structuredClone(A);z4A(Q)}import{existsSync as FL2,mkdirSync as ia4,readdirSync as na4,readFileSync as aa4,writeFileSync as sa4,unlinkSync as ra4}from"fs";function ko(){return b81.join(aB(),"statsig")}class GI0{cache=new Map;ready=!1;constructor(){try{if(!FL2(ko()))ia4(ko(),{recursive:!0});let A=na4(ko());for(let B of A){let Q=decodeURIComponent(B),Z=aa4(b81.join(ko(),B),"utf8");this.cache.set(Q,Z)}this.ready=!0}catch(A){E1(A),this.ready=!0}}isReady(){return this.ready}isReadyResolver(){return this.ready?Promise.resolve():null}getProviderName(){return"FileSystemStorageProvider"}getItem(A){return this.cache.get(A)??null}setItem(A,B){this.cache.set(A,B);try{let Q=encodeURIComponent(A);sa4(b81.join(ko(),Q),B,"utf8")}catch(Q){E1(Q)}}removeItem(A){this.cache.delete(A);let B=encodeURIComponent(A),Q=b81.join(ko(),B);if(!FL2(Q))return;try{ra4(Q)}catch(Z){E1(Z)}}getAllKeys(){return Array.from(this.cache.keys())}}function $O1(A){try{let B=String(A),Q=process.platform==="win32"?powershell.exe -NoProfile -Command "(Get-CimInstance Win32_Process -Filter \\"ProcessId=${B}\\").ParentProcessId":ps -o ppid= -p ${B},Z=A3(Q,{timeout:1000});return Z?Z.trim():null}catch{return null}}function VL2(A){try{let B=String(A),Q=process.platform==="win32"?powershell.exe -NoProfile -Command "(Get-CimInstance Win32_Process -Filter \\"ProcessId=${B}\\").CommandLine":ps -o command= -p ${B},Z=A3(Q,{timeout:1000});return Z?Z.trim():null}catch{return null}}var oa4=IA(async()=>{let{code:A}=await G2("test",["-f","/.dockerenv"]);if(A!==0)return!1;return process.platform==="linux"}),ta4=IA(()=>{if(process.platform!=="linux")return!1;let A=L1();try{if(A.existsSync("/lib/libc.musl-x86_64.so.1")||A.existsSync("/lib/libc.musl-aarch64.so.1"))return!0;let B=A3("ldd /bin/ls 2>/dev/null");return B!==null&&B.includes("musl")}catch{return k1("musl detection failed, assuming glibc"),!1}}),ea4=["pycharm","intellij","webstorm","phpstorm","rubymine","clion","goland","rider","datagrip","appcode","dataspell","aqua","gateway","fleet","jetbrains","androidstudio"],As4=IA(()=>{if(process.platform==="darwin")return null;try{let B=process.pid.toString();for(let Q=0;Q<10;Q++){let Z=VL2(B);if(Z){let Y=Z.toLowerCase();for(let I of ea4)if(Y.includes(I))return I}let G=$O1(B);if(!G||G==="0"||G===B)break;B=G}}catch{}return null});function Bs4(){if(process.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"){if(rA.platform!=="darwin")return As4()||"pycharm"}return rA.terminal}var BH={...rA,terminal:Bs4(),getIsDocker:oa4,isMuslEnvironment:ta4};var KL2={},Eu=null,qO1=IA(()=>{if(process.env.CLAUDE_CODE_USE_BEDROCK||process.env.CLAUDE_CODE_USE_VERTEX||process.env.DISABLE_TELEMETRY||process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC)return null;let A=jo(!0),B={networkConfig:{api:"https://statsig.anthropic.com/v1/"},environment:{tier:["test","dev"].includes("production")?"development":"production"},includeCurrentPageUrlWithEvents:!1,logLevel:wO1.LogLevel.None,storageProvider:new GI0,customUserCacheKeyFunc:(Z,G)=>{return Qs4("sha1").update(Z).update(G.userID||"").digest("hex").slice(0,10)}};Eu=new wO1.StatsigClient(GL2,A,B),Eu.on("error",()=>{e2.head("https://api.anthropic.com/api/hello").catch(()=>{})});let Q=Eu.initializeAsync().then(()=>{});return process.on("beforeExit",async()=>{await Eu?.flush()}),process.on("exit",()=>{Eu?.flush()}),{client:Eu,initialized:Q}}),$u=IA(async()=>{let A=qO1();if(!A)return null;return await A.initialized,A.client});function HL2(){Eu=null,qO1.cache?.clear?.(),$u.cache?.clear?.(),Gs4.cache?.clear?.(),gW.cache?.clear?.()}async function Zs4(A,B){if(process.env.CLAUDE_CODE_USE_BEDROCK||process.env.CLAUDE_CODE_USE_VERTEX||process.env.DISABLE_TELEMETRY||process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC)return;try{let Q=B.model?String(B.model):rZ(),Z=Jw(Q),[G,Y,I]=await Promise.all([$u(),rA.getPackageManagers(),rA.getRuntimes()]);if(!G)return;let W={...B,model:Q,sessionId:l2(),userType:"external",...Z.length>0?{betas:Z.join(",")}:{},env:JSON.stringify({platform:rA.platform,nodeVersion:rA.nodeVersion,terminal:BH.terminal,packageManagers:Y.join(","),runtimes:I.join(","),isRunningWithBun:rA.isRunningWithBun(),isCi:V9(!1),isClaubbit:process.env.CLAUBBIT==="true",isGithubAction:process.env.GITHUB_ACTIONS==="true",isClaudeCodeAction:process.env.CLAUDE_CODE_ACTION==="1"||process.env.CLAUDE_CODE_ACTION==="true",isClaudeAiAuth:AB(),version:{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.102"}.VERSION,...process.env.GITHUB_ACTIONS==="true"&&{githubEventName:process.env.GITHUB_EVENT_NAME,githubActionsRunnerEnvironment:process.env.RUNNER_ENVIRONMENT,githubActionsRunnerOs:process.env.RUNNER_OS,githubActionRef:process.env.GITHUB_ACTION_PATH?.includes("claude-code-action/")?process.env.GITHUB_ACTION_PATH.split("claude-code-action/")[1]:void 0},...pQ1()&&{wslVersion:pQ1()}}),entrypoint:process.env.CLAUDE_CODE_ENTRYPOINT,isInteractive:String(Y4A()),clientType:W4A(),...void 0,sweBenchRunId:process.env.SWE_BENCH_RUN_ID||"",sweBenchInstanceId:process.env.SWE_BENCH_INSTANCE_ID||"",sweBenchTaskId:process.env.SWE_BENCH_TASK_ID||""},J={eventName:A,metadata:W};G.logEvent(J),await G.flush()}catch(Q){}}function W1(A,B){Zs4(A,B)}var gW=IA(async(A)=>{if(process.env.CLAUDE_CODE_USE_BEDROCK||process.env.CLAUDE_CODE_USE_VERTEX||process.env.DISABLE_TELEMETRY||process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC)return!1;let B=await $u();if(!B)return!1;let Q=B.checkGate(A);return KL2[A]=Q,Q}),zL2=(A,B=!1)=>{let[Q,Z]=f81.default.useState(B);return f81.default.useEffect(()=>{gW(A).then(Z)},[A]),Q},NO1=(A,B)=>{let[Q,Z]=f81.default.useState(B);return f81.default.useEffect(()=>{HP(A,B).then(Z)},[A,B]),Q};function IL2(){return{...KL2}}var Gs4=IA(async(A,B)=>{if(process.env.CLAUDE_CODE_USE_BEDROCK||process.env.CLAUDE_CODE_USE_VERTEX||process.env.DISABLE_TELEMETRY||process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC)return B;let Q=await $u();if(!Q)return B;let Z=Q.getExperiment(A);if(Object.keys(Z.value).length===0)return B;return Z.value});async function HP(A,B){if(process.env.CLAUDE_CODE_USE_BEDROCK||process.env.CLAUDE_CODE_USE_VERTEX||process.env.DISABLE_TELEMETRY||process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC)return B;let Q=await $u();if(!Q)return B;let Z=Q.getDynamicConfig(A);if(Object.keys(Z.value).length===0)return B;return Z.value}var fy8=IA(HP);function fg(A,B,Q){let Z=qO1();if(!Z)return Q;let G=Z.client.getExperiment(A);if(!G)return Q;return G.get(B,Q)}function q60(A,B){let Q=qO1();if(!Q)return B;let Z=Q.client.getDynamicConfig(A);if(!Z||Object.keys(Z.value).length===0)return B;return Z.value}function DL2(A){return Ys4(A),V0().cachedStatsigGates[A]??!1}var Ys4=IA(async(A)=>{let B=await gW(A),Q=V0();Q.cachedStatsigGates[A]=B,OA(Q)});import{homedir as I11}from"os";import{join as km,posix as e_1,win32 as Ax1,delimiter as ef6}from"path";import{join as h81}from"path";import{homedir as LO1}from"os";import{join as YI0}from"path";var CL2=/^\s*alias\s+claude=/;function wu(){let A=process.env.ZDOTDIR||LO1();return{zsh:YI0(A,".zshrc"),bash:YI0(LO1(),".bashrc"),fish:YI0(LO1(),".config/fish/config.fish")}}function _o(A){let B=!1;return{filtered:A.filter((Z)=>{if(CL2.test(Z))return B=!0,!1;return!0}),hadAlias:B}}function qu(A){let B=L1();try{if(!B.existsSync(A))return null;return B.readFileSync(A,{encoding:"utf8"}).split(

RangeError: Maximum call stack size exceeded

System Details:

  • Operating System: Windows on ARM
  • Node.js Version: 20.19.4 (LTS)
  • npm Version: 10.9.2
  • Git Version: 2.50.0.windows.1

Troubleshooting Steps Taken:

  • Confirmed Git is installed and in PATH.
  • Ran all commands in an administrator terminal.
  • Fixed npm permissions by setting up a new global directory.
  • Switched from Node.js v22 (current) to v20 (LTS) using nvm-windows.
  • The error persists across all configurations.

View original on GitHub ↗

This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗