[BUG] No assistant message found
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)
- [x] I am using the latest version of Claude Code
What's Wrong?
When I do any operation with @Folder address (project relative) , claudecode exits.
What Should Happen?
claudecode exits.
Error Messages/Logs
▐▛███▜▌ Claude Code v2.0.25
▝▜█████▛▘ Sonnet 4.5 · API Usage Billing
▘▘ ▝▝ /Users/hcyroy/Documents/H2R_SCie
> @manuscript/v4/Final/stats/
Can the files here be used in cytoscape?
⎿ Listed directory manuscript/v4/Final/stats/
⎿ ⧉ Selected 6 lines from
manuscript/v4/Enhanced_Methodology_Results_Figures
_Design_Report_Based_on_Original_Framework.md in
Visual Studio Code
✻ Contemplating… (esc to interrupt)
──────────────────────────────────────────────────────
>
──────────────────────────────────────────────────────
🤖 Sonnet 4.5 | 📁 H2R_SCie | 🌿 master ● | ⚡️
2.6% · 5.2k tokens
file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3356
`,isMeta:!0}),...A]}async function rbQ(A,B){if(Gv())return;let[{tools:Q},Z,G,Y]=await Promise.all([bd1(A),Aq(B),yV(),SV()]),J=Y.gitStatus?.length??0,W=G.claudeMd?.length??0,X=J+W,I=g4(),F=b4();setTimeout(()=>F.abort(),1000);let V=await KL1(JA(),F.signal,I.ignorePatterns??[]),K=0,D=0,H=0,z=0,C=0,q=Z.filter((L)=>!L.isMcp);K=Q.length,z=q.length;let N=new Set;for(let L of Q){let O=L.name.split("__");if(O.length>=3&&O[1])N.add(O[1])}D=N.size;try{if(Q.length>0){let{mcpToolTokens:L}=await _D1(Q,async()=>B,null);H=L}if(q.length>0)C=await abQ(Z,async()=>B,null)}catch{}Z1("tengu_context_size",{git_status_size:J,claude_md_size:W,total_context_size:X,project_file_count_rounded:V,mcp_tools_count:K,mcp_servers_count:D,mcp_tools_tokens:H,non_mcp_tools_count:z,non_mcp_tools_tokens:C})}function obQ(A,B){switch(A.name){case B9.name:{let Q=B9.inputSchema.parse(B),{command:Z,timeout:G,description:Y,run_in_background:J}=Q,W=Z.replace(`cd ${JA()} && `,"");if(W=W.replace(/\\\\;/g,"\\;"),/^echo\s+["']?[^|&;><]*["']?$/i.test(W.trim()))Z1("tengu_bash_tool_simple_echo",{});return{command:W,description:Y,...G?{timeout:G}:{},...Y?{description:Y}:{},...J?{run_in_background:J}:{},..."dangerouslyOverrideSandbox"in Q&&Q.dangerouslyOverrideSandbox?{dangerouslyOverrideSandbox:Q.dangerouslyOverrideSandbox}:{}}}case FC.name:{let Q=FC.inputSchema.parse(B),{file_path:Z,edits:G}=E4B({file_path:Q.file_path,edits:[{old_string:Q.old_string,new_string:Q.new_string,replace_all:Q.replace_all}]});return{replace_all:G[0].replace_all,file_path:Z,old_string:G[0].old_string,new_string:G[0].new_string}}case jV.name:{let Q=jV.inputSchema.parse(B);return{file_path:Q.file_path,content:SO0(Q.content)}}default:return B}}var _b8;var Kd=R(async()=>{ER1();hQ();gY();dA();await W1([KA(),UB(),u2(),PR(),vI(),Ln(),ai(),Hu(),hi1(),i_(),gg(),mP(),Hd()]);_b8=A1(mKB(),1)});import{createHash as kb8}from"crypto";import{dirname as tbQ,join as xb8}from"path";import*as BfQ from"path";function QfQ(){return!1}async function Go0(A,B){if(!QfQ())return await B();let Q=YY(A.filter((J)=>{if(J.type!=="user")return!0;if(J.isMeta)return!1;return!0})),Z=vb8(Q.map((J)=>J.message.content),AfQ),G=xb8(process.env.CLAUDE_CODE_TEST_FIXTURES_ROOT??JA(),`fixtures/${Z.map((J)=>kb8("sha1").update(JSON.stringify(J)).digest("hex").slice(0,6)).join("-")}.json`);if(N1().existsSync(G))return JSON.parse(N1().readFileSync(G,{encoding:"utf8"})).output.map((W,X)=>ebQ(W,fb8,X));if(_A.isCI)throw console.warn(`Anthropic API fixture missing: ${G}. Re-run npm test locally, then commit the result.`),console.warn("Input messages:"),Z.forEach((J,W)=>{console.warn(`Message ${W+1}:`,JSON.stringify(J,null,2))}),Error("Anthropic API fixture missing");let Y=await B();if(_A.isCI)return Y;if(!N1().existsSync(tbQ(G)))N1().mkdirSync(tbQ(G));return N1().writeFileSync(G,JSON.stringify({input:Z,output:Y.map((J,W)=>ebQ(J,AfQ,W))},null,2),{encoding:"utf8",flush:!1}),Y}function vb8(A,B){return A.map((Q)=>{if(typeof Q==="string")return B(Q);return Q.map((Z)=>{switch(Z.type){case"tool_result":if(typeof Z.content==="string")return{...Z,content:B(Z.content)};if(Array.isArray(Z.content))return{...Z,content:Z.content.map((G)=>{switch(G.type){case"text":return{...G,text:B(G.text)};case"image":return G;default:return}})};return Z;case"text":return{...Z,text:B(Z.text)};case"tool_use":return{...Z,input:u10(Z.input,B)};case"image":return Z;default:return}})})}function u10(A,B){return ev(A,(Q,Z)=>{if(Array.isArray(Q))return Q.map((G)=>u10(G,B));if(yc(Q))return u10(Q,B);return B(Q,Z,A)})}function bb8(A,B,Q){return{uuid:`UUID-${Q}`,requestId:"REQUEST_ID",timestamp:A.timestamp,message:{...A.message,content:A.message.content.map((Z)=>{switch(Z.type){case"text":return{...Z,text:B(Z.text),citations:Z.citations||[]};case"tool_use":return{...Z,input:u10(Z.input,B)};default:return Z}}).filter(Boolean)},type:"assistant"}}function ebQ(A,B,Q){if(A.type==="assistant")return bb8(A,B,Q);else return A}function AfQ(A){if(typeof A!=="string")return A;let B=A.replace(/num_files="\d+"/g,'num_files="[NUM]"').replace(/duration_ms="\d+"/g,'duration_ms="[DURATION]"').replace(/cost_usd="\d+"/g,'cost_usd="[COST]"').replace(/\//g,BfQ.sep).replaceAll(JA(),"[CWD]").replace(/Available commands:.+/,"Available commands: [COMMANDS]");if(B.includes("Files modified by user:"))return"Files modified by user: [FILES]";return B}function fb8(A){if(typeof A!=="string")return A;return A.replaceAll("[NUM]","1").replaceAll("[DURATION]","100").replaceAll("[CWD]",JA())}async function*Yo0(A,B){if(!QfQ())return yield*B();let Q=[],Z=await Go0(A,async()=>{for await(let G of B())Q.push(G);return Q});if(Z.length>0){yield*Z;return}yield*Q}var ZfQ=R(async()=>{$5();hQ();oA();TB();await UB()});function hb8(A,B){return B.input_tokens/1e6*A.inputTokens+B.output_tokens/1e6*A.outputTokens+(B.cache_read_input_tokens??0)/1e6*A.promptCacheReadTokens+(B.cache_creation_input_tokens??0)/1e6*A.promptCacheWriteTokens+(B.server_tool_use?.web_search_requests??0)*A.webSearchRequests}function gb8(A){return A.input_tokens+(A.cache_read_input_tokens??0)+(A.cache_creation_input_tokens??0)}function ub8(A,B){let Q=SE(A),Z=YfQ[Q];if(Z===m10&&gb8(B)>200000)return{inputTokens:6,outputTokens:22.5,promptCacheWriteTokens:7.5,promptCacheReadTokens:0.6,webSearchRequests:0.01};if(!Z)return Z1("tengu_unknown_model_cost",{model:A,shortName:Q}),Z20(),YfQ[SE(oI2)];return Z}async function JfQ(A,B){let Q=A;if(s3()==="bedrock"&&A.includes("application-inference-profile")){let J=await c_1(A);if(J)Q=J}let Z=ub8(Q,B),G=hb8(Z,B);return{stickerCostUSD:G,finalCostUSD:G}}var m10,GfQ,YfQ;var WfQ=R(async()=>{hD();$Y1();await W1([yg(),p_1(),KA(),pQ()]);m10={inputTokens:3,outputTokens:15,promptCacheWriteTokens:3.75,promptCacheReadTokens:0.3,webSearchRequests:0.01},GfQ={inputTokens:15,outputTokens:75,promptCacheWriteTokens:18.75,promptCacheReadTokens:1.5,webSearchRequests:0.01},YfQ={[SE(HY1.firstParty)]:{inputTokens:0.8,outputTokens:4,promptCacheWriteTokens:1,promptCacheReadTokens:0.08,webSearchRequests:0.01},[SE(zY1.firstParty)]:{inputTokens:1,outputTokens:5,promptCacheWriteTokens:1.25,promptCacheReadTokens:0.1,webSearchRequests:0.01},[SE(DY1.firstParty)]:m10,[SE(KY1.firstParty)]:m10,[SE(rp.firstParty)]:m10,[SE(CY1.firstParty)]:GfQ,[SE(UY1.firstParty)]:GfQ,...{}}});function Jo0(A){let B=new Set;A.forEach((Q,Z)=>B.add(Z));for(let[Q,Z]of Object.entries(mb8))if(Z.prefixes?.some((G)=>Array.from(B).some((Y)=>Y.startsWith(G))))return Q;return}function Wo0(){return{...process.env.ANTHROPIC_BASE_URL?{baseUrl:process.env.ANTHROPIC_BASE_URL}:{},...process.env.ANTHROPIC_MODEL?{envModel:process.env.ANTHROPIC_MODEL}:{},...process.env.ANTHROPIC_SMALL_FAST_MODEL?{envSmallFastModel:process.env.ANTHROPIC_SMALL_FAST_MODEL}:{}}}function XfQ({model:A,messagesLength:B,temperature:Q,betas:Z,permissionMode:G,querySource:Y}){Z1("tengu_api_query",{model:A,messagesLength:B,temperature:Q,provider:OL(),...Z?.length?{betas:Z.join(",")}:{},permissionMode:G,querySource:Y,...Wo0()})}function IfQ({error:A,model:B,messageCount:Q,messageTokens:Z,durationMs:G,durationMsIncludingRetries:Y,attempt:J,requestId:W,didFallBackToNonStreaming:X,promptCategory:I,headers:F}){let V=void 0;if(A instanceof N4&&A.headers)V=Jo0(A.headers);else if(F)V=Jo0(F);let K=A instanceof Error?A.message:String(A),D=A instanceof N4?String(A.status):void 0;J1(A,VGA),Z1("tengu_api_error",{model:B,error:K,status:D,messageCount:Q,messageTokens:Z,durationMs:G,durationMsIncludingRetries:Y,attempt:J,provider:OL(),requestId:W||void 0,didFallBackToNonStreaming:X,...I?{promptCategory:I}:{},...V?{gateway:V}:{},...Wo0()}),$N("api_error",{model:B,error:K,status_code:String(D),duration_ms:String(G),attempt:String(J)}),Fd0({success:!1,statusCode:D?parseInt(D):void 0,error:K,attempt:J})}function db8({model:A,preNormalizedModel:B,messageCount:Q,messageTokens:Z,usage:G,durationMs:Y,durationMsIncludingRetries:J,attempt:W,ttftMs:X,requestId:I,stopReason:F,stickerCostUSD:V,costUSD:K,didFallBackToNonStreaming:D,querySource:H,gateway:z}){let C=I3(),q=process.argv.includes("-p")||process.argv.includes("--print");Z1("tengu_api_success",{model:A,...B!==A?{preNormalizedModel:B}:{},messageCount:Q,messageTokens:Z,inputTokens:G.input_tokens,outputTokens:G.output_tokens,cachedInputTokens:G.cache_read_input_tokens??0,uncachedInputTokens:G.cache_creation_input_tokens??0,durationMs:Y,durationMsIncludingRetries:J,attempt:W,ttftMs:X??void 0,provider:OL(),requestId:I??void 0,stop_reason:F??void 0,stickerCostUSD:V,costUSD:K,didFallBackToNonStreaming:D,isNonInteractiveSession:C,print:q,isTTY:process.stdout.isTTY??!1,querySource:H,...z?{gateway:z}:{},...Wo0()})}async function cb8(A,B,Q,Z){let{stickerCostUSD:G,finalCostUSD:Y}=await JfQ(A,B),J=Date.now()-Q,W=Date.now()-Z;return X4B(Y,W,J,B,A),{stickerCostUSD:G,costUSD:Y,durationMs:J,durationMsIncludingRetries:W}}async function FfQ({model:A,preNormalizedModel:B,start:Q,startIncludingRetries:Z,ttftMs:G,usage:Y,attempt:J,messageCount:W,messageTokens:X,requestId:I,stopReason:F,didFallBackToNonStreaming:V,querySource:K,headers:D}){let H=D?Jo0(D):void 0,{stickerCostUSD:z,costUSD:C,durationMs:q,durationMsIncludingRetries:N}=await cb8(B,Y,Q,Z);db8({model:A,preNormalizedModel:B,messageCount:W,messageTokens:X,usage:Y,durationMs:q,durationMsIncludingRetries:N,attempt:J,ttftMs:G,requestId:I,stopReason:F,stickerCostUSD:z,costUSD:C,didFallBackToNonStreaming:V,querySource:K,gateway:H}),$N("api_request",{model:A,input_tokens:String(Y.input_tokens),output_tokens:String(Y.output_tokens),cache_read_tokens:String(Y.cache_read_input_tokens),cache_creation_tokens:String(Y.cache_creation_input_tokens),cost_usd:String(C),duration_ms:String(q)}),Fd0({success:!0,inputTokens:Y.input_tokens,outputTokens:Y.output_tokens,cacheReadTokens:Y.cache_read_input_tokens,cacheCreationTokens:Y.cache_creation_input_tokens,attempt:J})}var mb8,CS;var d10=R(async()=>{oR();hD();V2();await W1([r0(),KA(),yg(),WfQ(),T81(),Ms()]);mb8={litellm:{prefixes:["x-litellm-"]},helicone:{prefixes:["helicone-"]},portkey:{prefixes:["x-portkey-"]},"cloudflare-ai-gateway":{prefixes:["cf-aig-"]}};CS={input_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,output_tokens:0,server_tool_use:{web_search_requests:0},service_tier:"standard",cache_creation:{ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0}}});import{randomUUID as VfQ}from"crypto";function eu1(A){let B={},Q=process.env.CLAUDE_CODE_EXTRA_BODY,Z={};if(Q)try{let Y=JZ(Q);if(Y&&typeof Y==="object"&&!Array.isArray(Y))Z=Y;else i(`CLAUDE_CODE_EXTRA_BODY env var must be a JSON object, but was given ${Q}`,{level:"error"})}catch(Y){i(`Error parsing CLAUDE_CODE_EXTRA_BODY: ${Y instanceof Error?Y.message:String(Y)}`,{level:"error"})}let G={...B,...Z};if(A&&A.length>0)if(G.anthropic_beta&&Array.isArray(G.anthropic_beta)){let Y=G.anthropic_beta,J=A.filter((W)=>!Y.includes(W));G.anthropic_beta=[...Y,...J]}else G.anthropic_beta=A;return G}function KfQ(A){if(MA(process.env.DISABLE_PROMPT_CACHING))return!1;if(MA(process.env.DISABLE_PROMPT_CACHING_HAIKU)){let B=XV();if(A===B)return!1}if(MA(process.env.DISABLE_PROMPT_CACHING_SONNET)){let B=z_();if(A===B)return!1}if(MA(process.env.DISABLE_PROMPT_CACHING_OPUS)){let B=eD0();if(A===B)return!1}return!0}function rU1(){return XY("prompt_cache_1h_experiment","use_1h_cache",!1)?{type:"ephemeral",ttl:"1h"}:{type:"ephemeral"}}function Hg(){let A=tA1(),B=SX()?.accountUuid??"",Q=X2();return{user_id:`user_${A}_account_${B}_session_${Q}`}}async function BRQ(A,B){if(B)return!0;try{let Q=XV(),Z=W$(Q);return await Ia2(_t1(()=>J$({apiKey:A,maxRetries:3,model:Q}),async(G)=>{let Y=[{role:"user",content:"test"}];return await G.beta.messages.create({model:Q,max_tokens:1,messages:Y,temperature:1,...Z.length>0?{betas:Z}:{},metadata:Hg(),...eu1()}),!0},{maxRetries:2,model:Q}))}catch(Q){let Z=Q;if(Q instanceof Fd)Z=Q.originalError;if(J1(Z,HZA),Z instanceof Error&&Z.message.includes('{"type":"error","error":{"type":"authentication_error","message":"invalid x-api-key"}}'))return!1;throw Z}}function pb8(A,B=!1,Q){if(B)if(typeof A.message.content==="string")return{role:"user",content:[{type:"text",text:A.message.content,...Q?{cache_control:rU1()}:{}}]};else return{role:"user",content:A.message.content.map((Z,G)=>({...Z,...G===A.message.content.length-1?Q?{cache_control:rU1()}:{}:{}}))};return{role:"user",content:A.message.content}}function lb8(A,B=!1,Q){if(B)if(typeof A.message.content==="string")return{role:"assistant",content:[{type:"text",text:A.message.content,...Q?{cache_control:rU1()}:{}}]};else return{role:"assistant",content:A.message.content.map((Z,G)=>({...Z,...G===A.message.content.length-1&&Z.type!=="thinking"&&Z.type!=="redacted_thinking"?Q?{cache_control:rU1()}:{}:{}}))};return{role:"assistant",content:A.message.content}}async function Dd({messages:A,systemPrompt:B,maxThinkingTokens:Q,tools:Z,signal:G,options:Y}){for await(let J of Yo0(A,async function*(){yield*DfQ(A,B,Q,Z,G,Y)}))if(J.type==="assistant")return J;throw Error("No assistant message found")}async function*T41({messages:A,systemPrompt:B,maxThinkingTokens:Q,tools:Z,signal:G,options:Y}){return yield*Yo0(A,async function*(){yield*DfQ(A,B,Q,Z,G,Y)})}async function*DfQ(A,B,Q,Z,G,Y){if(!wB()&&(await Ma("tengu-off-switch",{activated:!1})).activated&&B21(Y.model)){Z1("tengu_off_switch_query",{}),yield zL0(Error(tB1),Y.model);return}if(s3()==="bedrock"&&Y.model.includes("application-inference-profile"))c_1(Y.model);let[J,W]=await Promise.all([Promise.all(Z.map((g)=>g10(g,{getToolPermissionContext:Y.getToolPermissionContext,tools:Z,agents:Y.agents,model:Y.model}))),W$(Y.model)]);sbQ(B),B=[VR1({isNonInteractive:Y.isNonInteractiveSession,hasAppendSystemPrompt:Y.hasAppendSystemPrompt}),...B];let X=Y.enablePromptCaching??KfQ(Y.model),I=nb8(B,X),F=W.length>0;Z1("tengu_api_before_normalize",{preNormalizedMessageCount:A.length});let V=YY(A);Z1("tengu_api_after_normalize",{postNormalizedMessageCount:V.length}),q3Q(Y.model),Y.getToolPermissionContext().then((g)=>{XfQ({model:Y.model,messagesLength:JSON.stringify([...I,...V,...J,...Y.extraToolSchemas??[]]).length,temperature:1,betas:F?W:[],permissionMode:g.mode,querySource:Y.querySource})});let K=Date.now(),D=Date.now(),H=0,z=void 0,C=(g)=>{let o=HPA(),c=g.maxTokensOverride?Math.min(Q,g.maxTokensOverride-1):Q,y=eu1(s3()==="bedrock"?GL0(g.model):[]),d=Q>0?{budget_tokens:c,type:"enabled"}:void 0,e=Q>0,Q1=GF2(Y.model,e),T1=g?.maxTokensOverride||Y.maxOutputTokensOverride||Math.max(Q+1,ax0(Q1)),K1=Y.enablePromptCaching??KfQ(g.model);return{model:Th(Q1),messages:ib8(V,K1),system:I,tools:[...J,...Y.extraToolSchemas??[]],tool_choice:Y.toolChoice,...F?{betas:W}:{},metadata:Hg(),max_tokens:T1,thinking:d,...o&&F&&W.includes(dn2)?{context_management:o}:{},...y}},q=[],N=0,L=void 0,O=[],T=CS,P=null,_=!1,h=0,k=void 0,n=void 0;try{let g=_t1(()=>J$({maxRetries:0,model:Y.model,fetchOverride:Y.fetchOverride}),async(c,y,d)=>{H=y,D=Date.now();let e=C(d);return Io0(e,Y.querySource),h=e.max_tokens,c.beta.messages.stream(e,{signal:G})},{model:Y.model,fallbackModel:Y.fallbackModel,maxThinkingTokens:Q,signal:G}),o;do if(o=await g.next(),!(o.value instanceof lp))yield o.value;while(!o.done);z=o.value,q.length=0,N=0,L=void 0,O.length=0,T=CS;try{let c=!0;for await(let d of z){if(c)i("Stream started - received first chunk"),c=!1;switch(d.type){case"message_start":L=d.message,N=Date.now()-D,T=oU1(T,d.message.usage);break;case"content_block_start":switch(d.content_block.type){case"tool_use":O[d.index]={...d.content_block,input:""};break;case"server_tool_use":O[d.index]={...d.content_block,input:""};break;case"text":O[d.index]={...d.content_block,text:""};break;case"thinking":O[d.index]={...d.content_block,thinking:""};break;default:O[d.index]={...d.content_block};break}break;case"content_block_delta":{let e=O[d.index];if(!e)throw Z1("tengu_streaming_error",{error_type:"content_block_not_found_delta",part_type:d.type,part_index:d.index}),RangeError("Content block not found");switch(d.delta.type){case"citations_delta":break;case"input_json_delta":if(e.type!=="tool_use"&&e.type!=="server_tool_use")throw Z1("tengu_streaming_error",{error_type:"content_block_type_mismatch_input_json",expected_type:"tool_use",actual_type:e.type}),Error("Content block is not a input_json block");if(typeof e.input!=="string")throw Z1("tengu_streaming_error",{error_type:"content_block_input_not_string",input_type:typeof e.input}),Error("Content block input is not a string");e.input+=d.delta.partial_json;break;case"text_delta":if(e.type!=="text")throw Z1("tengu_streaming_error",{error_type:"content_block_type_mismatch_text",expected_type:"text",actual_type:e.type}),Error("Content block is not a text block");e.text+=d.delta.text;break;case"signature_delta":if(e.type!=="thinking")throw Z1("tengu_streaming_error",{error_type:"content_block_type_mismatch_thinking_signature",expected_type:"thinking",actual_type:e.type}),Error("Content block is not a thinking block");e.signature=d.delta.signature;break;case"thinking_delta":if(e.type!=="thinking")throw Z1("tengu_streaming_error",{error_type:"content_block_type_mismatch_thinking_delta",expected_type:"thinking",actual_type:e.type}),Error("Content block is not a thinking block");e.thinking+=d.delta.thinking;break}break}case"content_block_stop":{let e=O[d.index];if(!e)throw Z1("tengu_streaming_error",{error_type:"content_block_not_found_stop",part_type:d.type,part_index:d.index}),RangeError("Content block not found");if(!L)throw Z1("tengu_streaming_error",{error_type:"partial_message_not_found",part_type:d.type}),Error("Message not found");let Q1={message:{...L,content:Xo0([e],Z)},requestId:z.request_id??void 0,type:"assistant",uuid:VfQ(),timestamp:new Date().toISOString(),...{}};q.push(Q1),yield Q1;break}case"message_delta":{T=oU1(T,d.usage),P=d.delta.stop_reason;let e=Qa2(d.delta.stop_reason,Y.model);if(e)yield e;if(P==="max_tokens")Z1("tengu_max_tokens_reached",{max_tokens:h}),yield PG({content:`${yX}: Claude's response exceeded the ${h} output token maximum. To configure this behavior, set the CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable.`});if(P==="model_context_window_exceeded")Z1("tengu_context_window_exceeded",{max_tokens:h,output_tokens:T.output_tokens}),yield PG({content:`${yX}: The model has reached its context window limit.`});break}case"message_stop":break}yield{type:"stream_event",event:d}}let y=(await z.withResponse()).response;sb8(y),FL0(y.headers),k=y.headers}catch(c){if(c instanceof GY)if(G.aborted)throw i(`Streaming aborted by user: ${c instanceof Error?c.message:String(c)}`),c;else throw i(`Streaming timeout (SDK abort): ${c.message}`,{level:"error"}),new Sy({message:"Request timed out"});if(i(`Error streaming, falling back to non-streaming mode: ${c instanceof Error?c.message:String(c)}`,{level:"error"}),_=!0,Y.onStreamingFallback)Y.onStreamingFallback();let y=_t1(()=>J$({maxRetries:0,model:Y.model}),async(Q1,T1,K1)=>{H=T1;let j1=C(K1);return Io0(j1,Y.querySource),h=j1.max_tokens,await Q1.beta.messages.create({...j1,model:Th(j1.model),max_tokens:Math.min(j1.max_tokens,ab8),temperature:1})},{model:Y.model,maxThinkingTokens:Q,signal:G}),d;do if(d=await y.next(),d.value.type==="system")yield d.value;while(!d.done);let e={message:{...d.value,content:Xo0(d.value.content,Z)},requestId:z.request_id??void 0,type:"assistant",uuid:VfQ(),timestamp:new Date().toISOString(),...{}};q.push(e),yield e}}catch(g){i(`Error in non-streaming fallback: ${g instanceof Error?g.message:String(g)}`,{level:"error"});let o=g,c=Y.model;if(g instanceof Fd)o=g.originalError,c=g.retryContext.model;if(o instanceof N4)VL0(o);if(IfQ({error:o,model:c,messageCount:V.length,messageTokens:oI(V),durationMs:Date.now()-D,durationMsIncludingRetries:Date.now()-K,attempt:H,requestId:z?.request_id,didFallBackToNonStreaming:_}),o instanceof GY)return;yield zL0(o,c,{messages:A,messagesForAPI:V});return}FfQ({model:q[0]?.message.model??L?.model??Y.model,preNormalizedModel:Y.model,usage:T,start:D,startIncludingRetries:K,attempt:H,messageCount:V.length,messageTokens:oI(V),requestId:z?.request_id??null,stopReason:P,ttftMs:N,didFallBackToNonStreaming:_,querySource:Y.querySource,headers:k})}function oU1(A,B){return{input_tokens:B.input_tokens??A.input_tokens,cache_creation_input_tokens:B.cache_creation_input_tokens??A.cache_creation_input_tokens,cache_read_input_tokens:B.cache_read_input_tokens??A.cache_read_input_tokens,output_tokens:B.output_tokens??A.output_tokens,server_tool_use:{web_search_requests:B.server_tool_use?.web_search_requests??A.server_tool_use.web_search_requests},service_tier:A.service_tier,cache_creation:{ephemeral_1h_input_tokens:B.cache_creation?.ephemeral_1h_input_tokens??A.cache_creation.ephemeral_1h_input_tokens,ephemeral_5m_input_tokens:B.cache_creation?.ephemeral_5m_input_tokens??A.cache_creation.ephemeral_5m_input_tokens}}}function HfQ(A,B){return{input_tokens:A.input_tokens+B.input_tokens,cache_creation_input_tokens:A.cache_creation_input_tokens+B.cache_creation_input_tokens,cache_read_input_tokens:A.cache_read_input_tokens+B.cache_read_input_tokens,output_tokens:A.output_tokens+B.output_tokens,server_tool_use:{web_search_requests:A.server_tool_use.web_search_requests+B.server_tool_use.web_search_requests},service_tier:B.service_tier,cache_creation:{ephemeral_1h_input_tokens:A.cache_creation.ephemeral_1h_input_tokens+B.cache_creation.ephemeral_1h_input_tokens,ephemeral_5m_input_tokens:A.cache_creation.ephemeral_5m_input_tokens+B.cache_creation.ephemeral_5m_input_tokens}}}function ib8(A,B){return Z1("tengu_api_cache_breakpoints",{totalMessageCount:A.length,cachingEnabled:B}),A.map((Q,Z)=>{return Q.type==="user"?pb8(Q,Z>A.length-3,B):lb8(Q,Z>A.length-3,B)})}function nb8(A,B){return Zo0(A).map((Q)=>({type:"text",text:Q,...B?{cache_control:rU1()}:{}}))}async function yW({systemPrompt:A=[],userPrompt:B,assistantPrompt:Q,signal:Z,options:G}){return(await Go0([cA({content:A.map((J)=>({type:"text",text:J}))}),cA({content:B})],async()=>{let J=[cA({content:B}),...Q?[jH({content:Q})]:[]];return[await Dd({messages:J,systemPrompt:A,maxThinkingTokens:0,tools:[],signal:Z,options:{...G,model:XV(),enablePromptCaching:G.enablePromptCaching??!1,async getToolPermissionContext(){return RL()}}})]}))[0]}function ax0(A){if(A.includes("3-5"))return 8192;let B=zE1.validate(process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS);if(B.status==="capped")i(`CLAUDE_CODE_MAX_OUTPUT_TOKENS ${B.message}`);else if(B.status==="invalid")i(`CLAUDE_CODE_MAX_OUTPUT_TOKENS ${B.message}`);return B.effective}function sb8(A){try{let B=A.headers.get("anthropic-ratelimit-unified-fallback-percentage");if(B!==null){let Q=parseFloat(B);if(!isNaN(Q)&&Q>0&&Q<=1){if(E0().fallbackAvailableWarningThreshold!==Q)lA({...E0(),fallbackAvailableWarningThreshold:Q})}}}catch{}}var ab8=21333;var HG=R(async()=>{g70();c70();HB();hD();BL0();dA();V2();cp();CE1();Qw();await W1([zPA(),Kd(),i_(),u2(),A9(),r0(),UB(),pQ(),uw(),oB1(),KA(),ZfQ(),aB1(),d10(),p_1(),SD(),Ka0(),KM(),A9(),pQ(),Ms()])});function ky(A){let B=A.split(`
Error: No assistant message found
at Dd (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3356:12905)
at async file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3356:21920
at async Go0 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3356:2011)
at async yW (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3356:21776)
at async s9B (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3363:200)
Node.js v24.10.0
Steps to Reproduce
This is the case for every project after updating claudecode
Claude Model
Sonnet (default)
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.0.25 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Warp
Additional Information
▐▛███▜▌ Claude Code v2.0.25
▝▜█████▛▘ Sonnet 4.5 · API Usage Billing
▘▘ ▝▝ /Users/hcyroy/Documents/H2R_SCie
@manuscript/v4/Final/stats/
Can the files here be used in cytoscape?
⎿ Listed directory manuscript/v4/Final/stats/
⎿ ⧉ Selected 6 lines from
manuscript/v4/Enhanced_Methodology_Results_Figures
_Design_Report_Based_on_Original_Framework.md in
Visual Studio Code
✻ Musing… (esc to interrupt)
──────────────────────────────────────────────────────
──────────────────────────────────────────────────────
🤖 Sonnet 4.5 | 📁 H2R_SCie | Thinking on (tab
🌿 master ● | ⚡️ 2.6% · 5.2k to toggle)
tokens
file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3356,isMeta:!0}),...A]}async function rbQ(A,B){if(Gv())return;let[{tools:Q},Z,G,Y]=await Promise.all([bd1(A),Aq(B),yV(),SV()]),J=Y.gitStatus?.length??0,W=G.claudeMd?.length??0,X=J+W,I=g4(),F=b4();setTimeout(()=>F.abort(),1000);let V=await KL1(JA(),F.signal,I.ignorePatterns??[]),K=0,D=0,H=0,z=0,C=0,q=Z.filter((L)=>!L.isMcp);K=Q.length,z=q.length;let N=new Set;for(let L of Q){let O=L.name.split("__");if(O.length>=3&&O[1])N.add(O[1])}D=N.size;try{if(Q.length>0){let{mcpToolTokens:L}=await _D1(Q,async()=>B,null);H=L}if(q.length>0)C=await abQ(Z,async()=>B,null)}catch{}Z1("tengu_context_size",{git_status_size:J,claude_md_size:W,total_context_size:X,project_file_count_rounded:V,mcp_tools_count:K,mcp_servers_count:D,mcp_tools_tokens:H,non_mcp_tools_count:z,non_mcp_tools_tokens:C})}function obQ(A,B){switch(A.name){case B9.name:{let Q=B9.inputSchema.parse(B),{command:Z,timeout:G,description:Y,run_in_background:J}=Q,W=Z.replace(cd ${JA()} && ,"");if(W=W.replace(/\\\\;/g,"\\;"),/^echo\s+["']?[^|&;><]*["']?$/i.test(W.trim()))Z1("tengu_bash_tool_simple_echo",{});return{command:W,description:Y,...G?{timeout:G}:{},...Y?{description:Y}:{},...J?{run_in_background:J}:{},..."dangerouslyOverrideSandbox"in Q&&Q.dangerouslyOverrideSandbox?{dangerouslyOverrideSandbox:Q.dangerouslyOverrideSandbox}:{}}}case FC.name:{let Q=FC.inputSchema.parse(B),{file_path:Z,edits:G}=E4B({file_path:Q.file_path,edits:[{old_string:Q.old_string,new_string:Q.new_string,replace_all:Q.replace_all}]});return{replace_all:G[0].replace_all,file_path:Z,old_string:G[0].old_string,new_string:G[0].new_string}}case jV.name:{let Q=jV.inputSchema.parse(B);return{file_path:Q.file_path,content:SO0(Q.content)}}default:return B}}var _b8;var Kd=R(async()=>{ER1();hQ();gY();dA();await W1([KA(),UB(),u2(),PR(),vI(),Ln(),ai(),Hu(),hi1(),i_(),gg(),mP(),Hd()]);_b8=A1(mKB(),1)});import{createHash as kb8}from"crypto";import{dirname as tbQ,join as xb8}from"path";import*as BfQ from"path";function QfQ(){return!1}async function Go0(A,B){if(!QfQ())return await B();let Q=YY(A.filter((J)=>{if(J.type!=="user")return!0;if(J.isMeta)return!1;return!0})),Z=vb8(Q.map((J)=>J.message.content),AfQ),G=xb8(process.env.CLAUDE_CODE_TEST_FIXTURES_ROOT??JA(),fixtures/${Z.map((J)=>kb8("sha1").update(JSON.stringify(J)).digest("hex").slice(0,6)).join("-")}.json);if(N1().existsSync(G))return JSON.parse(N1().readFileSync(G,{encoding:"utf8"})).output.map((W,X)=>ebQ(W,fb8,X));if(_A.isCI)throw console.warn(Anthropic API fixture missing: ${G}. Re-run npm test locally, then commit the result.),console.warn("Input messages:"),Z.forEach((J,W)=>{console.warn(Message ${W+1}:,JSON.stringify(J,null,2))}),Error("Anthropic API fixture missing");let Y=await B();if(_A.isCI)return Y;if(!N1().existsSync(tbQ(G)))N1().mkdirSync(tbQ(G));return N1().writeFileSync(G,JSON.stringify({input:Z,output:Y.map((J,W)=>ebQ(J,AfQ,W))},null,2),{encoding:"utf8",flush:!1}),Y}function vb8(A,B){return A.map((Q)=>{if(typeof Q==="string")return B(Q);return Q.map((Z)=>{switch(Z.type){case"tool_result":if(typeof Z.content==="string")return{...Z,content:B(Z.content)};if(Array.isArray(Z.content))return{...Z,content:Z.content.map((G)=>{switch(G.type){case"text":return{...G,text:B(G.text)};case"image":return G;default:return}})};return Z;case"text":return{...Z,text:B(Z.text)};case"tool_use":return{...Z,input:u10(Z.input,B)};case"image":return Z;default:return}})})}function u10(A,B){return ev(A,(Q,Z)=>{if(Array.isArray(Q))return Q.map((G)=>u10(G,B));if(yc(Q))return u10(Q,B);return B(Q,Z,A)})}function bb8(A,B,Q){return{uuid:UUID-${Q},requestId:"REQUEST_ID",timestamp:A.timestamp,message:{...A.message,content:A.message.content.map((Z)=>{switch(Z.type){case"text":return{...Z,text:B(Z.text),citations:Z.citations||[]};case"tool_use":return{...Z,input:u10(Z.input,B)};default:return Z}}).filter(Boolean)},type:"assistant"}}function ebQ(A,B,Q){if(A.type==="assistant")return bb8(A,B,Q);else return A}function AfQ(A){if(typeof A!=="string")return A;let B=A.replace(/num_files="\d+"/g,'num_files="[NUM]"').replace(/duration_ms="\d+"/g,'duration_ms="[DURATION]"').replace(/cost_usd="\d+"/g,'cost_usd="[COST]"').replace(/\//g,BfQ.sep).replaceAll(JA(),"[CWD]").replace(/Available commands:.+/,"Available commands: [COMMANDS]");if(B.includes("Files modified by user:"))return"Files modified by user: [FILES]";return B}function fb8(A){if(typeof A!=="string")return A;return A.replaceAll("[NUM]","1").replaceAll("[DURATION]","100").replaceAll("[CWD]",JA())}async function*Yo0(A,B){if(!QfQ())return yield*B();let Q=[],Z=await Go0(A,async()=>{for await(let G of B())Q.push(G);return Q});if(Z.length>0){yield*Z;return}yield*Q}var ZfQ=R(async()=>{$5();hQ();oA();TB();await UB()});function hb8(A,B){return B.input_tokens/1e6*A.inputTokens+B.output_tokens/1e6*A.outputTokens+(B.cache_read_input_tokens??0)/1e6*A.promptCacheReadTokens+(B.cache_creation_input_tokens??0)/1e6*A.promptCacheWriteTokens+(B.server_tool_use?.web_search_requests??0)*A.webSearchRequests}function gb8(A){return A.input_tokens+(A.cache_read_input_tokens??0)+(A.cache_creation_input_tokens??0)}function ub8(A,B){let Q=SE(A),Z=YfQ[Q];if(Z===m10&&gb8(B)>200000)return{inputTokens:6,outputTokens:22.5,promptCacheWriteTokens:7.5,promptCacheReadTokens:0.6,webSearchRequests:0.01};if(!Z)return Z1("tengu_unknown_model_cost",{model:A,shortName:Q}),Z20(),YfQ[SE(oI2)];return Z}async function JfQ(A,B){let Q=A;if(s3()==="bedrock"&&A.includes("application-inference-profile")){let J=await c_1(A);if(J)Q=J}let Z=ub8(Q,B),G=hb8(Z,B);return{stickerCostUSD:G,finalCostUSD:G}}var m10,GfQ,YfQ;var WfQ=R(async()=>{hD();$Y1();await W1([yg(),p_1(),KA(),pQ()]);m10={inputTokens:3,outputTokens:15,promptCacheWriteTokens:3.75,promptCacheReadTokens:0.3,webSearchRequests:0.01},GfQ={inputTokens:15,outputTokens:75,promptCacheWriteTokens:18.75,promptCacheReadTokens:1.5,webSearchRequests:0.01},YfQ={[SE(HY1.firstParty)]:{inputTokens:0.8,outputTokens:4,promptCacheWriteTokens:1,promptCacheReadTokens:0.08,webSearchRequests:0.01},[SE(zY1.firstParty)]:{inputTokens:1,outputTokens:5,promptCacheWriteTokens:1.25,promptCacheReadTokens:0.1,webSearchRequests:0.01},[SE(DY1.firstParty)]:m10,[SE(KY1.firstParty)]:m10,[SE(rp.firstParty)]:m10,[SE(CY1.firstParty)]:GfQ,[SE(UY1.firstParty)]:GfQ,...{}}});function Jo0(A){let B=new Set;A.forEach((Q,Z)=>B.add(Z));for(let[Q,Z]of Object.entries(mb8))if(Z.prefixes?.some((G)=>Array.from(B).some((Y)=>Y.startsWith(G))))return Q;return}function Wo0(){return{...process.env.ANTHROPIC_BASE_URL?{baseUrl:process.env.ANTHROPIC_BASE_URL}:{},...process.env.ANTHROPIC_MODEL?{envModel:process.env.ANTHROPIC_MODEL}:{},...process.env.ANTHROPIC_SMALL_FAST_MODEL?{envSmallFastModel:process.env.ANTHROPIC_SMALL_FAST_MODEL}:{}}}function XfQ({model:A,messagesLength:B,temperature:Q,betas:Z,permissionMode:G,querySource:Y}){Z1("tengu_api_query",{model:A,messagesLength:B,temperature:Q,provider:OL(),...Z?.length?{betas:Z.join(",")}:{},permissionMode:G,querySource:Y,...Wo0()})}function IfQ({error:A,model:B,messageCount:Q,messageTokens:Z,durationMs:G,durationMsIncludingRetries:Y,attempt:J,requestId:W,didFallBackToNonStreaming:X,promptCategory:I,headers:F}){let V=void 0;if(A instanceof N4&&A.headers)V=Jo0(A.headers);else if(F)V=Jo0(F);let K=A instanceof Error?A.message:String(A),D=A instanceof N4?String(A.status):void 0;J1(A,VGA),Z1("tengu_api_error",{model:B,error:K,status:D,messageCount:Q,messageTokens:Z,durationMs:G,durationMsIncludingRetries:Y,attempt:J,provider:OL(),requestId:W||void 0,didFallBackToNonStreaming:X,...I?{promptCategory:I}:{},...V?{gateway:V}:{},...Wo0()}),$N("api_error",{model:B,error:K,status_code:String(D),duration_ms:String(G),attempt:String(J)}),Fd0({success:!1,statusCode:D?parseInt(D):void 0,error:K,attempt:J})}function db8({model:A,preNormalizedModel:B,messageCount:Q,messageTokens:Z,usage:G,durationMs:Y,durationMsIncludingRetries:J,attempt:W,ttftMs:X,requestId:I,stopReason:F,stickerCostUSD:V,costUSD:K,didFallBackToNonStreaming:D,querySource:H,gateway:z}){let C=I3(),q=process.argv.includes("-p")||process.argv.includes("--print");Z1("tengu_api_success",{model:A,...B!==A?{preNormalizedModel:B}:{},messageCount:Q,messageTokens:Z,inputTokens:G.input_tokens,outputTokens:G.output_tokens,cachedInputTokens:G.cache_read_input_tokens??0,uncachedInputTokens:G.cache_creation_input_tokens??0,durationMs:Y,durationMsIncludingRetries:J,attempt:W,ttftMs:X??void 0,provider:OL(),requestId:I??void 0,stop_reason:F??void 0,stickerCostUSD:V,costUSD:K,didFallBackToNonStreaming:D,isNonInteractiveSession:C,print:q,isTTY:process.stdout.isTTY??!1,querySource:H,...z?{gateway:z}:{},...Wo0()})}async function cb8(A,B,Q,Z){let{stickerCostUSD:G,finalCostUSD:Y}=await JfQ(A,B),J=Date.now()-Q,W=Date.now()-Z;return X4B(Y,W,J,B,A),{stickerCostUSD:G,costUSD:Y,durationMs:J,durationMsIncludingRetries:W}}async function FfQ({model:A,preNormalizedModel:B,start:Q,startIncludingRetries:Z,ttftMs:G,usage:Y,attempt:J,messageCount:W,messageTokens:X,requestId:I,stopReason:F,didFallBackToNonStreaming:V,querySource:K,headers:D}){let H=D?Jo0(D):void 0,{stickerCostUSD:z,costUSD:C,durationMs:q,durationMsIncludingRetries:N}=await cb8(B,Y,Q,Z);db8({model:A,preNormalizedModel:B,messageCount:W,messageTokens:X,usage:Y,durationMs:q,durationMsIncludingRetries:N,attempt:J,ttftMs:G,requestId:I,stopReason:F,stickerCostUSD:z,costUSD:C,didFallBackToNonStreaming:V,querySource:K,gateway:H}),$N("api_request",{model:A,input_tokens:String(Y.input_tokens),output_tokens:String(Y.output_tokens),cache_read_tokens:String(Y.cache_read_input_tokens),cache_creation_tokens:String(Y.cache_creation_input_tokens),cost_usd:String(C),duration_ms:String(q)}),Fd0({success:!0,inputTokens:Y.input_tokens,outputTokens:Y.output_tokens,cacheReadTokens:Y.cache_read_input_tokens,cacheCreationTokens:Y.cache_creation_input_tokens,attempt:J})}var mb8,CS;var d10=R(async()=>{oR();hD();V2();await W1([r0(),KA(),yg(),WfQ(),T81(),Ms()]);mb8={litellm:{prefixes:["x-litellm-"]},helicone:{prefixes:["helicone-"]},portkey:{prefixes:["x-portkey-"]},"cloudflare-ai-gateway":{prefixes:["cf-aig-"]}};CS={input_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,output_tokens:0,server_tool_use:{web_search_requests:0},service_tier:"standard",cache_creation:{ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0}}});import{randomUUID as VfQ}from"crypto";function eu1(A){let B={},Q=process.env.CLAUDE_CODE_EXTRA_BODY,Z={};if(Q)try{let Y=JZ(Q);if(Y&&typeof Y==="object"&&!Array.isArray(Y))Z=Y;else i(CLAUDE_CODE_EXTRA_BODY env var must be a JSON object, but was given ${Q},{level:"error"})}catch(Y){i(Error parsing CLAUDE_CODE_EXTRA_BODY: ${Y instanceof Error?Y.message:String(Y)},{level:"error"})}let G={...B,...Z};if(A&&A.length>0)if(G.anthropic_beta&&Array.isArray(G.anthropic_beta)){let Y=G.anthropic_beta,J=A.filter((W)=>!Y.includes(W));G.anthropic_beta=[...Y,...J]}else G.anthropic_beta=A;return G}function KfQ(A){if(MA(process.env.DISABLE_PROMPT_CACHING))return!1;if(MA(process.env.DISABLE_PROMPT_CACHING_HAIKU)){let B=XV();if(A===B)return!1}if(MA(process.env.DISABLE_PROMPT_CACHING_SONNET)){let B=z_();if(A===B)return!1}if(MA(process.env.DISABLE_PROMPT_CACHING_OPUS)){let B=eD0();if(A===B)return!1}return!0}function rU1(){return XY("prompt_cache_1h_experiment","use_1h_cache",!1)?{type:"ephemeral",ttl:"1h"}:{type:"ephemeral"}}function Hg(){let A=tA1(),B=SX()?.accountUuid??"",Q=X2();return{user_id:user_${A}_account_${B}_session_${Q}}}async function BRQ(A,B){if(B)return!0;try{let Q=XV(),Z=W$(Q);return await Ia2(_t1(()=>J$({apiKey:A,maxRetries:3,model:Q}),async(G)=>{let Y=[{role:"user",content:"test"}];return await G.beta.messages.create({model:Q,max_tokens:1,messages:Y,temperature:1,...Z.length>0?{betas:Z}:{},metadata:Hg(),...eu1()}),!0},{maxRetries:2,model:Q}))}catch(Q){let Z=Q;if(Q instanceof Fd)Z=Q.originalError;if(J1(Z,HZA),Z instanceof Error&&Z.message.includes('{"type":"error","error":{"type":"authentication_error","message":"invalid x-api-key"}}'))return!1;throw Z}}function pb8(A,B=!1,Q){if(B)if(typeof A.message.content==="string")return{role:"user",content:[{type:"text",text:A.message.content,...Q?{cache_control:rU1()}:{}}]};else return{role:"user",content:A.message.content.map((Z,G)=>({...Z,...G===A.message.content.length-1?Q?{cache_control:rU1()}:{}:{}}))};return{role:"user",content:A.message.content}}function lb8(A,B=!1,Q){if(B)if(typeof A.message.content==="string")return{role:"assistant",content:[{type:"text",text:A.message.content,...Q?{cache_control:rU1()}:{}}]};else return{role:"assistant",content:A.message.content.map((Z,G)=>({...Z,...G===A.message.content.length-1&&Z.type!=="thinking"&&Z.type!=="redacted_thinking"?Q?{cache_control:rU1()}:{}:{}}))};return{role:"assistant",content:A.message.content}}async function Dd({messages:A,systemPrompt:B,maxThinkingTokens:Q,tools:Z,signal:G,options:Y}){for await(let J of Yo0(A,async function*(){yield*DfQ(A,B,Q,Z,G,Y)}))if(J.type==="assistant")return J;throw Error("No assistant message found")}async function*T41({messages:A,systemPrompt:B,maxThinkingTokens:Q,tools:Z,signal:G,options:Y}){return yield*Yo0(A,async function*(){yield*DfQ(A,B,Q,Z,G,Y)})}async function*DfQ(A,B,Q,Z,G,Y){if(!wB()&&(await Ma("tengu-off-switch",{activated:!1})).activated&&B21(Y.model)){Z1("tengu_off_switch_query",{}),yield zL0(Error(tB1),Y.model);return}if(s3()==="bedrock"&&Y.model.includes("application-inference-profile"))c_1(Y.model);let[J,W]=await Promise.all([Promise.all(Z.map((g)=>g10(g,{getToolPermissionContext:Y.getToolPermissionContext,tools:Z,agents:Y.agents,model:Y.model}))),W$(Y.model)]);sbQ(B),B=[VR1({isNonInteractive:Y.isNonInteractiveSession,hasAppendSystemPrompt:Y.hasAppendSystemPrompt}),...B];let X=Y.enablePromptCaching??KfQ(Y.model),I=nb8(B,X),F=W.length>0;Z1("tengu_api_before_normalize",{preNormalizedMessageCount:A.length});let V=YY(A);Z1("tengu_api_after_normalize",{postNormalizedMessageCount:V.length}),q3Q(Y.model),Y.getToolPermissionContext().then((g)=>{XfQ({model:Y.model,messagesLength:JSON.stringify([...I,...V,...J,...Y.extraToolSchemas??[]]).length,temperature:1,betas:F?W:[],permissionMode:g.mode,querySource:Y.querySource})});let K=Date.now(),D=Date.now(),H=0,z=void 0,C=(g)=>{let o=HPA(),c=g.maxTokensOverride?Math.min(Q,g.maxTokensOverride-1):Q,y=eu1(s3()==="bedrock"?GL0(g.model):[]),d=Q>0?{budget_tokens:c,type:"enabled"}:void 0,e=Q>0,Q1=GF2(Y.model,e),T1=g?.maxTokensOverride||Y.maxOutputTokensOverride||Math.max(Q+1,ax0(Q1)),K1=Y.enablePromptCaching??KfQ(g.model);return{model:Th(Q1),messages:ib8(V,K1),system:I,tools:[...J,...Y.extraToolSchemas??[]],tool_choice:Y.toolChoice,...F?{betas:W}:{},metadata:Hg(),max_tokens:T1,thinking:d,...o&&F&&W.includes(dn2)?{context_management:o}:{},...y}},q=[],N=0,L=void 0,O=[],T=CS,P=null,_=!1,h=0,k=void 0,n=void 0;try{let g=_t1(()=>J$({maxRetries:0,model:Y.model,fetchOverride:Y.fetchOverride}),async(c,y,d)=>{H=y,D=Date.now();let e=C(d);return Io0(e,Y.querySource),h=e.max_tokens,c.beta.messages.stream(e,{signal:G})},{model:Y.model,fallbackModel:Y.fallbackModel,maxThinkingTokens:Q,signal:G}),o;do if(o=await g.next(),!(o.value instanceof lp))yield o.value;while(!o.done);z=o.value,q.length=0,N=0,L=void 0,O.length=0,T=CS;try{let c=!0;for await(let d of z){if(c)i("Stream started - received first chunk"),c=!1;switch(d.type){case"message_start":L=d.message,N=Date.now()-D,T=oU1(T,d.message.usage);break;case"content_block_start":switch(d.content_block.type){case"tool_use":O[d.index]={...d.content_block,input:""};break;case"server_tool_use":O[d.index]={...d.content_block,input:""};break;case"text":O[d.index]={...d.content_block,text:""};break;case"thinking":O[d.index]={...d.content_block,thinking:""};break;default:O[d.index]={...d.content_block};break}break;case"content_block_delta":{let e=O[d.index];if(!e)throw Z1("tengu_streaming_error",{error_type:"content_block_not_found_delta",part_type:d.type,part_index:d.index}),RangeError("Content block not found");switch(d.delta.type){case"citations_delta":break;case"input_json_delta":if(e.type!=="tool_use"&&e.type!=="server_tool_use")throw Z1("tengu_streaming_error",{error_type:"content_block_type_mismatch_input_json",expected_type:"tool_use",actual_type:e.type}),Error("Content block is not a input_json block");if(typeof e.input!=="string")throw Z1("tengu_streaming_error",{error_type:"content_block_input_not_string",input_type:typeof e.input}),Error("Content block input is not a string");e.input+=d.delta.partial_json;break;case"text_delta":if(e.type!=="text")throw Z1("tengu_streaming_error",{error_type:"content_block_type_mismatch_text",expected_type:"text",actual_type:e.type}),Error("Content block is not a text block");e.text+=d.delta.text;break;case"signature_delta":if(e.type!=="thinking")throw Z1("tengu_streaming_error",{error_type:"content_block_type_mismatch_thinking_signature",expected_type:"thinking",actual_type:e.type}),Error("Content block is not a thinking block");e.signature=d.delta.signature;break;case"thinking_delta":if(e.type!=="thinking")throw Z1("tengu_streaming_error",{error_type:"content_block_type_mismatch_thinking_delta",expected_type:"thinking",actual_type:e.type}),Error("Content block is not a thinking block");e.thinking+=d.delta.thinking;break}break}case"content_block_stop":{let e=O[d.index];if(!e)throw Z1("tengu_streaming_error",{error_type:"content_block_not_found_stop",part_type:d.type,part_index:d.index}),RangeError("Content block not found");if(!L)throw Z1("tengu_streaming_error",{error_type:"partial_message_not_found",part_type:d.type}),Error("Message not found");let Q1={message:{...L,content:Xo0([e],Z)},requestId:z.request_id??void 0,type:"assistant",uuid:VfQ(),timestamp:new Date().toISOString(),...{}};q.push(Q1),yield Q1;break}case"message_delta":{T=oU1(T,d.usage),P=d.delta.stop_reason;let e=Qa2(d.delta.stop_reason,Y.model);if(e)yield e;if(P==="max_tokens")Z1("tengu_max_tokens_reached",{max_tokens:h}),yield PG({content:${yX}: Claude's response exceeded the ${h} output token maximum. To configure this behavior, set the CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable.});if(P==="model_context_window_exceeded")Z1("tengu_context_window_exceeded",{max_tokens:h,output_tokens:T.output_tokens}),yield PG({content:${yX}: The model has reached its context window limit.});break}case"message_stop":break}yield{type:"stream_event",event:d}}let y=(await z.withResponse()).response;sb8(y),FL0(y.headers),k=y.headers}catch(c){if(c instanceof GY)if(G.aborted)throw i(Streaming aborted by user: ${c instanceof Error?c.message:String(c)}),c;else throw i(Streaming timeout (SDK abort): ${c.message},{level:"error"}),new Sy({message:"Request timed out"});if(i(Error streaming, falling back to non-streaming mode: ${c instanceof Error?c.message:String(c)},{level:"error"}),_=!0,Y.onStreamingFallback)Y.onStreamingFallback();let y=_t1(()=>J$({maxRetries:0,model:Y.model}),async(Q1,T1,K1)=>{H=T1;let j1=C(K1);return Io0(j1,Y.querySource),h=j1.max_tokens,await Q1.beta.messages.create({...j1,model:Th(j1.model),max_tokens:Math.min(j1.max_tokens,ab8),temperature:1})},{model:Y.model,maxThinkingTokens:Q,signal:G}),d;do if(d=await y.next(),d.value.type==="system")yield d.value;while(!d.done);let e={message:{...d.value,content:Xo0(d.value.content,Z)},requestId:z.request_id??void 0,type:"assistant",uuid:VfQ(),timestamp:new Date().toISOString(),...{}};q.push(e),yield e}}catch(g){i(Error in non-streaming fallback: ${g instanceof Error?g.message:String(g)},{level:"error"});let o=g,c=Y.model;if(g instanceof Fd)o=g.originalError,c=g.retryContext.model;if(o instanceof N4)VL0(o);if(IfQ({error:o,model:c,messageCount:V.length,messageTokens:oI(V),durationMs:Date.now()-D,durationMsIncludingRetries:Date.now()-K,attempt:H,requestId:z?.request_id,didFallBackToNonStreaming:_}),o instanceof GY)return;yield zL0(o,c,{messages:A,messagesForAPI:V});return}FfQ({model:q[0]?.message.model??L?.model??Y.model,preNormalizedModel:Y.model,usage:T,start:D,startIncludingRetries:K,attempt:H,messageCount:V.length,messageTokens:oI(V),requestId:z?.request_id??null,stopReason:P,ttftMs:N,didFallBackToNonStreaming:_,querySource:Y.querySource,headers:k})}function oU1(A,B){return{input_tokens:B.input_tokens??A.input_tokens,cache_creation_input_tokens:B.cache_creation_input_tokens??A.cache_creation_input_tokens,cache_read_input_tokens:B.cache_read_input_tokens??A.cache_read_input_tokens,output_tokens:B.output_tokens??A.output_tokens,server_tool_use:{web_search_requests:B.server_tool_use?.web_search_requests??A.server_tool_use.web_search_requests},service_tier:A.service_tier,cache_creation:{ephemeral_1h_input_tokens:B.cache_creation?.ephemeral_1h_input_tokens??A.cache_creation.ephemeral_1h_input_tokens,ephemeral_5m_input_tokens:B.cache_creation?.ephemeral_5m_input_tokens??A.cache_creation.ephemeral_5m_input_tokens}}}function HfQ(A,B){return{input_tokens:A.input_tokens+B.input_tokens,cache_creation_input_tokens:A.cache_creation_input_tokens+B.cache_creation_input_tokens,cache_read_input_tokens:A.cache_read_input_tokens+B.cache_read_input_tokens,output_tokens:A.output_tokens+B.output_tokens,server_tool_use:{web_search_requests:A.server_tool_use.web_search_requests+B.server_tool_use.web_search_requests},service_tier:B.service_tier,cache_creation:{ephemeral_1h_input_tokens:A.cache_creation.ephemeral_1h_input_tokens+B.cache_creation.ephemeral_1h_input_tokens,ephemeral_5m_input_tokens:A.cache_creation.ephemeral_5m_input_tokens+B.cache_creation.ephemeral_5m_input_tokens}}}function ib8(A,B){return Z1("tengu_api_cache_breakpoints",{totalMessageCount:A.length,cachingEnabled:B}),A.map((Q,Z)=>{return Q.type==="user"?pb8(Q,Z>A.length-3,B):lb8(Q,Z>A.length-3,B)})}function nb8(A,B){return Zo0(A).map((Q)=>({type:"text",text:Q,...B?{cache_control:rU1()}:{}}))}async function yW({systemPrompt:A=[],userPrompt:B,assistantPrompt:Q,signal:Z,options:G}){return(await Go0([cA({content:A.map((J)=>({type:"text",text:J}))}),cA({content:B})],async()=>{let J=[cA({content:B}),...Q?[jH({content:Q})]:[]];return[await Dd({messages:J,systemPrompt:A,maxThinkingTokens:0,tools:[],signal:Z,options:{...G,model:XV(),enablePromptCaching:G.enablePromptCaching??!1,async getToolPermissionContext(){return RL()}}})]}))[0]}function ax0(A){if(A.includes("3-5"))return 8192;let B=zE1.validate(process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS);if(B.status==="capped")i(CLAUDE_CODE_MAX_OUTPUT_TOKENS ${B.message});else if(B.status==="invalid")i(CLAUDE_CODE_MAX_OUTPUT_TOKENS ${B.message});return B.effective}function sb8(A){try{let B=A.headers.get("anthropic-ratelimit-unified-fallback-percentage");if(B!==null){let Q=parseFloat(B);if(!isNaN(Q)&&Q>0&&Q<=1){if(E0().fallbackAvailableWarningThreshold!==Q)lA({...E0(),fallbackAvailableWarningThreshold:Q})}}}catch{}}var ab8=21333;var HG=R(async()=>{g70();c70();HB();hD();BL0();dA();V2();cp();CE1();Qw();await W1([zPA(),Kd(),i_(),u2(),A9(),r0(),UB(),pQ(),uw(),oB1(),KA(),ZfQ(),aB1(),d10(),p_1(),SD(),Ka0(),KM(),A9(),pQ(),Ms()])});function ky(A){let B=A.split(
Error: No assistant message found
at Dd (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3356:12905)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3356:21920
at async Go0 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3356:2011)
at async yW (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3356:21776)
at async s9B (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3363:200)
Node.js v24.10.0
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗