Fable 5在Bedrock上报data retention mode错误,根源是账户级数据保留策略限制而非客户端配置问题,提供两步API修复方案并同时解锁所有通过Bedrock调用的应用。
Claude Fable 5 在 Amazon Bedrock 上报出 400 错误,在处理任何 token 之前就失败了:"data retention mode 'default' is not available for this model"。这不是你代码的 bug,也没有任何客户端配置能解决它。这是账户级别的数据保留策略,搞清楚你在同意什么之后,两次 API 调用就能改掉。

你把编码 Agent 切换到 Amazon Bedrock 上的 Claude Fable 5,结果得到这个:
API Error: 400 data retention mode 'default' is not available for this model
这影响所有通过 Bedrock 路由的客户端,不只是直接 API 调用。如果你用 Amazon Bedrock 运行 Claude Code(CLAUDE_CODE_USE_BEDROCK=1),用 /model 选 Fable 5 会恰好报这个错误,settings.json 和任何环境变量都解决不了。同样的问题也适用于 SDK 调用、Agent 框架以及任何向 Bedrock 账户认证的东西:策略活在账户层面,所以下面描述的修复方法会同时解锁所有这些场景。
Claude Fable 5(和 Claude Mythos 5)是 Covered Model:需要保留 prompt 和 completion 最多 30 天用于信任与安全目的。这些模型不支持零数据保留。
Amazon Bedrock 通过数据保留模式而不是开关来应用这个策略:
有效模式按级联方式解析:
有效模式 =(项目 → 账户 → 模型默认值)中第一个非 inherit 的值
每个模型通过 allowed_modes 声明接受哪些模式。Fable 5 只接受 ["provider_data_share"]。新账户处于 inherit 状态,对于 Fable 5 会解析为 default,所以 Bedrock 会阻止请求。你始终控制自己的保留策略:Bedrock 永远不会将你的数据共享给模型提供商,除非你明确选择加入。
向 Bedrock 查询你的账户中模型的状态。示例使用 Bedrock API key;用 SigV4 签名的请求同样有效。
curl https://bedrock-mantle.us-east-1.api.aws/v1/models/anthropic.claude-fable-5 \
-H "x-api-key: $BEDROCK_API_KEY"
如果是保留问题,响应会明确说明:
{
"id": "anthropic.claude-fable-5",
"status": "unavailable",
"status_reason": "This model is not available under data retention mode 'default'.",
"data_retention": {
"mode": "default",
"source": "model_default",
"allowed_modes": ["provider_data_share"]
}
}
为什么这很重要:"source": "model_default" 告诉你还不存在任何账户或项目级别的覆盖。这就是修复方法要改变的东西。
设置 provider_data_share 意味着你的 prompt 和 completion 会与模型提供商共享,并保留最多 30 天用于信任与安全目的。适用于整个账户,或者如果你限制在某个项目,则适用于整个项目。
两个重要细节:
只改变需要它的模型的行为。allowed_modes 包含 default 的模型(如 Claude Opus 4.8)即使设置了 provider_data_share,数据仍然只保留在 AWS 内部。
如果你的组织因合规要求必须零数据保留,就不要设置这个。联系你的 AWS account manager;这些模型的 ZDR 访问是按账户、按模型评估的。
你也可以用 Service Control Policy 通过条件 key bedrock:DataRetentionMode 在组织级别强制执行保留策略,防止有人意外更改。AWS 文档中有确切的策略。
这是耗费我时间的地方。Bedrock 在两个平面暴露配置,在我的账户中我需要同时设置两个才能让模型可用:
# 1. Bedrock 控制平面
curl -X PUT https://bedrock.us-east-1.amazonaws.com/data-retention \
-H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \
-H "Content-Type: application/json" \
-d '{ "mode": "provider_data_share" }'
# 2. Bedrock 模型推理平面
curl -X PUT https://bedrock-mantle.us-east-1.api.aws/v1/data_retention \
-H "x-api-key: $BEDROCK_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "mode": "provider_data_share" }'
只设置第一个之后,模型仍然报告 "source": "model_default" 并保持不可用。第二个调用之后,变成了 "source": "account"。
发布时没有控制台 UI。只有 API 或 SDK。
如果你的 token 返回
not authorized to perform: bedrock:PutAccountDataRetention,你的身份需要这个 IAM 操作。用最小范围创建的 Bedrock API key 不会包含它。
curl https://bedrock-mantle.us-east-1.api.aws/v1/models/anthropic.claude-fable-5 \
-H "x-api-key: $BEDROCK_API_KEY"
{
"id": "anthropic.claude-fable-5",
"status": "available",
"data_retention": {
"mode": "provider_data_share",
"source": "account",
"allowed_modes": ["provider_data_share"]
}
}
回到你的客户端,选择模型,400 错误就消失了。客户端侧不需要任何配置更改。在 Bedrock 上运行 Claude Code,执行 /model 并选择 Fable 5;同一个账户级别的更改覆盖所有场景。
在勾选之前先核实价格。Fable 5 按 token 计费是 Opus 4.8 的两倍:
撰写本文时 Anthropic 模型目录的价格;Bedrock 的价格因地区而异。在承诺工作负载之前始终在 Amazon Bedrock 价格页面确认。
Fable 5 的两个具体成本细节:
思考始终开启,并作为 output token 计费。你无法关闭它,只能通过 effort 参数调整深度。
单个请求持续时间更长。一个困难的任务可能在一次请求中合法消耗数分钟和大量 token 预算。按任务而不是按请求做预算。
只有当任务真正需要额外能力时,双倍付费才有意义。
✅ 长期自主工作:夜间代码运行、需要完成而不需要人工纠正的数小时 Agent 任务
✅ 你最难解决的未解问题:复杂迁移、深度研究、首次实现精心指定的系统
✅ 需要持续一致性的长时间运行子 Agent 的多 Agent 编排
这些情况用更便宜的模型:
❌ 交互式编码和日常 Agent 工作:Opus 4.8 以一半的价格处理这些
❌ 高容量生产工作负载:Sonnet 4.6 的 $3/$15 是主力 tier
❌ 分类、提取、路由简单工具调用:Haiku 4.5 的 $1/$5
❌ 你的数据不能离开 AWS:Fable 5 要求与提供商共享数据,所以无论预算如何这都是否定的
一个实用的模式:把你的默认模型保持在 Opus 4.8 或 Sonnet 4.6,按任务需要才用 Fable 5,就像只有工作需要时才用更大的实例类型一样。
在两个端点把模式设回去:
curl -X PUT https://bedrock.us-east-1.amazonaws.com/data-retention \
-H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \
-H "Content-Type: application/json" \
-d '{ "mode": "none" }'
用 "none" 保证零数据保留,或用 "inherit" 委托给模型的默认值。Fable 5 再次变为不可用——如果你的数据不能离开 AWS,这是正确的权衡。
400 错误是服务器端的账户策略,不是客户端配置问题。没有任何客户端配置能解决它,包括在 Bedrock 上运行时的 Claude Code 配置。
Fable 5 需要 provider_data_share。通过 GET /v1/models/{model} 核实任何模型的要求并阅读 allowed_modes。
在两个平面设置保留模式:控制平面和模型推理平面。只设一个不够。
在选择加入之前了解权衡:prompt 和 completion 与提供商共享,保留最多 30 天,适用于账户级别。
先核实价格。$10/$50 每百万 token,Fable 5 是为你最困难的长期工作准备的,不是你的默认模型。
Amazon Bedrock: 数据保留
Amazon Bedrock: 滥用检测
Amazon Bedrock: 定价
Anthropic: API 和数据保留
Claude Code: Amazon Bedrock 配置
Claude Code: 零数据保留
Elizabeth Fuentes L