---
title: Referensi konfigurasi
url: https://platform.claude.com/docs/id/managed-agents/self-hosted/configuration-reference
description: Lihat tempat pengaturan server Claude Managed Agents yang di-host sendiri disimpan, dan cari kunci, variabel lingkungan, default, dan tujuan setiap pengaturan.
---

<Note>
  Untuk meminta akses ke Claude Managed Agents yang di-host sendiri, hubungi tim akun Anthropic Anda.
</Note>

Halaman ini menunjukkan tempat pengaturan server Claude Managed Agents yang di-host sendiri disimpan, dan mencantumkannya. Untuk menyiapkan fitur, lihat [Single sign-on](https://platform.claude.com/docs/id/managed-agents/self-hosted/configure), [Identitas dan kredensial agen](https://platform.claude.com/docs/id/managed-agents/self-hosted/agent-identity), dan [Penyedia inferensi](https://platform.claude.com/docs/id/managed-agents/self-hosted/inference-provider).

## Tempat pengaturan disimpan

Server membaca pengaturannya dari satu file YAML, dan kredensialnya dari lingkungannya.

* **Docker Compose:** File tersebut adalah `compose.config.yaml`, di samping `docker-compose.yml` di dalam arsip yang diekstrak. Edit file tersebut, lalu jalankan `docker compose restart cma-server` dari direktori tersebut.
* **Kubernetes:** File tersebut adalah nilai `server.config` dari Helm chart server. Edit nilai tersebut di file values Anda, jalankan `helm upgrade`, lalu restart server dengan `kubectl -n cma-server rollout restart deployment -l anthropic.com/role=server`. Lihat [Menerapkan di Kubernetes](https://platform.claude.com/docs/id/managed-agents/self-hosted/kubernetes).

Jika server menolak pengaturan yang ditunjukkan oleh halaman-halaman yang di-host sendiri, [upgrade server](https://platform.claude.com/docs/id/managed-agents/self-hosted/upgrade). `cma-server.example.yaml`, di tingkat teratas arsip, memberi anotasi pada kunci-kunci umum.

Kredensial tidak pernah dimasukkan ke dalam file. Server membacanya dari variabel lingkungan, atau dari identitas yang dilekatkan cloud Anda ke host.

### Meneruskan kredensial ke stack Compose

Di stack Compose, container server hanya menerima variabel yang ada di daftar `environment:` dari layanan `cma-server` di `docker-compose.yml`. Untuk meneruskan variabel lain:

1. Tambahkan namanya ke daftar tersebut, dan tetapkan nilainya di `.env`.
2. Jika kredensial berupa file, letakkan file tersebut di samping `docker-compose.yml`, dan tambahkan baris seperti `- ./gcp-key.json:/etc/cma-server/gcp-key.json:ro` ke daftar `x-server-mounts` di `docker-compose.yml`. Path setelah titik dua pertama adalah path file di dalam container. Gunakan path tersebut sebagai nilai variabel di `.env`, atau sebagai nilai pengaturan yang menyebutkan file tersebut.
3. Jalankan `docker compose up -d`. Restart tidak membaca ulang `.env`.

Upgrade menggantikan `docker-compose.yml`, jadi ulangi pengeditan ini di file rilis baru sebelum Anda memulai stack-nya.

## Cara membaca tabel

Setiap pengaturan memiliki kunci di [file pengaturan](https://platform.claude.com/docs/id/managed-agents/self-hosted/configuration-reference#where-settings-go), dan sebagian besar pengaturan juga memiliki “environment variable” (variabel lingkungan). Variabel menimpa file, dan file menimpa default. Server tidak akan dimulai jika file pengaturannya memiliki kunci yang tidak dikenal, dan pesan kesalahannya menyebutkan lokasi kunci tersebut.

* **Kunci:** Setiap titik dalam kunci adalah satu tingkat penyarangan di dalam file. Misalnya, `server.addr` adalah kunci `addr` di bagian `server`.
* **Variabel:** Nama variabel adalah `CMA_` lalu kunci dalam huruf kapital, dengan dua garis bawah sebagai pengganti setiap titik.
* **Hanya file:** Pengaturan tidak memiliki variabel.
* **Hanya lingkungan:** Server tidak akan dimulai jika pengaturan ada di dalam file.
* **Hanya `bedrock`, dan label serupa:** Pengaturan hanya berfungsi dengan penyedia, store, atau pengelola rahasia tersebut. Jika Anda menetapkannya saat menggunakan yang lain, server tidak akan dimulai.
* **Daftar:** Daftar adalah daftar YAML di dalam file, dan string yang dipisahkan koma di dalam variabel.
* **Durasi:** Durasi adalah angka dengan satuan, seperti `30s`, `5m`, atau `1h`.
* **Bilangan bulat:** Bilangan bulat adalah digit biasa, tanpa tanda, nol di depan, atau garis bawah.

Saat startup, server mencatat di log pengaturan yang Anda tetapkan dan sebagian besar default, masing-masing beserta asal nilainya, seperti `server.addr=0.0.0.0:8400 (file)`. Server mencatat `***` sebagai pengganti rahasia, kecuali kunci API server yang dibuatnya sendiri.

## Server dan logging

| Pengaturan<br />Variabel lingkungan                                               | Default          | Deskripsi                                                                                                                                                                                                                                                                                                                                       |
| --------------------------------------------------------------------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `server.addr`<br />`CMA_SERVER__ADDR`                                             | `127.0.0.1:8400` | Alamat tempat server mendengarkan.                                                                                                                                                                                                                                                                                                              |
| `server.api_key`<br />`CMA_SERVER__API_KEY`                                       | Tidak ada        | [Kunci API server](https://platform.claude.com/docs/id/managed-agents/self-hosted#the-three-credentials). Wajib dengan `store.backend: postgres`, kecuali `auth.refuse_server_api_key` bernilai `true`. Dengan `memory`, server membuat kunci jika Anda tidak menetapkannya, dan mencatatnya di log saat startup.                               |
| `server.id_marker`<br />`CMA_SERVER__ID_MARKER`                                   | `local`          | Apa yang mengikuti prefiks di setiap ID yang dibuat server. `local` menghasilkan `sesn_local_01…`, dan `none` menghasilkan `sesn_01…`, seperti pada layanan yang di-host.                                                                                                                                                                       |
| `server.shutdown_delay`<br />`CMA_SERVER__SHUTDOWN_DELAY`                         | `0s`             | Berapa lama server tetap melayani setelah sinyal berhenti, sementara probe kesiapannya menjawab `not_ready`. Maksimumnya adalah `5m`.                                                                                                                                                                                                           |
| `server.max_connections`<br />`CMA_SERVER__MAX_CONNECTIONS`                       | `0`              | Jumlah koneksi terbanyak yang dibuka server sekaligus pada `server.addr`. `0` berarti tanpa batas. Saat mencapai batas, koneksi baru menunggu hingga koneksi lain ditutup atau kliennya menyerah. Event stream, poll worker, dan probe kesehatan semuanya dihitung. Di Kubernetes, kubelet me-restart pod yang probe-nya menunggu terlalu lama. |
| `logging.format`<br />`CMA_LOGGING__FORMAT`                                       | `text`           | Format log, `text` atau `json`.                                                                                                                                                                                                                                                                                                                 |
| `logging.level`<br />`CMA_LOGGING__LEVEL`                                         | `info`           | Tingkat terendah yang dicatat server di log. Nilainya adalah `debug`, `info`, `warn`, dan `error`.                                                                                                                                                                                                                                              |
| `logging.errors`<br />`CMA_LOGGING__ERRORS`                                       | `false`          | Apakah log menyertakan pesan kesalahan dari respons `4xx` dan `5xx`. Sebuah pesan dapat mengutip nilai yang dikirim klien.                                                                                                                                                                                                                      |
| `health.check_interval`<br />`CMA_HEALTH__CHECK_INTERVAL`                         | `60s`            | Seberapa sering server memeriksa kredensial inferensinya untuk probe kesiapan. Minimumnya adalah `5s`.                                                                                                                                                                                                                                          |
| `health.upstream_affects_readiness`<br />`CMA_HEALTH__UPSTREAM_AFFECTS_READINESS` | `true`           | Apakah probe kesiapan menjawab `503` selama penyedia inferensi menolak kredensial server.                                                                                                                                                                                                                                                       |

## Database

Setiap pengaturan dalam tabel ini kecuali `store.backend` hanya berlaku dengan `store.backend: postgres`.

| Pengaturan<br />Variabel lingkungan                                                                                       | Default                         | Deskripsi                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `store.backend`<br />`CMA_STORE__BACKEND`                                                                                 | `memory`                        | Tempat server menyimpan datanya. Nilainya adalah `memory`, yang terhapus saat restart, dan `postgres`.                                                                                                                                                                                                        |
| `store.database_url`<br />`CMA_STORE__DATABASE_URL`                                                                       | Tidak ada                       | String koneksi PostgreSQL. Wajib dengan `postgres`.                                                                                                                                                                                                                                                           |
| `store.control_database_url`<br />`CMA_STORE__CONTROL_DATABASE_URL`                                                       | Nilai dari `store.database_url` | String koneksi untuk koneksi pemeliharaan milik server sendiri, seperti heartbeat-nya.                                                                                                                                                                                                                        |
| `store.listen_database_url`<br />`CMA_STORE__LISTEN_DATABASE_URL`                                                         | Nilai dari `store.database_url` | String koneksi untuk satu koneksi tempat server mendengarkan notifikasi. Connection pooler dalam mode transaksi tidak dapat membawa koneksi tersebut.                                                                                                                                                         |
| `store.migrate_database_url`<br />`CMA_STORE__MIGRATE_DATABASE_URL`                                                       | Nilai dari `store.database_url` | String koneksi yang digunakan perintah `migrate` server. Connection pooler dalam mode transaksi tidak dapat membawa koneksi tersebut.                                                                                                                                                                         |
| `store.pool_max_conns`<br />`CMA_STORE__POOL_MAX_CONNS`                                                                   | `24`                            | Jumlah koneksi database terbanyak yang dibuka pool satu server. Minimumnya adalah `4`.                                                                                                                                                                                                                        |
| `store.event_poll_interval`<br />`CMA_STORE__EVENT_POLL_INTERVAL`                                                         | `25ms`                          | Seberapa sering setiap server meminta event terbaru kepada database untuk sesi yang sedang di-streaming oleh kliennya. Event yang dicatat oleh server lain menunggu paling lama sekitar selama durasi ini untuk mencapai stream.                                                                              |
| `store.credentials_encryption_key`<br />`CMA_STORE__CREDENTIALS_ENCRYPTION_KEY`<br />Hanya lingkungan                     | Tidak ada                       | Kunci yang mengenkripsi kredensial tersimpan di database, sebagai 32 byte acak dalam base64. Instalasi Docker Compose dan Kubernetes menetapkannya. Server tidak akan dimulai tanpanya, kecuali `store.allow_unencrypted_credentials` bernilai `true`.                                                        |
| `store.allow_unencrypted_credentials`<br />`CMA_STORE__ALLOW_UNENCRYPTED_CREDENTIALS`                                     | `false`                         | Apakah server dapat dimulai tanpa `store.credentials_encryption_key`. Tanpa kunci tersebut, server menyimpan kredensial di database dalam teks biasa. `true` tidak berpengaruh jika `git.allowed_hostnames` mencantumkan sebuah host, atau jika Anda menginstal dengan Docker Compose atau Helm chart server. |
| `store.credentials_encryption_keys_retiring`<br />`CMA_STORE__CREDENTIALS_ENCRYPTION_KEYS_RETIRING`<br />Hanya lingkungan | Tidak ada                       | Kunci enkripsi sebelumnya yang masih dapat digunakan server untuk mendekripsi selama rotasi kunci. Pengaturan ini memerlukan `store.credentials_encryption_key`.                                                                                                                                              |

## Penyedia inferensi

Untuk menyiapkan penyedia, lihat [Penyedia inferensi](https://platform.claude.com/docs/id/managed-agents/self-hosted/inference-provider).

| Pengaturan<br />Variabel lingkungan                                  | Default     | Deskripsi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| -------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `inference.provider`<br />`CMA_INFERENCE__PROVIDER`                  | `anthropic` | Tempat server mengirim panggilan model. Nilainya adalah `anthropic`, `bedrock`, `vertex`, `foundry`, dan `gateway`.                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `inference.headers`<br />Hanya file                                  | Tidak ada   | Header permintaan yang ditambahkan server ke setiap panggilan model, sebagai map dari nama header ke nilai. Beri tanda kutip pada setiap nilai. Server menolak untuk dimulai pada nilai tanpa tanda kutip yang tidak dibaca YAML sebagai teks, seperti `true` atau `0042`. Dengan `gateway`, nilai juga dapat berupa `{ from: request_id }` atau `{ from: session_id }`.                                                                                                                                                                                     |
| `inference.model_fallback`<br />`CMA_INFERENCE__MODEL_FALLBACK`      | `true`      | Hanya `anthropic`. Apakah panggilan model meminta [fallback sisi server](https://platform.claude.com/docs/id/build-with-claude/refusals-and-fallback#server-side-fallback). Panggilan tersebut membawa field `fallbacks` dan header `anthropic-beta: server-side-fallback-2026-07-01`. Proxy yang Anda sebutkan di `ANTHROPIC_BASE_URL` mungkin menolak field atau header tersebut. Jika proxy menjawab dengan `400` atau `422`, server mengirim panggilan tersebut lagi tanpa keduanya.                                                                     |
| `inference.metadata.user_id`<br />`CMA_INFERENCE__METADATA__USER_ID` | Tidak ada   | Hanya `anthropic` dan `foundry`, atau `gateway` dengan `format: anthropic-messages`. Satu pengidentifikasi yang dikirim server sebagai `metadata.user_id` bersama setiap panggilan model. Log startup mencetaknya. Tanpa pengaturan ini, server mengirim label `cma-server`. Anda tidak dapat menonaktifkan `metadata.user_id`. Jika penyedia atau proxy menolaknya, setiap panggilan model akan gagal. Lihat [Apa yang keluar dari jaringan Anda](https://platform.claude.com/docs/id/managed-agents/self-hosted-data-and-access#what-leaves-your-network). |

### Penyedia cloud

| Pengaturan<br />Variabel lingkungan                                  | Default         | Deskripsi                                                                                                                                                                                                                                                                                                                                                                                                                             |
| -------------------------------------------------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `inference.region`<br />`CMA_INFERENCE__REGION`                      | Tidak ada       | Hanya `bedrock` dan `vertex`. AWS Region, atau lokasi di Google Cloud’s Agent Platform. Wajib dengan `vertex`. Tanpanya, `bedrock` menggunakan Region yang ditemukan oleh rantai default AWS SDK.                                                                                                                                                                                                                                     |
| `inference.project_id`<br />`CMA_INFERENCE__PROJECT_ID`              | Tidak ada       | Hanya `vertex`. Proyek Google Cloud tempat panggilan dilakukan. Wajib kecuali kredensial Google menyebutkan sebuah proyek.                                                                                                                                                                                                                                                                                                            |
| `inference.api`<br />`CMA_INFERENCE__API`                            | `invoke_model`  | Hanya `bedrock`. API Amazon Bedrock yang membawa panggilan, `invoke_model` atau `messages`. `messages` adalah endpoint yang dijelaskan di [Claude in Amazon Bedrock (`bedrock-mantle`)](https://platform.claude.com/docs/id/build-with-claude/claude-in-amazon-bedrock). Dengannya, peran AWS server memerlukan `bedrock-mantle:CreateInference` sebagai pengganti `bedrock:InvokeModel` dan `bedrock:InvokeModelWithResponseStream`. |
| `inference.list_models`<br />`CMA_INFERENCE__LIST_MODELS`            | `true`          | Hanya `bedrock`. Apakah server membaca daftar model Claude dari Amazon Bedrock. Dengan daftar tersebut, agen dapat menggunakan model yang dirilis setelah rilis server Anda.                                                                                                                                                                                                                                                          |
| `inference.model_id_prefix`<br />`CMA_INFERENCE__MODEL_ID_PREFIX`    | `us.anthropic.` | Hanya `bedrock`. Teks yang ditempatkan server sebelum setiap ID model. Dengan `inference.api: messages`, defaultnya adalah `anthropic.`.                                                                                                                                                                                                                                                                                              |
| `inference.model_id_overrides`<br />Hanya file                       | Tidak ada       | Hanya `bedrock`, `vertex`, dan `foundry`. Map dari ID model ke ID persis yang diharapkan penyedia. Dengan `foundry`, ID tersebut adalah nama deployment.                                                                                                                                                                                                                                                                              |
| `inference.foundry.resource`<br />`CMA_INFERENCE__FOUNDRY__RESOURCE` | Tidak ada       | Hanya `foundry`. Nama resource Foundry. Tetapkan ini atau `inference.foundry.base_url`, bukan keduanya.                                                                                                                                                                                                                                                                                                                               |
| `inference.foundry.base_url`<br />`CMA_INFERENCE__FOUNDRY__BASE_URL` | Tidak ada       | Hanya `foundry`. Secara default, panggilan dikirim ke `https://<resource>.services.ai.azure.com/anthropic`. Untuk menjangkau resource di alamat lain, seperti proxy, tetapkan URL tersebut di sini sebagai gantinya. URL tersebut diakhiri dengan `/anthropic`.                                                                                                                                                                       |

### Gateway model

Pengaturan ini hanya berlaku dengan `inference.provider: gateway`. Lihat [Gateway model](https://platform.claude.com/docs/id/managed-agents/self-hosted/inference-provider#model-gateway).

| Pengaturan<br />Variabel lingkungan                                                       | Default         | Deskripsi                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ----------------------------------------------------------------------------------------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `inference.gateway.url`<br />`CMA_INFERENCE__GATEWAY__URL`                                | Tidak ada       | Wajib. URL yang menerima panggilan model. Dengan `bedrock-invoke` dan `vertex-raw-predict`, `{model}` menandai tempat ID model ditempatkan. Dengan `vertex-raw-predict`, URL harus diakhiri dengan `/{model}:rawPredict`.                                                                                                                                                                                                                 |
| `inference.gateway.format`<br />`CMA_INFERENCE__GATEWAY__FORMAT`                          | Tidak ada       | Wajib. Format permintaan yang diterima gateway: `bedrock-invoke`, `anthropic-messages`, atau `vertex-raw-predict`.                                                                                                                                                                                                                                                                                                                        |
| `inference.gateway.model_map`<br />Hanya file                                             | Tidak ada       | Wajib. Map dari setiap ID model yang dapat disebutkan agen ke ID yang diharapkan gateway. Beri tanda kutip pada setiap nilai, seperti untuk `inference.headers`.                                                                                                                                                                                                                                                                          |
| `inference.gateway.streaming`<br />`CMA_INFERENCE__GATEWAY__STREAMING`                    | `false`         | Apakah server mengirim panggilan streaming dari format tersebut, sehingga balasan tiba saat model menghasilkannya. Dengan `bedrock-invoke`, panggilan tersebut dikirim ke URL yang sama dengan tambahan `-with-response-stream` di akhirnya. Dengan `vertex-raw-predict`, panggilan tersebut dikirim ke URL yang sama dengan `:streamRawPredict` sebagai pengganti `:rawPredict`. Biarkan `:rawPredict` tetap di `inference.gateway.url`. |
| `inference.credentials.supplier`<br />`CMA_INFERENCE__CREDENTIALS__SUPPLIER`              | Tidak ada       | Wajib. Asal kredensial gateway. `env` berarti satu kunci berumur panjang, `oauth_exchange` berarti token berumur pendek, dan `azure` berarti token Microsoft Entra ID yang diterbitkan untuk identitas Azure milik server sendiri.                                                                                                                                                                                                        |
| `inference.credentials.env.var`<br />`CMA_INFERENCE__CREDENTIALS__ENV__VAR`               | Tidak ada       | Wajib dengan `env`. Nama variabel lingkungan yang menyimpan kunci.                                                                                                                                                                                                                                                                                                                                                                        |
| `inference.credentials.azure.scope`<br />`CMA_INFERENCE__CREDENTIALS__AZURE__SCOPE`       | Tidak ada       | Wajib dengan `azure`. Cakupan yang digunakan server untuk meminta token: URI ID aplikasi atau ID aplikasi dari pendaftaran aplikasi gateway Anda, diikuti dengan `/.default`.                                                                                                                                                                                                                                                             |
| `inference.credentials.send_as.header`<br />`CMA_INFERENCE__CREDENTIALS__SEND_AS__HEADER` | `Authorization` | Header permintaan yang membawa kredensial.                                                                                                                                                                                                                                                                                                                                                                                                |
| `inference.credentials.send_as.scheme`<br />`CMA_INFERENCE__CREDENTIALS__SEND_AS__SCHEME` | `Bearer`        | Kata yang mendahului kredensial di dalam header. Pada header apa pun selain `Authorization`, defaultnya adalah tanpa skema.                                                                                                                                                                                                                                                                                                               |
| `inference.credentials.renew_before`<br />`CMA_INFERENCE__CREDENTIALS__RENEW_BEFORE`      | `90s`           | Dengan `oauth_exchange`, seberapa awal server mengganti token. Server berhenti menggunakan token dalam cache selama durasi ini sebelum token kedaluwarsa, dan memperoleh token lain untuk panggilan model berikutnya. Jaga nilai ini tetap di bawah masa berlaku token Anda. Server menolak token apa pun yang berlaku kurang dari nilai ini.                                                                                             |

### Token gateway berumur pendek

Pengaturan ini hanya berlaku dengan `inference.credentials.supplier: oauth_exchange`. Lihat [Token berumur pendek](https://platform.claude.com/docs/id/managed-agents/self-hosted/inference-provider#short-lived-tokens). Pengaturan `exchange` bersifat opsional sebagai satu kelompok. Tanpanya, server mengirim ke gateway apa yang dikembalikan callback.

| Pengaturan<br />Variabel lingkungan                                                                               | Default      | Deskripsi                                                                                                                                                                                                                                       |
| ----------------------------------------------------------------------------------------------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `inference.credentials.assertion.url`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__URL`                           | Tidak ada    | Wajib. URL callback HTTP yang mengembalikan assertion yang ditandatangani.                                                                                                                                                                      |
| `inference.credentials.assertion.auth.type`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TYPE`              | Tidak ada    | Wajib. Cara server mengautentikasi ke callback, `mtls` atau `bearer_file`.                                                                                                                                                                      |
| `inference.credentials.assertion.auth.cert_file`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CERT_FILE`    | Tidak ada    | Wajib dengan `mtls`. Path sertifikat klien milik server.                                                                                                                                                                                        |
| `inference.credentials.assertion.auth.key_file`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__KEY_FILE`      | Tidak ada    | Wajib dengan `mtls`. Path kunci privat sertifikat klien.                                                                                                                                                                                        |
| `inference.credentials.assertion.auth.token_file`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TOKEN_FILE`  | Tidak ada    | Wajib dengan `bearer_file`. Path file yang menyimpan bearer token.                                                                                                                                                                              |
| `inference.credentials.assertion.auth.ca_file`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CA_FILE`        | Tidak ada    | Path file PEM berisi otoritas sertifikat yang dipercaya server untuk callback.                                                                                                                                                                  |
| `inference.credentials.assertion.forward_metadata`<br />`CMA_INFERENCE__CREDENTIALS__ASSERTION__FORWARD_METADATA` | Tidak ada    | Kunci metadata sesi yang nilainya dikirim server ke callback. Nilai tersebut tiba sebagai `session.metadata` di body permintaan. Nilainya adalah apa pun yang ditulis pemanggil API, jadi periksa nilai tersebut terhadap catatan Anda sendiri. |
| `inference.credentials.exchange.token_url`<br />`CMA_INFERENCE__CREDENTIALS__EXCHANGE__TOKEN_URL`                 | Tidak ada    | Wajib untuk pertukaran. Endpoint token OAuth tempat server menukar assertion dengan token.                                                                                                                                                      |
| `inference.credentials.exchange.grant_type`<br />`CMA_INFERENCE__CREDENTIALS__EXCHANGE__GRANT_TYPE`               | Tidak ada    | Wajib untuk pertukaran. `grant_type` yang dikirim server, seperti `urn:ietf:params:oauth:grant-type:jwt-bearer`.                                                                                                                                |
| `inference.credentials.exchange.encoding`<br />`CMA_INFERENCE__CREDENTIALS__EXCHANGE__ENCODING`                   | `form`       | Cara server mengenkode permintaan pertukaran, `form` atau `multipart`.                                                                                                                                                                          |
| `inference.credentials.exchange.expiry`<br />`CMA_INFERENCE__CREDENTIALS__EXCHANGE__EXPIRY`                       | `expires_in` | Tempat server membaca masa berlaku token. `expires_in` berarti yang lebih awal antara `expires_in` dari respons dan klaim `exp` token. `jwt_exp` berarti hanya klaim `exp`.                                                                     |
| `inference.credentials.exchange.headers`<br />Hanya file                                                          | Tidak ada    | Header permintaan tambahan untuk endpoint token, sebagai map dari nama header ke nilai. Beri tanda kutip pada setiap nilai, seperti untuk `inference.headers`.                                                                                  |
| `inference.credentials.exchange.ca_file`<br />`CMA_INFERENCE__CREDENTIALS__EXCHANGE__CA_FILE`                     | Tidak ada    | Path file PEM berisi otoritas sertifikat yang dipercaya server untuk endpoint token.                                                                                                                                                            |

## Single sign-on

Untuk menyiapkan proses masuk, lihat [Single sign-on](https://platform.claude.com/docs/id/managed-agents/self-hosted/configure).

| Pengaturan<br />Variabel lingkungan          | Default   | Deskripsi                                                                                                                                                                             |
| -------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `auth.issuers`<br />Hanya file               | Tidak ada | Penerbit OpenID Connect yang tokennya diterima server. Lihat [Entri penerbit](https://platform.claude.com/docs/id/managed-agents/self-hosted/configuration-reference#issuer-entries). |
| `auth.refuse_server_api_key`<br />Hanya file | `false`   | Apakah server menolak kunci API server di setiap rute. `true` memerlukan setidaknya satu penerbit. Setiap perintah CLI admin yang menggunakan kunci tersebut kemudian akan gagal.     |

### Entri penerbit

Setiap entri `auth.issuers` menerima field berikut:

| Field             | Default    | Deskripsi                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ----------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`            | Tidak ada  | Wajib. Label untuk penerbit di baris log. Server juga mencatatnya sebagai bagian dari pembuat setiap resource.                                                                                                                                                                                                                                                                                                                                                          |
| `issuer_url`      | Tidak ada  | Wajib. URL penerbit, persis seperti di klaim `iss` pada token-tokennya. Server mengambil kunci penandatanganan dari host ini dan dari host `jwks_uri` yang disebutkan dalam dokumen discovery penerbit. Jika jaringan Anda membatasi koneksi keluar, izinkan kedua host tersebut.                                                                                                                                                                                       |
| `audiences`       | Tidak ada  | Wajib. Nilai yang dapat dibawa oleh klaim `aud` token. Jika aplikasi meneruskan token yang sudah mereka miliki, cantumkan ID klien setiap aplikasi.                                                                                                                                                                                                                                                                                                                     |
| `roles`           | Tidak ada  | Daftar pasangan `group` dan `role`. Grup cocok secara persis, atau sebagai pola dengan `*` mewakili rangkaian karakter apa pun dan `?` mewakili satu karakter. Peran adalah `admin`, `developer`, atau `user`. Peran tertinggi yang cocok yang berlaku. Tetapkan `roles`, `default_role`, atau keduanya.                                                                                                                                                                |
| `default_role`    | Tidak ada  | Peran pemanggil yang grupnya tidak cocok dengan entri `roles` mana pun. Tetapkan hanya jika setiap orang yang dapat memperoleh token untuk audience ini seharusnya memiliki akses.                                                                                                                                                                                                                                                                                      |
| `subject_claim`   | `sub`      | Klaim yang mengidentifikasi pemanggil. Nama yang diawali dengan `/` adalah JSON Pointer ke dalam klaim bersarang.                                                                                                                                                                                                                                                                                                                                                       |
| `stable_subject`  | `false`    | Hanya berlaku jika `subject_claim` menyebutkan klaim selain `sub` atau `oid`. Tetapkan `true` untuk mengonfirmasi bahwa penyedia Anda tidak pernah mengubah nilai klaim tersebut milik seseorang dan tidak pernah memberikannya kepada orang lain. Server tidak memeriksa hal ini. Dengan `false`, [token agen](https://platform.claude.com/docs/id/managed-agents/self-hosted/configuration-reference#agent-identity) menghilangkan klaim `actor_sub` dan `actor_iss`. |
| `groups_claim`    | `groups`   | Klaim yang mencantumkan grup pemanggil. Nama yang diawali dengan `/` adalah JSON Pointer ke dalam klaim bersarang.                                                                                                                                                                                                                                                                                                                                                      |
| `jwks_file`       | Tidak ada  | Path file JSON Web Key Set. Server membaca kunci penandatanganan darinya dan tidak pernah menghubungi penerbit.                                                                                                                                                                                                                                                                                                                                                         |
| `login_client_id` | Tidak ada  | ID klien aplikasi yang digunakan oleh [login terminal](https://platform.claude.com/docs/id/managed-agents/self-hosted/configure#let-developers-log-in-from-a-terminal). Hanya satu penerbit yang dapat menetapkannya.                                                                                                                                                                                                                                                   |
| `login_scopes`    | `[openid]` | Cakupan yang diminta oleh login. Field ini memerlukan `login_client_id`.                                                                                                                                                                                                                                                                                                                                                                                                |

## Pengelola rahasia

Untuk menyiapkan store, lihat [Pengelola rahasia](https://platform.claude.com/docs/id/managed-agents/self-hosted/agent-identity#secret-manager).

| Pengaturan<br />Variabel lingkungan                         | Default   | Deskripsi                                                                                                                                                                                                                                                      |
| ----------------------------------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `secret_store.type`<br />`CMA_SECRET_STORE__TYPE`           | Tidak ada | Pengelola rahasia yang menyimpan kredensial vault. Nilainya adalah `aws_secrets_manager`, `gcp_secret_manager`, `azure_key_vault`, dan `hashicorp_vault`. Tanpanya, kredensial vault tetap berada di database.                                                 |
| `secret_store.prefix`<br />`CMA_SECRET_STORE__PREFIX`       | Tidak ada | Wajib dengan `secret_store.type`. Awal nama setiap rahasia yang dibuat server. Awalan ini harus diakhiri dengan `/` untuk `aws_secrets_manager` dan `hashicorp_vault`, dengan `-` atau `_` untuk `gcp_secret_manager`, dan dengan `-` untuk `azure_key_vault`. |
| `secret_store.region`<br />`CMA_SECRET_STORE__REGION`       | Tidak ada | Hanya `aws_secrets_manager`, dan wajib di sana. AWS Region yang menyimpan rahasia.                                                                                                                                                                             |
| `secret_store.project`<br />`CMA_SECRET_STORE__PROJECT`     | Tidak ada | Hanya `gcp_secret_manager`, dan wajib di sana. ID proyek Google Cloud yang menyimpan rahasia.                                                                                                                                                                  |
| `secret_store.vault_url`<br />`CMA_SECRET_STORE__VAULT_URL` | Tidak ada | Hanya `azure_key_vault`, dan wajib di sana. URL key vault, seperti `https://my-vault.vault.azure.net`.                                                                                                                                                         |

### HashiCorp Vault

Pengaturan ini hanya berlaku dengan `secret_store.type: hashicorp_vault`. Tetapkan tepat satu metode login: `token_file`, `kubernetes`, atau `approle`.

| Pengaturan<br />Variabel lingkungan                                                                                  | Default                                               | Deskripsi                                                                                                                |
| -------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `secret_store.address`<br />`CMA_SECRET_STORE__ADDRESS`                                                              | Tidak ada                                             | Wajib. URL `https://` server Vault.                                                                                      |
| `secret_store.namespace`<br />`CMA_SECRET_STORE__NAMESPACE`                                                          | Tidak ada                                             | Namespace Vault Enterprise yang menampung mount dan metode login.                                                        |
| `secret_store.mount`<br />`CMA_SECRET_STORE__MOUNT`                                                                  | `secret`                                              | Path mesin rahasia KV versi 2.                                                                                           |
| `secret_store.ca_cert_file`<br />`CMA_SECRET_STORE__CA_CERT_FILE`                                                    | Tidak ada                                             | Path file PEM berisi otoritas sertifikat yang menandatangani sertifikat Vault.                                           |
| `secret_store.token_file`<br />`CMA_SECRET_STORE__TOKEN_FILE`                                                        | Tidak ada                                             | Path file berisi token Vault yang dijaga tetap terbaru oleh proses lain, seperti Vault Agent.                            |
| `secret_store.kubernetes.role`<br />`CMA_SECRET_STORE__KUBERNETES__ROLE`                                             | Tidak ada                                             | Wajib dengan `kubernetes`. Peran Vault yang digunakan server untuk login. Ikat peran tersebut ke service account server. |
| `secret_store.kubernetes.mount_path`<br />`CMA_SECRET_STORE__KUBERNETES__MOUNT_PATH`                                 | `kubernetes`                                          | Tempat Vault memasang metode login Kubernetes.                                                                           |
| `secret_store.kubernetes.service_account_token_file`<br />`CMA_SECRET_STORE__KUBERNETES__SERVICE_ACCOUNT_TOKEN_FILE` | `/var/run/secrets/kubernetes.io/serviceaccount/token` | Path token service account yang diberikan server pada setiap login.                                                      |
| `secret_store.approle.role_id`<br />`CMA_SECRET_STORE__APPROLE__ROLE_ID`                                             | Tidak ada                                             | Wajib dengan `approle`. ID peran AppRole yang digunakan server untuk login.                                              |
| `secret_store.approle.secret_id_file`<br />`CMA_SECRET_STORE__APPROLE__SECRET_ID_FILE`                               | Tidak ada                                             | Wajib dengan `approle`. Path file berisi `secret_id` peran tersebut.                                                     |
| `secret_store.approle.mount_path`<br />`CMA_SECRET_STORE__APPROLE__MOUNT_PATH`                                       | `approle`                                             | Tempat Vault memasang metode login AppRole.                                                                              |

## Identitas agen

Untuk menyiapkan token agen, lihat [Identitas agen](https://platform.claude.com/docs/id/managed-agents/self-hosted/agent-identity#agent-identity). Pengaturan apa pun dalam tabel ini mengaktifkan fitur tersebut. Server kemudian memerlukan `agent_identity.issuer` dan tepat satu tempat untuk kunci penandatanganan: `key_file`, `key_secret`, atau `kms_key`.

| Pengaturan<br />Variabel lingkungan                                                 | Default                          | Deskripsi                                                                                                                                                                                                                                                                                                                             |
| ----------------------------------------------------------------------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `agent_identity.issuer`<br />`CMA_AGENT_IDENTITY__ISSUER`                           | Tidak ada                        | URL `https://` yang dibawa token agen sebagai klaim `iss`-nya.                                                                                                                                                                                                                                                                        |
| `agent_identity.key_file`<br />`CMA_AGENT_IDENTITY__KEY_FILE`                       | Tidak ada                        | Path kunci privat PEM yang menandatangani token.                                                                                                                                                                                                                                                                                      |
| `agent_identity.key_secret`<br />`CMA_AGENT_IDENTITY__KEY_SECRET`                   | Tidak ada                        | Nama rahasia yang menyimpan kunci privat PEM di pengelola rahasia Anda, tanpa `secret_store.prefix`.                                                                                                                                                                                                                                  |
| `agent_identity.kms_key.provider`<br />`CMA_AGENT_IDENTITY__KMS_KEY__PROVIDER`      | Tidak ada                        | Layanan manajemen kunci yang menyimpan kunci penandatanganan, `aws_kms` atau `gcp_kms`.                                                                                                                                                                                                                                               |
| `agent_identity.kms_key.key`<br />`CMA_AGENT_IDENTITY__KMS_KEY__KEY`                | Tidak ada                        | Wajib dengan `kms_key.provider`. ARN kunci untuk `aws_kms`, atau nama resource dari satu versi kunci untuk `gcp_kms`.                                                                                                                                                                                                                 |
| `agent_identity.published_key_files`<br />`CMA_AGENT_IDENTITY__PUBLISHED_KEY_FILES` | Tidak ada                        | Path kunci publik PEM tambahan untuk set kunci. Server memublikasikan kunci-kunci ini tetapi tidak pernah menandatangani dengannya. Gunakan pengaturan ini saat Anda merotasi kunci penandatanganan.                                                                                                                                  |
| `agent_identity.token_lifetime`<br />`CMA_AGENT_IDENTITY__TOKEN_LIFETIME`           | `5m`                             | Waktu dari klaim `iat` token hingga klaim `exp`-nya. Token yang sudah dikirim tetap berlaku hingga `exp`-nya. Minimumnya adalah `limits.mcp_call_timeout` ditambah `1m`, dan maksimumnya adalah `15m`.                                                                                                                                |
| `agent_identity.jwks_uri`<br />`CMA_AGENT_IDENTITY__JWKS_URI`                       | `<issuer>/.well-known/jwks.json` | URL yang diberikan dokumen discovery penerbit untuk set kunci. Tetapkan hanya jika Anda meng-host set kunci di tempat lain selain di bawah URL penerbit.                                                                                                                                                                              |
| `agent_identity.direct.audiences`<br />Hanya file                                   | Tidak ada                        | Penerima yang dapat memperoleh token. Setiap entri memiliki URL `audience` dan `urls`, yaitu prefiks URL server MCP penerima tersebut.                                                                                                                                                                                                |
| `agent_identity.actor.enabled`<br />`CMA_AGENT_IDENTITY__ACTOR__ENABLED`            | `true`                           | Apakah server menambahkan klaim `actor_sub` dan `actor_iss` ke token panggilan alat. `actor_sub` adalah subjek pemanggil yang membuat sesi. `actor_iss` adalah `issuer_url` dari entri `auth.issuers` yang digunakan pemanggil untuk masuk. Tidak satu pun dari klaim tersebut berarti bahwa pemanggil menyetujui panggilan tersebut. |

## Gateway egress

Untuk menyiapkan gateway, lihat [Kredensial variabel lingkungan](https://platform.claude.com/docs/id/managed-agents/self-hosted/agent-identity#environment-variable-credentials). Tetapkan pengaturan lain dalam tabel ini hanya dengan `egress.gateway_enabled: true`. Tanpanya, server tidak akan dimulai jika salah satu pengaturan tersebut ditetapkan.

| Pengaturan<br />Variabel lingkungan                                     | Default         | Deskripsi                                                                                                                                                                                                                                                                  |
| ----------------------------------------------------------------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `egress.gateway_enabled`<br />`CMA_EGRESS__GATEWAY_ENABLED`             | `false`         | Apakah server bekerja dengan gateway egress dan menerima kredensial vault `environment_variable`.                                                                                                                                                                          |
| `egress.allowed_hostnames`<br />`CMA_EGRESS__ALLOWED_HOSTNAMES`         | Tidak ada       | Hostname publik persis yang dapat dijangkau sandbox melalui gateway. Entri tanpa port, seperti `api.example.com`, mengizinkan port 443 untuk URL `https` dan port 80 untuk URL `http`. Entri dengan port, seperti `api.example.com:8443`, hanya mengizinkan port tersebut. |
| `egress.swap_header_names`<br />`CMA_EGRESS__SWAP_HEADER_NAMES`         | `Authorization` | Header permintaan tempat gateway dapat memasukkan nilai kredensial. Daftar Anda sendiri menggantikan default, jadi sertakan `Authorization` di dalamnya.                                                                                                                   |
| `egress.gateway_listen`<br />`CMA_EGRESS__GATEWAY_LISTEN`               | `:8410`         | Alamat listener kedua server, yang hanya melayani gateway. Default mendengarkan di setiap antarmuka.                                                                                                                                                                       |
| `egress.gateway_key_file`<br />`CMA_EGRESS__GATEWAY_KEY_FILE`           | Tidak ada       | Wajib. Path file berisi kunci yang diberikan gateway ke server.                                                                                                                                                                                                            |
| `egress.ca_cert_file`<br />`CMA_EGRESS__CA_CERT_FILE`                   | Tidak ada       | Wajib. Path sertifikat PEM dari otoritas sertifikat gateway.                                                                                                                                                                                                               |
| `egress.gateway_proxy_address`<br />`CMA_EGRESS__GATEWAY_PROXY_ADDRESS` | Tidak ada       | Wajib. `host:port` tempat sandbox menjangkau port proxy gateway.                                                                                                                                                                                                           |

## Server MCP

Lihat [Server MCP memerlukan entri allowlist](https://platform.claude.com/docs/id/managed-agents/self-hosted/differences#mcp-servers-need-an-allowlist-entry).

| Pengaturan<br />Variabel lingkungan                       | Default            | Deskripsi                                                                                             |
| --------------------------------------------------------- | ------------------ | ----------------------------------------------------------------------------------------------------- |
| `mcp.allowed_hostnames`<br />`CMA_MCP__ALLOWED_HOSTNAMES` | Tidak ada          | Hostname persis server MCP yang dapat dihubungi server. Tanpanya, server tidak terhubung ke mana pun. |
| `mcp.private_hostnames`<br />Hanya file                   | Tidak ada          | Hostname dari `mcp.allowed_hostnames` yang dapat di-resolve ke alamat privat.                         |
| `mcp.max_result_bytes`<br />`CMA_MCP__MAX_RESULT_BYTES`   | `102400` (100 KiB) | Jumlah byte terbanyak dari satu hasil alat MCP yang dilihat model. Minimumnya adalah `1024`.          |

## Repositori Git

Lihat [Repositori Git memerlukan entri allowlist](https://platform.claude.com/docs/id/managed-agents/self-hosted/differences#git-repositories-need-an-allowlist-entry).

| Pengaturan<br />Variabel lingkungan                                         | Default                 | Deskripsi                                                                                                                                                                                                                                                                                                                                                     |
| --------------------------------------------------------------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `git.allowed_hostnames`<br />`CMA_GIT__ALLOWED_HOSTNAMES`                   | Tidak ada               | Host Git tempat repositori sesi dapat berada. Hostname dicocokkan secara persis, tanpa wildcard, dan sebuah entri tidak mencakup subdomainnya. Sebuah entri mengizinkan port 443, atau satu port yang disebutkannya, seperti pada `git.example.com:8443`. Tanpa pengaturan ini, server tidak menerima repositori apa pun.                                     |
| `git.private_hostnames`<br />Hanya file                                     | Tidak ada               | Hostname dari `git.allowed_hostnames` yang di-resolve ke alamat privat, ditulis tanpa port. Untuk hostname lain mana pun, server hanya terhubung ke alamat publiknya.                                                                                                                                                                                         |
| `git.allowed_push_refs`<br />`CMA_GIT__ALLOWED_PUSH_REFS`                   | Tidak ada               | Branch tempat agen dapat melakukan push, masing-masing di bawah `refs/heads/`. Entri yang diakhiri dengan `/` mengizinkan setiap branch di bawahnya. Entri lainnya mengizinkan satu branch tersebut. Tanpa pengaturan ini, agen tidak dapat melakukan push.                                                                                                   |
| `git.commit_author_name`<br />`CMA_GIT__COMMIT_AUTHOR_NAME`                 | `Claude`                | Nama penulis pada commit agen. Tetapkan bersama dengan `git.commit_author_email`.                                                                                                                                                                                                                                                                             |
| `git.commit_author_email`<br />`CMA_GIT__COMMIT_AUTHOR_EMAIL`               | `noreply@anthropic.com` | Alamat email penulis pada commit agen. Tetapkan bersama dengan `git.commit_author_name`.                                                                                                                                                                                                                                                                      |
| `git.max_concurrent_transfers`<br />`CMA_GIT__MAX_CONCURRENT_TRANSFERS`     | `32`                    | Jumlah permintaan Git terbanyak yang dibawa satu server sekaligus. Minimumnya adalah `1`.                                                                                                                                                                                                                                                                     |
| `git.max_session_transfer_bytes`<br />`CMA_GIT__MAX_SESSION_TRANSFER_BYTES` | `8589934592` (8 GiB)    | Jumlah lalu lintas Git terbanyak, dalam byte, yang dibawa satu server untuk satu sesi, unggahan dan unduhan digabungkan. Hitungan dimulai ulang dari nol setiap kali sandbox mengambil sesi. Saat mencapai batas, server menolak permintaan Git berikutnya dari sesi tersebut dengan `403`. `0` berarti tanpa batas. Jika tidak, minimumnya adalah `1048576`. |
| `git.max_push_bytes`<br />`CMA_GIT__MAX_PUSH_BYTES`                         | `2147483648` (2 GiB)    | Jumlah byte terbanyak yang dapat dikirim satu push. Minimumnya adalah `1048576`.                                                                                                                                                                                                                                                                              |

Batasan berikut berlaku untuk repositori Git:

* **Protokol:** Server tidak mendukung SSH atau Git LFS, dan server menolak redirect, seperti redirect untuk repositori yang diganti namanya.
* **Token:** Host Git harus menerima token sebagai kata sandi autentikasi HTTP Basic, dengan nama pengguna `x-access-token`.
* **URL:** URL repositori memiliki satu pemilik dan satu nama repositori, sehingga Anda tidak dapat menggunakan repositori di subgrup GitLab.
* **Host:** Untuk URL di host yang tidak dicantumkan oleh `git.allowed_hostnames`, server mengembalikan `400`. Pesan kesalahannya menyatakan bahwa URL harus berada di `github.com`, bahkan jika Anda mencantumkan host lain.
* **Push:** Server selalu menolak push yang menghapus branch, atau yang mengubah apa pun selain branch, seperti tag.

## Alat web dan skill

Lihat [Alat web memerlukan pengaturan server](https://platform.claude.com/docs/id/managed-agents/self-hosted/differences#web-tools-need-a-server-setting).

| Pengaturan<br />Variabel lingkungan                                     | Default   | Deskripsi                                                                                                                                       |
| ----------------------------------------------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `web_tools.enabled`<br />`CMA_WEB_TOOLS__ENABLED`                       | `false`   | Apakah agen dapat menggunakan alat `web_search` dan `web_fetch`. Jika Anda menetapkan pengaturan `web_tools` lainnya, defaultnya adalah `true`. |
| `web_tools.allowed_domains`<br />`CMA_WEB_TOOLS__ALLOWED_DOMAINS`       | Tidak ada | Satu-satunya domain yang dapat dibaca agen melalui alat web. Sebuah entri mencakup subdomainnya.                                                |
| `web_tools.blocked_domains`<br />`CMA_WEB_TOOLS__BLOCKED_DOMAINS`       | Tidak ada | Domain yang tidak dapat dibaca agen mana pun melalui alat web. Tetapkan ini atau `web_tools.allowed_domains`, bukan keduanya.                   |
| `web_tools.max_content_tokens`<br />`CMA_WEB_TOOLS__MAX_CONTENT_TOKENS` | Tidak ada | Jumlah token terbanyak dari satu halaman yang diambil yang dikembalikan `web_fetch` ke model.                                                   |
| `skills.max_name_chars`<br />`CMA_SKILLS__MAX_NAME_CHARS`               | `64`      | `name` terpanjang yang dapat dimiliki file `SKILL.md`. Maksimumnya adalah `255`.                                                                |
| `skills.max_description_chars`<br />`CMA_SKILLS__MAX_DESCRIPTION_CHARS` | `1024`    | `description` terpanjang yang dapat dimiliki file `SKILL.md`.                                                                                   |

## Batas, timeout, dan penjadwalan

| Pengaturan<br />Variabel lingkungan                                             | Default     | Deskripsi                                                                                                                                                                                                                                                                                                                             |
| ------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limits.max_active_sessions`<br />`CMA_LIMITS__MAX_ACTIVE_SESSIONS`             | `64`        | Hanya `store.backend: memory`. Jumlah sesi terbanyak yang menjalankan giliran sekaligus. `0` berarti tanpa batas.                                                                                                                                                                                                                     |
| `limits.max_live_subagent_threads`<br />`CMA_LIMITS__MAX_LIVE_SUBAGENT_THREADS` | `25`        | Jumlah thread subagen terbanyak yang dapat dimiliki satu sesi sekaligus. Sebuah thread dihitung hingga diarsipkan atau dihentikan, sehingga thread yang menganggur tetap dihitung. Saat mencapai batas, agen tidak dapat memulai subagen lain. Minimumnya adalah `1`, dan maksimumnya adalah `4000`.                                  |
| `scheduler.max_concurrent_turns`<br />`CMA_SCHEDULER__MAX_CONCURRENT_TURNS`     | `64`        | Hanya `store.backend: postgres`. Jumlah giliran terbanyak yang dijalankan satu server sekaligus. Minimumnya adalah `1`. Server menyediakan slot tambahan khusus untuk giliran subagen. Jumlahnya seperempat dari nilai ini, dan setidaknya `4`. Dengan default, satu server dapat menjalankan 64 giliran ditambah 16 giliran subagen. |
| `scheduler.claim_poll_interval`<br />`CMA_SCHEDULER__CLAIM_POLL_INTERVAL`       | `1s`        | Hanya `store.backend: postgres`. Seberapa sering server dengan slot giliran kosong mencari pekerjaan yang menunggu di database. Minimumnya adalah `50ms`.                                                                                                                                                                             |
| `scheduler.sandbox_claim`<br />`CMA_SCHEDULER__SANDBOX_CLAIM`                   | `immediate` | Kapan worker dapat memulai sandbox sesi. `immediate` berarti segera setelah sesi dibuat, sehingga panggilan alat pertama menunggu paling singkat. `tool_call` berarti pada panggilan alat pertama sesi yang memerlukan sandbox, sehingga sesi yang tidak melakukan panggilan semacam itu tidak menggunakan sandbox.                   |
| `limits.model_call_timeout`<br />`CMA_LIMITS__MODEL_CALL_TIMEOUT`               | `20m`       | Berapa lama satu panggilan model dapat berjalan, termasuk percobaan ulang, sebelum server membatalkannya.                                                                                                                                                                                                                             |
| `limits.stream_idle_timeout`<br />`CMA_LIMITS__STREAM_IDLE_TIMEOUT`             | `5m`        | Berapa lama respons panggilan model dapat tidak mengirimkan apa pun sebelum server menghentikan percobaan tersebut.                                                                                                                                                                                                                   |
| `limits.mcp_call_timeout`<br />`CMA_LIMITS__MCP_CALL_TIMEOUT`                   | `4m`        | Berapa lama satu panggilan alat MCP dapat berjalan sebelum server menghentikannya.                                                                                                                                                                                                                                                    |

## Model dan compaction

| Pengaturan<br />Variabel lingkungan   | Default                                       | Deskripsi                                                                                                                                                                                     |
| ------------------------------------- | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `models.settings`<br />Hanya file     | Tidak ada                                     | Perubahan pada katalog model bawaan server, dengan kunci ID model. Lihat [Entri model](https://platform.claude.com/docs/id/managed-agents/self-hosted/configuration-reference#model-entries). |
| `compaction.triggers`<br />Hanya file | Sekitar 90% dari jendela konteks setiap model | Ukuran konteks, dalam token, saat sebuah giliran pada suatu model memadatkan riwayatnya, dengan kunci ID model. Minimumnya adalah `50000`. Setiap model harus mendukung compaction.           |

### Entri model

Setiap entri `models.settings` mengubah model di katalog atau menambahkan model baru. Untuk model di katalog, field yang Anda hilangkan mempertahankan nilai bawaannya.

| Field                          | Deskripsi                                                                                                                                                                                                                                                              |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fast_supported`               | Apakah model menerima `speed: "fast"`. Wajib untuk model yang Anda tambahkan.                                                                                                                                                                                          |
| `inference_geo_supported`      | Apakah model menerima `inference_geo`.                                                                                                                                                                                                                                 |
| `forced_tool_choice_supported` | Apakah model menerima permintaan yang memaksanya memanggil satu alat. Server mengirim permintaan semacam itu hanya untuk menjalankan panggilan `web_search` atau `web_fetch` yang telah disetujui. Dengan `false`, server tidak pernah memaksakan alat pada model ini. |
| `effort_supported`             | Apakah model menerima tingkat effort.                                                                                                                                                                                                                                  |
| `effort_levels`                | Tingkat effort yang diterima model, dari `low`, `medium`, `high`, `xhigh`, dan `max`. Wajib dengan `effort_supported: true` pada model tanpa tingkat bawaan.                                                                                                           |
| `effort_default`               | Tingkat effort sesi yang agennya tidak menyebutkan tingkat apa pun. Harus salah satu dari `effort_levels`. Wajib dengan `effort_supported: true` pada model tanpa default bawaan.                                                                                      |
| `thinking`                     | Mode thinking yang diminta server, `enabled` atau `adaptive`.                                                                                                                                                                                                          |
| `thinking_budget`              | Anggaran thinking, dalam token, yang dikirim server dengan `thinking: enabled`.                                                                                                                                                                                        |
| `max_tokens`                   | Nilai `max_tokens` dari setiap panggilan model.                                                                                                                                                                                                                        |

## Konsol di server Anda

| Pengaturan<br />Variabel lingkungan       | Default | Deskripsi                                                                                                               |
| ----------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------- |
| `console.serve`<br />`CMA_CONSOLE__SERVE` | `true`  | Apakah akan menyajikan [konsol di server Anda](https://platform.claude.com/docs/id/managed-agents/self-hosted/console). |
