From 88bdd25f06b773763a48f9f83f358d84eea57846 Mon Sep 17 00:00:00 2001 From: hkfires <10558748+hkfires@users.noreply.github.com> Date: Thu, 11 Dec 2025 20:12:06 +0800 Subject: [PATCH] fix(amp): set status on claude stream errors --- sdk/api/handlers/claude/code_handlers.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sdk/api/handlers/claude/code_handlers.go b/sdk/api/handlers/claude/code_handlers.go index 63ea6065..8a57a0cc 100644 --- a/sdk/api/handlers/claude/code_handlers.go +++ b/sdk/api/handlers/claude/code_handlers.go @@ -271,6 +271,11 @@ func (h *ClaudeCodeAPIHandler) forwardClaudeStream(c *gin.Context, flusher http. continue } if errMsg != nil { + status := http.StatusInternalServerError + if errMsg.StatusCode > 0 { + status = errMsg.StatusCode + } + c.Status(status) // An error occurred: emit as a proper SSE error event errorBytes, _ := json.Marshal(h.toClaudeError(errMsg)) _, _ = writer.WriteString("event: error\n") @@ -278,6 +283,7 @@ func (h *ClaudeCodeAPIHandler) forwardClaudeStream(c *gin.Context, flusher http. _, _ = writer.Write(errorBytes) _, _ = writer.WriteString("\n\n") _ = writer.Flush() + flusher.Flush() } var execErr error if errMsg != nil {