[BUG] Claude crash
file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:780),D.add(A.uuid)}}async getAllTranscripts(){await this.loadAllSessions();let A=[...this.messages.values()],B=new Set(A.map((Q)=>Q.parentUuid));return A.filter((Q)=>!B.has(Q.uuid)).map((Q)=>this.getTranscript(Q)).filter((Q)=>Q.length)}getTranscript(A){let B=[],Q=A;while(Q)B.unshift(Q),Q=Q.parentUuid?this.messages.get(Q.parentUuid):void 0;return B}async getLastLog(A){let{messages:B}=await _D0(A);if(B.size===0)return null;let D=Array.from(B.values()).sort((F,I)=>new Date(I.timestamp).getTime()-new Date(F.timestamp).getTime())[0];if(!D)return null;let Z=[],G=D;while(G)Z.unshift(G),G=G.parentUuid?B.get(G.parentUuid):void 0;return Z}getAllCheckpoints(A){let B=new Map,Q=A[A.length-1]?.sessionId;if(Q){let D=this.checkpoints.get(Q)?.values()||[];for(let Z of D){let G=Z.id??Z.commit;if(G)B.set(G,Z)}}return Array.from(B.values())}loadAllSessions=kA(async()=>{let A=kr(f81),B=x1();if(this.didLoad)return this;try{B.statSync(A)}catch{return this}let D=B.readdirSync(A).filter((G)=>G.isFile()&&G.name.endsWith(".jsonl")).map((G)=>_r(A,G.name)),Z=await Promise.all(D.sort((G,F)=>{let I=B.statSync(G),Y=B.statSync(F);return I.mtime.getTime()-Y.mtime.getTime()}).map(async(G)=>{let F=XK(km4(G,".jsonl"));if(!F)return{sessionId:F,sessionMessages:new Set};let I=new Map,Y=new Map,W=new Map;try{await B.stat(G);for(let J of await ws1(G))if(J.type==="user"||J.type==="assistant"||J.type==="attachment"||J.type==="system")I.set(J.uuid,J);else if(J.type==="summary"&&J.leafUuid)Y.set(J.leafUuid,J.summary);else if(J.type==="checkpoint"){let X=J.id??J.commit;if(X)W.set(X,J)}}catch{}return{sessionId:F,sessionMessages:I,summaries:Y,checkpoints:W}}));for(let{sessionId:G,sessionMessages:F,summaries:I,checkpoints:Y}of Z){if(!G)continue;for(let[W,J]of F.entries())this.messages.set(W,J);for(let[W,J]of I.entries())this.summaries.set(W,J);this.checkpoints.set(G,Array.from(Y.values()))}return this.didLoad=!0,this})}async function aM1(A){let B=Sw2(A);return await PT().insertMessageChain(B),B[B.length-1]?.uuid||null}async function Lw2(A){await PT().insertMessageChain(Sw2(A),!0)}async function yD0(A){await PT().insertCheckpoint(A)}async function Mw2(){let A=PT();A.sessionFile=nM1()}function xm4(A){let B=A.find((Z)=>Z.type==="user");if(!B||B.type!=="user")return"No prompt";let Q=B.message?.content,D="";if(typeof Q==="string")D=Q;else if(Array.isArray(Q))D=Q.find((G)=>G.type==="text")?.text||"No prompt";else D="No prompt";if(D=D.replace(/\n/g," ").trim(),D.length>45)D=D.slice(0,45)+"...";return D}function vm4(A){return A.map((B)=>{let{isSidechain:Q,parentUuid:D,...Z}=B;return Z})}function Rw2(A,B=0,Q,D){let Z=A[A.length-1],G=A[0],F=xm4(A),I=new Date(G.timestamp),Y=new Date(Z.timestamp),W=D?.map((J)=>({id:J.id??"unavailable",commit:J.commit,timestamp:new Date(J.timestamp),label:J.label}));return{date:Z.timestamp,messages:vm4(A),fullPath:"n/a",value:B,created:I,modified:Y,firstPrompt:F,messageCount:A.length,isSidechain:G.isSidechain,leafUuid:Z.uuid,summary:Q,checkpoints:W,gitBranch:Z.gitBranch}}async function Ow2(){let A=await PT().getAllTranscripts(),B=PT().summaries;return A.map((Q,D)=>{let Z=Q[Q.length-1],G=Z?B.get(Z.uuid):void 0,F=Z?PT().getAllCheckpoints(Q):void 0;return Rw2(Q,D,G,F)}).sort((Q,D)=>{return D.modified.getTime()-Q.modified.getTime()})}async function Tw2(A,B){await PT().appendEntry({type:"summary",summary:B,leafUuid:A})}async function kD0(A){let B=new Map,Q=new Map,D=new Map;try{let Z=await ws1(A);for(let G of Z)if(G.type==="user"||G.type==="assistant"||G.type==="attachment"||G.type==="system")B.set(G.uuid,G);else if(G.type==="summary"&&G.leafUuid)Q.set(G.leafUuid,G.summary);else if(G.type==="checkpoint"){let F=G.id??G.commit;if(F)D.set(F,G)}}catch{}return{messages:B,summaries:Q,checkpoints:D}}async function _D0(A){let B=_r(kr(a0()),${A}.jsonl);return kD0(B)}var bm4=kA(async(A)=>{let{messages:B,checkpoints:Q}=await _D0(A);return{messageSet:new Set(B.keys()),checkpointSet:new Set(Q.keys())}},(A)=>A);async function Pw2(A){let B=await PT().getLastLog(A);if(B!==null&&B!==void 0){let Q=B[B.length-1],{summaries:D,checkpoints:Z}=await _D0(A),G=Q?D.get(Q.uuid):void 0;return Rw2(B,0,G,Array.from(Z.values()))}return null}function Sw2(A){return A.filter((B)=>{if(B.type==="progress")return!1;if(B.type==="attachment"&&qw2()!=="ant")return!1;return!0})}var sM1=[],hm4=100;function gm4(A){return A.toISOString().replace(/[:.]/g,"-")}var bD0=gm4(new Date);function um4(){return vD0(YN.errors(),bD0+".txt")}var xD0=!1;function b1(A){if(xD0)return;xD0=!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(dQ(!1))console.error(A);let B=A.stack||A.message,Q={error:B,timestamp:new Date().toISOString()};if(sM1.length>=hm4)sM1.shift();sM1.push(Q),mm4(um4(),{error:B})}catch{}finally{xD0=!1}iM1(A)}function jw2(){return[...sM1]}function fD0(A){if(!x1().existsSync(A))return[];try{return JSON.parse(x1().readFileSync(A,{encoding:"utf8"}))}catch{return[]}}function mm4(A,B){return}async function xr(){let A=await Ow2();return dm4(A.filter((B)=>B.messages.length)).map((B,Q)=>({...B,value:Q}))}async function yw2(A){return await Pw2(A)}async function kw2(A){return(await xr())[A]||null}function dm4(A){return A.sort((B,Q)=>{let D=Q.modified.getTime()-B.modified.getTime();if(D!==0)return D;let Z=Q.created.getTime()-B.created.getTime();if(Z!==0)return Z;return B.created.getTime()-Q.created.getTime()})}function yD(A,B){if(E9(F0.red(MCP server "${A}" ${B})),(G4()||{}).cleanupPeriodDays===0)return;try{let D=YN.mcpLogs(A),Z=B instanceof Error?B.stack||B.message:String(B),G=new Date().toISOString(),F=vD0(D,bD0+".txt");if(!x1().existsSync(D))x1().mkdirSync(D);if(!x1().existsSync(F))x1().writeFileSync(F,"[]",{encoding:"utf8",flush:!1});let I={error:Z,timestamp:G,sessionId:cB(),cwd:x1().cwd()},Y=fD0(F);Y.push(I),x1().writeFileSync(F,JSON.stringify(Y,null,2),{encoding:"utf8",flush:!1})}catch{}}function a2(A,B){S0(MCP server "${A}": ${B});try{let Q=YN.mcpLogs(A),D=new Date().toISOString(),Z=vD0(Q,bD0+".txt");if(!x1().existsSync(Q))x1().mkdirSync(Q);if(!x1().existsSync(Z))x1().writeFileSync(Z,"[]",{encoding:"utf8",flush:!1});let G={debug:B,timestamp:D,sessionId:cB(),cwd:x1().cwd()},F=fD0(Z);F.push(G),x1().writeFileSync(Z,JSON.stringify(F,null,2),{encoding:"utf8",flush:!1})}catch{}}import*as eM1 from"node:os";import{PassThrough as lm4}from"stream";function yg(A){if(A<60000){let Z=(A/1000).toFixed(1);return${Z.endsWith(".0")?Z.slice(0,-2):Z}s}let B=Math.floor(A/3600000),Q=Math.floor(A%3600000/60000),D=(A%60000/1000).toFixed(1);if(B>0)return${B}h ${Q}m ${D}s;if(Q>0)return${Q}m ${D}s;return${D}s}function eF(A){let B=A>=1000;return new Intl.NumberFormat("en",{notation:"compact",minimumFractionDigits:B?1:0,maximumFractionDigits:1}).format(A).toLowerCase()}function hD0(A,B={}){let{style:Q="narrow",numeric:D="always",now:Z=new Date}=B,G=A.getTime()-Z.getTime(),F=Math.trunc(G/1000),I=[{unit:"year",seconds:31536000,shortUnit:"y"},{unit:"month",seconds:2592000,shortUnit:"mo"},{unit:"week",seconds:604800,shortUnit:"w"},{unit:"day",seconds:86400,shortUnit:"d"},{unit:"hour",seconds:3600,shortUnit:"h"},{unit:"minute",seconds:60,shortUnit:"m"},{unit:"second",seconds:1,shortUnit:"s"}];for(let{unit:W,seconds:J,shortUnit:X}of I)if(Math.abs(F)>=J){let V=Math.trunc(F/J);if(Q==="narrow"&&J<86400)return F<0?${Math.abs(V)}${X} ago:in ${V}${X};return new Intl.RelativeTimeFormat("en",{style:"long",numeric:D}).format(V,W)}if(Q==="narrow")return F<=0?"0s ago":"in 0s";return new Intl.RelativeTimeFormat("en",{style:Q,numeric:D}).format(0,"second")}function gD0(A,B={}){let{now:Q=new Date,...D}=B;if(A>Q)return hD0(A,{...D,now:Q});return hD0(A,{...D,numeric:"always",now:Q})}function vr(A,B=!1){if(!A)return;let Q=new Date(A*1000),D=Q.getMinutes(),Z=Q.toLocaleTimeString("en-US",{hour:"numeric",minute:D===0?void 0:"2-digit",hour12:!0}),G=Intl.DateTimeFormat().resolvedOptions().timeZone;return Z.replace(/ ([AP]M)/i,(F,I)=>I.toLowerCase())+(B? (${G}):"")}var dw2=G1(hw2(),1);class mD0{capacity;buffer;head=0;size=0;constructor(A){this.capacity=A;this.buffer=new Array(A)}add(A){if(this.buffer[this.head]=A,this.head=(this.head+1)%this.capacity,this.size<this.capacity)this.size++}addAll(A){for(let B of A)this.add(B)}getRecent(A){let B=[],Q=this.size<this.capacity?0:this.head,D=Math.min(A,this.size);for(let Z=0;Z<D;Z++){let G=(Q+this.size-D+Z)%this.capacity;B.push(this.buffer[G])}return B}toArray(){if(this.size===0)return[];let A=[],B=this.size<this.capacity?0:this.head;for(let Q=0;Q<this.size;Q++){let D=(B+Q)%this.capacity;A.push(this.buffer[D])}return A}clear(){this.head=0,this.size=0}length(){return this.size}}var gw2=137,uw2=143;function mw2(A){let B=null,Q="";A.on("data",(Z)=>{if(B)B.write(Z);else Q+=Z});let D=()=>Q;return{get:D,asStream(){return B=new lm4({highWaterMark:10485760}),B.write(D()),Q="",B}}}function cw2(A,B,Q,D){let Z="running",G,F=mw2(A.stdout),I=mw2(A.stderr);if(D){let V=new mD0(10),C=0,K=(E)=>{let $=E.toString().split(
RangeError: Invalid string length
at Socket.<anonymous> (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:780:8787)
at Socket.emit (node:events:519:35)
at Socket.emit (node:domain:489:12)
at addChunk (node:internal/streams/readable:559:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
at Readable.push (node:internal/streams/readable:390:5)
at Pipe.onStreamRead (node:internal/stream_base_commons:189:23)
Node.js v23.9.0
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗