diff --git a/cmd/status.go b/cmd/status.go index 4d1ca70..dea9b37 100644 --- a/cmd/status.go +++ b/cmd/status.go @@ -50,7 +50,15 @@ func runStatus(cmd *cobra.Command, args []string) error { defer resp.Body.Close() if resp.StatusCode < 200 || resp.StatusCode >= 300 { - pterm.Error.Println("Could not reach Kernel API. Check https://status.kernel.sh for updates.") + healthClient := &http.Client{Timeout: 3 * time.Second} + if healthResp, err := healthClient.Get(util.GetBaseURL() + "/health"); err == nil { + healthResp.Body.Close() + if healthResp.StatusCode >= 200 && healthResp.StatusCode < 300 { + pterm.Error.Println("Kernel API is responding but /status is unavailable. Check https://status.kernel.sh for updates.") + return nil + } + } + pterm.Error.Println("Kernel API is down. Check https://status.kernel.sh for updates.") return nil }