{"version":"2.1.242","anchor":"api-requests-that-never-send-response-headers-are-now-aborte","canonical_anchor":"api-requests-that-never-send-response-headers-are-now-aborte","heading":"API requests that never send response headers are now aborted","tier":"use","area":"Internals","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242\/e\/api-requests-that-never-send-response-headers-are-now-aborte","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242","markdown":"### API requests that never send response headers are now aborted\n\nHung requests are aborted when headers never arrive, and you can tune the window.\n\n**What**\n\nStreaming requests, and Bedrock POSTs to the invoke path, are now wrapped in a watchdog that aborts if the first response headers never arrive. The budget is computed from the request body size and `API_TIMEOUT_MS`, and `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` overrides it. Time the machine spent asleep is measured and reported separately, so a laptop that suspended mid-request is not mistaken for a hung server.\n\n**Details**\n\n- Applies to armed requests only; other calls keep their existing timeout behaviour.\n- Aborts are reported under the `tengu_api_no_response_timeout` event with the sleep-adjusted duration.\n\n**Evidence**\n\n`tengu_api_no_response_timeout`\n\n- Area: Internals\n- Names: `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`, `API_TIMEOUT_MS`\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 3\/5"}