• erio's avatar
    fix: include upstream error details in usage API error response · 9117c2a4
    erio authored
    When FetchUsageWithOptions receives a non-200 response from the
    Anthropic API (e.g. 429 Rate Limited, 401 Unauthorized), the error
    was wrapped with fmt.Errorf which infraerrors.FromError cannot
    recognize, causing a generic "internal error" message with no details.
    
    Replace fmt.Errorf with infraerrors.New(500, "UPSTREAM_ERROR", msg)
    so the upstream error details (status code + body) are included in
    the 500 response message. The HTTP status remains 500 to avoid
    interfering with frontend auth routing (e.g. 401 would trigger
    JWT expiry redirect).
    9117c2a4
claude_usage_service.go 3.59 KB