---
title: Referencia de configuración
url: https://platform.claude.com/docs/es/managed-agents/self-hosted/configuration-reference
description: Consulta dónde van las configuraciones de un servidor autoalojado de Claude Managed Agents, y busca la clave, la variable de entorno, el valor predeterminado y el propósito de cada configuración.
---

<Note>
  Para solicitar acceso a Claude Managed Agents autoalojado, ponte en contacto con el equipo de tu cuenta de Anthropic.
</Note>

Esta página muestra dónde van las configuraciones de un servidor autoalojado de Claude Managed Agents y las enumera. Para configurar una función, consulta [Inicio de sesión único](https://platform.claude.com/docs/es/managed-agents/self-hosted/configure), [Identidad y credenciales del agente](https://platform.claude.com/docs/es/managed-agents/self-hosted/agent-identity) y [Proveedor de inferencia](https://platform.claude.com/docs/es/managed-agents/self-hosted/inference-provider).

## Dónde van los ajustes

El servidor lee sus configuraciones de un único archivo YAML, y sus credenciales de su entorno.

* **Docker Compose:** El archivo es `compose.config.yaml`, junto a `docker-compose.yml` en el archivo comprimido extraído. Edítalo y luego ejecuta `docker compose restart cma-server` desde ese directorio.
* **Kubernetes:** El archivo es el valor `server.config` del chart de Helm del servidor. Edítalo en tu archivo de valores, ejecuta `helm upgrade` y luego reinicia los servidores con `kubectl -n cma-server rollout restart deployment -l anthropic.com/role=server`. Consulta [Implementar en Kubernetes](https://platform.claude.com/docs/es/managed-agents/self-hosted/kubernetes).

Si el servidor rechaza una configuración que muestran las páginas de autoalojamiento, [actualiza el servidor](https://platform.claude.com/docs/es/managed-agents/self-hosted/upgrade). `cma-server.example.yaml`, en la parte superior del archivo comprimido, anota las claves comunes.

Las credenciales nunca van en el archivo. El servidor las lee de variables de entorno, o de la identidad que tu nube asocia al host.

### Pasar una credencial al stack de Compose

En el stack de Compose, el contenedor del servidor recibe solo las variables de la lista `environment:` del servicio `cma-server` en `docker-compose.yml`. Para pasar otra:

1. Agrega su nombre a esa lista y establece su valor en `.env`.
2. Si la credencial es un archivo, coloca el archivo junto a `docker-compose.yml` y agrega una línea como `- ./gcp-key.json:/etc/cma-server/gcp-key.json:ro` a la lista `x-server-mounts` en `docker-compose.yml`. La ruta después de los primeros dos puntos es la ruta del archivo dentro del contenedor. Usa esa ruta como valor de la variable en `.env`, o como valor de la configuración que indica el archivo.
3. Ejecuta `docker compose up -d`. Un reinicio no vuelve a leer `.env`.

Una actualización reemplaza `docker-compose.yml`, así que repite estas ediciones en el archivo de la nueva versión antes de iniciar su stack.

## Cómo leer las tablas

Cada configuración tiene una clave en el [archivo de configuración](https://platform.claude.com/docs/es/managed-agents/self-hosted/configuration-reference#where-settings-go), y la mayoría de las configuraciones también tienen una variable de entorno. Una variable prevalece sobre el archivo, y el archivo prevalece sobre el valor predeterminado. El servidor no se inicia si su archivo de configuración tiene una clave desconocida, y el error indica dónde está la clave.

* **Claves:** Cada punto en una clave es un nivel de anidamiento en el archivo. Por ejemplo, `server.addr` es la clave `addr` en la sección `server`.
* **Variables:** El nombre de una variable es `CMA_` seguido de la clave en mayúsculas, con dos guiones bajos en lugar de cada punto.
* **Solo archivo:** La configuración no tiene variable.
* **Solo entorno:** El servidor no se inicia si la configuración está en el archivo.
* **Solo `bedrock` y etiquetas similares:** La configuración funciona solo con ese proveedor, almacén o gestor de secretos. Si la estableces mientras usas uno diferente, el servidor no se inicia.
* **Listas:** Una lista es una lista YAML en el archivo, y una cadena separada por comas en una variable.
* **Duraciones:** Una duración es un número con una unidad, como `30s`, `5m` o `1h`.
* **Enteros:** Un entero se compone solo de dígitos, sin signo, cero inicial ni guion bajo.

Al iniciarse, el servidor registra las configuraciones que estableces y la mayoría de los valores predeterminados, cada uno con el origen de su valor, como `server.addr=0.0.0.0:8400 (file)`. Registra `***` en lugar de un secreto, excepto una clave de API del servidor que haya generado él mismo.

## Servidor y registro

| Configuración<br />Variable de entorno                                            | Valor predeterminado | Descripción                                                                                                                                                                                                                                                                                                                                                                |
| --------------------------------------------------------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `server.addr`<br />`CMA_SERVER__ADDR`                                             | `127.0.0.1:8400`     | La dirección en la que escucha el servidor.                                                                                                                                                                                                                                                                                                                                |
| `server.api_key`<br />`CMA_SERVER__API_KEY`                                       | Ninguno              | La [clave de API del servidor](https://platform.claude.com/docs/es/managed-agents/self-hosted#the-three-credentials). Obligatoria con `store.backend: postgres`, a menos que `auth.refuse_server_api_key` sea `true`. Con `memory`, el servidor genera una clave si no estableces ninguna, y la registra al iniciarse.                                                     |
| `server.id_marker`<br />`CMA_SERVER__ID_MARKER`                                   | `local`              | Lo que sigue al prefijo en cada ID que crea el servidor. `local` produce `sesn_local_01…`, y `none` produce `sesn_01…`, como en el servicio alojado.                                                                                                                                                                                                                       |
| `server.shutdown_delay`<br />`CMA_SERVER__SHUTDOWN_DELAY`                         | `0s`                 | Cuánto tiempo sigue atendiendo el servidor después de una señal de detención, mientras su sonda de disponibilidad responde `not_ready`. El máximo es `5m`.                                                                                                                                                                                                                 |
| `server.max_connections`<br />`CMA_SERVER__MAX_CONNECTIONS`                       | `0`                  | El máximo de conexiones que el servidor mantiene abiertas a la vez en `server.addr`. `0` significa sin límite. Al alcanzar el límite, una nueva conexión espera hasta que otra se cierre o su cliente desista. Los flujos de eventos, los sondeos de los workers y las sondas de estado cuentan. En Kubernetes, el kubelet reinicia un pod cuyas sondas esperan demasiado. |
| `logging.format`<br />`CMA_LOGGING__FORMAT`                                       | `text`               | El formato del registro, `text` o `json`.                                                                                                                                                                                                                                                                                                                                  |
| `logging.level`<br />`CMA_LOGGING__LEVEL`                                         | `info`               | El nivel más bajo que registra el servidor. Los valores son `debug`, `info`, `warn` y `error`.                                                                                                                                                                                                                                                                             |
| `logging.errors`<br />`CMA_LOGGING__ERRORS`                                       | `false`              | Si el registro incluye los mensajes de error de las respuestas `4xx` y `5xx`. Un mensaje puede citar un valor que envió el cliente.                                                                                                                                                                                                                                        |
| `health.check_interval`<br />`CMA_HEALTH__CHECK_INTERVAL`                         | `60s`                | Con qué frecuencia el servidor comprueba su credencial de inferencia para la sonda de disponibilidad. El mínimo es `5s`.                                                                                                                                                                                                                                                   |
| `health.upstream_affects_readiness`<br />`CMA_HEALTH__UPSTREAM_AFFECTS_READINESS` | `true`               | Si la sonda de disponibilidad responde `503` mientras el proveedor de inferencia rechaza la credencial del servidor.                                                                                                                                                                                                                                                       |

## Base de datos

Todas las configuraciones de esta tabla excepto `store.backend` se aplican solo con `store.backend: postgres`.

| Configuración<br />Variable de entorno                                                                                | Valor predeterminado             | Descripción                                                                                                                                                                                                                                                                             |
| --------------------------------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `store.backend`<br />`CMA_STORE__BACKEND`                                                                             | `memory`                         | Dónde guarda el servidor sus datos. Los valores son `memory`, que se borra con un reinicio, y `postgres`.                                                                                                                                                                               |
| `store.database_url`<br />`CMA_STORE__DATABASE_URL`                                                                   | Ninguno                          | La cadena de conexión de PostgreSQL. Obligatoria con `postgres`.                                                                                                                                                                                                                        |
| `store.control_database_url`<br />`CMA_STORE__CONTROL_DATABASE_URL`                                                   | El valor de `store.database_url` | La cadena de conexión para las conexiones de mantenimiento propias del servidor, como su latido.                                                                                                                                                                                        |
| `store.listen_database_url`<br />`CMA_STORE__LISTEN_DATABASE_URL`                                                     | El valor de `store.database_url` | La cadena de conexión para la única conexión en la que el servidor escucha notificaciones. Un agrupador de conexiones en modo de transacción no puede transportar esa conexión.                                                                                                         |
| `store.migrate_database_url`<br />`CMA_STORE__MIGRATE_DATABASE_URL`                                                   | El valor de `store.database_url` | La cadena de conexión que usa el comando `migrate` del servidor. Un agrupador de conexiones en modo de transacción no puede transportar esa conexión.                                                                                                                                   |
| `store.pool_max_conns`<br />`CMA_STORE__POOL_MAX_CONNS`                                                               | `24`                             | El máximo de conexiones a la base de datos que abre el grupo de un servidor. El mínimo es `4`.                                                                                                                                                                                          |
| `store.event_poll_interval`<br />`CMA_STORE__EVENT_POLL_INTERVAL`                                                     | `25ms`                           | Con qué frecuencia cada servidor consulta a la base de datos los eventos más recientes de las sesiones que sus clientes reciben por “streaming”. Un evento que registró otro servidor espera como máximo aproximadamente este tiempo para llegar al flujo.                              |
| `store.credentials_encryption_key`<br />`CMA_STORE__CREDENTIALS_ENCRYPTION_KEY`<br />Solo entorno                     | Ninguno                          | La clave que cifra las credenciales almacenadas en la base de datos, como 32 bytes aleatorios en base64. Las instalaciones de Docker Compose y Kubernetes la establecen. El servidor no se inicia sin ella, a menos que `store.allow_unencrypted_credentials` sea `true`.               |
| `store.allow_unencrypted_credentials`<br />`CMA_STORE__ALLOW_UNENCRYPTED_CREDENTIALS`                                 | `false`                          | Si el servidor puede iniciarse sin `store.credentials_encryption_key`. Sin la clave, almacena las credenciales en la base de datos en texto plano. `true` no tiene efecto si `git.allowed_hostnames` enumera un host, o si instalas con Docker Compose o el chart de Helm del servidor. |
| `store.credentials_encryption_keys_retiring`<br />`CMA_STORE__CREDENTIALS_ENCRYPTION_KEYS_RETIRING`<br />Solo entorno | Ninguno                          | Claves de cifrado anteriores con las que el servidor aún puede descifrar durante una rotación de claves. Esta configuración necesita `store.credentials_encryption_key`.                                                                                                                |

## Proveedor de inferencia

Para configurar un proveedor, consulta [Proveedor de inferencia](https://platform.claude.com/docs/es/managed-agents/self-hosted/inference-provider).

| Configuración<br />Variable de entorno                               | Valor predeterminado | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| -------------------------------------------------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `inference.provider`<br />`CMA_INFERENCE__PROVIDER`                  | `anthropic`          | Adónde envía el servidor las llamadas al modelo. Los valores son `anthropic`, `bedrock`, `vertex`, `foundry` y `gateway`.                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `inference.headers`<br />Solo archivo                                | Ninguno              | Encabezados de solicitud que el servidor agrega a cada llamada al modelo, como un mapa de nombre de encabezado a valor. Pon entre comillas cada valor. El servidor se niega a iniciarse con un valor sin comillas que YAML no lee como texto, como `true` o `0042`. Con `gateway`, un valor también puede ser `{ from: request_id }` o `{ from: session_id }`.                                                                                                                                                                            |
| `inference.model_fallback`<br />`CMA_INFERENCE__MODEL_FALLBACK`      | `true`               | Solo `anthropic`. Si las llamadas al modelo solicitan [respaldo del lado del servidor](https://platform.claude.com/docs/es/build-with-claude/refusals-and-fallback#server-side-fallback). Esas llamadas llevan un campo `fallbacks` y el encabezado `anthropic-beta: server-side-fallback-2026-07-01`. Un proxy que indiques en `ANTHROPIC_BASE_URL` podría rechazar el campo o el encabezado. Si responde con un `400` o un `422`, el servidor vuelve a enviar la llamada sin ellos.                                                     |
| `inference.metadata.user_id`<br />`CMA_INFERENCE__METADATA__USER_ID` | Ninguno              | Solo `anthropic` y `foundry`, o `gateway` con `format: anthropic-messages`. Un identificador que el servidor envía como `metadata.user_id` con cada llamada al modelo. El registro de inicio lo muestra. Sin esta configuración, el servidor envía la etiqueta `cma-server`. No puedes desactivar `metadata.user_id`. Si el proveedor o un proxy lo rechaza, todas las llamadas al modelo fallan. Consulta [Qué sale de tu red](https://platform.claude.com/docs/es/managed-agents/self-hosted-data-and-access#what-leaves-your-network). |

### Proveedores en la nube

| Configuración<br />Variable de entorno                               | Valor predeterminado | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                        |
| -------------------------------------------------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `inference.region`<br />`CMA_INFERENCE__REGION`                      | Ninguno              | Solo `bedrock` y `vertex`. La región de AWS, o la ubicación en Google Cloud’s Agent Platform. Obligatoria con `vertex`. Sin ella, `bedrock` usa la región que encuentra la cadena predeterminada del SDK de AWS.                                                                                                                                                                                                                   |
| `inference.project_id`<br />`CMA_INFERENCE__PROJECT_ID`              | Ninguno              | Solo `vertex`. El proyecto de Google Cloud en el que se realizan las llamadas. Obligatoria a menos que la credencial de Google indique un proyecto.                                                                                                                                                                                                                                                                                |
| `inference.api`<br />`CMA_INFERENCE__API`                            | `invoke_model`       | Solo `bedrock`. La API de Amazon Bedrock que transporta las llamadas, `invoke_model` o `messages`. `messages` es el endpoint que describe [Claude en Amazon Bedrock (`bedrock-mantle`)](https://platform.claude.com/docs/es/build-with-claude/claude-in-amazon-bedrock). Con él, el rol de AWS del servidor necesita `bedrock-mantle:CreateInference` en lugar de `bedrock:InvokeModel` y `bedrock:InvokeModelWithResponseStream`. |
| `inference.list_models`<br />`CMA_INFERENCE__LIST_MODELS`            | `true`               | Solo `bedrock`. Si el servidor lee las listas de modelos de Claude de Amazon Bedrock. Con esas listas, los agentes pueden usar un modelo que salió después de la versión de tu servidor.                                                                                                                                                                                                                                           |
| `inference.model_id_prefix`<br />`CMA_INFERENCE__MODEL_ID_PREFIX`    | `us.anthropic.`      | Solo `bedrock`. El texto que el servidor coloca antes de cada ID de modelo. Con `inference.api: messages`, el valor predeterminado es `anthropic.`.                                                                                                                                                                                                                                                                                |
| `inference.model_id_overrides`<br />Solo archivo                     | Ninguno              | Solo `bedrock`, `vertex` y `foundry`. Un mapa de ID de modelo al ID exacto que espera el proveedor. Con `foundry`, ese ID es un nombre de implementación.                                                                                                                                                                                                                                                                          |
| `inference.foundry.resource`<br />`CMA_INFERENCE__FOUNDRY__RESOURCE` | Ninguno              | Solo `foundry`. El nombre del recurso de Foundry. Establece esta o `inference.foundry.base_url`, no ambas.                                                                                                                                                                                                                                                                                                                         |
| `inference.foundry.base_url`<br />`CMA_INFERENCE__FOUNDRY__BASE_URL` | Ninguno              | Solo `foundry`. De forma predeterminada, las llamadas van a `https://<resource>.services.ai.azure.com/anthropic`. Para acceder al recurso en otra dirección, como un proxy, establece esa URL aquí en su lugar. Termina en `/anthropic`.                                                                                                                                                                                           |

### Gateway de modelos

Estas configuraciones se aplican solo con `inference.provider: gateway`. Consulta [Gateway de modelos](https://platform.claude.com/docs/es/managed-agents/self-hosted/inference-provider#model-gateway).

| Configuración<br />Variable de entorno                                                    | Valor predeterminado | Descripción                                                                                                                                                                                                                                                                                                                                                                                 |
| ----------------------------------------------------------------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `inference.gateway.url`<br />`CMA_INFERENCE__GATEWAY__URL`                                | Ninguno              | Obligatoria. La URL que recibe las llamadas al modelo. Con `bedrock-invoke` y `vertex-raw-predict`, `{model}` marca dónde va el ID del modelo. Con `vertex-raw-predict`, la URL debe terminar en `/{model}:rawPredict`.                                                                                                                                                                     |
| `inference.gateway.format`<br />`CMA_INFERENCE__GATEWAY__FORMAT`                          | Ninguno              | Obligatoria. El formato de solicitud que acepta el gateway: `bedrock-invoke`, `anthropic-messages` o `vertex-raw-predict`.                                                                                                                                                                                                                                                                  |
| `inference.gateway.model_map`<br />Solo archivo                                           | Ninguno              | Obligatoria. Un mapa de cada ID de modelo que los agentes pueden indicar al ID que espera el gateway. Pon entre comillas cada valor, como para `inference.headers`.                                                                                                                                                                                                                         |
| `inference.gateway.streaming`<br />`CMA_INFERENCE__GATEWAY__STREAMING`                    | `false`              | Si el servidor envía la llamada con streaming del formato, para que las respuestas lleguen a medida que el modelo las produce. Con `bedrock-invoke`, esa llamada va a la misma URL con `-with-response-stream` agregado al final. Con `vertex-raw-predict`, esa llamada va a la misma URL con `:streamRawPredict` en lugar de `:rawPredict`. Deja `:rawPredict` en `inference.gateway.url`. |
| `inference.credentials.supplier`<br />`CMA_INFERENCE__CREDENTIALS__SUPPLIER`              | Ninguno              | Obligatoria. De dónde proviene la credencial del gateway. `env` significa una clave de larga duración, `oauth_exchange` significa tokens de corta duración, y `azure` significa tokens de Microsoft Entra ID emitidos para la propia identidad de Azure del servidor.                                                                                                                       |
| `inference.credentials.env.var`<br />`CMA_INFERENCE__CREDENTIALS__ENV__VAR`               | Ninguno              | Obligatoria con `env`. El nombre de la variable de entorno que contiene la clave.                                                                                                                                                                                                                                                                                                           |
| `inference.credentials.azure.scope`<br />`CMA_INFERENCE__CREDENTIALS__AZURE__SCOPE`       | Ninguno              | Obligatoria con `azure`. El alcance para el que el servidor solicita tokens: el URI de ID de aplicación o el ID de aplicación del registro de aplicación de tu gateway, seguido de `/.default`.                                                                                                                                                                                             |
| `inference.credentials.send_as.header`<br />`CMA_INFERENCE__CREDENTIALS__SEND_AS__HEADER` | `Authorization`      | El encabezado de solicitud que transporta la credencial.                                                                                                                                                                                                                                                                                                                                    |
| `inference.credentials.send_as.scheme`<br />`CMA_INFERENCE__CREDENTIALS__SEND_AS__SCHEME` | `Bearer`             | La palabra que precede a la credencial en el encabezado. En cualquier encabezado distinto de `Authorization`, el valor predeterminado es sin esquema.                                                                                                                                                                                                                                       |
| `inference.credentials.renew_before`<br />`CMA_INFERENCE__CREDENTIALS__RENEW_BEFORE`      | `90s`                | Con `oauth_exchange`, con cuánta antelación el servidor reemplaza un token. Deja de usar un token en caché con esa antelación antes de que el token caduque, y obtiene otro para la siguiente llamada al modelo. Mantén el valor por debajo de la vida útil de tus tokens. El servidor rechaza cualquier token que sea válido por menos de este valor.                                      |

### Tokens de gateway de corta duración

Estas configuraciones se aplican solo con `inference.credentials.supplier: oauth_exchange`. Consulta [Tokens de corta duración](https://platform.claude.com/docs/es/managed-agents/self-hosted/inference-provider#short-lived-tokens). Las configuraciones `exchange` son opcionales como grupo. Sin ellas, el servidor envía al gateway lo que devuelve la devolución de llamada.

| Configuración<br />Variable de entorno                                                                            | Valor predeterminado | Descripción                                                                                                                                                                                                                                                           |
| ----------------------------------------------------------------------------------------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `inference.credentials.assertion.url`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__URL`                           | Ninguno              | Obligatoria. La URL de la devolución de llamada HTTP que devuelve una aserción firmada.                                                                                                                                                                               |
| `inference.credentials.assertion.auth.type`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TYPE`              | Ninguno              | Obligatoria. Cómo se autentica el servidor ante la devolución de llamada, `mtls` o `bearer_file`.                                                                                                                                                                     |
| `inference.credentials.assertion.auth.cert_file`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CERT_FILE`    | Ninguno              | Obligatoria con `mtls`. La ruta del certificado de cliente del servidor.                                                                                                                                                                                              |
| `inference.credentials.assertion.auth.key_file`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__KEY_FILE`      | Ninguno              | Obligatoria con `mtls`. La ruta de la clave privada del certificado de cliente.                                                                                                                                                                                       |
| `inference.credentials.assertion.auth.token_file`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TOKEN_FILE`  | Ninguno              | Obligatoria con `bearer_file`. La ruta de un archivo que contiene el token bearer.                                                                                                                                                                                    |
| `inference.credentials.assertion.auth.ca_file`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CA_FILE`        | Ninguno              | La ruta de un archivo PEM con las autoridades de certificación en las que confía el servidor para la devolución de llamada.                                                                                                                                           |
| `inference.credentials.assertion.forward_metadata`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__FORWARD_METADATA` | Ninguno              | Las claves de metadatos de sesión cuyos valores envía el servidor a la devolución de llamada. Llegan como `session.metadata` en el cuerpo de la solicitud. Los valores son lo que haya escrito el llamador de la API, así que compruébalos con tus propios registros. |
| `inference.credentials.exchange.token_url`<br />`CMA_INFERENCE__CREDENTIALS__EXCHANGE__TOKEN_URL`                 | Ninguno              | Obligatoria para un intercambio. El endpoint de tokens de OAuth donde el servidor intercambia la aserción por un token.                                                                                                                                               |
| `inference.credentials.exchange.grant_type`<br />`CMA_INFERENCE__CREDENTIALS__EXCHANGE__GRANT_TYPE`               | Ninguno              | Obligatoria para un intercambio. El `grant_type` que envía el servidor, como `urn:ietf:params:oauth:grant-type:jwt-bearer`.                                                                                                                                           |
| `inference.credentials.exchange.encoding`<br />`CMA_INFERENCE__CREDENTIALS__EXCHANGE__ENCODING`                   | `form`               | Cómo codifica el servidor la solicitud de intercambio, `form` o `multipart`.                                                                                                                                                                                          |
| `inference.credentials.exchange.expiry`<br />`CMA_INFERENCE__CREDENTIALS__EXCHANGE__EXPIRY`                       | `expires_in`         | Dónde lee el servidor la vida útil del token. `expires_in` significa el menor entre el `expires_in` de la respuesta y el claim `exp` del token. `jwt_exp` significa solo el claim `exp`.                                                                              |
| `inference.credentials.exchange.headers`<br />Solo archivo                                                        | Ninguno              | Encabezados de solicitud adicionales para el endpoint de tokens, como un mapa de nombre de encabezado a valor. Pon entre comillas cada valor, como para `inference.headers`.                                                                                          |
| `inference.credentials.exchange.ca_file`<br />`CMA_INFERENCE__CREDENTIALS__EXCHANGE__CA_FILE`                     | Ninguno              | La ruta de un archivo PEM con las autoridades de certificación en las que confía el servidor para el endpoint de tokens.                                                                                                                                              |

## Inicio de sesión único

Para configurar el inicio de sesión, consulta [Inicio de sesión único](https://platform.claude.com/docs/es/managed-agents/self-hosted/configure).

| Configuración<br />Variable de entorno         | Valor predeterminado | Descripción                                                                                                                                                                                           |
| ---------------------------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `auth.issuers`<br />Solo archivo               | Ninguno              | Los emisores de OpenID Connect cuyos tokens acepta el servidor. Consulta [Entradas de emisor](https://platform.claude.com/docs/es/managed-agents/self-hosted/configuration-reference#issuer-entries). |
| `auth.refuse_server_api_key`<br />Solo archivo | `false`              | Si el servidor rechaza la clave de API del servidor en todas las rutas. `true` necesita al menos un emisor. Entonces, todos los comandos de la CLI de administración que usan la clave fallan.        |

### Entradas de emisor

Cada entrada de `auth.issuers` acepta estos campos:

| Campo             | Valor predeterminado | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ----------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`            | Ninguno              | Obligatorio. Una etiqueta para el emisor en las líneas de registro. El servidor también la registra como parte del creador de cada recurso.                                                                                                                                                                                                                                                                                       |
| `issuer_url`      | Ninguno              | Obligatorio. La URL del emisor, exactamente como en el claim `iss` de sus tokens. El servidor obtiene las claves de firma de este host y del host de `jwks_uri` que indica el documento de descubrimiento del emisor. Si tu red limita las conexiones salientes, admite ambos hosts.                                                                                                                                              |
| `audiences`       | Ninguno              | Obligatorio. Los valores que puede llevar el claim `aud` de un token. Si las aplicaciones reenvían tokens que ya tienen, enumera el ID de cliente de cada aplicación.                                                                                                                                                                                                                                                             |
| `roles`           | Ninguno              | Una lista de pares `group` y `role`. Un grupo coincide exactamente, o como un patrón en el que `*` representa cualquier secuencia de caracteres y `?` un carácter. Un rol es `admin`, `developer` o `user`. Gana el rol coincidente más alto. Establece `roles`, `default_role` o ambos.                                                                                                                                          |
| `default_role`    | Ninguno              | El rol de un llamador cuyos grupos no coinciden con ninguna entrada de `roles`. Establécelo solo si todas las personas que pueden obtener un token para esta audiencia deben tener acceso.                                                                                                                                                                                                                                        |
| `subject_claim`   | `sub`                | El claim que identifica al llamador. Un nombre que empieza con `/` es un JSON Pointer a claims anidados.                                                                                                                                                                                                                                                                                                                          |
| `stable_subject`  | `false`              | Se aplica solo si `subject_claim` indica un claim distinto de `sub` u `oid`. Establece `true` para confirmar que tu proveedor nunca cambia el valor de ese claim de una persona y nunca se lo asigna a otra. El servidor no lo comprueba. Con `false`, los [tokens de agente](https://platform.claude.com/docs/es/managed-agents/self-hosted/configuration-reference#agent-identity) omiten los claims `actor_sub` y `actor_iss`. |
| `groups_claim`    | `groups`             | El claim que enumera los grupos del llamador. Un nombre que empieza con `/` es un JSON Pointer a claims anidados.                                                                                                                                                                                                                                                                                                                 |
| `jwks_file`       | Ninguno              | La ruta de un archivo JSON Web Key Set. El servidor lee las claves de firma de él y nunca contacta al emisor.                                                                                                                                                                                                                                                                                                                     |
| `login_client_id` | Ninguno              | El ID de cliente de la aplicación que usa el [inicio de sesión desde terminal](https://platform.claude.com/docs/es/managed-agents/self-hosted/configure#let-developers-log-in-from-a-terminal). Solo un emisor puede establecerlo.                                                                                                                                                                                                |
| `login_scopes`    | `[openid]`           | Los alcances que solicita el inicio de sesión. Este campo necesita `login_client_id`.                                                                                                                                                                                                                                                                                                                                             |

## Gestor de secretos

Para configurar un almacén, consulta [Gestor de secretos](https://platform.claude.com/docs/es/managed-agents/self-hosted/agent-identity#secret-manager).

| Configuración<br />Variable de entorno                      | Valor predeterminado | Descripción                                                                                                                                                                                                                                   |
| ----------------------------------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `secret_store.type`<br />`CMA_SECRET_STORE__TYPE`           | Ninguno              | El gestor de secretos que contiene las credenciales de vault. Los valores son `aws_secrets_manager`, `gcp_secret_manager`, `azure_key_vault` y `hashicorp_vault`. Sin ella, las credenciales de vault permanecen en la base de datos.         |
| `secret_store.prefix`<br />`CMA_SECRET_STORE__PREFIX`       | Ninguno              | Obligatoria con `secret_store.type`. El inicio del nombre de cada secreto que crea el servidor. Debe terminar en `/` para `aws_secrets_manager` y `hashicorp_vault`, en `-` o `_` para `gcp_secret_manager`, y en `-` para `azure_key_vault`. |
| `secret_store.region`<br />`CMA_SECRET_STORE__REGION`       | Ninguno              | Solo `aws_secrets_manager`, y obligatoria allí. La región de AWS que contiene los secretos.                                                                                                                                                   |
| `secret_store.project`<br />`CMA_SECRET_STORE__PROJECT`     | Ninguno              | Solo `gcp_secret_manager`, y obligatoria allí. El ID del proyecto de Google Cloud que contiene los secretos.                                                                                                                                  |
| `secret_store.vault_url`<br />`CMA_SECRET_STORE__VAULT_URL` | Ninguno              | Solo `azure_key_vault`, y obligatoria allí. La URL del almacén de claves, como `https://my-vault.vault.azure.net`.                                                                                                                            |

### HashiCorp Vault

Estas configuraciones se aplican solo con `secret_store.type: hashicorp_vault`. Establece exactamente un método de inicio de sesión: `token_file`, `kubernetes` o `approle`.

| Configuración<br />Variable de entorno                                                                               | Valor predeterminado                                  | Descripción                                                                                                                         |
| -------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `secret_store.address`<br />`CMA_SECRET_STORE__ADDRESS`                                                              | Ninguno                                               | Obligatoria. La URL `https://` del servidor de Vault.                                                                               |
| `secret_store.namespace`<br />`CMA_SECRET_STORE__NAMESPACE`                                                          | Ninguno                                               | El espacio de nombres de Vault Enterprise que contiene el montaje y el método de inicio de sesión.                                  |
| `secret_store.mount`<br />`CMA_SECRET_STORE__MOUNT`                                                                  | `secret`                                              | La ruta del motor de secretos KV versión 2.                                                                                         |
| `secret_store.ca_cert_file`<br />`CMA_SECRET_STORE__CA_CERT_FILE`                                                    | Ninguno                                               | La ruta de un archivo PEM con la autoridad de certificación que firmó el certificado de Vault.                                      |
| `secret_store.token_file`<br />`CMA_SECRET_STORE__TOKEN_FILE`                                                        | Ninguno                                               | La ruta de un archivo con un token de Vault que otro proceso, como Vault Agent, mantiene actualizado.                               |
| `secret_store.kubernetes.role`<br />`CMA_SECRET_STORE__KUBERNETES__ROLE`                                             | Ninguno                                               | Obligatoria con `kubernetes`. El rol de Vault con el que inicia sesión el servidor. Vincúlalo a la cuenta de servicio del servidor. |
| `secret_store.kubernetes.mount_path`<br />`CMA_SECRET_STORE__KUBERNETES__MOUNT_PATH`                                 | `kubernetes`                                          | Dónde monta Vault el método de inicio de sesión de Kubernetes.                                                                      |
| `secret_store.kubernetes.service_account_token_file`<br />`CMA_SECRET_STORE__KUBERNETES__SERVICE_ACCOUNT_TOKEN_FILE` | `/var/run/secrets/kubernetes.io/serviceaccount/token` | La ruta del token de la cuenta de servicio que presenta el servidor en cada inicio de sesión.                                       |
| `secret_store.approle.role_id`<br />`CMA_SECRET_STORE__APPROLE__ROLE_ID`                                             | Ninguno                                               | Obligatoria con `approle`. El ID del rol de AppRole con el que inicia sesión el servidor.                                           |
| `secret_store.approle.secret_id_file`<br />`CMA_SECRET_STORE__APPROLE__SECRET_ID_FILE`                               | Ninguno                                               | Obligatoria con `approle`. La ruta de un archivo con el `secret_id` del rol.                                                        |
| `secret_store.approle.mount_path`<br />`CMA_SECRET_STORE__APPROLE__MOUNT_PATH`                                       | `approle`                                             | Dónde monta Vault el método de inicio de sesión de AppRole.                                                                         |

## Identidad de agente

Para configurar los tokens de agente, consulta [Identidad de agente](https://platform.claude.com/docs/es/managed-agents/self-hosted/agent-identity#agent-identity). Cualquier configuración de esta tabla activa la función. Entonces el servidor necesita `agent_identity.issuer` y exactamente una ubicación para la clave de firma: `key_file`, `key_secret` o `kms_key`.

| Configuración<br />Variable de entorno                                              | Valor predeterminado             | Descripción                                                                                                                                                                                                                                                                                                                                              |
| ----------------------------------------------------------------------------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `agent_identity.issuer`<br />`CMA_AGENT_IDENTITY__ISSUER`                           | Ninguno                          | La URL `https://` que los tokens de agente llevan como su claim `iss`.                                                                                                                                                                                                                                                                                   |
| `agent_identity.key_file`<br />`CMA_AGENT_IDENTITY__KEY_FILE`                       | Ninguno                          | La ruta de la clave privada PEM que firma los tokens.                                                                                                                                                                                                                                                                                                    |
| `agent_identity.key_secret`<br />`CMA_AGENT_IDENTITY__KEY_SECRET`                   | Ninguno                          | El nombre del secreto que contiene la clave privada PEM en tu gestor de secretos, sin `secret_store.prefix`.                                                                                                                                                                                                                                             |
| `agent_identity.kms_key.provider`<br />`CMA_AGENT_IDENTITY__KMS_KEY__PROVIDER`      | Ninguno                          | El servicio de gestión de claves que contiene la clave de firma, `aws_kms` o `gcp_kms`.                                                                                                                                                                                                                                                                  |
| `agent_identity.kms_key.key`<br />`CMA_AGENT_IDENTITY__KMS_KEY__KEY`                | Ninguno                          | Obligatoria con `kms_key.provider`. El ARN de la clave para `aws_kms`, o el nombre de recurso de una versión de clave para `gcp_kms`.                                                                                                                                                                                                                    |
| `agent_identity.published_key_files`<br />`CMA_AGENT_IDENTITY__PUBLISHED_KEY_FILES` | Ninguno                          | Las rutas de claves públicas PEM adicionales para el conjunto de claves. El servidor publica estas claves pero nunca firma con ellas. Usa esta configuración cuando rotes la clave de firma.                                                                                                                                                             |
| `agent_identity.token_lifetime`<br />`CMA_AGENT_IDENTITY__TOKEN_LIFETIME`           | `5m`                             | El tiempo desde el claim `iat` de un token hasta su claim `exp`. Un token ya enviado sigue siendo válido hasta su `exp`. El mínimo es `limits.mcp_call_timeout` más `1m`, y el máximo es `15m`.                                                                                                                                                          |
| `agent_identity.jwks_uri`<br />`CMA_AGENT_IDENTITY__JWKS_URI`                       | `<issuer>/.well-known/jwks.json` | La URL que el documento de descubrimiento del emisor indica para el conjunto de claves. Establécela solo si alojas el conjunto de claves en otro lugar que no sea bajo la URL del emisor.                                                                                                                                                                |
| `agent_identity.direct.audiences`<br />Solo archivo                                 | Ninguno                          | Los receptores que pueden obtener un token. Cada entrada tiene una URL `audience` y `urls`, los prefijos de URL de los servidores MCP de ese receptor.                                                                                                                                                                                                   |
| `agent_identity.actor.enabled`<br />`CMA_AGENT_IDENTITY__ACTOR__ENABLED`            | `true`                           | Si el servidor agrega los claims `actor_sub` y `actor_iss` al token de una llamada a herramienta. `actor_sub` es el subject del llamador que creó la sesión. `actor_iss` es el `issuer_url` de la entrada de `auth.issuers` a través de la cual inició sesión el llamador. Ninguno de los dos claims significa que el llamador haya aprobado la llamada. |

## Gateway de salida

Para configurar el gateway, consulta [Credenciales de variables de entorno](https://platform.claude.com/docs/es/managed-agents/self-hosted/agent-identity#environment-variable-credentials). Establece las demás configuraciones de esta tabla solo con `egress.gateway_enabled: true`. Sin ella, el servidor no se inicia si alguna de ellas está establecida.

| Configuración<br />Variable de entorno                                  | Valor predeterminado | Descripción                                                                                                                                                                                                                                                                                            |
| ----------------------------------------------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `egress.gateway_enabled`<br />`CMA_EGRESS__GATEWAY_ENABLED`             | `false`              | Si el servidor funciona con el gateway de salida y acepta credenciales de vault `environment_variable`.                                                                                                                                                                                                |
| `egress.allowed_hostnames`<br />`CMA_EGRESS__ALLOWED_HOSTNAMES`         | Ninguno              | Los nombres de host públicos exactos a los que los sandboxes pueden acceder a través del gateway. Una entrada sin puerto, como `api.example.com`, permite el puerto 443 para URL `https` y el puerto 80 para URL `http`. Una entrada con puerto, como `api.example.com:8443`, permite solo ese puerto. |
| `egress.swap_header_names`<br />`CMA_EGRESS__SWAP_HEADER_NAMES`         | `Authorization`      | Los encabezados de solicitud en los que el gateway puede colocar el valor de una credencial. Una lista propia reemplaza el valor predeterminado, así que incluye `Authorization` en ella.                                                                                                              |
| `egress.gateway_listen`<br />`CMA_EGRESS__GATEWAY_LISTEN`               | `:8410`              | La dirección del segundo listener del servidor, que atiende solo al gateway. El valor predeterminado escucha en todas las interfaces.                                                                                                                                                                  |
| `egress.gateway_key_file`<br />`CMA_EGRESS__GATEWAY_KEY_FILE`           | Ninguno              | Obligatoria. La ruta de un archivo con la clave que el gateway presenta al servidor.                                                                                                                                                                                                                   |
| `egress.ca_cert_file`<br />`CMA_EGRESS__CA_CERT_FILE`                   | Ninguno              | Obligatoria. La ruta del certificado PEM de la autoridad de certificación del gateway.                                                                                                                                                                                                                 |
| `egress.gateway_proxy_address`<br />`CMA_EGRESS__GATEWAY_PROXY_ADDRESS` | Ninguno              | Obligatoria. El `host:port` en el que los sandboxes acceden al puerto de proxy del gateway.                                                                                                                                                                                                            |

## Servidores MCP

Consulta [Los servidores MCP necesitan una entrada en la lista de permitidos](https://platform.claude.com/docs/es/managed-agents/self-hosted/differences#mcp-servers-need-an-allowlist-entry).

| Configuración<br />Variable de entorno                    | Valor predeterminado | Descripción                                                                                                                              |
| --------------------------------------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `mcp.allowed_hostnames`<br />`CMA_MCP__ALLOWED_HOSTNAMES` | Ninguno              | Los nombres de host exactos de los servidores MCP a los que puede conectarse el servidor. Sin ella, el servidor no se conecta a ninguno. |
| `mcp.private_hostnames`<br />Solo archivo                 | Ninguno              | Los nombres de host de `mcp.allowed_hostnames` que pueden resolverse a una dirección privada.                                            |
| `mcp.max_result_bytes`<br />`CMA_MCP__MAX_RESULT_BYTES`   | `102400` (100 KiB)   | El máximo de bytes de un resultado de herramienta MCP que ve el modelo. El mínimo es `1024`.                                             |

## Repositorios Git

Consulta [Los repositorios Git necesitan una entrada en la lista de permitidos](https://platform.claude.com/docs/es/managed-agents/self-hosted/differences#git-repositories-need-an-allowlist-entry).

| Configuración<br />Variable de entorno                                      | Valor predeterminado    | Descripción                                                                                                                                                                                                                                                                                                                                                                       |
| --------------------------------------------------------------------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `git.allowed_hostnames`<br />`CMA_GIT__ALLOWED_HOSTNAMES`                   | Ninguno                 | Los hosts de Git en los que pueden estar los repositorios de una sesión. Los nombres de host coinciden exactamente, sin comodines, y una entrada no abarca sus subdominios. Una entrada permite el puerto 443, o el único puerto que indica, como en `git.example.com:8443`. Sin esta configuración, el servidor no acepta repositorios.                                          |
| `git.private_hostnames`<br />Solo archivo                                   | Ninguno                 | Los nombres de host de `git.allowed_hostnames` que se resuelven a una dirección privada, escritos sin puerto. Para cualquier otro nombre de host, el servidor se conecta solo a sus direcciones públicas.                                                                                                                                                                         |
| `git.allowed_push_refs`<br />`CMA_GIT__ALLOWED_PUSH_REFS`                   | Ninguno                 | Las ramas a las que los agentes pueden hacer push, cada una bajo `refs/heads/`. Una entrada que termina en `/` permite todas las ramas bajo ella. Cualquier otra entrada permite esa única rama. Sin esta configuración, los agentes no pueden hacer push.                                                                                                                        |
| `git.commit_author_name`<br />`CMA_GIT__COMMIT_AUTHOR_NAME`                 | `Claude`                | El nombre del autor en los commits del agente. Establécela junto con `git.commit_author_email`.                                                                                                                                                                                                                                                                                   |
| `git.commit_author_email`<br />`CMA_GIT__COMMIT_AUTHOR_EMAIL`               | `noreply@anthropic.com` | La dirección de correo electrónico del autor en los commits del agente. Establécela junto con `git.commit_author_name`.                                                                                                                                                                                                                                                           |
| `git.max_concurrent_transfers`<br />`CMA_GIT__MAX_CONCURRENT_TRANSFERS`     | `32`                    | El máximo de solicitudes de Git que un servidor transporta a la vez. El mínimo es `1`.                                                                                                                                                                                                                                                                                            |
| `git.max_session_transfer_bytes`<br />`CMA_GIT__MAX_SESSION_TRANSFER_BYTES` | `8589934592` (8 GiB)    | El máximo de tráfico de Git, en bytes, que un servidor transporta para una sesión, contando juntas las cargas y las descargas. El conteo se reinicia en cero cada vez que un sandbox retoma la sesión. Al alcanzar el límite, el servidor rechaza las siguientes solicitudes de Git de la sesión con un `403`. `0` significa sin límite. De lo contrario, el mínimo es `1048576`. |
| `git.max_push_bytes`<br />`CMA_GIT__MAX_PUSH_BYTES`                         | `2147483648` (2 GiB)    | El máximo de bytes que puede enviar un push. El mínimo es `1048576`.                                                                                                                                                                                                                                                                                                              |

Estos límites se aplican a los repositorios Git:

* **Protocolos:** El servidor no admite SSH ni Git LFS, y rechaza las redirecciones, como la de un repositorio renombrado.
* **Tokens:** El host de Git debe aceptar el token como contraseña de la autenticación HTTP Basic, con el nombre de usuario `x-access-token`.
* **URL:** Una URL de repositorio tiene un propietario y un nombre de repositorio, así que no puedes usar un repositorio en un subgrupo de GitLab.
* **Hosts:** Para una URL en un host que `git.allowed_hostnames` no enumera, el servidor devuelve un `400`. El mensaje de error indica que la URL debe estar en `github.com`, incluso si enumeras otros hosts.
* **Pushes:** El servidor siempre rechaza un push que elimina una rama, o que cambia algo distinto de una rama, como una etiqueta.

## Herramientas web y skills

Consulta [Las herramientas web necesitan una configuración del servidor](https://platform.claude.com/docs/es/managed-agents/self-hosted/differences#web-tools-need-a-server-setting).

| Configuración<br />Variable de entorno                                  | Valor predeterminado | Descripción                                                                                                                                                 |
| ----------------------------------------------------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `web_tools.enabled`<br />`CMA_WEB_TOOLS__ENABLED`                       | `false`              | Si los agentes pueden usar las herramientas `web_search` y `web_fetch`. Si estableces otra configuración de `web_tools`, el valor predeterminado es `true`. |
| `web_tools.allowed_domains`<br />`CMA_WEB_TOOLS__ALLOWED_DOMAINS`       | Ninguno              | Los únicos dominios que los agentes pueden leer a través de las herramientas web. Una entrada abarca sus subdominios.                                       |
| `web_tools.blocked_domains`<br />`CMA_WEB_TOOLS__BLOCKED_DOMAINS`       | Ninguno              | Dominios que ningún agente puede leer a través de las herramientas web. Establece esta o `web_tools.allowed_domains`, no ambas.                             |
| `web_tools.max_content_tokens`<br />`CMA_WEB_TOOLS__MAX_CONTENT_TOKENS` | Ninguno              | El máximo de tokens de una página obtenida que `web_fetch` devuelve al modelo.                                                                              |
| `skills.max_name_chars`<br />`CMA_SKILLS__MAX_NAME_CHARS`               | `64`                 | El `name` más largo que puede tener un archivo `SKILL.md`. El máximo es `255`.                                                                              |
| `skills.max_description_chars`<br />`CMA_SKILLS__MAX_DESCRIPTION_CHARS` | `1024`               | La `description` más larga que puede tener un archivo `SKILL.md`.                                                                                           |

## Límites, tiempos de espera y programación

| Configuración<br />Variable de entorno                                          | Valor predeterminado | Descripción                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limits.max_active_sessions`<br />`CMA_LIMITS__MAX_ACTIVE_SESSIONS`             | `64`                 | Solo `store.backend: memory`. El máximo de sesiones que ejecutan un turno a la vez. `0` significa sin límite.                                                                                                                                                                                                                                   |
| `limits.max_live_subagent_threads`<br />`CMA_LIMITS__MAX_LIVE_SUBAGENT_THREADS` | `25`                 | El máximo de hilos de subagente que una sesión puede mantener a la vez. Un hilo cuenta hasta que se archiva o se termina, así que un hilo inactivo cuenta. Al alcanzar el límite, el agente no puede iniciar otro subagente. El mínimo es `1`, y el máximo es `4000`.                                                                           |
| `scheduler.max_concurrent_turns`<br />`CMA_SCHEDULER__MAX_CONCURRENT_TURNS`     | `64`                 | Solo `store.backend: postgres`. El máximo de turnos que un servidor ejecuta a la vez. El mínimo es `1`. El servidor reserva espacios adicionales solo para turnos de subagentes. Su número es una cuarta parte de este valor, y como mínimo `4`. Con el valor predeterminado, un servidor puede ejecutar 64 turnos más 16 turnos de subagentes. |
| `scheduler.claim_poll_interval`<br />`CMA_SCHEDULER__CLAIM_POLL_INTERVAL`       | `1s`                 | Solo `store.backend: postgres`. Con qué frecuencia un servidor con un espacio de turno libre busca trabajo en espera en la base de datos. El mínimo es `50ms`.                                                                                                                                                                                  |
| `scheduler.sandbox_claim`<br />`CMA_SCHEDULER__SANDBOX_CLAIM`                   | `immediate`          | Cuándo puede un worker iniciar el sandbox de una sesión. `immediate` significa en cuanto se crea la sesión, así que la primera llamada a herramienta espera menos. `tool_call` significa en la primera llamada a herramienta de la sesión que necesita el sandbox, así que una sesión que no hace ninguna no usa ningún sandbox.                |
| `limits.model_call_timeout`<br />`CMA_LIMITS__MODEL_CALL_TIMEOUT`               | `20m`                | Cuánto tiempo puede ejecutarse una llamada al modelo, incluidos los reintentos, antes de que el servidor la cancele.                                                                                                                                                                                                                            |
| `limits.stream_idle_timeout`<br />`CMA_LIMITS__STREAM_IDLE_TIMEOUT`             | `5m`                 | Cuánto tiempo puede pasar la respuesta de una llamada al modelo sin entregar nada antes de que el servidor abandone ese intento.                                                                                                                                                                                                                |
| `limits.mcp_call_timeout`<br />`CMA_LIMITS__MCP_CALL_TIMEOUT`                   | `4m`                 | Cuánto tiempo puede ejecutarse una llamada a herramienta MCP antes de que el servidor la abandone.                                                                                                                                                                                                                                              |

## Modelos y compactación

| Configuración<br />Variable de entorno  | Valor predeterminado                                                                | Descripción                                                                                                                                                                                                                |
| --------------------------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `models.settings`<br />Solo archivo     | Ninguno                                                                             | Cambios en el catálogo de modelos integrado del servidor, indexados por ID de modelo. Consulta [Entradas de modelo](https://platform.claude.com/docs/es/managed-agents/self-hosted/configuration-reference#model-entries). |
| `compaction.triggers`<br />Solo archivo | Aproximadamente el 90 % de la “context window” (ventana de contexto) de cada modelo | El tamaño del contexto, en tokens, al que un turno en un modelo compacta su historial, indexado por ID de modelo. El mínimo es `50000`. Cada modelo debe admitir compactación.                                             |

### Entradas de modelo

Cada entrada de `models.settings` modifica un modelo del catálogo o agrega uno. Para un modelo del catálogo, un campo que omitas conserva su valor integrado.

| Campo                          | Descripción                                                                                                                                                                                                                                                  |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `fast_supported`               | Si el modelo acepta `speed: "fast"`. Obligatorio para un modelo que agregues.                                                                                                                                                                                |
| `inference_geo_supported`      | Si el modelo acepta `inference_geo`.                                                                                                                                                                                                                         |
| `forced_tool_choice_supported` | Si el modelo acepta una solicitud que lo obliga a llamar a una herramienta. El servidor envía una solicitud de ese tipo solo para ejecutar una llamada a `web_search` o `web_fetch` que se aprobó. Con `false`, nunca fuerza una herramienta en este modelo. |
| `effort_supported`             | Si el modelo acepta un nivel de esfuerzo.                                                                                                                                                                                                                    |
| `effort_levels`                | Los niveles de esfuerzo que acepta el modelo, entre `low`, `medium`, `high`, `xhigh` y `max`. Obligatorio con `effort_supported: true` en un modelo sin niveles integrados.                                                                                  |
| `effort_default`               | El nivel de esfuerzo de una sesión cuyo agente no indica ninguno. Debe ser uno de `effort_levels`. Obligatorio con `effort_supported: true` en un modelo sin valor predeterminado integrado.                                                                 |
| `thinking`                     | El modo de pensamiento que solicita el servidor, `enabled` o `adaptive`.                                                                                                                                                                                     |
| `thinking_budget`              | El presupuesto de pensamiento, en tokens, que envía el servidor con `thinking: enabled`.                                                                                                                                                                     |
| `max_tokens`                   | El valor de `max_tokens` de cada llamada al modelo.                                                                                                                                                                                                          |

## Consola en tu servidor

| Configuración<br />Variable de entorno    | Valor predeterminado | Descripción                                                                                                      |
| ----------------------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `console.serve`<br />`CMA_CONSOLE__SERVE` | `true`               | Si se sirve la [consola en tu servidor](https://platform.claude.com/docs/es/managed-agents/self-hosted/console). |
