diff --git a/coderd/aitasks.go b/coderd/aitasks.go index 967cf361a4..f0adb3b8ea 100644 --- a/coderd/aitasks.go +++ b/coderd/aitasks.go @@ -773,7 +773,7 @@ func (api *API) taskSend(rw http.ResponseWriter, r *http.Request) { } if statusResp.Status != agentapisdk.StatusStable { - return httperror.NewResponseError(http.StatusBadGateway, codersdk.Response{ + return httperror.NewResponseError(http.StatusConflict, codersdk.Response{ Message: "Task app is not ready to accept input.", Detail: fmt.Sprintf("Status: %s", statusResp.Status), }) diff --git a/coderd/aitasks_test.go b/coderd/aitasks_test.go index b16b2345f0..b1f703b912 100644 --- a/coderd/aitasks_test.go +++ b/coderd/aitasks_test.go @@ -789,6 +789,11 @@ func TestTasks(t *testing.T) { }) require.Error(t, err, "wanted error due to bad status") + var sdkErr *codersdk.Error + require.ErrorAs(t, err, &sdkErr) + require.Equal(t, http.StatusConflict, sdkErr.StatusCode()) + require.Contains(t, sdkErr.Message, "not ready to accept input") + statusResponse = agentapisdk.StatusStable //nolint:tparallel // Not intended to run in parallel.