diff --git a/src/shared/model-error-classifier.test.ts b/src/shared/model-error-classifier.test.ts index c4989d199..c7f41ef4e 100644 --- a/src/shared/model-error-classifier.test.ts +++ b/src/shared/model-error-classifier.test.ts @@ -248,6 +248,28 @@ describe("model-error-classifier", () => { //#then expect(result).toBe(true) }) + + test("does not treat unrelated forbidden messages as retryable", () => { + //#given + const error = { message: "EACCES: forbidden write to /etc/hosts" } + + //#when + const result = shouldRetryError(error) + + //#then + expect(result).toBe(false) + }) + + test("does not treat unrelated 403 messages as retryable", () => { + //#given + const error = { message: "Tool returned HTTP 403 for the requested URL" } + + //#when + const result = shouldRetryError(error) + + //#then + expect(result).toBe(false) + }) }) export {} diff --git a/src/shared/model-error-classifier.ts b/src/shared/model-error-classifier.ts index 611a71aac..2c74d0831 100644 --- a/src/shared/model-error-classifier.ts +++ b/src/shared/model-error-classifier.ts @@ -72,8 +72,8 @@ const RETRYABLE_MESSAGE_PATTERNS = [ "504", "429", "529", - "403", - "forbidden", + "selected provider is forbidden", + "provider is forbidden", ] /**