DEV Community

Elizabeth Fuentes L for AWS Español

Posted on

Cómo Solucionar el Error de Retención de Datos de Claude Fable 5 en Amazon Bedrock

Claude Fable 5 falla en Amazon Bedrock con un error 400 antes de procesar un solo token: "data retention mode 'default' is not available for this model". No es un bug en tu código, y ninguna configuración del cliente lo soluciona. Es una política de retención de datos a nivel de cuenta, y puedes cambiarla con dos llamadas a la API, una vez que entiendas en qué estás de acuerdo.

Cambias tu agente de código a Claude Fable 5 en Amazon Bedrock y obtienes esto:

API Error: 400 data retention mode 'default' is not available for this model
Enter fullscreen mode Exit fullscreen mode

Esto afecta a cualquier cliente que enrute a través de Bedrock, no solo las llamadas directas a la API. Si usas Claude Code con Amazon Bedrock (CLAUDE_CODE_USE_BEDROCK=1), seleccionar Fable 5 con /model falla con exactamente este error, y nada en settings.json ni ninguna variable de entorno lo soluciona. Lo mismo aplica a llamadas al SDK, frameworks de agentes y cualquier otra cosa que se autentique contra tu cuenta de Bedrock: la política vive en la cuenta, así que el fix que se describe a continuación desbloquea todos a la vez.

Qué aprenderás:

  • Por qué Fable 5 está bloqueado por defecto en cada cuenta de Bedrock, y cómo funciona la cascada del modo de retención de datos
  • Cómo diagnosticarlo con una llamada a la API de solo lectura
  • El fix: dos llamadas PUT (y por qué una no es suficiente)
  • El trade-off de privacidad que aceptas al optar por entrar
  • El precio, y cuándo Fable 5 vale el doble del costo de Opus 4.8 (y cuándo no)

¿Por qué Bedrock bloquea Claude Fable 5 por defecto?

Claude Fable 5 (y Claude Mythos 5) son Covered Models: requieren que los prompts y completions se retengan hasta 30 días para confianza y seguridad. La retención cero de datos no está disponible para ellos.

Amazon Bedrock aplica esto con un modo de retención de datos, no un toggle de encendido/apagado:

Modo Qué significa
inherit Sin opinión en este alcance, delegar a un alcance más amplio (defecto para cuentas nuevas)
default Se aplica la política del propio modelo; AWS puede retener datos para detección de abuso, el proveedor no los recibe
none Cero retención de datos
provider_data_share Los datos son retenidos y compartidos con el proveedor del modelo según sus requisitos. Requerido por Fable 5

El modo efectivo se resuelve en cascada:

modo efectivo = primer valor no-inherit de (proyecto → cuenta → defecto del modelo)
Enter fullscreen mode Exit fullscreen mode

Cada modelo declara qué modos acepta a través de allowed_modes. Fable 5 solo acepta ["provider_data_share"]. Una cuenta nueva está en inherit, que se resuelve a default para Fable 5, por lo que Bedrock bloquea la solicitud. Siempre controlas tu política de retención: Bedrock nunca compartirá tus datos con un proveedor de modelos a menos que explícitamente optes por entrar.

Paso 1: Confirma el diagnóstico (solo lectura)

Pide a Bedrock el estado del modelo en tu cuenta. Los ejemplos usan una Bedrock API key; las solicitudes firmadas con SigV4 también funcionan.

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

Si la retención es el problema, la respuesta lo dice explícitamente:

{
  "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"]
  }
}
Enter fullscreen mode Exit fullscreen mode

Por qué importa esto: "source": "model_default" te dice que aún no existe ningún override de cuenta o proyecto. Eso es exactamente lo que el fix cambia.

Paso 2: Entiende en qué estás optando

Establecer provider_data_share significa que tus prompts y completions son compartidos con el proveedor del modelo y retenidos hasta 30 días para propósitos de confianza y seguridad. Aplica a toda la cuenta, o a todo el proyecto si lo limitas a un proyecto.

Dos detalles que importan:

  • Solo cambia el comportamiento para modelos que lo requieren. Los modelos cuyo allowed_modes incluye default (como Claude Opus 4.8) siguen reteniendo datos solo dentro de AWS, incluso con provider_data_share establecido.
  • Si tu organización requiere cero retención de datos por cumplimiento, no establezas esto. Contacta a tu account manager de AWS; el acceso ZDR a estos modelos se evalúa por cuenta, por modelo.

También puedes hacer cumplir una política de retención a nivel de organización con una Service Control Policy usando la condition key bedrock:DataRetentionMode, para que nadie lo cambie por accidente. La documentación de AWS incluye la política exacta.

Paso 3: Aplica el fix (dos endpoints, no uno)

Esta es la parte que me costó tiempo. Bedrock expone la configuración en dos planos, y en mi cuenta tuve que establecer ambos antes de que el modelo estuviera disponible:

# 1. Plano de control de 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. Plano de inferencia del modelo de 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" }'
Enter fullscreen mode Exit fullscreen mode

Después de establecer solo el primero, el modelo seguía reportando "source": "model_default" y permanecía no disponible. Después de la segunda llamada, cambió a "source": "account".

No hay UI de consola para esto al momento del lanzamiento. Solo API o SDK.

💡 Si tu token devuelve not authorized to perform: bedrock:PutAccountDataRetention, tu identidad necesita esa acción IAM. Las API keys de Bedrock creadas con alcance mínimo no la tendrán.

Paso 4: Verifica

curl https://bedrock-mantle.us-east-1.api.aws/v1/models/anthropic.claude-fable-5 \
  -H "x-api-key: $BEDROCK_API_KEY"
Enter fullscreen mode Exit fullscreen mode
{
  "id": "anthropic.claude-fable-5",
  "status": "available",
  "data_retention": {
    "mode": "provider_data_share",
    "source": "account",
    "allowed_modes": ["provider_data_share"]
  }
}
Enter fullscreen mode Exit fullscreen mode

De vuelta en tu cliente, selecciona el modelo y el error 400 desaparece. No se necesitan cambios en la configuración del lado del cliente. En Claude Code en Bedrock, ejecuta /model y elige Fable 5; el mismo cambio a nivel de cuenta lo cubre.

¿Cuánto cuesta Claude Fable 5?

Verifica el precio antes de marcar la casilla. Fable 5 cuesta el doble que Opus 4.8 por token:

Modelo Input $/1M tokens Output $/1M tokens
Claude Fable 5 $10.00 $50.00
Claude Opus 4.8 $5.00 $25.00
Claude Sonnet 4.6 $3.00 $15.00
Claude Haiku 4.5 $1.00 $5.00

Precios del catálogo de modelos de Anthropic al momento de escribir esto; los precios de Bedrock pueden variar por región. Siempre confirma en la página de precios de Amazon Bedrock antes de comprometer una carga de trabajo.

Dos detalles de costo específicos de Fable 5:

  • El pensamiento siempre está activo y se factura como tokens de output. No puedes desactivarlo, solo ajustar la profundidad con el parámetro de esfuerzo.
  • Los turnos individuales duran más. Una tarea difícil puede consumir legítimamente minutos y un presupuesto de tokens grande en una sola solicitud. Presupuesta por tarea, no por solicitud.

Cuándo usar Fable 5 (y cuándo no)

Pagar el doble solo tiene sentido cuando la tarea realmente necesita la capacidad extra.

Usa Fable 5 cuando:

  • ✅ Trabajo autónomo de largo horizonte: corridas de código durante la noche, tareas agénticas de varias horas que deben completarse sin corrección humana
  • ✅ Tus problemas más difíciles sin resolver: migraciones complejas, investigación profunda, implementaciones de primera vez de sistemas bien especificados
  • ✅ Orquestación multi-agente con subagentes de larga duración que necesitan coherencia sostenida

Quédate en un modelo más barato cuando:

  • ❌ Código interactivo y trabajo diario de agentes: Opus 4.8 maneja esto a la mitad del precio
  • ❌ Cargas de trabajo de producción de alto volumen: Sonnet 4.6 a $3/$15 es el tier de caballo de batalla
  • ❌ Clasificación, extracción, enrutamiento, llamadas simples a herramientas: Haiku 4.5 a $1/$5
  • ❌ Tus datos no pueden salir de AWS: Fable 5 requiere compartir datos con el proveedor, así que esto es un no rotundo independientemente del presupuesto

Un patrón práctico: mantén tu modelo predeterminado en Opus 4.8 o Sonnet 4.6 y alcanza Fable 5 por tarea, de la misma manera que alcanzarías un tipo de instancia más grande solo cuando el trabajo lo necesita.

¿Cómo revierto el cambio?

Establece el modo de vuelta en ambos endpoints:

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" }'
Enter fullscreen mode Exit fullscreen mode

Usa "none" para cero retención de datos garantizada o "inherit" para delegar a los defaults del modelo. Fable 5 vuelve a no estar disponible, que es el trade-off correcto si tus datos no deben salir de AWS.

Conclusiones clave

  1. El error 400 es una política de cuenta del lado del servidor, no un problema de configuración del cliente. Ninguna configuración del cliente lo soluciona, incluyendo la configuración de Claude Code cuando corre en Bedrock.
  2. Fable 5 requiere provider_data_share. Verifica los requisitos de cualquier modelo a través de GET /v1/models/{model} y lee allowed_modes.
  3. Establece el modo de retención en ambos planos: el plano de control y el plano de inferencia del modelo. Uno solo no es suficiente.
  4. Conoce el trade-off antes de optar por entrar: prompts y completions compartidos con el proveedor, retenidos hasta 30 días, a nivel de cuenta.
  5. Verifica el precio primero. A $10/$50 por millón de tokens, Fable 5 es para tu trabajo de largo horizonte más difícil, no tu modelo predeterminado.

Referencias


Gracias!

🇻🇪🇨🇱 Dev.to Linkedin GitHub Twitter Instagram Youtube

Top comments (0)