Fable-5 via AWS Bedrock - data retention mode not available

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Using AWS Bedrock, I am unable to use Fable 5 via global or us endpoints. I have enabled “Share Data=enabled” and also allowed Fable 5 data sharing (although that setting disappears once I have “Share Data” enabled. Even still, I am unable to access the Bedrock supplied Fable 5 endpoints (global/US) using AWS credentials that I know are good to go.

We encountered an issue when using your API key: Provider was unable to process your request

API Error:

The model returned the following errors: data retention mode ‘default’ is not available for this model

Steps to Reproduce

Try to use Fable-5 using endpoints via AWS Bedrock (with “Share Data” enabled):

  1. “us.anthropic.claude-fable-5”
  2. “global.anthropic.claude-fable-5”

^neither work and both give the same error message:

Request ID: f883984d-9a3d-4b9c-bf2d-974ae0a2f2ef
{“error”:“ERROR_OPENAI”,“details”:{“title”:“Unable to reach the model provider”,“detail”:“We encountered an issue when using your API key: Provider was unable to process your request\n\nAPI Error:\n\n\nThe model returned the following errors: data retention mode 'default' is not available for this model\n”,“additionalInfo”:{},“buttons”:,“planChoices”:},“isExpected”:true}
[invalid_argument] Error
RetriableError: [invalid_argument] Error
at mAf (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9278:6675)
at zYi (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9278:5410)
at mTp (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9279:11972)
at Object.classify (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9279:16501)
at vAf (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9279:5856)
at async lYo.runWithSharedTurnRunner (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9279:15853)
at async YH.runAgentLoop (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:15854:72761)
at async q1a.streamFromAgentBackend (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:15882:14489)
at async q1a.getAgentStreamResponse (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:15882:24576)
at async eDe.submitChatMaybeAbortCurrent (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9452:2491)

Expected Behavior

Fable-5 should work via AWS Bedrock. I suspect Cursor is injecting an incorrect “data retention” prompt/setting when sending requests to Fable-4. ie: “default” should NOT be used.

Operating System

MacOS
Linux

Version Information

Version: 3.12.17
VS Code Extension API: 1.128.0
Commit: 0fb762053c34788bb7760d5673f8a6d4c8589d50
Date: 2026-07-17T02:53:53.006Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.256
OS: Darwin arm64 25.5.0

For AI issues: which model did you use?

Fable-5

For AI issues: add Request ID with privacy disabled

Request ID: f883984d-9a3d-4b9c-bf2d-974ae0a2f2ef

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey @mjnowen

This is something that has to be sorted on the Bedrock side before you can use Fable 5 via Bedrock in Cursor.

Sorry, I forgot to say earlier, this has already been done. Just to confirm, I added access again, and its still not working. See API call and response below that confirms the data-retention has been set correctly.

curl ``https://bedrock-mantle.us-east-1.api.aws/v1/models/anthropic.claude-fable-5`` -H "x-api-key: $BEDROCK_API_KEY"

{"created":1780272000,"data_retention":{"allowed_modes":["provider_data_share"],"mode":"provider_data_share","source":"account"},"id":"anthropic.claude-fable-5","object":"model","owned_by":"system","status":"available"}

Thanks for clarifying!

We have quite a lot of customers successfully using Fable via Bedrock, so I don’t think we’re hardcoding anything into the request. Cursor doesn’t set any retention mode at all, it just passes the request through with your credentials and AWS resolves the mode from the account and region they belong to. The error means Bedrock resolved default for the credentials Cursor is sending, so something isn’t lining up with where you set provider_data_share.

Two things to check:

  • Your curl used a Bedrock API key, but Cursor uses the access key/secret from your settings — and those may not belong to the same AWS account. Run aws sts get-caller-identity with the exact keys you have in Cursor and make sure the account ID matches the account where you set the retention mode.
  • Retention mode is evaluated in the source region, i.e. the region configured in Cursor. Your curl only proves us-east-1 is set up. If Cursor is set to another region, check that one:
curl https://bedrock-mantle.<your-cursor-region>.api.aws/v1/models/global.anthropic.claude-fable-5 -H "x-api-key: $BEDROCK_API_KEY"

If that comes back unavailable, set provider_data_share in that region too and you should be good.

My AWS credentials have been confirmed as good and validated as the exact ones that I am using in Cursor. My Cursor AWS region is set to “us-east-1”. Everything is configured to hit “us-east-1” endpoints only via AWS Bedrock. I am not using any Bedrock generated short/long-term access key. I am using my AWS credentials, pinned from my IAM user and confirmed as the same by “aws sts get-caller-identity”. Interestingly, when I enable API keys → AWS Bedrock → credentials, and then hit the “refresh” button on the model list. Bedrock returns all the Anthropic endpoints but not Fable-5. My Bedrock retention mode in us-east-1 is set to “share with provider” and not set to “default”.

It might be worth taking Cursor out of the equation entirely.

Cursor just calls Bedrock’s Converse API with the access key/secret from your settings. There’s no retention setting in the request at all, that’s not something a request can even contain, AWS decides it from your account config. So if the same call fails without Cursor, we know where the problem lives.

You can make that exact call yourself with the AWS CLI. With the exact keys from your Cursor settings:

export AWS_ACCESS_KEY_ID=<key from Cursor settings>
export AWS_SECRET_ACCESS_KEY=<secret from Cursor settings>
unset AWS_PROFILE AWS_SESSION_TOKEN

First try Opus 4.8 — it has no data retention requirement, so this just proves the keys and region are good:

aws bedrock-runtime converse \\
  --region us-east-1 \\
  --model-id us.anthropic.claude-opus-4-8 \\
  --messages '\[{"role":"user","content":\[{"text":"hi"}\]}\]'

Then the exact same thing with Fable:

aws bedrock-runtime converse \\
  --region us-east-1 \\
  --model-id us.anthropic.claude-fable-5 \\
  --messages '\[{"role":"user","content":\[{"text":"hi"}\]}\]'

If Opus answers and Fable throws the same retention error, it’s a Bedrock config issue on the AWS side! Let us know!

@Colin

I tried what you suggested, but I’m still seeing the same behavior when I select Fable 5, it immediately switches over to Grok instead of using Fable raise the below error

Request ID: 211a506d-39fa-41fa-9c59-02b87c7799c1
{"error":"ERROR_BAD_REQUEST","details":{"title":"Bad Request","detail":"This model does not support custom API keys.","isRetryable":false,"additionalInfo":{},"buttons":,"planChoices":,"analyticsMetadata":{"actionRequired":"config"}},"isExpected":true}
Bad Request This model does not support custom API keys.
ActionRequiredError: Bad Request This model does not support custom API keys.
at kcb (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9450:6448)
at QAr (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9450:5416)
at TRm (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9451:12006)
at Object.classify (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9451:16538)
at Tcb (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9451:5856)
at async TOa.runWithSharedTurnRunner (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9451:15890)
at async Pq.runAgentLoop (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:12149:23004)
at async s1l.streamFromAgentBackend (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:18421:15093)
at async s1l.getAgentStreamResponse (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:18421:24917)
at async N5e.submitChatMaybeAbortCurrent (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9615:2492)

Thanks for your patience on this issue Colin. The root issue was indeed at the AWS account level on my side, which I have now resolved and Fable-5 via Cursor is now working well. I do have to enter it as a custom model though, so it would be nice to have it auto retrieved/listed in the future (Sonnet-5 is listed, just not Fable-5 for some reason).

@Sai_Tharun Please start a new thread.

@mjnowen Glad you were able to solve it!

Getting fixed in a future client version (PR already merged).