SpyBara
Go Premium

Documentation 2026-06-24 22:02 UTC to 2026-06-25 06:58 UTC

23 files changed +1,140 −235. View all changes and history on the product overview
2026
Thu 25 06:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

admin-setup.md +2 −2

Details

74Pengaturan terkelola dapat mengunci alat, eksekusi sandbox, membatasi server MCP dan sumber plugin, dan mengontrol hook mana yang berjalan. Setiap baris adalah permukaan kontrol dengan kunci pengaturan yang mendorong.74Pengaturan terkelola dapat mengunci alat, eksekusi sandbox, membatasi server MCP dan sumber plugin, dan mengontrol hook mana yang berjalan. Setiap baris adalah permukaan kontrol dengan kunci pengaturan yang mendorong.

75 75 

76| Kontrol | Apa yang dilakukan | Pengaturan kunci |76| Kontrol | Apa yang dilakukan | Pengaturan kunci |

77| :------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ |77| :------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ |

78| [Permission rules](/id/permissions) | Izinkan, tanyakan, atau tolak alat dan perintah tertentu | `permissions.allow`, `permissions.deny` |78| [Permission rules](/id/permissions) | Izinkan, tanyakan, atau tolak alat dan perintah tertentu | `permissions.allow`, `permissions.deny` |

79| [Permission lockdown](/id/permissions#managed-only-settings) | Hanya aturan izin terkelola yang berlaku; nonaktifkan `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |79| [Permission lockdown](/id/permissions#managed-only-settings) | Hanya aturan izin terkelola yang berlaku; nonaktifkan `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |

80| [Sandboxing](/id/sandboxing) | Isolasi filesystem dan jaringan tingkat OS dengan daftar allowlist domain | `sandbox.enabled`, `sandbox.network.allowedDomains` |80| [Sandboxing](/id/sandboxing) | Isolasi filesystem dan jaringan tingkat OS dengan daftar allowlist domain | `sandbox.enabled`, `sandbox.network.allowedDomains` |


84| [Customization lockdown](/id/settings#strictpluginonlycustomization) | Blokir skills, agents, hooks, dan server MCP dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugin atau pengaturan terkelola | `strictPluginOnlyCustomization` |84| [Customization lockdown](/id/settings#strictpluginonlycustomization) | Blokir skills, agents, hooks, dan server MCP dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugin atau pengaturan terkelola | `strictPluginOnlyCustomization` |

85| [Hook restrictions](/id/settings#hook-configuration) | Hanya hook terkelola yang dimuat; batasi URL hook HTTP | `allowManagedHooksOnly`, `allowedHttpHookUrls` |85| [Hook restrictions](/id/settings#hook-configuration) | Hanya hook terkelola yang dimuat; batasi URL hook HTTP | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

86| [Disable agent view](/id/agent-view#how-background-sessions-are-hosted) | Matikan `claude agents`, `--bg`, `/background`, dan supervisor on-demand | `disableAgentView` |86| [Disable agent view](/id/agent-view#how-background-sessions-are-hosted) | Matikan `claude agents`, `--bg`, `/background`, dan supervisor on-demand | `disableAgentView` |

87| [Model restrictions](/id/model-config#restrict-model-selection) | Batasi model mana yang dapat dipilih pengguna, dan secara opsional juga terapkan daftar allowlist ke pemilihan model Default. Lihat [surface coverage](/id/model-config#surface-coverage) untuk cara pengaturan ini menjangkau CLI, web, dan IDE | `availableModels`, `enforceAvailableModels` |87| [Model restrictions](/id/model-config#restrict-model-selection) | `availableModels` memfilter model mana yang muncul di pemilih. Menambahkan `enforceAvailableModels` juga membatasi model default yang dipilih secara otomatis. Lihat [surface coverage](/id/model-config#surface-coverage) untuk cara pengaturan ini menjangkau CLI, web, dan IDE | `availableModels`, `enforceAvailableModels` |

88| [Version floor](/id/settings) | Cegah auto-update dari penginstalan di bawah minimum di seluruh organisasi | `minimumVersion` |88| [Version floor](/id/settings) | Cegah auto-update dari penginstalan di bawah minimum di seluruh organisasi | `minimumVersion` |

89| [Required version range](/id/settings) | Tolak untuk memulai sama sekali ketika versi yang berjalan berada di luar rentang yang disetujui organisasi. Lebih kuat daripada `minimumVersion`, yang hanya memblokir downgrade | `requiredMinimumVersion`, `requiredMaximumVersion` |89| [Required version range](/id/settings) | Tolak untuk memulai sama sekali ketika versi yang berjalan berada di luar rentang yang disetujui organisasi. Lebih kuat daripada `minimumVersion`, yang hanya memblokir downgrade | `requiredMinimumVersion`, `requiredMaximumVersion` |

90 90 

Details

86`settingSources` mencakup pengaturan pengguna, proyek, dan lokal. Beberapa input dibaca terlepas dari nilainya:86`settingSources` mencakup pengaturan pengguna, proyek, dan lokal. Beberapa input dibaca terlepas dari nilainya:

87 87 

88| Input | Perilaku | Untuk menonaktifkan |88| Input | Perilaku | Untuk menonaktifkan |

89| :-------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |89| :-------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

90| Pengaturan kebijakan terkelola | Kebijakan yang dikelola endpoint, baik plist MDM, kebijakan registri, atau file pengaturan terkelola, dimuat dari host; [pengaturan yang dikelola server](/id/server-managed-settings) diambil ketika sesi melakukan autentikasi dengan login OAuth organisasi atau kunci API yang dikonfigurasi secara langsung, pada [konfigurasi yang memenuhi syarat](/id/server-managed-settings#platform-availability) | Kebijakan endpoint: hapus file pengaturan terkelola, plist, atau kebijakan registri dari host. Pengaturan yang dikelola server: dikendalikan oleh admin organisasi Anda; tidak dapat dinonaktifkan dari SDK |90| Pengaturan kebijakan terkelola | Kebijakan yang dikelola endpoint, baik plist MDM, kebijakan registri, atau file pengaturan terkelola, dimuat dari host. [Pengaturan yang dikelola server](/id/server-managed-settings) diambil pada [konfigurasi yang memenuhi syarat](/id/server-managed-settings#platform-availability) ketika sesi melakukan autentikasi dengan login OAuth organisasi atau kunci API yang dikonfigurasi secara langsung | Kebijakan endpoint: hapus file pengaturan terkelola, plist, atau kebijakan registri dari host. Pengaturan yang dikelola server: dikendalikan oleh admin organisasi Anda; tidak dapat dinonaktifkan dari SDK |

91| Konfigurasi global `~/.claude.json` | Selalu dibaca | Pindahkan dengan `CLAUDE_CONFIG_DIR` di `env` |91| Konfigurasi global `~/.claude.json` | Selalu dibaca | Pindahkan dengan `CLAUDE_CONFIG_DIR` di `env` |

92| Memori otomatis di `~/.claude/projects/<project>/memory/` | Dimuat secara default ke dalam system prompt | Atur `autoMemoryEnabled: false` di pengaturan, atau `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` di `env` |92| Memori otomatis di `~/.claude/projects/<project>/memory/` | Dimuat secara default ke dalam system prompt | Atur `autoMemoryEnabled: false` di pengaturan, atau `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` di `env` |

93| [Konektor MCP dari claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) | Dimuat ketika metode autentikasi aktif adalah langganan claude.ai. Melewatkan `mcpServers: {}` tidak menekannya | Atur `strictMcpConfig: true`, [`disableClaudeAiConnectors: true`](/id/mcp#disable-claude-ai-connectors) di pengaturan, atau `ENABLE_CLAUDEAI_MCP_SERVERS=false` di `env` |93| [Konektor MCP dari claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) | Dimuat ketika metode autentikasi aktif adalah langganan claude.ai. Melewatkan `mcpServers: {}` tidak menekannya | Atur `strictMcpConfig: true`, [`disableClaudeAiConnectors: true`](/id/mcp#disable-claude-ai-connectors) di pengaturan, atau `ENABLE_CLAUDEAI_MCP_SERVERS=false` di `env` |

Details

214 214 

215Gunakan matchers untuk memfilter kapan callbacks Anda terjadi. Field `matcher` cocok dengan nilai berbeda tergantung pada tipe hook event. Misalnya, tool-based hooks cocok dengan nama tool, sementara hooks `Notification` cocok dengan tipe notifikasi. Lihat [referensi hooks Claude Code](/id/hooks#matcher-patterns) untuk daftar lengkap nilai matcher untuk setiap tipe event.215Gunakan matchers untuk memfilter kapan callbacks Anda terjadi. Field `matcher` cocok dengan nilai berbeda tergantung pada tipe hook event. Misalnya, tool-based hooks cocok dengan nama tool, sementara hooks `Notification` cocok dengan tipe notifikasi. Lihat [referensi hooks Claude Code](/id/hooks#matcher-patterns) untuk daftar lengkap nilai matcher untuk setiap tipe event.

216 216 

217SDK matchers mengikuti aturan yang sama dengan [matchers dalam file settings](/id/hooks#matcher-patterns): matcher yang hanya berisi huruf, digit, `_`, dan `|` dibandingkan sebagai string yang tepat, dengan `|` memisahkan alternatif, jadi `Write|Edit` cocok dengan tepat kedua tools tersebut. Matcher `*`, string kosong, atau menghilangkan matcher sepenuhnya cocok dengan setiap kemunculan event; matcher yang berisi karakter lain apa pun dievaluasi sebagai regular expression, jadi `^mcp__` cocok dengan setiap MCP tool. Matcher seperti `mcp__memory` hanya berisi huruf dan underscore, jadi dibandingkan sebagai string yang tepat dan tidak cocok dengan tool apa pun; gunakan `mcp__memory__.*` untuk cocok dengan setiap tool dari server tersebut.217SDK matchers mengikuti aturan yang sama dengan [matchers dalam file settings](/id/hooks#matcher-patterns): matcher yang hanya berisi huruf, digit, `_`, spasi, `,`, dan `|` dibandingkan sebagai string yang tepat, dengan alternatif dipisahkan oleh `|` atau `,` dan spasi putih opsional di sekitarnya, jadi `Write|Edit` dan `Write, Edit` masing-masing cocok dengan tepat kedua tools tersebut. Matcher `*`, string kosong, atau menghilangkan matcher sepenuhnya cocok dengan setiap kemunculan event; matcher yang berisi karakter lain apa pun dievaluasi sebagai regular expression, jadi `^mcp__` cocok dengan setiap MCP tool. Matcher seperti `mcp__memory` hanya berisi huruf dan underscore, jadi dibandingkan sebagai string yang tepat dan tidak cocok dengan tool apa pun; gunakan `mcp__memory__.*` untuk cocok dengan setiap tool dari server tersebut.

218 218 

219| Option | Type | Default | Description |219| Option | Type | Default | Description |

220| --------- | ---------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |220| --------- | ---------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

Details

477export CLAUDE_CODE_USE_MANTLE=1477export CLAUDE_CODE_USE_MANTLE=1

478```478```

479 479 

480Untuk menampilkan model Mantle di pemilih `/model`, daftarkan ID-nya di `availableModels` di [file pengaturan](/id/settings) Anda. Pengaturan ini juga membatasi pemilih ke entri yang terdaftar. Mendaftarkan `anthropic.claude-haiku-4-5` menghapus alias `haiku` biasa dari pemilih, jadi juga daftarkan awalan versi atau ID lengkap untuk versi yang ingin Anda tetap dapat dipilih. Lihat [Merge behavior](/id/model-config#merge-behavior):480Untuk menampilkan model Mantle di pemilih `/model`, daftarkan ID-nya di `availableModels` di [file pengaturan](/id/settings) Anda. Pengaturan ini juga membatasi pemilih ke entri yang terdaftar. Mendaftarkan `anthropic.claude-haiku-4-5` menghapus alias `haiku` biasa dari pemilih, jadi juga daftarkan awalan versi atau ID lengkap untuk versi yang ingin Anda tetap dapat dipilih. ID Mantle dan alias `haiku` diselesaikan ke keluarga model yang sama, jadi penggabungan hanya menyimpan entri yang lebih spesifik. Lihat [Merge behavior](/id/model-config#merge-behavior):

481 481 

482```json theme={null}482```json theme={null}

483{483{

Details

136* **Interval penyegaran**: secara default, `apiKeyHelper` dipanggil setelah 5 menit atau pada respons HTTP 401. Atur variabel lingkungan `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` untuk interval penyegaran kustom.136* **Interval penyegaran**: secara default, `apiKeyHelper` dipanggil setelah 5 menit atau pada respons HTTP 401. Atur variabel lingkungan `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` untuk interval penyegaran kustom.

137* **Pemberitahuan helper lambat**: jika `apiKeyHelper` membutuhkan waktu lebih lama dari 10 detik untuk mengembalikan kunci, Claude Code menampilkan pemberitahuan peringatan di bilah prompt yang menunjukkan waktu yang telah berlalu. Jika Anda melihat pemberitahuan ini secara teratur, periksa apakah skrip kredensial Anda dapat dioptimalkan.137* **Pemberitahuan helper lambat**: jika `apiKeyHelper` membutuhkan waktu lebih lama dari 10 detik untuk mengembalikan kunci, Claude Code menampilkan pemberitahuan peringatan di bilah prompt yang menunjukkan waktu yang telah berlalu. Jika Anda melihat pemberitahuan ini secara teratur, periksa apakah skrip kredensial Anda dapat dioptimalkan.

138 138 

139`apiKeyHelper`, `ANTHROPIC_API_KEY`, dan `ANTHROPIC_AUTH_TOKEN` hanya berlaku untuk sesi CLI terminal. Claude Desktop dan sesi jarak jauh menggunakan OAuth secara eksklusif dan tidak memanggil `apiKeyHelper` atau membaca variabel lingkungan kunci API.139`apiKeyHelper`, `ANTHROPIC_API_KEY`, dan `ANTHROPIC_AUTH_TOKEN` berlaku untuk CLI dan permukaan yang membungkusnya, termasuk ekstensi VS Code, Agent SDK, dan GitHub Actions. Claude Desktop dan sesi cloud tidak memanggil `apiKeyHelper` atau membaca variabel lingkungan ini: mereka menggunakan OAuth, kecuali sesi desktop yang menjalankan [konfigurasi inferensi pihak ketiga yang didistribusikan organisasi](/id/llm-gateway-connect#desktop-app), yang melakukan autentikasi dengan kredensial konfigurasi tersebut.

140 140 

141<h3 id="authentication-precedence">141<h3 id="authentication-precedence">

142 Urutan prioritas autentikasi142 Urutan prioritas autentikasi

Details

47 47 

48Memilih Ringkas hingga di sini membuat Anda tetap berada di akhir percakapan dengan input kosong.48Memilih Ringkas hingga di sini membuat Anda tetap berada di akhir percakapan dengan input kosong.

49 49 

50<h4 id="rewind-past-a-cleared-conversation">

51 Putar ulang melewati percakapan yang dihapus

52</h4>

53 

54Jika Anda menjalankan `/clear` sebelumnya dalam proses Claude Code yang sama, menu putar ulang menampilkan entri tambahan di bagian atas daftar berlabel `/resume <session-id> (previous session)`. Pilih untuk melanjutkan percakapan yang aktif sebelum `/clear` dijalankan. Entri tersedia hingga Anda keluar dari Claude Code atau melanjutkan sesi yang berbeda, dan memerlukan Claude Code v2.1.191 atau lebih baru. Pada versi sebelumnya, jalankan `/resume` dan pilih sesi sebelumnya dari daftar sebagai gantinya.

55 

50<h4 id="restore-vs-summarize">56<h4 id="restore-vs-summarize">

51 Pulihkan vs. ringkas57 Pulihkan vs. ringkas

52</h4>58</h4>

costs.md +1 −1

Details

51 Untuk organisasi dengan batas laju kustom, lalu lintas Claude Code di ruang kerja ini dihitung terhadap batas laju API keseluruhan organisasi Anda. Anda dapat menetapkan [batas laju ruang kerja](https://platform.claude.com/docs/id/api/rate-limits#setting-lower-limits-for-workspaces) di halaman Batas ruang kerja ini di Claude Console untuk membatasi bagian Claude Code dan melindungi beban kerja produksi lainnya.51 Untuk organisasi dengan batas laju kustom, lalu lintas Claude Code di ruang kerja ini dihitung terhadap batas laju API keseluruhan organisasi Anda. Anda dapat menetapkan [batas laju ruang kerja](https://platform.claude.com/docs/id/api/rate-limits#setting-lower-limits-for-workspaces) di halaman Batas ruang kerja ini di Claude Console untuk membatasi bagian Claude Code dan melindungi beban kerja produksi lainnya.

52</Note>52</Note>

53 53 

54Di Bedrock, Vertex, dan Foundry, Claude Code tidak mengirim metrik dari cloud Anda. Untuk mendapatkan metrik biaya, beberapa perusahaan besar melaporkan menggunakan [LiteLLM](/id/llm-gateway#litellm-configuration), yang merupakan alat sumber terbuka yang membantu perusahaan [melacak pengeluaran berdasarkan kunci](https://docs.litellm.ai/docs/proxy/virtual_keys#tracking-spend). Proyek ini tidak berafiliasi dengan Anthropic dan belum diaudit untuk keamanan.54Di Bedrock, Vertex, dan Foundry, Claude Code tidak mengirim metrik dari cloud Anda. Organisasi yang sudah merutekan Claude Code melalui [gateway LLM](/id/llm-gateway) dapat melacak pengeluaran di sana, karena gateway melihat setiap permintaan.

55 55 

56<h3 id="rate-limit-recommendations">56<h3 id="rate-limit-recommendations">

57 Rekomendasi batas laju57 Rekomendasi batas laju

env-vars.md +1 −1

Details

270| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Atur ke `1` untuk menggunakan prompt sistem yang lebih pendek dan deskripsi alat yang disingkat pada model apa pun. Atur ke `0`, `false`, `no`, atau `off` untuk menolak bahkan pada model di mana eksperimen atau konfigurasi server akan mengaktifkannya sebaliknya. Set alat lengkap, hook, server MCP, dan penemuan CLAUDE.md tetap diaktifkan |270| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Atur ke `1` untuk menggunakan prompt sistem yang lebih pendek dan deskripsi alat yang disingkat pada model apa pun. Atur ke `0`, `false`, `no`, atau `off` untuk menolak bahkan pada model di mana eksperimen atau konfigurasi server akan mengaktifkannya sebaliknya. Set alat lengkap, hook, server MCP, dan penemuan CLAUDE.md tetap diaktifkan |

271| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Lewati autentikasi sisi klien untuk [Claude Platform on AWS](/id/claude-platform-on-aws), untuk gateway yang menandatangani permintaan sendiri |271| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Lewati autentikasi sisi klien untuk [Claude Platform on AWS](/id/claude-platform-on-aws), untuk gateway yang menandatangani permintaan sendiri |

272| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Lewati autentikasi AWS untuk Bedrock (misalnya, saat menggunakan gateway LLM) |272| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Lewati autentikasi AWS untuk Bedrock (misalnya, saat menggunakan gateway LLM) |

273| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Lewati autentikasi Azure untuk Microsoft Foundry (misalnya, saat menggunakan gateway LLM) |273| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Lewati autentikasi Azure untuk Microsoft Foundry. Untuk gateway, atur kredensial di `ANTHROPIC_FOUNDRY_API_KEY` sebagai gantinya; tanpa kunci API variabel ini membuat klien Foundry tidak dapat mengirim permintaan |

274| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Lewati autentikasi AWS untuk Bedrock Mantle (misalnya, saat menggunakan gateway LLM) |274| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Lewati autentikasi AWS untuk Bedrock Mantle (misalnya, saat menggunakan gateway LLM) |

275| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Atur ke `1` untuk melewati penulisan riwayat prompt dan transkrip sesi ke disk. Sesi yang dimulai dengan variabel ini diatur tidak muncul dalam `--resume`, `--continue`, atau riwayat panah-atas. Berguna untuk sesi skrip yang bersifat sementara |275| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Atur ke `1` untuk melewati penulisan riwayat prompt dan transkrip sesi ke disk. Sesi yang dimulai dengan variabel ini diatur tidak muncul dalam `--resume`, `--continue`, atau riwayat panah-atas. Berguna untuk sesi skrip yang bersifat sementara |

276| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Lewati autentikasi Google untuk Vertex (misalnya, saat menggunakan gateway LLM) |276| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Lewati autentikasi Google untuk Vertex (misalnya, saat menggunakan gateway LLM) |

errors.md +7 −7

Details

486 486 

487* Konfirmasi Anda dapat menjangkau host API dari shell yang sama dengan menjalankan `curl -I https://api.anthropic.com`. Di Windows PowerShell gunakan `curl.exe -I https://api.anthropic.com` sehingga alias `Invoke-WebRequest` bawaan tidak digunakan.487* Konfirmasi Anda dapat menjangkau host API dari shell yang sama dengan menjalankan `curl -I https://api.anthropic.com`. Di Windows PowerShell gunakan `curl.exe -I https://api.anthropic.com` sehingga alias `Invoke-WebRequest` bawaan tidak digunakan.

488* Jika Anda berada di belakang proxy perusahaan, atur `HTTPS_PROXY` sebelum meluncurkan Claude Code dan lihat [Network configuration](/id/network-config)488* Jika Anda berada di belakang proxy perusahaan, atur `HTTPS_PROXY` sebelum meluncurkan Claude Code dan lihat [Network configuration](/id/network-config)

489* Jika Anda merutekan melalui gateway LLM atau relay, atur [`ANTHROPIC_BASE_URL`](/id/env-vars) ke alamatnya. Lihat [LLM gateway configuration](/id/llm-gateway) untuk penyiapan.489* Jika Anda merutekan melalui gateway LLM atau relay, atur [`ANTHROPIC_BASE_URL`](/id/env-vars) ke alamatnya. Lihat [Connect Claude Code to an LLM gateway](/id/llm-gateway-connect) untuk penyiapan.

490* Pastikan firewall Anda memungkinkan host yang tercantum dalam [Network access requirements](/id/network-config#network-access-requirements)490* Pastikan firewall Anda memungkinkan host yang tercantum dalam [Network access requirements](/id/network-config#network-access-requirements)

491* Kegagalan intermiten [dicoba ulang secara otomatis](#automatic-retries); kegagalan persisten menunjukkan masalah jaringan lokal491* Kegagalan intermiten [dicoba ulang secara otomatis](#automatic-retries); kegagalan persisten menunjukkan masalah jaringan lokal

492 492 


669 669 

670**Yang harus dilakukan:**670**Yang harus dilakukan:**

671 671 

672* Konfigurasikan gateway Anda untuk meneruskan header `anthropic-beta`. Lihat [Konfigurasi gateway LLM](/id/llm-gateway).672* Konfigurasikan gateway Anda untuk meneruskan header `anthropic-beta`. Lihat [feature pass-through](/id/llm-gateway-protocol#feature-pass-through) untuk apa yang harus diteruskan gateway.

673* Sebagai fallback, atur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/id/env-vars) sebelum meluncurkan. Ini menonaktifkan fitur yang memerlukan header beta sehingga permintaan berhasil melalui gateway yang tidak dapat meneruskannya.673* Sebagai fallback, atur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/id/env-vars) sebelum meluncurkan. Ini menonaktifkan fitur yang memerlukan header beta sehingga permintaan berhasil melalui gateway yang tidak dapat meneruskannya.

674 674 

675<h3 id="there’s-an-issue-with-the-selected-model">675<h3 id="there’s-an-issue-with-the-selected-model">


687* **CLI interaktif**: jalankan `/model` untuk memilih dari model yang tersedia untuk akun Anda.687* **CLI interaktif**: jalankan `/model` untuk memilih dari model yang tersedia untuk akun Anda.

688* **Mode non-interaktif (`-p`)**: teruskan `--model` dengan alias atau ID yang valid, atau atur [`ANTHROPIC_MODEL`](/id/env-vars). Teks kesalahan menunjukkan `Run --model` di permukaan ini.688* **Mode non-interaktif (`-p`)**: teruskan `--model` dengan alias atau ID yang valid, atau atur [`ANTHROPIC_MODEL`](/id/env-vars). Teks kesalahan menunjukkan `Run --model` di permukaan ini.

689* **Agent SDK**: teks kesalahan menghilangkan petunjuk karena model diatur secara terprogram. Atur [`model` pada `Options`](/id/agent-sdk/typescript#options) di TypeScript atau [`ClaudeAgentOptions(model=...)`](/id/agent-sdk/python#claudeagentoptions) di Python, dan tangani kesalahan terstruktur `model_not_found` untuk menampilkan pemilih ulang atau model Anda sendiri.689* **Agent SDK**: teks kesalahan menghilangkan petunjuk karena model diatur secara terprogram. Atur [`model` pada `Options`](/id/agent-sdk/typescript#options) di TypeScript atau [`ClaudeAgentOptions(model=...)`](/id/agent-sdk/python#claudeagentoptions) di Python, dan tangani kesalahan terstruktur `model_not_found` untuk menampilkan pemilih ulang atau model Anda sendiri.

690* Gunakan alias seperti `sonnet` atau `opus` daripada ID versi lengkap. Alias melacak rilis terbaru sehingga tidak menjadi usang. Lihat [Konfigurasi model](/id/model-config).690* Gunakan alias seperti `sonnet` atau `opus` daripada ID versi lengkap. Alias melacak rilis terbaru sehingga tidak menjadi usang. Lihat [Model configuration](/id/model-config).

691* Jika model yang salah terus kembali di CLI, ID basi diatur di suatu tempat. Periksa dalam [urutan prioritas](/id/model-config#setting-your-model): flag `--model`, variabel lingkungan `ANTHROPIC_MODEL`, kemudian bidang `model` di `.claude/settings.local.json`, `.claude/settings.json` proyek Anda, dan `~/.claude/settings.json`. Hapus nilai basi dan Claude Code kembali ke default akun Anda.691* Jika model yang salah terus kembali di CLI, ID basi diatur di suatu tempat. Periksa dalam [urutan prioritas](/id/model-config#setting-your-model): flag `--model`, variabel lingkungan `ANTHROPIC_MODEL`, kemudian bidang `model` di `.claude/settings.local.json`, `.claude/settings.json` proyek Anda, dan `~/.claude/settings.json`. Hapus nilai basi dan Claude Code kembali ke default akun Anda.

692* Untuk penyebaran Vertex AI, lihat [Pemecahan masalah Vertex AI](/id/google-vertex-ai#troubleshooting).692* Untuk penyebaran Vertex AI, lihat [Vertex AI troubleshooting](/id/google-vertex-ai#troubleshooting).

693 693 

694<h3 id="claude-opus-is-not-available-with-the-claude-pro-plan">694<h3 id="claude-opus-is-not-available-with-the-claude-pro-plan">

695 Claude Opus is not available with the Claude Pro plan695 Claude Opus is not available with the Claude Pro plan


721 721 

722* Jalankan `/model` untuk memilih dari model yang diizinkan organisasi Anda. Model yang dibatasi disembunyikan dari pemilih.722* Jalankan `/model` untuk memilih dari model yang diizinkan organisasi Anda. Model yang dibatasi disembunyikan dari pemilih.

723* Jika model yang dibatasi diatur di `--model`, `ANTHROPIC_MODEL`, atau bidang `model` dari file pengaturan, hapus atau perbarui nilai tersebut sehingga pemberitahuan tidak berulang pada setiap peluncuran723* Jika model yang dibatasi diatur di `--model`, `ANTHROPIC_MODEL`, atau bidang `model` dari file pengaturan, hapus atau perbarui nilai tersebut sehingga pemberitahuan tidak berulang pada setiap peluncuran

724* Jika Anda memerlukan akses ke model yang dibatasi, minta admin organisasi Anda untuk mengaktifkannya. Lihat [Pembatasan model organisasi](/id/model-config#organization-model-restrictions).724* Jika Anda memerlukan akses ke model yang dibatasi, minta admin organisasi Anda untuk mengaktifkannya. Lihat [Organization model restrictions](/id/model-config#organization-model-restrictions).

725 725 

726<h3 id="thinking-type-enabled-is-not-supported-for-this-model">726<h3 id="thinking-type-enabled-is-not-supported-for-this-model">

727 thinking.type.enabled is not supported for this model727 thinking.type.enabled is not supported for this model


737 737 

738* Jalankan `claude update` dan restart Claude Code. Opus 4.7 memerlukan v2.1.111 atau lebih baru. Opus 4.8 memerlukan v2.1.154 atau lebih baru738* Jalankan `claude update` dan restart Claude Code. Opus 4.7 memerlukan v2.1.111 atau lebih baru. Opus 4.8 memerlukan v2.1.154 atau lebih baru

739* Jika Anda tidak dapat meningkatkan, jalankan `/model` dan pilih Opus 4.6 atau Sonnet sebagai gantinya739* Jika Anda tidak dapat meningkatkan, jalankan `/model` dan pilih Opus 4.6 atau Sonnet sebagai gantinya

740* Jika Anda mengalami ini di Agent SDK, lihat [Pemecahan masalah SDK](/id/agent-sdk/quickstart#troubleshooting)740* Jika Anda mengalami ini di Agent SDK, lihat [SDK troubleshooting](/id/agent-sdk/quickstart#troubleshooting)

741 741 

742<h3 id="thinking-budget-exceeds-output-limit">742<h3 id="thinking-budget-exceeds-output-limit">

743 Thinking budget exceeds output limit743 Thinking budget exceeds output limit


754**Yang harus dilakukan:**754**Yang harus dilakukan:**

755 755 

756* Turunkan `MAX_THINKING_TOKENS`, atau naikkan [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/id/env-vars) di atas anggaran pemikiran756* Turunkan `MAX_THINKING_TOKENS`, atau naikkan [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/id/env-vars) di atas anggaran pemikiran

757* Lihat [Pemikiran yang diperluas](/id/model-config#extended-thinking) untuk cara anggaran berinteraksi dengan panjang output757* Lihat [Extended thinking](/id/model-config#extended-thinking) untuk cara anggaran berinteraksi dengan panjang output

758 758 

759<h3 id="tool-use-or-thinking-block-mismatch">759<h3 id="tool-use-or-thinking-block-mismatch">

760 Tool use or thinking block mismatch760 Tool use or thinking block mismatch

fast-mode.md +1 −1

Details

115* **Aktivasi admin untuk Teams dan Enterprise**: mode cepat dinonaktifkan secara default untuk organisasi Teams dan Enterprise. Admin harus secara eksplisit [mengaktifkan mode cepat](#enable-fast-mode-for-your-organization) sebelum pengguna dapat mengaksesnya.115* **Aktivasi admin untuk Teams dan Enterprise**: mode cepat dinonaktifkan secara default untuk organisasi Teams dan Enterprise. Admin harus secara eksplisit [mengaktifkan mode cepat](#enable-fast-mode-for-your-organization) sebelum pengguna dapat mengaksesnya.

116 116 

117<Note>117<Note>

118 Jika admin Anda belum mengaktifkan mode cepat untuk organisasi Anda, perintah `/fast` akan menampilkan "Fast mode has been disabled by your organization." Jika daftar allowlist [`availableModels`](/id/model-config#restrict-model-selection) organisasi Anda mengecualikan model Opus mode cepat, `/fast` ditolak dengan "is not in your organization's allowed models". Pengecualiannya adalah sesi yang sudah berjalan pada model Opus yang diizinkan yang mendukung mode cepat: `/fast` kemudian diterapkan pada model tersebut.118 Jika admin Anda belum mengaktifkan mode cepat untuk organisasi Anda, perintah `/fast` akan menampilkan "Fast mode has been disabled by your organization." Jika daftar allowlist [`availableModels`](/id/model-config#restrict-model-selection) organisasi Anda mengecualikan model Opus mode cepat, `/fast` ditolak dengan "is not in your organization's allowed models". Pengecualiannya adalah sesi yang sudah berjalan pada model Opus yang diizinkan yang mendukung mode cepat: `/fast` kemudian mengaktifkan mode cepat pada model Anda saat ini alih-alih beralih model.

119</Note>119</Note>

120 120 

121<h3 id="enable-fast-mode-for-your-organization">121<h3 id="enable-fast-mode-for-your-organization">

glossary.md +1 −1

Details

208 Managed settings208 Managed settings

209</h3>209</h3>

210 210 

211Pengaturan yang diberlakukan di seluruh organisasi oleh IT atau DevOps, dikirimkan dari server Anthropic melalui konsol admin atau diterapkan ke perangkat di jalur tingkat OS di luar `~/.claude`. Pengguna tidak dapat mengesampingkan managed settings dari cakupan dengan prioritas lebih rendah. Pengiriman yang dikelola server berlaku pada [konfigurasi yang memenuhi syarat](/id/server-managed-settings#platform-availability); lihat [Pertimbangan keamanan](/id/server-managed-settings#security-considerations). Gunakan ini untuk kebijakan keamanan, persyaratan kepatuhan, atau tooling standar di seluruh armada.211Pengaturan yang diberlakukan di seluruh organisasi oleh IT atau DevOps, dikirimkan dari server Anthropic melalui konsol admin atau diterapkan ke perangkat di jalur tingkat OS di luar `~/.claude`. Pengguna dan pengaturan proyek tidak dapat mengesampingkan managed settings. Pengiriman yang dikelola server berlaku pada [konfigurasi yang memenuhi syarat](/id/server-managed-settings#platform-availability); lihat [Pertimbangan keamanan](/id/server-managed-settings#security-considerations). Gunakan ini untuk kebijakan keamanan, persyaratan kepatuhan, atau tooling standar di seluruh armada.

212 212 

213Pelajari lebih lanjut: [Server-managed settings](/id/server-managed-settings) · [Settings files](/id/settings#settings-files)213Pelajari lebih lanjut: [Server-managed settings](/id/server-managed-settings) · [Settings files](/id/settings#settings-files)

214 214 

hooks.md +4 −2

Details

191Bidang `matcher` memfilter kapan hooks dijalankan. Bagaimana matcher dievaluasi tergantung pada karakter yang dikandungnya:191Bidang `matcher` memfilter kapan hooks dijalankan. Bagaimana matcher dievaluasi tergantung pada karakter yang dikandungnya:

192 192 

193| Nilai matcher | Dievaluasi sebagai | Contoh |193| Nilai matcher | Dievaluasi sebagai | Contoh |

194| :-------------------------------- | :--------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- |194| :-------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- |

195| `"*"`, `""`, atau dihilangkan | Cocokkan semua | dijalankan pada setiap kemunculan event |195| `"*"`, `""`, atau dihilangkan | Cocokkan semua | dijalankan pada setiap kemunculan event |

196| Hanya huruf, digit, `_`, dan `\|` | String yang tepat, atau daftar string yang tepat dipisahkan `\|` | `Bash` cocok hanya dengan tool Bash; `Edit\|Write` cocok dengan salah satu tool dengan tepat |196| Hanya huruf, digit, `_`, spasi, `,`, dan `\|` | String yang tepat, atau daftar string yang tepat dipisahkan `\|` atau `,` dengan whitespace opsional di sekitarnya | `Bash` cocok hanya dengan tool Bash; `Edit\|Write` dan `Edit, Write` masing-masing cocok dengan salah satu tool dengan tepat |

197| Berisi karakter lain apa pun | Ekspresi reguler JavaScript | `^Notebook` cocok dengan tool apa pun yang dimulai dengan Notebook; `mcp__memory__.*` cocok dengan setiap tool dari server `memory` |197| Berisi karakter lain apa pun | Ekspresi reguler JavaScript | `^Notebook` cocok dengan tool apa pun yang dimulai dengan Notebook; `mcp__memory__.*` cocok dengan setiap tool dari server `memory` |

198 198 

199Pemisah koma dan toleransi whitespace di sekitarnya memerlukan Claude Code v2.1.191 atau lebih baru. Event `FileChanged` dan `StopFailure` hanya menerima `|` sebagai pemisah daftar dan memperlakukan `,` sebagai karakter literal; semua event lain yang tercantum dalam tabel berikut menerima `|` atau `,`.

200 

199Event `FileChanged` tidak mengikuti aturan ini saat membangun daftar watch-nya. Lihat [FileChanged](#filechanged).201Event `FileChanged` tidak mengikuti aturan ini saat membangun daftar watch-nya. Lihat [FileChanged](#filechanged).

200 202 

201Setiap tipe event cocok pada bidang yang berbeda:203Setiap tipe event cocok pada bidang yang berbeda:

Details

155</h3>155</h3>

156 156 

157| Perintah | Tindakan |157| Perintah | Tindakan |

158| :-------------- | :---------------------------------------------------------- |158| :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

159| `h`/`j`/`k`/`l` | Pindah kiri/bawah/atas/kanan |159| `h`/`j`/`k`/`l` | Pindah kiri/bawah/atas/kanan |

160| `Space` | Pindah ke kanan |160| `Space` | Pindah ke kanan |

161| `w` | Kata berikutnya |161| `w` | Kata berikutnya |


172| `T{char}` | Lompat ke tepat setelah kemunculan sebelumnya dari karakter |172| `T{char}` | Lompat ke tepat setelah kemunculan sebelumnya dari karakter |

173| `;` | Ulangi gerakan f/F/t/T terakhir |173| `;` | Ulangi gerakan f/F/t/T terakhir |

174| `,` | Ulangi gerakan f/F/t/T terakhir dalam urutan terbalik |174| `,` | Ulangi gerakan f/F/t/T terakhir dalam urutan terbalik |

175| `/` | Buka pencarian riwayat terbalik, sama seperti `Ctrl+R` |175| `/` | Buka pencarian riwayat terbalik, sama seperti `Ctrl+R`. Mulai dari v2.1.191, prompt pencarian kosong menampilkan petunjuk: tekan `Esc` lalu `i` lalu `/` untuk membuka menu perintah sebagai gantinya |

176 176 

177<Note>177<Note>

178 Dalam mode normal vim, jika kursor berada di awal atau akhir input dan tidak dapat bergerak lebih jauh, `j`/`k` dan tombol panah menavigasi riwayat perintah sebagai gantinya.178 Dalam mode normal vim, jika kursor berada di awal atau akhir input dan tidak dapat bergerak lebih jauh, `j`/`k` dan tombol panah menavigasi riwayat perintah sebagai gantinya.

llm-gateway.md +64 −205

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.

4 4 

5# Konfigurasi LLM gateway5# LLM gateway

6 6 

7> Pelajari cara mengonfigurasi Claude Code untuk bekerja dengan solusi LLM gateway. Mencakup persyaratan gateway, konfigurasi autentikasi, pemilihan model, dan pengaturan endpoint khusus penyedia.7> Arahkan Claude Code melalui LLM gateway untuk autentikasi terpusat, pelacakan penggunaan, dan kontrol biaya. Mencakup menghubungkan Claude Code ke gateway, meluncurkannya untuk organisasi Anda, apa yang Claude Code kirimkan ke gateway, dan bagaimana gateway berinteraksi dengan langganan claude.ai.

8 8 

9LLM gateway menyediakan lapisan proxy terpusat antara Claude Code dan penyedia model, sering kali menyediakan:9LLM gateway adalah proxy yang dijalankan organisasi Anda antara Claude Code dan penyedia model. Claude Code mengirimkan lalu lintas API ke gateway, dan gateway meneruskannya ke penyedia menggunakan kredensial yang dikendalikan organisasi Anda.

10 10 

11* **Autentikasi terpusat** - Titik tunggal untuk manajemen kunci API11Halaman ini mencakup:

12* **Pelacakan penggunaan** - Pantau penggunaan di seluruh tim dan proyek

13* **Kontrol biaya** - Terapkan anggaran dan batas laju

14* **Pencatatan audit** - Lacak semua interaksi model untuk kepatuhan

15* **Perutean model** - Beralih antar penyedia tanpa perubahan kode

16 12 

17Halaman ini mencakup persyaratan gateway dan konfigurasi untuk Claude Code CLI. Penyebaran Enterprise Desktop dapat mengonfigurasi penyedia gateway melalui [pengaturan terkelola](https://support.claude.com/id/articles/12622667-enterprise-configuration). Aplikasi Claude Desktop juga dapat berjalan terhadap gateway yang di-host sendiri melalui [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/gateway), yang menggunakan kunci konfigurasi tersendiri.13* [Apa yang disediakan gateway](#what-a-gateway-provides)

18 14* [Bagaimana perutean dan kredensial bekerja](#how-a-gateway-works)

19<h2 id="gateway-requirements">15* [Langkah-langkah untuk meluncurkannya](#roll-out-a-gateway)

20 Persyaratan gateway16* [Bagaimana gateway berinteraksi dengan langganan claude.ai](#subscriptions-and-gateways)

21</h2>17* [Apa yang dikonfigurasi secara terpisah dari gateway](#configure-separately-from-the-gateway)

22 

23Agar LLM gateway dapat bekerja dengan Claude Code, gateway harus memenuhi persyaratan berikut:

24 

25**Format API**

26 

27Gateway harus mengekspos ke klien setidaknya salah satu format API berikut:

28 

291. **Anthropic Messages**: `/v1/messages`, `/v1/messages/count_tokens`

30 * Harus meneruskan header permintaan: `anthropic-beta`, `anthropic-version`

31 

322. **Bedrock InvokeModel**: `/invoke`, `/invoke-with-response-stream`

33 * Harus mempertahankan bidang badan permintaan: `anthropic_beta`, `anthropic_version`

34 

353. **Vertex rawPredict**: `:rawPredict`, `:streamRawPredict`, `/count-tokens:rawPredict`

36 * Harus meneruskan header permintaan: `anthropic-beta`, `anthropic-version`

37 

38Kegagalan untuk meneruskan header atau mempertahankan bidang badan dapat mengakibatkan fungsionalitas berkurang atau ketidakmampuan menggunakan fitur Claude Code.

39 18 

40<Note>19<Note>

41 Claude Code menentukan fitur mana yang akan diaktifkan berdasarkan format API. Saat menggunakan format Anthropic Messages dengan Bedrock atau Vertex, Anda mungkin perlu mengatur variabel lingkungan `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`.20 - Jika Anda adalah pengembang yang terhubung ke gateway yang ada: [hubungkan Claude Code ke gateway Anda](/id/llm-gateway-connect)

21 - Jika Anda adalah admin yang meluncurkan gateway untuk organisasi Anda: [terapkan dan distribusikan gateway](/id/llm-gateway-rollout)

22 - Jika Anda mengonfigurasi produk gateway: [referensi protokol gateway](/id/llm-gateway-protocol)

42</Note>23</Note>

43 24 

44**Header permintaan**25<h2 id="what-a-gateway-provides">

45 26 Apa yang disediakan gateway

46Claude Code menyertakan header berikut pada permintaan API:

47 

48| Header | Deskripsi |

49| :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

50| `X-Claude-Code-Session-Id` | Pengidentifikasi unik untuk sesi Claude Code saat ini. Proxy dapat menggunakan ini untuk mengagregasi semua permintaan API dari sesi tunggal tanpa mengurai badan permintaan. |

51| `X-Claude-Code-Agent-Id` | Pengidentifikasi subagen atau rekan kerja yang mengeluarkan permintaan. Proxy Anda dapat menggunakan ini untuk mengatribusikan biaya API ke subagen paralel individual dalam sesi, tanpa mengurai badan permintaan. Hanya ada untuk permintaan yang dibuat oleh subagen atau rekan kerja dalam proses. |

52| `X-Claude-Code-Parent-Agent-Id` | Pengidentifikasi agen yang melahirkan agen yang membuat permintaan. Gunakan ini dengan `X-Claude-Code-Agent-Id` untuk mengatribusikan biaya API di seluruh agen bersarang dalam proxy Anda. Hanya ada ketika agen yang meminta itu sendiri dilahirkan oleh agen lain. |

53 

54Kedua header ID agen adalah pengidentifikasi per-spawn yang bersifat sementara, bukan ID pengguna atau perangkat yang persisten.

55 

56Claude Code juga menambahkan blok atribusi singkat ke prompt sistem yang berisi versi klien dan sidik jari yang berasal dari percakapan. API Anthropic menghapus blok ini sebelum memproses, sehingga tidak mempengaruhi prompt caching pihak pertama. Jika gateway Anda menerapkan cache prompt sendiri yang dikunci pada badan permintaan lengkap, atur [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/id/env-vars) untuk menghilangkannya.

57 

58<h2 id="configuration">

59 Konfigurasi

60</h2>27</h2>

61 28 

62<h3 id="model-selection">29Gateway memberikan organisasi Anda satu tempat untuk mengelola:

63 Pemilihan model

64</h3>

65 

66Secara default, Claude Code menggunakan nama model standar untuk format API yang dipilih.

67 30 

68Ketika `ANTHROPIC_BASE_URL` menunjuk ke gateway yang mengekspos format Anthropic Messages, Claude Code dapat menanyakan endpoint `/v1/models` gateway saat startup dan menambahkan model yang dikembalikan ke pemilih `/model`. Atur `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` untuk mengaktifkan ini. Penemuan dimatikan secara default sehingga gateway yang didukung oleh kunci API bersama tidak menampilkan setiap model yang dapat diakses kunci ke setiap pengguna. Setiap entri yang ditemukan diberi label "From gateway" dan menggunakan field `display_name` dari respons ketika satu disediakan. Ini memerlukan Claude Code v2.1.129 atau lebih baru.31* **Kredensial**: kunci penyedia tetap di sisi server; pengembang memegang kredensial gateway sebagai gantinya

32* **Pelacakan penggunaan**: atribusikan penggunaan berdasarkan pengembang atau tim, terlepas dari penyedia mana yang melayani permintaan

33* **Kontrol biaya**: terapkan anggaran dan batas laju di satu tempat

34* **Pencatatan audit**: catat setiap permintaan model untuk kepatuhan

35* **Peralihan penyedia**: ubah penyedia dalam konfigurasi gateway, tanpa menyentuh mesin pengembang

69 36 

70Penemuan hanya berlaku untuk format Anthropic Messages. Ini tidak berjalan untuk endpoint pass-through Bedrock atau Vertex, dan tidak berjalan ketika `ANTHROPIC_BASE_URL` tidak diatur atau menunjuk ke `api.anthropic.com`.37Semua ini kecuali peralihan penyedia berlaku apakah upstream adalah API Anthropic atau [penyedia cloud](/id/third-party-integrations).

71 38 

72Permintaan penemuan mengautentikasi dengan cara yang sama seperti permintaan inferensi: ia mengirimkan `ANTHROPIC_AUTH_TOKEN` sebagai token bearer, atau `ANTHROPIC_API_KEY` sebagai header `x-api-key` ketika tidak ada token auth yang diatur, bersama dengan header apa pun dari `ANTHROPIC_CUSTOM_HEADERS`. Hanya model yang ID-nya dimulai dengan `claude` atau `anthropic` yang ditambahkan ke pemilih. Hasil disimpan dalam cache ke `~/.claude/cache/gateway-models.json` dan disegarkan pada setiap startup. Jika permintaan gagal atau gateway tidak mengimplementasikan `/v1/models`, pemilih kembali ke daftar cache dari startup sebelumnya atau ke daftar model bawaan.39Pertukaran adalah bahwa gateway menjadi infrastruktur yang dioperasikan organisasi Anda. Claude Code menambahkan kemampuan dengan setiap rilis, dan gateway yang tidak meneruskannya merusak fitur yang sesuai, jadi produk gateway perlu tetap diperbarui seiring Claude Code berkembang. [Referensi protokol gateway](/id/llm-gateway-protocol) mencakup apa yang harus diteruskan.

73 40 

74Jika gateway Anda menggunakan nama model yang tidak cocok dengan filter penemuan, gunakan variabel lingkungan yang didokumentasikan dalam [Konfigurasi Model](/id/model-config) untuk menambahkannya secara manual.41<h2 id="how-a-gateway-works">

75 42 Bagaimana gateway bekerja

76<h2 id="litellm-configuration">

77 Konfigurasi LiteLLM

78</h2>43</h2>

79 44 

80<Warning>45Secara default, Claude Code mengirimkan permintaan langsung ke API Anthropic di `api.anthropic.com`. Untuk merutekan melalui gateway, atur `ANTHROPIC_BASE_URL` ke alamat gateway; Claude Code mengirimkan permintaan yang sama ke sana sebagai gantinya. Gateway mengautentikasi pengembang, melampirkan kredensial penyedia organisasi Anda, dan meneruskan setiap permintaan ke penyedia mana pun yang dikonfigurasinya.

81 Versi PyPI LiteLLM 1.82.7 dan 1.82.8 dikompromikan dengan malware pencuri kredensial. Jangan instal versi ini. Jika Anda telah menginstalnya:

82 

83 * Hapus paket

84 * Putar semua kredensial pada sistem yang terpengaruh

85 * Ikuti langkah remediasi dalam [BerriAI/litellm#24518](https://github.com/BerriAI/litellm/issues/24518)

86 

87 LiteLLM adalah layanan proxy pihak ketiga. Anthropic tidak mendukung, memelihara, atau mengaudit keamanan atau fungsionalitas LiteLLM. Panduan ini disediakan untuk tujuan informasi dan mungkin menjadi ketinggalan zaman. Gunakan atas kebijakan Anda sendiri.

88</Warning>

89 

90<h3 id="prerequisites">

91 Prasyarat

92</h3>

93 

94* Claude Code diperbarui ke versi terbaru

95* LiteLLM Proxy Server diterapkan dan dapat diakses

96* Akses ke model Claude melalui penyedia pilihan Anda

97 

98<h3 id="basic-litellm-setup">

99 Pengaturan LiteLLM dasar

100</h3>

101 

102**Konfigurasi Claude Code**:

103 

104<h4 id="authentication-methods">

105 Metode autentikasi

106</h4>

107 46 

108<h5 id="static-api-key">47`ANTHROPIC_BASE_URL` adalah variabel alamat untuk sebagian besar gateway. Gateway yang menghadap penyedia cloud tertentu, seperti Bedrock, Vertex, Foundry, atau Claude Platform di AWS, menggunakan variabel URL dasar penyedia itu sebagai gantinya; [Format API](/id/llm-gateway-protocol#api-formats) mencantumkan variabel mana yang cocok dengan setiap konfigurasi.

109 Kunci API statis

110</h5>

111 48 

112Metode paling sederhana menggunakan kunci API tetap:49<Frame>

50 <img src="https://mintcdn.com/claude-code/zIcIE_SQv4Z0Zbhc/images/llm-gateway-flow.svg?fit=max&auto=format&n=zIcIE_SQv4Z0Zbhc&q=85&s=490607d033d235694efb49a73a5b9e4b" alt="Diagram menunjukkan Claude Code merutekan melalui LLM gateway. Di zona mesin pengembang, CLI Claude Code, ekstensi VS Code, dan klien SDK CI atau Agent mengirimkan permintaan ke gateway, dengan variabel URL dasar untuk format API gateway menunjuk ke sana dan setiap pengembang memegang kredensial per-pengembang, dan aplikasi desktop mencapai gateway yang sama melalui konfigurasi yang didistribusikan organisasi. Di zona berlabel infrastruktur Anda, LLM gateway menangani autentikasi, pelacakan penggunaan, anggaran, dan perutean, dan meneruskan permintaan dengan kredensial organisasi Anda. Di zona penyedia model, panah solid mengarah ke penyedia yang Anda konfigurasi, ditampilkan sebagai API Anthropic, dan panah putus-putus mengarah ke opsi penyedia lain, diilustrasikan dengan Amazon Bedrock, Google Vertex AI, dan Microsoft Foundry sebagai contoh." width="780" height="322" data-path="images/llm-gateway-flow.svg" />

51</Frame>

113 52 

114```bash theme={null}53Dua jenis kredensial terlibat:

115# Atur di lingkungan

116export ANTHROPIC_AUTH_TOKEN=sk-litellm-static-key

117 54 

118# Atau di pengaturan Claude Code55* **Kredensial pengembang**: setiap pengembang memegang miliknya sendiri, dikeluarkan oleh gateway. Ini mengautentikasi mereka ke gateway dan mengidentifikasi mereka dalam pelacakan penggunaan

119{56* **Kredensial penyedia**: gateway memegang satu kredensial untuk akun penyedia Anda, dibagikan oleh semua lalu lintas yang diteruskan. Anda tidak menyediakan kunci penyedia per pengembang

120 "env": {

121 "ANTHROPIC_AUTH_TOKEN": "sk-litellm-static-key"

122 }

123}

124```

125 57 

126Nilai ini akan dikirim sebagai header `Authorization`.58Gateway meneruskan setiap permintaan ke penyedia yang Anda konfigurasi, seperti API Anthropic, [Amazon Bedrock](/id/amazon-bedrock), [Google Vertex AI](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry), atau [Claude Platform di AWS](/id/claude-platform-on-aws). Karena Claude Code hanya berbicara dengan gateway, pilihan penyedia adalah konfigurasi gateway, bukan klien.

127 59 

128<h5 id="dynamic-api-key-with-helper">60<h2 id="roll-out-a-gateway">

129 Kunci API dinamis dengan pembantu61 Luncurkan gateway

130</h5>62</h2>

131 

132Untuk kunci yang berputar atau autentikasi per pengguna:

133 

1341. Buat skrip pembantu kunci API:

135 

136```bash theme={null}

137#!/bin/bash

138# ~/bin/get-litellm-key.sh

139 

140# Contoh: Ambil kunci dari vault

141vault kv get -field=api_key secret/litellm/claude-code

142 

143# Contoh: Hasilkan token JWT

144jwt encode \

145 --secret="${JWT_SECRET}" \

146 --exp="+1h" \

147 '{"user":"'${USER}'","team":"engineering"}'

148```

149 

1502. Konfigurasi pengaturan Claude Code untuk menggunakan pembantu:

151 

152```json theme={null}

153{

154 "apiKeyHelper": "~/bin/get-litellm-key.sh"

155}

156```

157 

1583. Atur interval penyegaran token:

159 

160```bash theme={null}

161# Segarkan setiap jam (3600000 ms)

162export CLAUDE_CODE_API_KEY_HELPER_TTL_MS=3600000

163```

164 

165Nilai ini akan dikirim sebagai header `Authorization` dan `X-Api-Key`. `apiKeyHelper` memiliki prioritas lebih rendah daripada `ANTHROPIC_AUTH_TOKEN` atau `ANTHROPIC_API_KEY`.

166 

167<h4 id="unified-endpoint-recommended">

168 Endpoint terpadu (direkomendasikan)

169</h4>

170 

171Menggunakan [endpoint format Anthropic](https://docs.litellm.ai/docs/anthropic_unified) LiteLLM:

172 

173```bash theme={null}

174export ANTHROPIC_BASE_URL=https://litellm-server:4000

175```

176 

177**Manfaat endpoint terpadu dibandingkan endpoint pass-through:**

178 

179* Penyeimbangan beban

180* Fallback

181* Dukungan konsisten untuk pelacakan biaya dan pelacakan pengguna akhir

182 

183<h4 id="provider-specific-pass-through-endpoints-alternative">

184 Endpoint pass-through khusus penyedia (alternatif)

185</h4>

186 

187<h5 id="claude-api-through-litellm">

188 Claude API melalui LiteLLM

189</h5>

190 

191Menggunakan [endpoint pass-through](https://docs.litellm.ai/docs/pass_through/anthropic_completion):

192 63 

193```bash theme={null}64Ketika Anda siap meluncurkan LLM gateway ke organisasi Anda, urutannya sama terlepas dari produk gateway mana yang Anda pilih:

194export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic

195```

196 65 

197<h5 id="amazon-bedrock-through-litellm">661. Terapkan gateway dan berikan kredensial penyedia Anda, sehingga dapat mengautentikasi permintaan yang diteruskannya.

198 Amazon Bedrock melalui LiteLLM672. Keluarkan setiap pengembang kredensial gateway, sehingga penggunaan dikaitkan dengan pengembang dan offboarding mencabut satu kredensial.

199</h5>683. Distribusikan konfigurasi melalui [file pengaturan terkelola](/id/settings#settings-files) dan alat rahasia Anda, sehingga setiap mesin menerima URL dasar dan kredensial. Ketika keduanya didistribusikan, pengembang tidak mengonfigurasi apa pun. Jika Anda tidak memiliki distribusi pengaturan, pengembang mengikuti [halaman koneksi](/id/llm-gateway-connect) untuk menetapkan variabel sendiri.

694. Minta setiap pengembang [memeriksa konfigurasi di Claude Code](/id/llm-gateway-connect#check-for-an-existing-configuration), sehingga masalah distribusi muncul sebelum mereka bergantung pada gateway.

200 70 

201Menggunakan [endpoint pass-through](https://docs.litellm.ai/docs/pass_through/bedrock):71[Luncurkan LLM gateway untuk organisasi Anda](/id/llm-gateway-rollout) menjelaskan setiap langkah dan menunjukkan file konfigurasi untuk didistribusikan di setiap langkah. Gateway adalah satu bagian dari pengaturan organisasi; untuk penegakan kebijakan, visibilitas penggunaan, dan keputusan penanganan data, lihat [Siapkan Claude Code untuk organisasi Anda](/id/admin-setup).

202 72 

203```bash theme={null}73<h2 id="third-party-gateways">

204export ANTHROPIC_BEDROCK_BASE_URL=https://litellm-server:4000/bedrock74 Gateway pihak ketiga

205export CLAUDE_CODE_SKIP_BEDROCK_AUTH=175</h2>

206export CLAUDE_CODE_USE_BEDROCK=1

207```

208 76 

209<h5 id="google-vertex-ai-through-litellm">77Setiap gateway yang mengekspos [format API yang didukung](/id/llm-gateway-protocol#api-formats) berfungsi. Anthropic tidak mendukung, memelihara, atau mengaudit produk gateway pihak ketiga. Terapkan mengikuti dokumentasi mereka sendiri, kemudian selesaikan sisi Claude Code dari peluncuran dengan [langkah-langkah peluncuran](/id/llm-gateway-rollout).

210 Google Vertex AI melalui LiteLLM

211</h5>

212 78 

213Menggunakan [endpoint pass-through](https://docs.litellm.ai/docs/pass_through/vertex_ai):79<h2 id="subscriptions-and-gateways">

80 Langganan dan gateway

81</h2>

214 82 

215```bash theme={null}83Sementara [variabel kredensial gateway](/id/llm-gateway-connect#set-the-credential-variable) atau `apiKeyHelper` aktif, langganan claude.ai pengembang tidak digunakan: kredensial menggantikan login langganan untuk sesi itu, dan batas penggunaan langganan tidak berlaku. Lalu lintas itu ditagih per token kepada siapa pun yang memiliki kredensial yang diteruskan gateway, seperti akun Anthropic Console organisasi Anda, atau akun Bedrock, Vertex, atau Foundry Anda ketika gateway merutekan ke sana.

216export ANTHROPIC_VERTEX_BASE_URL=https://litellm-server:4000/vertex_ai/v1

217export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

218export CLAUDE_CODE_SKIP_VERTEX_AUTH=1

219export CLAUDE_CODE_USE_VERTEX=1

220export CLOUD_ML_REGION=us-east5

221```

222 84 

223<h5 id="claude-platform-on-aws-through-a-gateway">85Menetapkan hanya `ANTHROPIC_BASE_URL`, tanpa kredensial gateway, tidak menggantikan langganan. Permintaan masih merutekan melalui gateway, tetapi login claude.ai yang disimpan tetap menjadi kredensial aktif, sehingga batas penggunaan dan penagihan berlaku. Gateway yang meneruskan lalu lintas ini ke Anthropic harus meneruskan kemampuan OAuth di `anthropic-beta`; lihat [referensi header permintaan](/id/llm-gateway-protocol#request-headers).

224 Claude Platform on AWS melalui gateway

225</h5>

226 86 

227Arahkan ke gateway yang meneruskan ke endpoint [Claude Platform on AWS](/id/claude-platform-on-aws):87<h2 id="configure-separately-from-the-gateway">

88 Konfigurasi secara terpisah dari gateway

89</h2>

228 90 

229```bash theme={null}91Gateway menentukan di mana permintaan API model dikirim. Pemilihan model, sisa lalu lintas jaringan Claude Code, dan proxy korporat dikonfigurasi secara terpisah:

230export ANTHROPIC_AWS_BASE_URL=https://litellm-server:4000/anthropic-aws

231export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

232export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1

233export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

234```

235 92 

236Untuk informasi lebih terperinci, lihat [dokumentasi LiteLLM](https://docs.litellm.ai/).93* **Pemilihan model**: URL dasar menentukan di mana permintaan pergi, bukan model mana yang menjawabnya. Pilih model dengan perintah `/model` atau variabel lingkungan model; lihat [cara mengatur model Anda](/id/model-config#setting-your-model)

94* **Lalu lintas sisi klien**: pemeriksaan versi dan telemetri klien opsional, keduanya dinonaktifkan dengan [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/id/env-vars), dan lalu lintas login ketika login claude.ai atau Console digunakan, pergi ke endpoint pembaruan dan autentikasi Anthropic daripada gateway. Lihat [persyaratan akses jaringan](/id/network-config#network-access-requirements) untuk domain

95* **Proxy korporat**: proxy yang ditetapkan dengan `HTTPS_PROXY` duduk di antara Claude Code dan setiap server yang dibicarakannya, termasuk gateway. Jika jaringan Anda memerlukan proxy, konfigurasi keduanya; lihat [konfigurasi proxy](/id/network-config#proxy-configuration)

237 96 

238<h2 id="additional-resources">97<h2 id="related-pages">

239 Sumber daya tambahan98 Halaman terkait

240</h2>99</h2>

241 100 

242* [Dokumentasi LiteLLM](https://docs.litellm.ai/)101* [Hubungkan Claude Code ke LLM gateway](/id/llm-gateway-connect): atur URL dasar dan kredensial di mesin Anda sendiri, dengan konfigurasi per-permukaan dan tabel pemecahan masalah

243* [Pengaturan Claude Code](/id/settings)102* [Luncurkan LLM gateway untuk organisasi Anda](/id/llm-gateway-rollout): daftar periksa admin untuk menerapkan gateway, mengeluarkan kredensial pengembang, dan mendistribusikan pengaturan terkelola

244* [Konfigurasi jaringan enterprise](/id/network-config)103* [Referensi protokol gateway](/id/llm-gateway-protocol): apa yang Claude Code kirimkan ke gateway, untuk operator yang mengonfigurasi satu, mencakup endpoint, header untuk diteruskan, dan pass-through fitur

245* [Ikhtisar integrasi pihak ketiga](/id/third-party-integrations)104* [Siapkan Claude Code untuk organisasi Anda](/id/admin-setup): keputusan peluncuran yang lebih luas yang merupakan bagian dari gateway, termasuk penegakan kebijakan dan visibilitas penggunaan

llm-gateway-connect.md +527 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Hubungkan Claude Code ke gateway LLM

6 

7> Arahkan Claude Code ke gateway LLM organisasi Anda. Periksa apakah admin Anda sudah mengonfigurasinya, atau atur URL dasar dan kredensial sendiri untuk CLI, VS Code, GitHub Actions, dan Agent SDK, kemudian verifikasi koneksi dan perbaiki kesalahan gateway.

8 

9[Gateway LLM](/id/llm-gateway) adalah proxy yang dijalankan organisasi Anda antara Claude Code dan penyedia model. Ketika organisasi Anda menggunakan satu, Claude Code melakukan autentikasi ke gateway dengan kredensial yang dikeluarkan organisasi Anda, bukan login claude.ai pribadi Anda.

10 

11Halaman ini untuk pengembang yang menjalankan Claude Code melalui gateway yang dioperasikan organisasi mereka. Ini mencakup dua jalur: [memeriksa apakah administrator Anda sudah mengonfigurasinya untuk Anda](#check-for-an-existing-configuration), dan [mengonfigurasinya sendiri](#configure-claude-code-yourself) ketika mereka belum.

12 

13<Note>

14 * Untuk menerapkan gateway untuk organisasi Anda, lihat [Luncurkan gateway LLM](/id/llm-gateway-rollout)

15 * Untuk apa yang Claude Code kirim ke gateway, lihat [referensi protokol gateway](/id/llm-gateway-protocol)

16</Note>

17 

18<h2 id="check-for-an-existing-configuration">

19 Periksa konfigurasi yang ada

20</h2>

21 

22Administrator dapat mendistribusikan alamat gateway dan kredensial melalui [pengaturan terkelola](/id/settings#settings-files), manajemen perangkat, atau [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper), sehingga Claude Code mengambilnya saat startup tanpa apa pun yang perlu Anda atur. Untuk memeriksa apakah organisasi Anda sudah melakukan ini:

23 

24<Steps>

25 <Step title="Mulai Claude Code">

26 Jalankan `claude`. Jika membuka ke layar login alih-alih sesi, tidak ada kredensial gateway yang didistribusikan; [konfigurasikan sendiri](#configure-claude-code-yourself) di bawah.

27 </Step>

28 

29 <Step title="Periksa tab Status">

30 Jika Claude Code memulai sesi tanpa menampilkan layar login, jalankan `/status`, buka tab **Status**, dan periksa dua baris:

31 

32 * `Anthropic base URL`: baris ini hanya muncul ketika alamat gateway diatur. Jika tidak ada, Claude Code tidak menunjuk ke gateway; [konfigurasikan sendiri](#configure-claude-code-yourself) di bawah.

33 * `Auth token` atau `API key`: baris yang menamai `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_API_KEY`, atau `apiKeyHelper` mengonfirmasi kredensial gateway aktif. Baris `Login method` yang menamai akun claude.ai sebagai gantinya berarti kredensial tidak didistribusikan; [aturnya sendiri](#set-the-credential-variable).

34 </Step>

35 

36 <Step title="Kirim pesan uji">

37 Tutup menu `/status` dan kirim prompt apa pun di Claude Code. Respons normal dari Claude, tanpa kesalahan, mengonfirmasi koneksi gateway berfungsi.

38 </Step>

39</Steps>

40 

41Jika kedua baris di menu `/status` terlihat benar tetapi pesan ke Claude gagal, lihat [tabel pemecahan masalah](#troubleshoot-gateway-errors).

42 

43<h2 id="configure-claude-code-yourself">

44 Konfigurasikan Claude Code sendiri

45</h2>

46 

47Untuk mengonfigurasi Claude Code untuk gateway sendiri, Anda memerlukan dari tim gateway Anda:

48 

49* URL dasar gateway

50* Kredensial: string kunci atau token, atau perintah yang mengambilnya

51 * Jika tim gateway Anda tidak mengatakan jenis kredensial apa itu, bagian [variabel kredensial](#set-the-credential-variable) di bawah mencakup apa yang harus dicoba

52 

53Bagian di bawah mencakup konfigurasi secara berurutan:

54 

55* [Atur variabel kredensial](#set-the-credential-variable) dan [atur URL dasar](#set-the-base-url-and-credential): dua variabel yang setiap koneksi gateway butuhkan

56* [Verifikasi koneksi](#verify-the-connection): konfirmasi berfungsi sebelum menyimpan apa pun

57* [Konfigurasikan setiap permukaan](#configure-each-surface): jika Anda menggunakan permukaan selain CLI Claude Code, seperti VS Code, lihat cara mengonfigurasinya dengan kredensial gateway Anda

58* [Konfigurasi tambahan](#additional-configuration): variabel yang beberapa gateway butuhkan di luar URL dasar dan kredensial, seperti header khusus, pembantu kredensial, penemuan model, atau URL dasar format penyedia. Atur ini hanya jika administrator Anda menamakannya

59 

60<h3 id="set-the-credential-variable">

61 Atur variabel kredensial

62</h3>

63 

64Untuk melakukan autentikasi Claude Code ke gateway, atur kredensial Anda dalam variabel lingkungan. Variabel mana tergantung pada apa yang diberitahu tim gateway Anda:

65 

66| Atur kredensial di | Gunakan ketika |

67| :------------------------------------------------------ | :--------------------------------------------------------------------- |

68| `ANTHROPIC_AUTH_TOKEN` | Tim gateway Anda mengatakan "bearer token" atau "Authorization header" |

69| `ANTHROPIC_API_KEY` | Tim gateway Anda mengatakan "API key" atau "x-api-key" |

70| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | Kredensial berputar atau berasal dari vault |

71 

72Jika Anda tidak diberitahu jenis mana, gunakan `ANTHROPIC_AUTH_TOKEN`; [permintaan verifikasi](#verify-the-connection) di bawah menunjukkan cara mengetahui apakah Anda perlu beralih.

73 

74<h3 id="set-the-base-url-and-credential">

75 Atur URL dasar dan kredensial

76</h3>

77 

78Atur URL dasar gateway dan variabel kredensial yang Anda pilih di atas sebagai variabel lingkungan. Contoh menggunakan `ANTHROPIC_AUTH_TOKEN`; tukarnya dengan `ANTHROPIC_API_KEY` jika itu [variabel yang Anda pilih](#set-the-credential-variable). Anda dapat mengaturnya [di shell Anda](#set-as-shell-environment-variables), yang berlaku untuk satu sesi terminal, atau [di file pengaturan Claude Code](#set-in-a-settings-file), yang bertahan di mana pun Claude Code berjalan.

79 

80Untuk koneksi pertama Anda, mulai dengan ekspor shell dan jalankan [permintaan verifikasi](#verify-the-connection) sebelum memindahkan nilai ke file pengaturan.

81 

82<h4 id="set-as-shell-environment-variables">

83 Atur sebagai variabel lingkungan shell

84</h4>

85 

86Ganti nilai dengan yang diberikan tim gateway Anda:

87 

88<Tabs>

89 <Tab title="Bash atau Zsh">

90 ```bash theme={null}

91 export ANTHROPIC_BASE_URL=https://llm-gateway.example.com

92 export ANTHROPIC_AUTH_TOKEN=sk-gateway-key

93 ```

94 </Tab>

95 

96 <Tab title="PowerShell">

97 ```powershell theme={null}

98 $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"

99 $env:ANTHROPIC_AUTH_TOKEN = "sk-gateway-key"

100 ```

101 </Tab>

102</Tabs>

103 

104Ekspor shell hanya berlaku untuk sesi terminal itu dan program yang dimulai darinya; editor yang diluncurkan dari dock atau menu Start tidak akan melihatnya. Untuk membuatnya bertahan di terminal baru, tambahkan baris yang sama ke profil shell Anda, seperti `~/.zshrc`, `~/.bashrc`, atau `$PROFILE` PowerShell Anda, atau gunakan file pengaturan sebagai gantinya.

105 

106<h4 id="set-in-a-settings-file">

107 Atur di file pengaturan

108</h4>

109 

110Untuk membuat konfigurasi berlaku di mana pun Claude Code berjalan tanpa bergantung pada shell Anda, atur variabel di blok `env` dari [file pengaturan](/id/settings). File pengaturan memiliki cakupan berbeda:

111 

112* `~/.claude/settings.json` berlaku untuk semua proyek Anda. Di Windows jalurnya adalah `%USERPROFILE%\.claude\settings.json`

113* `.claude/settings.local.json` berlaku untuk satu proyek. Claude Code menambahkannya ke gitignore Anda ketika membuat file; jika Anda membuatnya sendiri, tambahkan ke gitignore Anda secara manual terlebih dahulu sehingga Anda tidak secara tidak sengaja melakukan komit kredensial Anda

114 

115<Warning>

116 Jangan letakkan kredensial di `.claude/settings.json` proyek. File itu dilakukan komit dan dibagikan dengan semua orang yang mengkloning repositori.

117</Warning>

118 

119Blok `env` terlihat sama di kedua file:

120 

121```json theme={null}

122{

123 "env": {

124 "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",

125 "ANTHROPIC_AUTH_TOKEN": "sk-gateway-key"

126 }

127}

128```

129 

130Ketika ekspor shell dan blok `env` file pengaturan mengatur variabel yang sama, nilai file pengaturan berlaku. Jalankan `/status` untuk melihat URL dasar dan sumber kredensial mana yang digunakan Claude Code.

131 

132<h3 id="verify-the-connection">

133 Verifikasi koneksi

134</h3>

135 

136Dengan variabel yang diekspor di shell Anda, kirim permintaan satu token ke gateway secara langsung. Ini mengonfirmasi URL dan kredensial berfungsi sebelum Anda membuka Claude Code, sehingga kegagalan menunjuk ke gateway daripada konfigurasi Anda. Perintah di bawah membaca variabel shell, jadi mereka memerlukan [ekspor shell](#set-as-shell-environment-variables) bahkan jika Anda juga menempatkan nilai di file pengaturan.

137 

138<Tabs>

139 <Tab title="Bash atau Zsh">

140 ```bash theme={null}

141 curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \

142 -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \

143 -H "anthropic-version: 2023-06-01" \

144 -H "content-type: application/json" \

145 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

146 ```

147 </Tab>

148 

149 <Tab title="PowerShell">

150 ```powershell theme={null}

151 Invoke-RestMethod -Method Post -Uri "$env:ANTHROPIC_BASE_URL/v1/messages" `

152 -Headers @{ "Authorization" = "Bearer $env:ANTHROPIC_AUTH_TOKEN"; "anthropic-version" = "2023-06-01" } `

153 -ContentType "application/json" `

154 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

155 ```

156 </Tab>

157</Tabs>

158 

159Jika gateway Anda mengharapkan kunci di header `x-api-key`, ganti header `Authorization` dengan `x-api-key: $ANTHROPIC_API_KEY` di perintah Bash, atau entri hashtable `"Authorization"` dengan `"x-api-key" = "$env:ANTHROPIC_API_KEY"` di perintah PowerShell.

160 

161Respons JSON yang dimulai dengan `{"id":"msg_` dan menyertakan bidang `"content":[...]` berarti gateway dapat dijangkau dan kredensial berfungsi. Kesalahan yang menamai model yang tidak dikenal masih membuktikan URL dan kredensial berfungsi, karena gateway melakukan autentikasi permintaan sebelum menolak nama model; Anda tidak perlu menemukan model yang dilayani gateway Anda untuk tes ini. `401` berarti kredensial ditolak: jika Anda menebak variabel, beralih ke yang lain dan ekspor ulang.

162 

163<h4 id="confirm-in-claude-code">

164 Konfirmasi di Claude Code

165</h4>

166 

167Mulai `claude` dari shell yang sama sehingga mewarisi ekspor, kirim pesan, dan jalankan `/status`.

168 

169Di tab **Status**, baris `Anthropic base URL` harus menampilkan alamat gateway Anda, yang mengonfirmasi permintaan dirutekan ke sana; jika baris tidak ada, variabel tidak mencapai sesi. Baris `Auth token` atau `API key` yang menamai variabel yang Anda atur mengonfirmasi kredensial gateway aktif daripada login claude.ai yang disimpan.

170 

171Jika pesan gagal, atau `/status` tidak menampilkan URL gateway, lihat [tabel pemecahan masalah](#troubleshoot-gateway-errors) di bawah.

172 

173<h3 id="how-the-credential-variable-maps-to-a-header">

174 Bagaimana variabel kredensial memetakan ke header

175</h3>

176 

177Setiap variabel mengirim kredensial di header HTTP berbeda: `ANTHROPIC_AUTH_TOKEN` di `Authorization: Bearer`, `ANTHROPIC_API_KEY` di `x-api-key`, dan `apiKeyHelper` di keduanya. Kredensial dalam variabel yang salah mencapai gateway di header yang tidak dibacanya, dan permintaan gagal dengan `401`. Jika permintaan verifikasi mengembalikan `401`, beralih ke variabel lain dan coba lagi.

178 

179<h3 id="conflicts-with-an-existing-login">

180 Konflik dengan login yang ada

181</h3>

182 

183Variabel kredensial gateway mengambil alih login claude.ai yang disimpan atau kunci Console. Login claude.ai Anda tetap disimpan dan tidak digunakan sementara variabel diatur; batalkan pengaturan variabel dan Claude Code kembali ke itu. Dengan `ANTHROPIC_AUTH_TOKEN`, variabel mengambil alih segera. Dengan `ANTHROPIC_API_KEY`, Anda diminta sekali dalam mode interaktif untuk menyetujui kunci sebelum mengambil alih.

184 

185Jalankan `/status` untuk mengonfirmasi sumber kredensial mana yang aktif. Jika startup menampilkan peringatan konflik auth yang menamai dua sumber, lihat baris pertama [tabel pemecahan masalah](#troubleshoot-gateway-errors) untuk mengetahui mana yang harus dihapus. Untuk menghapus login yang disimpan sehingga hanya kredensial gateway yang tersisa, jalankan `/logout`.

186 

187<h2 id="configure-each-surface">

188 Konfigurasikan setiap permukaan

189</h2>

190 

191CLI membaca variabel lingkungan dan file pengaturan di atas. Permukaan lainnya adalah ekstensi VS Code, aplikasi desktop, GitHub Actions, Agent SDK, dan permukaan cloud seperti Slack dan web; bagian di bawah mencakup apakah pengaturan itu mencapai masing-masing.

192 

193<h3 id="vs-code-extension">

194 Ekstensi VS Code

195</h3>

196 

197Atur variabel gateway untuk [ekstensi VS Code](/id/vs-code) di `claudeCode.environmentVariables`, di pengaturan pengguna VS Code sendiri yang dibuka dengan perintah **Preferences: Open User Settings (JSON)**. Ekstensi memeriksa kredensial dari pengaturan ini sebelum meluncurkan, jadi itu tempat yang andal untuk kredensial gateway; nilai di `~/.claude/settings.json` mencapai proses yang dihasilkan tetapi bukan pemeriksaan login ekstensi sendiri.

198 

199```json theme={null}

200{

201 "claudeCode.environmentVariables": [

202 { "name": "ANTHROPIC_BASE_URL", "value": "https://llm-gateway.example.com" },

203 { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-gateway-key" }

204 ]

205}

206```

207 

208<h3 id="desktop-app">

209 Aplikasi desktop

210</h3>

211 

212Aplikasi desktop membaca perutean gateway dari [konfigurasi yang didistribusikan administrator](https://claude.com/docs/cowork/3p/gateway), bukan dari `ANTHROPIC_BASE_URL` atau `settings.json`. Jika organisasi Anda telah mendistribusikannya, aplikasi desktop merutekan melalui gateway tanpa pengaturan di pihak Anda; jika tidak, gunakan CLI terminal atau ekstensi VS Code untuk sesi gateway. Administrator mendistribusikan konfigurasi seperti yang dijelaskan dalam [peluncuran organisasi](/id/llm-gateway-rollout#distribute-through-managed-settings).

213 

214Jika aplikasi desktop menampilkan `Gateway was unreachable`, aplikasi tidak dapat menjangkau URL dasar yang dikonfigurasi saat startup; periksa URL dan jalur jaringan dengan [tes curl di atas](#verify-the-connection).

215 

216<h3 id="github-actions">

217 GitHub Actions

218</h3>

219 

220[Claude Code GitHub Actions](/id/github-actions) membaca `ANTHROPIC_BASE_URL` dan `ANTHROPIC_CUSTOM_HEADERS` dari blok `env` alur kerja. Teruskan kredensial sebagai input `anthropic_api_key` tindakan; tindakan mengaturnya sebagai `ANTHROPIC_API_KEY`, sehingga mencapai gateway di header `x-api-key`.

221 

222Untuk gateway `x-api-key`, atur URL dasar di `env` dan teruskan kunci gateway sebagai input:

223 

224```yaml theme={null}

225env:

226 ANTHROPIC_BASE_URL: https://llm-gateway.example.com

227 

228steps:

229 - uses: anthropics/claude-code-action@v1

230 with:

231 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

232```

233 

234Untuk gateway bearer-token, teruskan rahasia yang sama sebagai input `anthropic_api_key` dan `ANTHROPIC_AUTH_TOKEN` di blok `env` alur kerja. Tindakan memerlukan `anthropic_api_key`, `CLAUDE_CODE_OAUTH_TOKEN`, atau federasi identitas beban kerja sebelum meluncurkan Claude Code, dan tidak membaca `ANTHROPIC_AUTH_TOKEN`, jadi input memenuhi pemeriksaan peluncuran itu sementara variabel env menempatkan kunci di header `Authorization` yang dibaca gateway. Salinan di `x-api-key` diabaikan:

235 

236```yaml theme={null}

237env:

238 ANTHROPIC_BASE_URL: https://llm-gateway.example.com

239 ANTHROPIC_AUTH_TOKEN: ${{ secrets.GATEWAY_API_KEY }}

240 

241steps:

242 - uses: anthropics/claude-code-action@v1

243 with:

244 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

245```

246 

247Untuk opsi autentikasi lain tindakan, termasuk `CLAUDE_CODE_OAUTH_TOKEN` dan federasi identitas beban kerja, lihat [Claude Code GitHub Actions](/id/github-actions) dan [README](https://github.com/anthropics/claude-code-action#readme) tindakan.

248 

249<h3 id="agent-sdk">

250 Agent SDK

251</h3>

252 

253[Agent SDK](/id/agent-sdk/overview) tidak memiliki opsi khusus gateway; itu melewatkan variabel lingkungan ke proses Claude Code yang dihasilkannya. Setiap SDK menerima opsi `env` yang mengatur lingkungan proses yang dihasilkan, dan SDK TypeScript dan Python memperlakukannya berbeda:

254 

255* TypeScript: proses yang dihasilkan mewarisi lingkungan induk secara default, tetapi pengaturan `options.env` mengganti lingkungan sepenuhnya. Sebarkan `process.env` ke dalamnya untuk menyimpan variabel gateway Anda.

256* Python: `ClaudeAgentOptions(env=...)` menggabungkan di atas lingkungan yang diwarisi, jadi variabel gateway yang diatur dalam proses induk membawa tanpa penyebaran.

257 

258<CodeGroup>

259 ```ts TypeScript theme={null}

260 const result = query({

261 prompt: "...",

262 options: {

263 env: {

264 ...process.env,

265 ANTHROPIC_BASE_URL: "https://llm-gateway.example.com",

266 ANTHROPIC_AUTH_TOKEN: process.env.GATEWAY_KEY,

267 },

268 },

269 })

270 ```

271 

272 ```python Python theme={null}

273 options = ClaudeAgentOptions(

274 env={

275 "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",

276 "ANTHROPIC_AUTH_TOKEN": os.environ["GATEWAY_KEY"],

277 }

278 )

279 ```

280</CodeGroup>

281 

282<h3 id="slack-web-and-remote-control">

283 Slack, web, dan Remote Control

284</h3>

285 

286[Claude Code di Slack](/id/slack) dan [Claude Code di web](/id/claude-code-on-the-web) adalah produk yang dihosting Anthropic yang selalu menggunakan API Anthropic; mereka bukan bagian dari penerapan gateway. Variabel gateway yang diatur dalam konfigurasi lingkungan sesi cloud tidak diterapkan. Jika lalu lintas Anda harus tetap di gateway, jangan aktifkan permukaan ini untuk pengguna tersebut.

287 

288[Remote Control](/id/remote-control) dan [voice dictation](/id/voice-dictation) keduanya mengandalkan identitas claude.ai: Remote Control untuk memasangkan sesi langsung dengan akun Anda, dan voice dictation untuk menjangkau titik akhir transkripsi claude.ai. Mereka tidak tersedia sementara `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` aktif. Untuk menggunakan salah satu, batalkan pengaturan kredensial gateway dan masuk dengan claude.ai sebagai gantinya; `/doctor` menamai variabel untuk dibatalkan pengaturannya.

289 

290<h2 id="additional-configuration">

291 Konfigurasi tambahan

292</h2>

293 

294Pengaturan ini mencakup kasus di luar URL dasar dan kredensial. Atur hanya jika instruksi administrator Anda atau [tabel pemecahan masalah](#troubleshoot-gateway-errors) memanggil satu.

295 

296<h3 id="send-additional-headers">

297 Kirim header tambahan

298</h3>

299 

300Beberapa gateway merutekan atau menandai permintaan menggunakan header khusus selain kredensial, misalnya pengidentifikasi penyewa atau kunci perutean. Untuk mengirim satu, atur [`ANTHROPIC_CUSTOM_HEADERS`](/id/env-vars) dengan satu pasangan `Name: Value` per baris. Contoh di bawah menambahkan header perutean bernama `X-Org-Route`:

301 

302<Tabs>

303 <Tab title="Bash atau Zsh">

304 ```bash theme={null}

305 export ANTHROPIC_CUSTOM_HEADERS="X-Org-Route: prod"

306 ```

307 </Tab>

308 

309 <Tab title="PowerShell">

310 ```powershell theme={null}

311 $env:ANTHROPIC_CUSTOM_HEADERS = "X-Org-Route: prod"

312 ```

313 </Tab>

314</Tabs>

315 

316Anda juga dapat mengatur `ANTHROPIC_CUSTOM_HEADERS` di blok `env` file pengaturan. Gunakan `\n` antara pasangan di sana, karena string JSON tidak dapat mencakup beberapa baris:

317 

318```json theme={null}

319{

320 "env": {

321 "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: acme"

322 }

323}

324```

325 

326<h3 id="add-gateway-models-to-the-model-picker">

327 Tambahkan model gateway ke pemilih model

328</h3>

329 

330Penemuan model menanyakan gateway untuk daftar modelnya saat startup dan menambahkan nama tersebut ke pemilih `/model` bersama entri bawaan.

331 

332Aktifkan jika gateway Anda melayani nama model yang tidak ada dalam daftar bawaan Claude Code dan Anda ingin memilihnya dari pemilih. Jika model bawaan adalah apa yang Anda gunakan, Anda tidak memerlukan penemuan; administrator Anda mungkin juga telah mengaktifkannya melalui pengaturan terkelola.

333 

334Untuk mengaktifkannya, atur `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` di shell Anda atau di blok `env` dari `~/.claude/settings.json`. Penemuan memerlukan Claude Code v2.1.129 atau lebih baru. {/* min-version: 2.1.129 */}

335 

336Model yang ditemukan muncul sebagai entri `/model` tambahan berlabel `From gateway`. Untuk mengonfirmasi penemuan berjalan, mulai `claude --debug` dan cari baris `[gatewayDiscovery]`: keberhasilan mencatat berapa banyak model yang di-cache, dan `404`, timeout, atau pengalihan dicatat di sana juga. Untuk kapan penemuan berjalan, apa yang disaringnya, dan format respons yang dilayani gateway, lihat [referensi penemuan model](/id/llm-gateway-protocol#model-discovery).

337 

338<h3 id="rotate-credentials-with-apikeyhelper">

339 Putar kredensial dengan apiKeyHelper

340</h3>

341 

342`apiKeyHelper` adalah perintah yang dijalankan Claude Code untuk mengambil kredensial gateway Anda, alih-alih membacanya dari variabel lingkungan statis.

343 

344Gunakan pembantu ketika kredensial kedaluwarsa sesuai jadwal, berasal dari vault atau perintah SSO, atau administrator Anda mengatakan untuk mengonfigurasi satu. Jika kredensial Anda adalah string tetap yang Anda atur sekali, [variabel kredensial](#set-the-credential-variable) adalah semua yang Anda butuhkan dan Anda dapat melewati bagian ini.

345 

346Pembantu adalah perintah shell apa pun yang mencetak kredensial saat ini ke stdout. Claude Code menjalankannya melalui shell sistem Anda, jadi di Windows itu dapat berupa executable atau invokasi PowerShell. Tulis skrip, buat dapat dieksekusi, dan referensikan dari `apiKeyHelper` di [file pengaturan](/id/settings) Anda:

347 

348<Tabs>

349 <Tab title="Bash atau Zsh">

350 Misalnya, skrip yang membaca dari vault:

351 

352 ```bash theme={null}

353 #!/bin/bash

354 vault kv get -field=api_key secret/llm-gateway/claude-code

355 ```

356 

357 Referensikan jalurnya di `~/.claude/settings.json`:

358 

359 ```json theme={null}

360 {

361 "apiKeyHelper": "~/bin/get-gateway-key.sh"

362 }

363 ```

364 </Tab>

365 

366 <Tab title="PowerShell">

367 Misalnya, skrip yang membaca dari vault:

368 

369 ```powershell theme={null}

370 vault kv get -field=api_key secret/llm-gateway/claude-code

371 ```

372 

373 Referensikan invokasi PowerShell di `%USERPROFILE%\.claude\settings.json`, meloloskan garis miring terbalik dalam string JSON:

374 

375 ```json theme={null}

376 {

377 "apiKeyHelper": "powershell -NoProfile -File C:\\scripts\\get-gateway-key.ps1"

378 }

379 ```

380 </Tab>

381</Tabs>

382 

383Claude Code menyimpan output pembantu selama lima menit secara default dan menjalankannya kembali ketika permintaan mengembalikan HTTP 401. Untuk mengubah masa pakai cache, atur `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` dalam milidetik, misalnya `CLAUDE_CODE_API_KEY_HELPER_TTL_MS=900000` untuk 15 menit.

384 

385Nilai pembantu dikirim di header `Authorization` dan `x-api-key`, jadi berfungsi di mana pun header gateway Anda dibaca.

386 

387<h3 id="route-to-a-cloud-provider-through-a-gateway">

388 Rutekan ke penyedia cloud melalui gateway

389</h3>

390 

391Konfigurasi ini menunjukkan Claude Code ke gateway melalui variabel URL dasar khusus penyedia sebagai pengganti `ANTHROPIC_BASE_URL`. Gateway Bedrock dan Vertex menerima format permintaan asli penyedia tersebut; gateway Foundry dan Claude Platform di AWS menerima format Anthropic Messages dan berbeda hanya dalam variabel URL dasar mana yang mencapainya.

392 

393Gunakan satu hanya jika tim gateway Anda secara khusus menamai Bedrock, Vertex, Foundry, atau Claude Platform di AWS. Jika [permintaan verifikasi](#verify-the-connection) di atas mengembalikan JSON, Anda dapat melewati bagian ini.

394 

395Atur blok untuk penyedia yang dinamai tim gateway Anda. Variabel skip-auth memberitahu Claude Code untuk tidak menandatangani permintaan dengan kredensial penyedia, karena gateway menyimpannya. Jika gateway memerlukan token sendiri, tambahkan `ANTHROPIC_AUTH_TOKEN` setelah blok, kecuali untuk Foundry, yang menggunakan `ANTHROPIC_FOUNDRY_API_KEY` seperti yang ditunjukkan.

396 

397<h4 id="amazon-bedrock">

398 Amazon Bedrock

399</h4>

400 

401<Tabs>

402 <Tab title="Bash atau Zsh">

403 ```bash theme={null}

404 export ANTHROPIC_BEDROCK_BASE_URL=https://llm-gateway.example.com/bedrock

405 export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1

406 export CLAUDE_CODE_USE_BEDROCK=1

407 ```

408 </Tab>

409 

410 <Tab title="PowerShell">

411 ```powershell theme={null}

412 $env:ANTHROPIC_BEDROCK_BASE_URL = "https://llm-gateway.example.com/bedrock"

413 $env:CLAUDE_CODE_SKIP_BEDROCK_AUTH = "1"

414 $env:CLAUDE_CODE_USE_BEDROCK = "1"

415 ```

416 </Tab>

417</Tabs>

418 

419<h4 id="google-vertex-ai">

420 Google Vertex AI

421</h4>

422 

423<Tabs>

424 <Tab title="Bash atau Zsh">

425 ```bash theme={null}

426 export ANTHROPIC_VERTEX_BASE_URL=https://llm-gateway.example.com/vertex

427 export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

428 export CLAUDE_CODE_SKIP_VERTEX_AUTH=1

429 export CLAUDE_CODE_USE_VERTEX=1

430 export CLOUD_ML_REGION=us-east5

431 ```

432 </Tab>

433 

434 <Tab title="PowerShell">

435 ```powershell theme={null}

436 $env:ANTHROPIC_VERTEX_BASE_URL = "https://llm-gateway.example.com/vertex"

437 $env:ANTHROPIC_VERTEX_PROJECT_ID = "your-gcp-project-id"

438 $env:CLAUDE_CODE_SKIP_VERTEX_AUTH = "1"

439 $env:CLAUDE_CODE_USE_VERTEX = "1"

440 $env:CLOUD_ML_REGION = "us-east5"

441 ```

442 </Tab>

443</Tabs>

444 

445<h4 id="microsoft-foundry">

446 Microsoft Foundry

447</h4>

448 

449Letakkan kredensial gateway di `ANTHROPIC_FOUNDRY_API_KEY`; itu dikirim ke gateway sebagai header `x-api-key`. `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` tidak berlaku di sini: tanpa kunci API, klien Foundry gagal setiap permintaan sebelum meninggalkan mesin.

450 

451<Tabs>

452 <Tab title="Bash atau Zsh">

453 ```bash theme={null}

454 export ANTHROPIC_FOUNDRY_BASE_URL=https://llm-gateway.example.com/foundry

455 export ANTHROPIC_FOUNDRY_API_KEY=sk-gateway-key

456 export CLAUDE_CODE_USE_FOUNDRY=1

457 ```

458 </Tab>

459 

460 <Tab title="PowerShell">

461 ```powershell theme={null}

462 $env:ANTHROPIC_FOUNDRY_BASE_URL = "https://llm-gateway.example.com/foundry"

463 $env:ANTHROPIC_FOUNDRY_API_KEY = "sk-gateway-key"

464 $env:CLAUDE_CODE_USE_FOUNDRY = "1"

465 ```

466 </Tab>

467</Tabs>

468 

469<h4 id="claude-platform-on-aws">

470 Claude Platform di AWS

471</h4>

472 

473Lihat [Claude Platform di AWS](/id/claude-platform-on-aws) untuk ID ruang kerja.

474 

475<Tabs>

476 <Tab title="Bash atau Zsh">

477 ```bash theme={null}

478 export ANTHROPIC_AWS_BASE_URL=https://llm-gateway.example.com/anthropic-aws

479 export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

480 export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1

481 export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

482 ```

483 </Tab>

484 

485 <Tab title="PowerShell">

486 ```powershell theme={null}

487 $env:ANTHROPIC_AWS_BASE_URL = "https://llm-gateway.example.com/anthropic-aws"

488 $env:ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN"

489 $env:CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH = "1"

490 $env:CLAUDE_CODE_USE_ANTHROPIC_AWS = "1"

491 ```

492 </Tab>

493</Tabs>

494 

495<h2 id="troubleshoot-gateway-errors">

496 Pemecahan masalah kesalahan gateway

497</h2>

498 

499Ini adalah kesalahan paling umum saat menjalankan Claude Code melalui gateway, dengan penyebab sisi gateway dan perbaikannya:

500 

501| Kesalahan | Penyebab | Perbaikan |

502| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

503| Peringatan startup yang menamai dua sumber kredensial dan berakhir dengan `auth may not work as expected`. Versi lebih lama menampilkan `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` sebagai gantinya. | Kredensial gateway dan login yang disimpan keduanya aktif; variabel digunakan untuk permintaan, tetapi login basi dapat menyebabkan perilaku auth yang tidak terduga | Batalkan pengaturan variabel untuk menggunakan login yang disimpan, atau jalankan `/logout` untuk menggunakan kredensial gateway |

504| Kesalahan `401` yang menamai token yang tidak valid atau tidak dikenali | Kredensial bukan yang dikeluarkan gateway, atau berada di header yang tidak dibaca gateway | Konfirmasi variabel cocok dengan jenis kredensial Anda di [tabel kredensial](#set-the-credential-variable), dan regenerasi kunci di gateway jika itu dicabut |

505| `Unable to connect to API (ConnectionRefused)`, atau `(ECONNREFUSED)` dari instalasi npm, sering setelah jeda senyap sementara Claude Code [mencoba ulang dengan backoff](/id/errors#automatic-retries) | Tidak ada yang menjawab di URL dasar: alamatnya salah, atau VPN atau firewall memblokir jalur ke gateway | Jalankan [tes curl di atas](#verify-the-connection), yang gagal segera dengan penyebab yang sama, dan konfirmasi URL dan jalur jaringan dengan tim gateway Anda |

506| `API returned an empty or malformed response (HTTP 200)` | Gateway atau proxy perantara mengembalikan respons non-API, sering halaman HTML error atau login | Uji dengan [permintaan curl di atas](#verify-the-connection); perbaiki rute gateway yang mengembalikan non-JSON |

507| Kesalahan `400` yang menamai `context_management`, `Extra inputs are not permitted`, atau bidang lain yang tidak dikenali | Gateway meneruskan permintaan ke upstream yang menolak bidang yang dikirim Claude Code ke titik akhir format Anthropic | Atur `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, yang menekan sebagian besar bidang pra-rilis; lihat [feature pass-through](/id/llm-gateway-protocol#feature-pass-through). Beberapa beta tidak dijaga oleh bendera ini; untuk itu, atur variabel penyedia `CLAUDE_CODE_USE_*` yang cocok sehingga Claude Code hanya mengirim apa yang diterima penyedia itu |

508| Kesalahan `400` yang menamai `thinking` atau `adaptive`, seperti `Input tag 'adaptive' found` | Build model upstream tidak menerima adaptive reasoning, yang diminta Claude Code untuk model Claude 4.6 dan lebih baru | Tingkatkan upstream gateway. Di Opus 4.6 dan Sonnet 4.6, `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` berfungsi sebagai gantinya. Variabel kemampuan [konfigurasi model](/id/model-config) hanya berlaku untuk konfigurasi penyedia, seperti `CLAUDE_CODE_USE_BEDROCK` dan `CLAUDE_CODE_USE_VERTEX`, bukan di belakang gateway `ANTHROPIC_BASE_URL` |

509| Kesalahan `400` yang menyatakan batas konteks atau token dalam kata-kata gateway sendiri, seperti `ContextWindowExceededError` atau `prompt token count of N exceeds the limit of M` | Gateway memberlakukan konteks yang lebih kecil dari jendela asli model dan menulis ulang kesalahan upstream, jadi compact-and-retry otomatis, yang cocok dengan pesan `prompt is too long` Anthropic, tidak terbangkitkan | Jalankan `/compact` untuk memulihkan sesi. Untuk mencegahnya, atur `CLAUDE_CODE_AUTO_COMPACT_WINDOW` ke batas gateway; nilainya diklem ke setidaknya 100.000 token dan paling banyak jendela konteks model, jadi batas gateway di bawah 100.000 tidak dapat dicocokkan dan `/compact` tetap menjadi pemulihan di sana. Juga atur `CLAUDE_CODE_MAX_OUTPUT_TOKENS` di bawah batas output model gateway |

510| Model hilang dari pemilih `/model` | Nama model gateway tidak ada dalam daftar bawaan Claude Code | Aktifkan [penemuan model gateway](#add-gateway-models-to-the-model-picker) atau tambahkan nama dengan variabel [konfigurasi model](/id/model-config) |

511| Claude Code meminta Anda untuk masuk meskipun [tes curl](#verify-the-connection) berhasil | CLI tidak memiliki kredensial sendiri: URL dasar yang dapat dijangkau bukan satu, dan blok `env` di `.claude/settings.json` atau `.claude/settings.local.json` proyek hanya berlaku setelah wizard first-run dan prompt kepercayaan | Atur `ANTHROPIC_AUTH_TOKEN` di mana pun Claude Code membaca sebelum pengaturan first-run: ekspor shell, blok `env` di `~/.claude/settings.json`, atau pengaturan terkelola |

512| `ANTHROPIC_API_KEY` diatur tetapi diabaikan, tanpa prompt | Kunci memerlukan persetujuan satu kali dalam sesi interaktif, dan kunci yang sebelumnya ditolak diabaikan tanpa bertanya lagi | Aktifkannya di bawah `/config` dengan opsi `Use custom API key` |

513| `This machine's managed settings require a first-party login` | Pengaturan terkelola menyertakan `forceLoginMethod` atau `forceLoginOrgUUID`, yang pada Claude Code v2.1.146 dan lebih baru tidak dapat hidup berdampingan dengan `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` | Administrator Anda harus menghapus `forceLoginMethod` dan `forceLoginOrgUUID` dari pengaturan terkelola untuk menggunakan kredensial gateway, atau menghapus kredensial gateway untuk menggunakan login pihak pertama. Keduanya tidak dapat digabungkan |

514| `403` dengan badan HTML seperti `403 Forbidden`, ketika log gateway sendiri menunjukkan tidak ada permintaan yang diterima | Firewall aplikasi web atau proxy terbalik di depan gateway memblokir badan permintaan sebelum mencapai gateway. Prompt Claude Code menyertakan tag gaya XML dan kode sumber yang cocok dengan aturan badan cross-site-scripting, jadi tes curl pendek lulus sementara sesi nyata tidak | Bebaskan jalur `/v1/messages` gateway dari inspeksi badan permintaan. Di AWS WAF ini adalah aturan terkelola `CrossSiteScripting_Body`; di nginx dengan ModSecurity itu adalah aturan badan OWASP CRS yang setara |

515| Kesalahan sertifikat atau TLS seperti `SSL certificate verification failed` atau `Self-signed certificate detected`, ketika [tes curl](#verify-the-connection) berhasil | Runtime Claude Code tidak mempercayai otoritas sertifikat yang sama dengan yang digunakan `curl`. Umum di belakang proxy inspeksi TLS korporat | Atur `NODE_EXTRA_CA_CERTS` ke jalur bundel CA; lihat [CA certificate store](/id/network-config#ca-certificate-store) |

516 

517Jika Claude Code meminta Anda untuk masuk berulang kali setelah menghapus konfigurasi gateway, penyebabnya biasanya penyimpanan kredensial daripada gateway; lihat [kesalahan autentikasi](/id/errors#authentication-errors).

518 

519<h2 id="related-resources">

520 Sumber daya terkait

521</h2>

522 

523* [Ikhtisar gateway LLM](/id/llm-gateway): apa itu gateway dan bagaimana berinteraksi dengan langganan claude.ai

524* [Luncurkan gateway LLM untuk organisasi Anda](/id/llm-gateway-rollout): daftar periksa yang menghadap admin untuk menerapkan dan mendistribusikan konfigurasi gateway

525* [Referensi protokol gateway](/id/llm-gateway-protocol): apa yang dikirim Claude Code ke gateway, termasuk header dan bidang yang harus diteruskan gateway

526* [Pengaturan](/id/settings): di mana file pengaturan berada dan bagaimana blok `env` dibaca

527* [Autentikasi](/id/authentication): bagaimana variabel kredensial, `apiKeyHelper`, dan login OAuth berinteraksi

llm-gateway-protocol.md +208 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Referensi protokol gateway

6 

7> Kontrak API antara Claude Code dan gateway LLM: endpoint, header dan field body untuk diteruskan, degradasi fitur ketika field dihapus, header atribusi untuk pelacakan biaya, dan penemuan model.

8 

9Halaman ini mendokumentasikan permintaan yang dikirim Claude Code ke gateway, termasuk endpoint yang dipanggilnya, header dan field body yang harus diteruskan gateway, dan fitur mana yang berhenti berfungsi ketika tidak ada. Halaman ini ditulis untuk operator yang mengonfigurasi produk gateway agar bekerja dengan Claude Code.

10 

11<Note>

12 * Untuk meluncurkan gateway yang sudah ada atau pihak ketiga untuk organisasi Anda, lihat [Meluncurkan gateway LLM](/id/llm-gateway-rollout)

13 * Jika Anda adalah pengembang individual yang mengautentikasi Claude Code ke gateway dengan kredensial yang diberikan kepada Anda, lihat [Menghubungkan Claude Code ke gateway LLM](/id/llm-gateway-connect)

14</Note>

15 

16Halaman ini mencakup:

17 

18* [Format API](#api-formats) dan endpoint yang harus disajikan untuk masing-masing

19* [Header permintaan](#request-headers): mana yang harus mencapai upstream dan mana yang dapat dikonsumsi gateway Anda

20* [Blok atribusi prompt sistem](#system-prompt-attribution-block) dan cara berinteraksinya dengan prompt caching

21* [Penerusan fitur](#feature-pass-through): apa yang rusak ketika header atau field body dihapus

22* [Penemuan model](#model-discovery)

23 

24Halaman ini menggunakan dua istilah untuk apa yang dilakukan gateway Anda dengan setiap header dan field body:

25 

26* **Teruskan tanpa perubahan**: teruskan ke upstream byte-for-byte

27* **Konsumsi**: gateway dapat membacanya untuk routing, atribusi, atau tracing dan tidak perlu meneruskannya

28 

29Apa pun yang tidak ditandai teruskan tanpa perubahan adalah milik Anda untuk dikonsumsi atau diabaikan.

30 

31<h2 id="api-formats">

32 Format API

33</h2>

34 

35Gateway harus mengekspos setidaknya satu dari format API berikut ke klien Claude Code. Format mana yang digunakan Claude Code ditentukan oleh konfigurasi klien: variabel di kolom Dipilih oleh tabel di bawah menunjukkan Claude Code ke gateway Anda dalam format tersebut.

36 

37| Format | Dipilih oleh | Endpoint | Teruskan tanpa perubahan |

38| :------------------ | :-------------------------------------------------------------- | :----------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------- |

39| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (opsional) | header permintaan `anthropic-beta` dan `anthropic-version` |

40| Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` dengan `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream` | field body permintaan `anthropic_beta` dan `anthropic_version` |

41| Vertex rawPredict | `ANTHROPIC_VERTEX_BASE_URL` dengan `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (opsional) | header permintaan `anthropic-beta` dan `anthropic-version`, dan field body permintaan `anthropic_version` |

42 

43<h3 id="foundry-and-claude-platform-on-aws">

44 Foundry dan Claude Platform on AWS

45</h3>

46 

47Microsoft Foundry dan [Claude Platform on AWS](/id/claude-platform-on-aws) mengimplementasikan format Anthropic Messages. Claude Code merutekan ke mereka melalui variabel mereka sendiri, `ANTHROPIC_FOUNDRY_BASE_URL` dan `ANTHROPIC_AWS_BASE_URL`, tetapi gateway yang berada di depan salah satu dari mereka mengimplementasikan baris Anthropic Messages di atas. Gateway yang berada di depan Claude Platform on AWS juga harus meneruskan header `anthropic-workspace-id`, yang [platform tersebut memerlukan pada setiap permintaan](/id/claude-platform-on-aws).

48 

49<h3 id="optional-endpoints-and-startup-traffic">

50 Endpoint opsional dan lalu lintas startup

51</h3>

52 

53Endpoint penghitungan token adalah satu-satunya yang opsional: ketika tidak ada, Claude Code memperkirakan penggunaan konteks secara lokal. Permintaan inferensi diposting ke `/v1/messages?beta=true`, jadi cocokkan pada path, bukan URL lengkap. Metode Vertex menambahkan sufiks ke path model penerbit, seperti dalam `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`.

54 

55Gateway juga melihat lalu lintas startup upaya terbaik yang dapat ditolak tanpa merusak apa pun: probe konektivitas `HEAD /`, dan pada gateway format Bedrock permintaan `GET /inference-profiles?type=SYSTEM_DEFINED`.

56 

57<h3 id="streaming">

58 Streaming

59</h3>

60 

61Respons inferensi harus streaming. Claude Code mengonsumsi server-sent events saat tiba, jadi gateway yang membuffer respons lengkap sebelum meneruskannya menghentikan klien.

62 

63<h3 id="format-mismatch-with-the-upstream">

64 Ketidakcocokan format dengan upstream

65</h3>

66 

67Format mana yang digunakan klien menentukan apa yang diterima gateway Anda. Mode kegagalan umum adalah ketidakcocokan antara format yang dikirim klien ke gateway Anda dan format yang diterima penyedia upstream di belakangnya.

68 

69* Ketika klien berbicara format Bedrock atau Vertex, Claude Code mengirim hanya subset dari set kemampuan penuhnya yang diterima penyedia tersebut

70* Ketika klien berbicara format Anthropic Messages, Claude Code mengirim set lengkap, bahkan jika gateway Anda meneruskan ke upstream Bedrock atau Vertex

71 

72Menjembatani perbedaan itu adalah pekerjaan gateway Anda. [Penerusan fitur](#feature-pass-through) menjelaskan apa yang rusak ketika tidak ada.

73 

74<h2 id="request-headers">

75 Header permintaan

76</h2>

77 

78Claude Code menyertakan header ini pada permintaan API. Nama header tidak peka huruf besar-kecil di kawat. Teruskan `anthropic-version` dan `anthropic-beta` tanpa perubahan, ditambah `anthropic-workspace-id` ketika upstream adalah [Claude Platform on AWS](/id/claude-platform-on-aws); sisanya gateway dapat konsumsi untuk routing, atribusi, dan tracing, dan tidak perlu diteruskan.

79 

80| Header | Deskripsi |

81| :------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

82| `Authorization`, `x-api-key` | Kredensial gateway pengembang, di satu atau kedua header tergantung pada [variabel kredensial](/id/llm-gateway-connect#set-the-credential-variable) yang mereka atur |

83| `anthropic-version` | Versi API, saat ini `2023-06-01`. Permintaan format Bedrock dan Vertex juga membawa field body `anthropic_version`, yang nilainya adalah string dialek penyedia, bukan nilai header ini |

84| `anthropic-beta` | Nilai kemampuan yang dipisahkan koma untuk permintaan. Teruskan header secara verbatim; jangan allowlist nilai individual, karena set berubah dengan rilis Claude Code. Ketika pengembang mengautentikasi dengan login claude.ai, yang mungkin ketika `ANTHROPIC_BASE_URL` diatur tanpa variabel kredensial gateway, header ini juga membawa kemampuan OAuth yang diperlukan upstream, dan menghapusnya gagal permintaan tersebut dengan `401` |

85| `x-claude-code-session-id` | Pengidentifikasi unik untuk sesi Claude Code saat ini. Gunakan untuk mengagregasi semua permintaan dari satu sesi tanpa mengurai body permintaan |

86| `x-claude-code-agent-id` | Pengidentifikasi [subagent](/id/sub-agents) yang mengeluarkan permintaan, hadir hanya pada permintaan dari agen yang Claude Code spawn di dalam sesi. Gunakan dengan ID sesi untuk mengatribusikan biaya ke agen paralel |

87| `x-claude-code-parent-agent-id` | Pengidentifikasi agen yang menspawn agen yang meminta, hadir hanya untuk agen bersarang |

88 

89ID subagent dihasilkan segar untuk setiap spawn. Agen rekan kerja, anggota bernama dari [tim agen](/id/agent-teams), menggunakan kembali ID berbasis nama yang stabil di seluruh reconnections. Dalam kedua kasus ID mengidentifikasi agen, bukan orang atau perangkat, jadi jangan perlakukan header ID agen sebagai pengidentifikasi pengguna.

90 

91Jika pengembang Anda menetapkan `ANTHROPIC_CUSTOM_HEADERS`, header tersebut muncul pada permintaan juga.

92 

93<h3 id="forward-as-open-lists">

94 Teruskan sebagai daftar terbuka

95</h3>

96 

97Perlakukan header dan field body sebagai daftar terbuka, bukan daftar tertutup. Claude Code mendapatkan kemampuan di seluruh rilis, dan mereka tiba sebagai nilai `anthropic-beta` baru, field body permintaan baru, dan kadang-kadang header `anthropic-*` atau `x-claude-code-*` baru.

98 

99Ketika meneruskan ke upstream format Anthropic, teruskan header permintaan `anthropic-*` dan field body permintaan melalui tanpa perubahan daripada allowlist yang Anda lihat hari ini. Gateway yang disematkan ke daftar yang diamati menghapus header atau field kemampuan berikutnya dan merusaknya pada rilis yang memperkenalkannya.

100 

101Pengecualiannya adalah upstream non-Anthropic seperti Bedrock atau Vertex, di mana menjembatani perbedaan skema adalah pekerjaan gateway; lihat [penerusan fitur](#feature-pass-through).

102 

103<h2 id="system-prompt-attribution-block">

104 Blok atribusi prompt sistem

105</h2>

106 

107Claude Code menambahkan blok atribusi pendek ke prompt sistem yang berisi versi klien dan sidik jari yang berasal dari percakapan. Endpoint `api.anthropic.com` menghapus blok sebelum memproses, jadi tidak mempengaruhi prompt caching pihak pertama; upstream lain apa pun menerimanya sebagai bagian dari prompt. Anthropic dan endpoint Claude penyedia cloud membacanya untuk atribusi, jadi untuk menghapusnya atur [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/id/env-vars) daripada menghapusnya di gateway.

108 

109{/* min-version: 2.1.181 */}Dari Claude Code v2.1.181, blok stabil untuk seumur hidup percakapan ketika permintaan merutekan melalui URL dasar kustom, jadi cache prompt gateway-side yang dikunci pada body permintaan lengkap bekerja tanpa menonaktifkannya. Sebelum v2.1.181 blok menyertakan token per-permintaan; pada versi tersebut, atur `CLAUDE_CODE_ATTRIBUTION_HEADER=0` jika gateway Anda mengimplementasikan cache seperti itu.

110 

111<h2 id="feature-pass-through">

112 Penerusan fitur

113</h2>

114 

115Claude Code memperlakukan gateway `ANTHROPIC_BASE_URL` sebagai endpoint format Anthropic dan mengirimkannya header beta dan field body permintaan yang dikirimkannya ke `api.anthropic.com`, kecuali set kecil diagnostik dan default yang disediakan untuk koneksi langsung.

116 

117Kemampuan yang menambahkan field body memasangkannya dengan header beta, dan pasangan bepergian bersama. Gateway yang menghapus header sambil melewatkan body, atau meneruskan body format Anthropic ke upstream dengan skema berbeda, menghasilkan kesalahan `400` keras; hanya ketika kedua bagian tidak ada bersama-sama fitur mati diam-diam. Gateway yang menulis ulang atau menyunting body permintaan untuk inspeksi konten memecah pasangan dengan cara yang sama seperti penghapusan, jadi inspeksi tanpa memodifikasi. Tabel mencatat di mana fitur menyimpang dari pasangan.

118 

119Streaming alat berbutir halus adalah salah satu default koneksi langsung: itu dimatikan secara default setiap kali permintaan merutekan melalui URL dasar kustom, dan gateway menerimanya ketika pengembang menetapkan [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/id/env-vars).

120 

121| Fitur | Header dan pasangan body | Gejala ketika rusak | Remediasi |

122| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |

123| [Penalaran adaptif](/id/model-config#adjust-effort-level) | Tidak ada header beta. Claude Code mengirim `thinking: {"type": "adaptive"}` untuk Claude 4.6 dan lebih baru, dan memperlakukan nama model yang tidak dikenalinya, seperti alias gateway, sebagai model saat ini yang menerima field | `400` penamaan field `thinking` atau tag `adaptive` ketika build model upstream tidak menerimanya | Tingkatkan upstream. Pada Opus 4.6 dan Sonnet 4.6, pengembang dapat mengatur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` sebagai gantinya |

124| [Manajemen konteks](https://platform.claude.com/docs/en/build-with-claude/context-management) | Header beta manajemen konteks berpasangan dengan field body `context_management` | `400` dengan `Extra inputs are not permitted`. Umum ketika gateway menerima permintaan format Anthropic tetapi meneruskannya ke Bedrock | Teruskan keduanya, atau [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/id/env-vars) |

125| [Konteks diperluas](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) dan [pemikiran interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Hanya header beta, tidak ada field body | Diam-diam tidak tersedia ketika header dihapus; upstream tidak pernah melihat permintaan kemampuan | Teruskan `anthropic-beta` secara verbatim |

126| Beta [field alat](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Header beta terkait alat berpasangan dengan field skema alat seperti `strict` dan `defer_loading` | `400` penamaan field skema alat yang tidak dikenali ketika body melewati tanpa headernya | Teruskan keduanya, atau `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |

127| [Upaya](https://platform.claude.com/docs/en/build-with-claude/effort) dan [output terstruktur](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Field body `output_config` membawa upaya, format output terstruktur, dan pengaturan anggaran tugas; masing-masing berpasangan dengan header betanya sendiri | `400` penamaan `output_config`, sering `Extra inputs are not permitted`, pada upstream Bedrock dan Vertex | Teruskan field dan headernya bersama-sama |

128| [Penghitungan token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Tidak ada pasangan beta; menggunakan endpoint `count_tokens` | Claude Code kembali ke estimasi penggunaan konteks secara lokal | Ekspos endpoint jika Anda menginginkan hitungan yang tepat |

129 

130Variabel `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` [](/id/model-config) mendeklarasikan kemampuan model hanya dalam konfigurasi penyedia: `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, dan [`CLAUDE_CODE_USE_MANTLE`](/id/amazon-bedrock#use-the-mantle-endpoint). Mereka tidak memiliki efek di belakang gateway `ANTHROPIC_BASE_URL`.

131 

132<h3 id="automatic-retry-and-error-forwarding">

133 Retry otomatis dan penerusan kesalahan

134</h3>

135 

136Claude Code retry secara otomatis setelah beberapa penolakan upstream dan menonaktifkan kemampuan yang ditolak untuk sisa percakapan. Penolakan field `thinking`, dari [tanda tangan pemikiran](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), dan dari pesan sistem mid-conversation semuanya pulih dengan cara ini. Penolakan manajemen konteks dan field skema alat tidak retry; kesalahan `400` tersebut mencapai pengembang.

137 

138Logika retry cocok dengan kata-kata kesalahan upstream, jadi teruskan body respons kesalahan tanpa modifikasi. Gateway yang membungkus kesalahan upstream dalam amplop miliknya sendiri memecah jalur pemulihan bahkan ketika mempertahankan kode status.

139 

140<h3 id="disable-pre-release-capabilities">

141 Nonaktifkan kemampuan pra-rilis

142</h3>

143 

144`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` menghentikan Claude Code dari mengirim kemampuan pra-rilis dan field body mereka pada setiap penyedia, termasuk manajemen konteks dan field alat beta. Ini tidak mempengaruhi penalaran adaptif, yang dipilih oleh model daripada oleh beta, dan tidak pernah menekan kemampuan OAuth yang diperlukan autentikasi langganan.

145 

146Set kemampuan Claude Code mengirim tumbuh di seluruh rilis. Untuk string header beta saat ini, lihat [referensi header beta](https://platform.claude.com/docs/en/api/beta-headers); uji gateway Anda terhadap rilis Claude Code baru daripada menyematkan ke daftar yang diamati.

147 

148<h2 id="model-discovery">

149 Penemuan model

150</h2>

151 

152Ketika `ANTHROPIC_BASE_URL` menunjuk ke gateway yang mengekspos format Anthropic Messages, Claude Code dapat menanyakan endpoint `/v1/models` gateway pada startup dan menambahkan model yang dikembalikan ke pemilih `/model`.

153 

154Pengembang mengaktifkannya dengan menetapkan [`CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`](/id/env-vars), di lingkungan mereka sendiri atau melalui pengaturan terkelola. Penemuan dimatikan secara default sehingga gateway yang didukung oleh kunci API bersama tidak menampilkan setiap model yang dapat diakses kunci kepada setiap pengguna. Ini memerlukan Claude Code v2.1.129 atau lebih baru.

155 

156<h3 id="when-discovery-runs">

157 Ketika penemuan berjalan

158</h3>

159 

160Penemuan hanya berlaku untuk format Anthropic Messages. Ini tidak berjalan ketika:

161 

162* Variabel penyedia `CLAUDE_CODE_USE_*` apa pun diatur, bahkan jika `ANTHROPIC_BASE_URL` juga diatur

163* `ANTHROPIC_BASE_URL` tidak diatur atau menunjuk ke `api.anthropic.com`

164* Lalu lintas nonessential dinonaktifkan, melalui [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/id/env-vars) atau kebijakan organisasi

165 

166<h3 id="request-and-response">

167 Permintaan dan respons

168</h3>

169 

170Permintaan adalah `GET /v1/models?limit=1000` dengan timeout 3 detik, dan pengalihan apa pun diperlakukan sebagai kegagalan sehingga kredensial tidak dapat bocor ke target pengalihan. Gateway yang merespons lambat atau mengalihkan `/v1/models`, bahkan `http` ke `https`, gagal penemuan diam-diam; sajikan endpoint langsung di URL dasar yang dikonfigurasi.

171 

172Permintaan penemuan mengirim tepat satu header kredensial:

173 

174* `ANTHROPIC_AUTH_TOKEN` sebagai token bearer, ketika diatur

175* Jika tidak, kunci API yang diselesaikan, termasuk nilai [`apiKeyHelper`](/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper), di header `x-api-key`

176 

177Ini berbeda dari permintaan inferensi, yang mengirim nilai helper di kedua header. Gateway yang mengautentikasi `/v1/models` harus menerima `x-api-key` untuk deployment helper. Header apa pun dari `ANTHROPIC_CUSTOM_HEADERS` juga disertakan.

178 

179Claude Code membaca `id` dan `display_name` opsional dari setiap entri dalam array `data` respons, dan mengabaikan entri yang `id` tidak dimulai dengan `claude` atau `anthropic`:

180 

181```json theme={null}

182{

183 "data": [

184 { "id": "claude-sonnet-4-6", "display_name": "Claude Sonnet 4.6" },

185 { "id": "claude-opus-4-7" }

186 ]

187}

188```

189 

190<h3 id="picker-entries-and-caching">

191 Entri pemilih dan caching

192</h3>

193 

194Pemilih adalah daftar model interaktif yang terbuka ketika pengembang menjalankan `/model` di Claude Code. Setiap entri yang ditemukan diberi label "Dari gateway" dan menggunakan `display_name` ketika disediakan. ID yang ditemukan dilewati hanya ketika cocok persis dengan baris yang sudah ada di pemilih, atau ketika ID yang ditemukan dan yang ada keduanya diselesaikan ke [Fable](/id/model-config#work-with-fable-5). Baris built-in dikunci pada alias seperti `sonnet`, jadi ID yang ditemukan seperti `claude-sonnet-4-6` menambahkan baris "Dari gateway" miliknya sendiri di samping entri built-in. Pengaturan terkelola [`availableModels`](/id/settings#available-settings) membatasi apa yang dapat ditambahkan penemuan.

195 

196Hasil di-cache ke `~/.claude/cache/gateway-models.json`, atau `%USERPROFILE%\.claude\cache\gateway-models.json` di Windows, dan disegarkan pada setiap startup. Jika permintaan gagal atau gateway tidak mengimplementasikan `/v1/models`, pemilih kembali ke daftar cache dari startup sebelumnya atau ke daftar model built-in. Jika gateway Anda melayani model Claude di bawah alias yang tidak cocok dengan filter penemuan, pengembang dapat menambahkan alias tersebut secara manual dengan variabel [konfigurasi model](/id/model-config).

197 

198<h2 id="related-resources">

199 Sumber daya terkait

200</h2>

201 

202Untuk sisa set dokumentasi gateway dan referensi API yang mendasarinya:

203 

204* [Ikhtisar gateway LLM](/id/llm-gateway): apa itu gateway dan bagaimana berinteraksi dengan langganan claude.ai

205* [Meluncurkan gateway LLM untuk organisasi Anda](/id/llm-gateway-rollout): daftar periksa admin yang menggunakan kontrak ini

206* [Menghubungkan Claude Code ke gateway LLM](/id/llm-gateway-connect): konfigurasi per-pengembang dan tabel pemecahan masalah

207* [Referensi header beta](https://platform.claude.com/docs/en/api/beta-headers): set nilai `anthropic-beta` saat ini

208* [Messages API](https://platform.claude.com/docs/en/api/messages): format API yang diimplementasikan gateway format Anthropic

llm-gateway-rollout.md +296 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Luncurkan gateway LLM untuk organisasi Anda

6 

7> Terapkan produk gateway untuk Claude Code: konfigurasikan untuk meneruskan apa yang dikirim Claude Code, keluarkan kredensial pengembang, distribusikan konfigurasi melalui pengaturan terkelola, dan verifikasi peluncuran.

8 

9Halaman ini memandu administrator melalui peluncuran gateway LLM untuk Claude Code. Halaman ini mengasumsikan Anda memiliki produk gateway yang diterapkan yang memenuhi [persyaratan gateway](#gateway-requirements). Penerapan atau pengoperasian produk spesifik apa pun tidak tercakup di sini; terapkan milik Anda mengikuti dokumentasi vendor.

10 

11<Note>

12 * Untuk menghubungkan Claude Code di mesin Anda sendiri ke gateway yang ada, lihat [Hubungkan Claude Code ke gateway LLM](/id/llm-gateway-connect)

13 * Untuk apa yang dikirim Claude Code ke gateway dan apa yang harus diteruskan, lihat [referensi protokol gateway](/id/llm-gateway-protocol)

14</Note>

15 

16<h2 id="prerequisites">

17 Prasyarat

18</h2>

19 

20Untuk menyelesaikan peluncuran, Anda akan memerlukan:

21 

22* Gateway yang diterapkan di infrastruktur Anda, melayani HTTPS di alamat yang tepat yang akan Anda distribusikan kepada pengembang, bukan alamat yang mengalihkannya, dan dikonfigurasi untuk merutekan nama model Claude ke penyedia Anda

23* Kredensial penyedia untuk gateway yang akan diteruskan dengan:

24 * Untuk API Anthropic: kunci API dari [Konsol Claude](https://platform.claude.com/settings/keys)

25 * Untuk penyedia cloud: kredensial cloud dengan akses model. Lihat prasyarat di halaman [Amazon Bedrock](/id/amazon-bedrock#prerequisites), [Google Vertex AI](/id/google-vertex-ai#prerequisites), atau [Microsoft Foundry](/id/microsoft-foundry#prerequisites)

26* Cara untuk mengirimkan file pengaturan ke mesin pengembang, seperti MDM atau manajemen konfigurasi

27 * Jika Anda belum memilikinya, [bagaimana pengaturan mencapai perangkat](/id/admin-setup#decide-how-settings-reach-devices) membandingkan opsi

28 

29<h3 id="gateway-requirements">

30 Persyaratan gateway

31</h3>

32 

33Produk apa pun yang menyediakan gateway harus:

34 

35* **Terima format API yang didukung**: salah satu format dalam [tabel format API](/id/llm-gateway-protocol#api-formats). Langkah peluncuran di bawah mengasumsikan API Pesan Anthropic di `POST /v1/messages`, yang dilayani sebagian besar gateway

36* **Alirkan respons**: teruskan peristiwa yang dikirim server saat tiba daripada membuffer seluruh respons

37* **Rutekan nama model Claude**: petakan setiap nama yang digunakan pengembang ke model upstream. Claude Code mengirimkan nama model seperti `claude-sonnet-4-6` di setiap permintaan; di sebagian besar produk gateway pemetaan adalah daftar model atau tabel perutean dalam konfigurasi gateway sendiri

38* **Teruskan header dan body tanpa perubahan**: teruskan `anthropic-beta`, `anthropic-version`, dan badan permintaan di kedua arah; [tabel pass-through fitur](/id/llm-gateway-protocol#feature-pass-through) memetakan masing-masing ke fitur yang rusak tanpanya

39* **Kembalikan kesalahan upstream tanpa modifikasi**: pemulihan otomatis Claude Code cocok dengan kata-kata kesalahan, jadi membungkus kesalahan dalam amplop gateway sendiri memecahnya

40* **Bebaskan jalur dari inspeksi WAF badan permintaan**: prompt Claude Code membawa kode sumber dan tag gaya XML yang cocok dengan aturan badan cross-site-scripting; WAF di depan gateway mengembalikan `403` pada sesi nyata sementara permintaan uji pendek lulus

41 

42Secara opsional, layani `GET /v1/models` sehingga Claude Code dapat mengisi pemilih model dari gateway Anda dengan [penemuan model](/id/llm-gateway-protocol#model-discovery). {/* min-version: 2.1.129 */}

43 

44<h2 id="rollout-steps">

45 Langkah peluncuran

46</h2>

47 

48Peluncuran membutuhkan lima langkah, masing-masing dengan checkpoint:

49 

501. [Konfirmasi gateway merutekan model Anda](#confirm-the-gateway-routes-your-models)

512. [Keluarkan kredensial untuk setiap pengembang](#issue-developer-credentials)

523. [Uji Claude Code terhadap gateway](#test-claude-code-against-the-gateway)

534. [Distribusikan URL dasar dan kredensial](#distribute-the-configuration)

545. [Verifikasi dari mesin pengembang](#verify-the-rollout)

55 

56Langkah-langkah melibatkan tiga kredensial berbeda, dan checkpoint menamai mereka dengan placeholder sehingga Anda dapat mengetahui mana yang salah ketika sesuatu gagal:

57 

58| Kredensial | Siapa yang memegangnya | Placeholder dalam checkpoint |

59| :------------------------------- | :------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------- |

60| Kredensial penyedia | Gateway, yang meneruskannya ke penyedia upstream | Dikonfigurasi di gateway; tidak pernah muncul dalam perintah klien |

61| Kredensial administratif gateway | Anda, jika produk gateway Anda mengeluarkan satu untuk antarmuka admin atau testnya | `<gateway-key>` |

62| Kunci pengembang | Setiap pengembang, dikeluarkan oleh gateway di [Keluarkan kredensial pengembang](#issue-developer-credentials) | `<developer-key>` |

63 

64<h3 id="confirm-the-gateway-routes-your-models">

65 Konfirmasi gateway merutekan model Anda

66</h3>

67 

68Gateway Anda seharusnya sudah dikonfigurasi dengan kredensial penyedia Anda, mendengarkan di URL dasarnya, dan meneruskan permintaan ke API penyedia Anda. Uji bahwa jalur berfungsi end-to-end dengan permintaan minimal, mengganti dua nilai dari penerapan Anda:

69 

70* `<gateway-key>` adalah kredensial apa pun yang memungkinkan Anda memanggil gateway sekarang: kunci administratif, kunci uji, atau kunci pengembang Anda sendiri jika Anda sudah mengeluarkan satu. Tidak setiap produk gateway memiliki kredensial admin terpisah; jika milik Anda tidak, keluarkan kunci pengembang untuk diri sendiri di [Keluarkan kredensial pengembang](#issue-developer-credentials) terlebih dahulu

71* `model` adalah nama model Claude yang dikonfigurasi gateway untuk dirutekan. Contoh menggunakan `claude-sonnet-4-6`; ganti dengan nama yang telah Anda konfigurasi

72 

73<Tabs>

74 <Tab title="Bash atau Zsh">

75 ```bash theme={null}

76 curl -X POST "https://llm-gateway.example.com/v1/messages" \

77 -H "Authorization: Bearer <gateway-key>" \

78 -H "anthropic-version: 2023-06-01" \

79 -H "content-type: application/json" \

80 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

81 ```

82 </Tab>

83 

84 <Tab title="PowerShell">

85 ```powershell theme={null}

86 Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" `

87 -Headers @{ "Authorization" = "Bearer <gateway-key>"; "anthropic-version" = "2023-06-01" } `

88 -ContentType "application/json" `

89 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

90 ```

91 </Tab>

92</Tabs>

93 

94**Checkpoint**: `200` dengan bidang `content` berarti gateway mencapai penyedia dengan nama model itu. `404` berarti nama itu tidak dirutekan di gateway; `401` dari penyedia berarti kredensial penyedia gateway salah.

95 

96Ulangi permintaan sekali per nama model Claude dalam konfigurasi perutean gateway Anda. Nama yang tidak dirutekan gateway mengembalikan `404` kepada pengembang mana pun yang memilihnya, jadi uji setiap nama sebelum peluncuran.

97 

98<Note>

99 Hindari melayani gateway di belakang pengalihan. Pengalihan dapat menghilangkan badan permintaan atau menghapus header kredensial pada permintaan inferensi, dan [penemuan model](/id/llm-gateway-protocol#model-discovery) memperlakukan pengalihan apa pun sebagai kegagalan sehingga kredensial tidak dapat bocor ke target pengalihan.

100</Note>

101 

102<h3 id="issue-developer-credentials">

103 Keluarkan kredensial pengembang

104</h3>

105 

106Setiap pengembang memerlukan kunci gateway mereka sendiri untuk autentikasi. Buat kredensial per pengembang di gateway, mengikuti dokumentasi manajemen kredensial produk Anda.

107 

108Konfirmasi kunci yang baru dikeluarkan berfungsi terhadap gateway dengan permintaan yang sama seperti [Konfirmasi gateway merutekan model Anda](#confirm-the-gateway-routes-your-models), mengganti `<gateway-key>` dengan `<developer-key>` baru:

109 

110<Tabs>

111 <Tab title="Bash atau Zsh">

112 ```bash theme={null}

113 curl -X POST "https://llm-gateway.example.com/v1/messages" \

114 -H "Authorization: Bearer <developer-key>" \

115 -H "anthropic-version: 2023-06-01" \

116 -H "content-type: application/json" \

117 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

118 ```

119 </Tab>

120 

121 <Tab title="PowerShell">

122 ```powershell theme={null}

123 Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" `

124 -Headers @{ "Authorization" = "Bearer <developer-key>"; "anthropic-version" = "2023-06-01" } `

125 -ContentType "application/json" `

126 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

127 ```

128 </Tab>

129</Tabs>

130 

131**Checkpoint**: `200` dengan bidang `content` berarti kunci pengembang mencapai gateway dan gateway meneruskannya. `401` di sini, ketika [langkah sebelumnya](#confirm-the-gateway-routes-your-models) berhasil, berarti kunci pengembang salah atau belum berlaku di gateway.

132 

133Mengeluarkan satu kunci per pengembang daripada kunci bersama adalah apa yang membuat atribusi penggunaan per pengembang dan offboarding individual berfungsi. Variabel lingkungan yang menyimpan kunci tergantung pada header mana yang dibaca gateway. Untuk gateway yang memeriksa kredensial di header `Authorization: Bearer`, pengembang menetapkan kunci mereka di `ANTHROPIC_AUTH_TOKEN`. Untuk gateway yang membaca kunci dari header `x-api-key`, pengembang menetapkan `ANTHROPIC_API_KEY` sebagai gantinya; [tabel kredensial](/id/llm-gateway-connect#set-the-credential-variable) mencakup pemetaan.

134 

135<h3 id="test-claude-code-against-the-gateway">

136 Uji Claude Code terhadap gateway

137</h3>

138 

139Jalankan Claude Code melalui gateway sendiri sebelum mendistribusikan apa pun, menggunakan konfigurasi yang sama dengan yang akan didistribusikan peluncuran di seluruh armada. Ketik ini langsung di terminal, bukan di file `.env` atau pengaturan; mereka hanya berlaku untuk sesi terminal ini, jadi menutupnya mengembalikan mesin Anda ke konfigurasi normalnya. Gunakan `ANTHROPIC_API_KEY` daripada `ANTHROPIC_AUTH_TOKEN` jika gateway Anda membaca header `x-api-key`:

140 

141<Tabs>

142 <Tab title="Bash atau Zsh">

143 ```bash theme={null}

144 export ANTHROPIC_BASE_URL=https://llm-gateway.example.com

145 export ANTHROPIC_AUTH_TOKEN="<developer-key>"

146 ```

147 </Tab>

148 

149 <Tab title="PowerShell">

150 ```powershell theme={null}

151 $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"

152 $env:ANTHROPIC_AUTH_TOKEN = "<developer-key>"

153 ```

154 </Tab>

155</Tabs>

156 

157Kemudian kirim prompt satu kali melalui gateway:

158 

159```bash theme={null}

160claude -p "Reply with one word: connected"

161```

162 

163**Checkpoint**: prompt mengembalikan respons, dan permintaan muncul dalam log gateway sebagai `POST` ke jalur `/v1/messages` dengan status `200`. Claude Code menambahkan string kueri seperti `?beta=true`, jadi cocokkan pada jalur, bukan URL lengkap. Dua pesan kegagalan menunjuk ke arah berbeda:

164 

165* `Not logged in`: periksa log gateway untuk membedakan dua penyebab. Jika kosong, tidak ada kredensial yang mencapai sesi dan tidak ada permintaan yang meninggalkan mesin; jalankan kembali ekspor di shell yang Anda uji. Jika menunjukkan permintaan yang ditolak dengan `x-api-key` dalam badan `401`, gateway mengharapkan kunci di header itu; beralih ke `ANTHROPIC_API_KEY`

166* `Failed to authenticate. API Error: 401` berarti kredensial dikirim dan ditolak, dan log gateway mengatakan di mana: `401` yang menyebutkan `api.anthropic.com` atau endpoint penyedia Anda berarti gateway mencapai upstream tetapi kredensial penyedia yang dipegang gateway ditolak, jadi kunci pengembang bekerja dan kredensial penyedia yang dipegang gateway salah atau placeholder

167 

168URL dasar yang salah atau tidak dapat dijangkau menghasilkan gejala berbeda: Claude Code [mencoba ulang koneksi dengan backoff](/id/errors#automatic-retries) dan dapat duduk tanpa output selama beberapa menit sebelum melaporkan kesalahan. Jika perintah tampak hang, periksa log gateway daripada menunggu; tidak ada permintaan yang tiba berarti `ANTHROPIC_BASE_URL` tidak menunjuk ke gateway.

169 

170<h3 id="distribute-the-configuration">

171 Distribusikan konfigurasi

172</h3>

173 

174Setiap mesin pengembang memerlukan alamat gateway dan kredensial. Anda dapat mendistribusikannya secara terpusat melalui [pengaturan terkelola](/id/settings#settings-files), sehingga pengembang tidak mengonfigurasi apa pun, atau berikan pengembang nilai untuk menetapkan sendiri.

175 

176<h4 id="what-to-distribute">

177 Apa yang harus didistribusikan

178</h4>

179 

180Set variabel yang sama berlaku jalur mana pun yang Anda pilih. Sebagian besar peluncuran hanya memerlukan `ANTHROPIC_BASE_URL` dan kredensial; sertakan baris bersyarat ketika pengaturan gateway Anda memanggilnya.

181 

182| Variabel atau pengaturan | Apa yang dilakukannya | Sertakan ketika |

183| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

184| `ANTHROPIC_BASE_URL` | Mengirim permintaan API Claude Code ke gateway daripada `api.anthropic.com` | Selalu |

185| `apiKeyHelper`, atau kredensial di `ANTHROPIC_AUTH_TOKEN` atau `ANTHROPIC_API_KEY` | Mengautentikasi setiap permintaan ke gateway. Helper menjalankan perintah untuk mengambil kunci; variabel menyimpan kunci statis, dikirim sebagai `Authorization: Bearer` dan `x-api-key` masing-masing | Selalu; salah satu dari tiga |

186| `ANTHROPIC_CUSTOM_HEADERS` | Menambahkan header HTTP ekstra ke setiap permintaan API | Gateway Anda memerlukan header penyewa atau perutean pada setiap permintaan |

187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Menanyakan `/v1/models` gateway saat startup dan menambahkan nama yang dikembalikan ke pemilih `/model` | Gateway Anda melayani `/v1/models` dan Anda ingin pemilih pengembang diisi darinya |

188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Menghentikan Claude Code mengirim header dan bidang badan kemampuan pra-rilis | Gateway Anda meneruskan ke upstream Bedrock atau Vertex yang menolak bidang beta; lihat [Persyaratan gateway](#gateway-requirements) |

189| `ANTHROPIC_MODEL` atau [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/id/model-config) | Tetapkan nama model mana yang diminta Claude Code untuk sesi utama dan lalu lintas latar belakang | Gateway Anda merutekan nama model yang tidak cocok dengan default Claude Code, atau Anda merutekan [fungsionalitas latar belakang](/id/costs#background-token-usage) ke model berbeda. Rutekan nama penggantian dan nama default Claude Code di gateway, karena beberapa sub-panggilan dapat meminta nama default terlepas dari penggantian |

190| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, atau `ANTHROPIC_AWS_BASE_URL` dengan [variabel untuk penyedia itu](/id/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Arahkan Claude Code ke gateway melalui URL dasar khusus penyedia. Bedrock dan Vertex juga beralih ke format permintaan asli penyedia | Gateway Anda di depan Bedrock, Vertex, Foundry, atau Platform Claude di AWS; lihat [Format API](/id/llm-gateway-protocol#api-formats) |

191 

192<h4 id="distribute-through-managed-settings">

193 Distribusikan melalui pengaturan terkelola

194</h4>

195 

196Berikan variabel melalui blok `env` dari [file pengaturan terkelola](/id/settings#settings-files), didorong oleh MDM, kebijakan registri, atau manajemen konfigurasi:

197 

198```json theme={null}

199{

200 "env": {

201 "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com"

202 },

203 "apiKeyHelper": "/usr/local/bin/get-gateway-key"

204}

205```

206 

207Tambahkan variabel bersyarat dari tabel ke blok `env` yang sama. `ANTHROPIC_BASE_URL` yang dikelola diberlakukan dan tidak dapat ditimpa oleh ekspor shell pengembang, karena Claude Code menerapkannya di atas lingkungan proses dan pengaturan prioritas lebih rendah.

208 

209Jangan sertakan `forceLoginMethod` atau `forceLoginOrgUUID` dalam pengaturan terkelola bersama kredensial gateway. Pada Claude Code v2.1.146 dan yang lebih baru, salah satu kunci memblokir `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, dan `apiKeyHelper` saat startup, sehingga pengembang melihat `This machine's managed settings require a first-party login` dan tidak dapat melanjutkan. {/* min-version: 2.1.146 */}

210 

211Pengiriman [pengaturan terkelola server](/id/server-managed-settings#platform-availability) memerlukan koneksi langsung ke `api.anthropic.com`, sehingga tidak mencapai sesi yang dirutekan gateway. Penerapan gateway menggunakan jalur pengaturan terkelola berbasis file ini, yang memberlakukan kunci yang sama.

212 

213Untuk kredensial, distribusikan satu perintah [`apiKeyHelper`](/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) dalam file pengaturan terkelola seperti yang ditunjukkan di atas; perintah mengautentikasi ke penyimpanan rahasia Anda sebagai pengembang lokal, sehingga setiap mesin menerima kuncinya sendiri. Alternatifnya, berikan setiap pengembang kunci mereka melalui proses rahasia yang ada dan minta mereka menetapkan `ANTHROPIC_AUTH_TOKEN` sendiri.

214 

215Beberapa lingkungan memerlukan pengiriman terpisah:

216 

217* Aplikasi desktop membaca perutean gateway hanya dari konfigurasi inferensi pihak ketiga yang dikirimkan MDM; terapkan file itu bersama pengaturan terkelola sehingga sesi desktop juga merutekan melalui gateway. Lihat [dokumentasi konfigurasi pihak ketiga desktop](https://claude.com/docs/cowork/3p/configuration) dan [dokumentasi gateway desktop](https://claude.com/docs/cowork/3p/gateway)

218* Runner CI memerlukan `ANTHROPIC_BASE_URL` dan kredensial yang ditetapkan di [lingkungan runner](/id/llm-gateway-connect#configure-each-surface)

219* WSL pada mesin Windows terkelola membaca pengaturan terkelola Windows hanya ketika [`wslInheritsWindowsSettings`](/id/settings#available-settings) adalah `true`

220 

221<h4 id="hand-developers-the-values-to-set-themselves">

222 Berikan pengembang nilai untuk menetapkan sendiri

223</h4>

224 

225Jika Anda tidak memiliki distribusi pengaturan terkelola, kirim setiap pengembang apa yang mereka butuhkan untuk mengikuti [halaman koneksi](/id/llm-gateway-connect#configure-claude-code-yourself):

226 

227* URL gateway

228* Kredensial pribadi mereka

229* **Variabel mana yang harus dimasukkan kredensial**: `ANTHROPIC_AUTH_TOKEN` untuk gateway token-bearer, atau `ANTHROPIC_API_KEY` untuk gateway `x-api-key`. Memberitahu pengembang mana yang menghemat mereka dari trial-and-error yang dijelaskan di [halaman koneksi](/id/llm-gateway-connect#set-the-credential-variable)

230* Variabel bersyarat apa pun dari [tabel Apa yang harus didistribusikan](#what-to-distribute), dengan nilainya

231 

232[Halaman koneksi](/id/llm-gateway-connect#configure-claude-code-yourself) memandu pengembang melalui pengaturan masing-masing.

233 

234**Checkpoint**: pada mesin pengembang, `claude` memulai sesi tanpa menampilkan layar login, karena kredensial yang didistribusikan memenuhi autentikasi. Kemudian jalankan `/status` dan buka tab **Status**: baris `Anthropic base URL` menunjukkan alamat gateway, dan untuk distribusi terkelola baris `Setting sources` mencakup pengaturan terkelola. Layar login, atau baris `Anthropic base URL` yang hilang, berarti konfigurasi tidak mencapai mesin.

235 

236<h3 id="verify-the-rollout">

237 Verifikasi peluncuran

238</h3>

239 

240Konfirmasi semuanya berfungsi dari mesin pengembang, bukan host gateway, sehingga tes mencakup jalur jaringan yang digunakan pengembang. Kirim permintaan streaming, yang memeriksa endpoint, pass-through streaming, dan perutean model sekaligus:

241 

242<Tabs>

243 <Tab title="Bash atau Zsh">

244 ```bash theme={null}

245 curl -N -X POST "https://llm-gateway.example.com/v1/messages" \

246 -H "Authorization: Bearer <developer-key>" \

247 -H "anthropic-version: 2023-06-01" \

248 -H "content-type: application/json" \

249 -d '{"model": "claude-sonnet-4-6", "max_tokens": 16, "stream": true, "messages": [{"role": "user", "content": "count to 3"}]}'

250 ```

251 </Tab>

252 

253 <Tab title="PowerShell">

254 ```powershell theme={null}

255 $body = '{"model": "claude-sonnet-4-6", "max_tokens": 16, "stream": true, "messages": [{"role": "user", "content": "count to 3"}]}'

256 $body | curl.exe -N -X POST "https://llm-gateway.example.com/v1/messages" `

257 -H "Authorization: Bearer <developer-key>" `

258 -H "anthropic-version: 2023-06-01" `

259 -H "content-type: application/json" `

260 --data-binary '@-'

261 ```

262 </Tab>

263</Tabs>

264 

265Anda seharusnya melihat baris `data:` tiba secara bertahap. Seluruh respons tiba sekaligus setelah jeda berarti gateway membuffer, yang menghentikan Claude Code; `404` berarti nama model tidak dirutekan. Ulangi per nama model.

266 

267Kemudian mulai `claude` dan kirim pesan. Setiap gejala pada langkah ini memiliki satu penyebab:

268 

269* Prompt login berarti celah kredensial. Jalankan `/status` dan buka tab **Status**: ketika baris `Setting sources` tidak mencakup pengaturan terkelola, distribusi tidak mencapai mesin; ketika itu terjadi, kredensial pengembang tidak dikirimkan, jadi atur `ANTHROPIC_AUTH_TOKEN` atau `apiKeyHelper`

270* Kesalahan `Failed to authenticate` berarti gateway menolak permintaan; lognya mengatakan kredensial mana yang gagal. Penolakan yang dicatat gateway sendiri menyebutkan kunci pengembang, sementara `401` dari `api.anthropic.com` atau endpoint penyedia Anda berarti kredensial penyedia yang dipegang gateway ditolak

271* Prompt persetujuan satu kali untuk kunci diharapkan pada penggunaan pertama ketika gateway mengharapkan kunci di header `x-api-key`, ditetapkan sebagai `ANTHROPIC_API_KEY`. Dengan `ANTHROPIC_AUTH_TOKEN`, tidak ada prompt yang muncul dan variabel mengambil alih secara diam-diam; login claude.ai yang sebelumnya disimpan tidak aktif untuk sesi itu

272 

273Terakhir, periksa log gateway untuk pesan yang Anda kirim: kredensial mengidentifikasi pengembang, dan [header `x-claude-code-session-id`](/id/llm-gateway-protocol#request-headers) mengelompokkan permintaan berdasarkan sesi. Jika fitur gagal dengan [gejala pemecahan masalah](/id/llm-gateway-connect#troubleshoot-gateway-errors), gateway menghapus header atau menulis ulang kesalahan; lihat [persyaratan gateway](#gateway-requirements) di atas.

274 

275<h2 id="maintain-the-gateway">

276 Pertahankan gateway

277</h2>

278 

279Setelah peluncuran, tiga jenis perubahan mencapai gateway seiring waktu. Masing-masing memiliki gejala untuk diperhatikan dan tindakan yang harus diambil.

280 

281| Perubahan | Gejala ketika gateway belum mengikuti | Tindakan |

282| :------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

283| Rilis Claude Code baru menambahkan nilai `anthropic-beta` dan bidang badan permintaan | Pengembang melaporkan kesalahan `400` yang menyebutkan bidang baru setelah mereka memperbarui Claude Code; lihat [pass-through fitur](/id/llm-gateway-protocol#feature-pass-through) | Teruskan header `anthropic-*` dan badan permintaan secara verbatim daripada allowlisting; uji rilis Claude Code baru terhadap gateway sebelum mencapai pengembang |

284| Model Claude baru menjadi tersedia | Pengembang memilih nama model baru mendapat `404`; pemilih `/model` tidak mencantumkannya | Tambahkan nama model ke konfigurasi perutean gateway, kemudian jalankan kembali [pemeriksaan perutean](#confirm-the-gateway-routes-your-models). Jika Anda mendistribusikan `ANTHROPIC_MODEL` atau variabel model default, perbarui pengaturan terkelola |

285| Kredensial kedaluwarsa atau perlu rotasi | Semua permintaan pengembang mulai gagal dengan `401` dari upstream | Rotasi kredensial penyedia gateway sesuai jadwal sendiri; kunci pengembang berputar di gateway, dan [`apiKeyHelper`](/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) menangani rotasi per pengembang tanpa mendistribusikan ulang pengaturan |

286 

287Saat mengukur batas laju per kunci, akun untuk klien [mencoba ulang kegagalan transien](/id/errors#automatic-retries), termasuk respons `429`, hingga 10 kali dengan backoff, menghormati `Retry-After`. Simpan [referensi protokol](/id/llm-gateway-protocol) sebagai kontrak untuk apa yang dikirim setiap rilis Claude Code.

288 

289<h2 id="related-resources">

290 Sumber daya terkait

291</h2>

292 

293* [Hubungkan Claude Code ke gateway LLM](/id/llm-gateway-connect): langkah pengaturan yang menghadap pengembang, dengan konfigurasi per-permukaan dan tabel pemecahan masalah yang dapat Anda berikan kepada pengembang

294* [Referensi protokol gateway](/id/llm-gateway-protocol): kontrak kawat untuk operator gateway, mencakup endpoint, header untuk diteruskan, dan tabel pass-through fitur

295* [File pengaturan dan prioritas](/id/settings#settings-files): bagaimana pengaturan terkelola, proyek, dan pengguna digabungkan, dan di mana file terkelola berada di setiap platform

296* [Siapkan Claude Code untuk organisasi Anda](/id/admin-setup): peluncuran yang lebih luas yang merupakan bagian dari gateway ini, termasuk penegakan kebijakan, visibilitas penggunaan, dan penanganan data

mcp.md +3 −1

Details

196 196 

197Backoff yang sama berlaku ketika server HTTP atau SSE gagal koneksi awalnya saat startup. Mulai dari v2.1.121, Claude Code mencoba ulang koneksi awal hingga tiga kali pada kesalahan transien seperti respons 5xx, koneksi ditolak, atau timeout, kemudian menandai server sebagai gagal jika masih tidak dapat terhubung. Kesalahan autentikasi dan not-found tidak dicoba ulang karena memerlukan perubahan konfigurasi untuk diselesaikan.197Backoff yang sama berlaku ketika server HTTP atau SSE gagal koneksi awalnya saat startup. Mulai dari v2.1.121, Claude Code mencoba ulang koneksi awal hingga tiga kali pada kesalahan transien seperti respons 5xx, koneksi ditolak, atau timeout, kemudian menandai server sebagai gagal jika masih tidak dapat terhubung. Kesalahan autentikasi dan not-found tidak dicoba ulang karena memerlukan perubahan konfigurasi untuk diselesaikan.

198 198 

199Mulai dari v2.1.191, permintaan penemuan kemampuan yang berjalan setelah koneksi yang berhasil, seperti `tools/list`, `prompts/list`, dan `resources/list`, juga mencoba ulang kesalahan jaringan transien dan server hingga tiga kali dengan backoff pendek. Kesalahan autentikasi, respons 4xx, dan timeout permintaan tidak dicoba ulang.

200 

199<h3 id="push-messages-with-channels">201<h3 id="push-messages-with-channels">

200 Dorong pesan dengan saluran202 Dorong pesan dengan saluran

201</h3>203</h3>


568 570 

569Untuk menghapus kredensial yang disimpan nanti, jalankan `claude mcp logout <name>`.571Untuk menghapus kredensial yang disimpan nanti, jalankan `claude mcp logout <name>`.

570 572 

571Ketika Anda terhubung melalui SSH, tambahkan `--no-browser` sehingga perintah mencetak URL otorisasi alih-alih membuka browser. Buka URL di mesin lokal Anda, kemudian tempel URL pengalihan lengkap dari bilah alamat browser Anda kembali ke prompt. Perintah memerlukan terminal interaktif untuk langkah paste, jadi hubungkan dengan `ssh -t`.573Mulai dari v2.1.191, perintah mendeteksi ketika tidak ada browser lokal yang tersedia, seperti selama sesi SSH atau di Linux tanpa server tampilan, dan mencetak URL otorisasi alih-alih mencoba membuka browser. Buka URL di mesin lokal Anda, kemudian tempel URL pengalihan lengkap dari bilah alamat browser Anda kembali ke prompt. Perintah memerlukan terminal interaktif untuk langkah paste, jadi hubungkan dengan `ssh -t`. Teruskan `--no-browser` untuk memaksa prompt URL bahkan ketika browser lokal terdeteksi.

572 574 

573```bash theme={null}575```bash theme={null}

574claude mcp login sentry --no-browser576claude mcp login sentry --no-browser

model-config.md +2 −2

Details

20 * Vertex: nama versi20 * Vertex: nama versi

21 21 

22<Note>22<Note>

23 `ANTHROPIC_BASE_URL` mengubah tempat permintaan dikirim, bukan model mana yang menjawabnya. Untuk merutekan Claude melalui gateway LLM, lihat [konfigurasi gateway LLM](/id/llm-gateway).23 `ANTHROPIC_BASE_URL` mengubah tempat permintaan dikirim, bukan model mana yang menjawabnya. Untuk merutekan Claude melalui gateway LLM, lihat [gateway LLM](/id/llm-gateway).

24</Note>24</Note>

25 25 

26<h3 id="model-aliases">26<h3 id="model-aliases">


493 Tambahkan opsi model kustom493 Tambahkan opsi model kustom

494</h2>494</h2>

495 495 

496Gunakan `ANTHROPIC_CUSTOM_MODEL_OPTION` untuk menambahkan satu entri kustom ke pemilih `/model` tanpa mengganti alias bawaan. Ini berguna untuk pengujian ID model yang tidak tercantum Claude Code secara default. Untuk deployment gateway LLM, Claude Code dapat mengisi pemilih dari endpoint `/v1/models` gateway ketika `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` diatur, jadi variabel ini diperlukan hanya ketika penemuan dinonaktifkan atau tidak mengembalikan model yang Anda inginkan. Lihat [pemilihan model gateway LLM](/id/llm-gateway#model-selection).496Gunakan `ANTHROPIC_CUSTOM_MODEL_OPTION` untuk menambahkan satu entri kustom ke pemilih `/model` tanpa mengganti alias bawaan. Ini berguna untuk pengujian ID model yang tidak tercantum Claude Code secara default. Untuk deployment gateway LLM, Claude Code dapat mengisi pemilih dari endpoint `/v1/models` gateway ketika `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` diatur, jadi variabel ini diperlukan hanya ketika penemuan dinonaktifkan atau tidak mengembalikan model yang Anda inginkan. Lihat [penemuan model gateway](/id/llm-gateway-protocol#model-discovery).

497 497 

498Contoh ini menetapkan ketiga variabel untuk membuat deployment Opus yang dirutekan gateway dapat dipilih:498Contoh ini menetapkan ketiga variabel untuk membuat deployment Opus yang dirutekan gateway dapat dipilih:

499 499 

sandboxing.md +1 −1

Details

255 255 

256Akses jaringan dikendalikan melalui server proxy yang berjalan di luar sandbox:256Akses jaringan dikendalikan melalui server proxy yang berjalan di luar sandbox:

257 257 

258* **Pembatasan domain**: tidak ada domain yang diizinkan sebelumnya. Pertama kali perintah memerlukan domain baru, Claude Code meminta persetujuan. Izinkan domain sebelumnya dengan [`allowedDomains`](/id/settings#sandbox-settings) untuk menghindari prompt.258* **Pembatasan domain**: tidak ada domain yang diizinkan sebelumnya. Pertama kali perintah memerlukan domain baru, Claude Code meminta persetujuan. {/* min-version: 2.1.191 */}Mulai dari v2.1.191, memilih Ya memungkinkan host untuk sisa sesi saat ini, sehingga koneksi nanti ke host yang sama tidak meminta lagi. Izinkan domain sebelumnya dengan [`allowedDomains`](/id/settings#sandbox-settings) untuk menghindari prompt sepenuhnya.

259* **Lockdown terkelola**: jika [`allowManagedDomainsOnly`](/id/settings#sandbox-settings) diatur dalam pengaturan terkelola, domain yang tidak diizinkan diblokir secara otomatis alih-alih prompt, dan hanya `allowedDomains` dari pengaturan terkelola yang dihormati.259* **Lockdown terkelola**: jika [`allowManagedDomainsOnly`](/id/settings#sandbox-settings) diatur dalam pengaturan terkelola, domain yang tidak diizinkan diblokir secara otomatis alih-alih prompt, dan hanya `allowedDomains` dari pengaturan terkelola yang dihormati.

260* **Dukungan proxy khusus**: pengguna tingkat lanjut dapat menerapkan aturan khusus pada lalu lintas keluar260* **Dukungan proxy khusus**: pengguna tingkat lanjut dapat menerapkan aturan khusus pada lalu lintas keluar

261* **Cakupan komprehensif**: pembatasan berlaku untuk semua skrip, program, dan subprocess yang dihasilkan oleh perintah261* **Cakupan komprehensif**: pembatasan berlaku untuk semua skrip, program, dan subprocess yang dihasilkan oleh perintah

Details

204}204}

205```205```

206 206 

207Anda juga dapat mengatur kunci ini dalam profil MDM yang [dikelola endpoint](/id/settings#settings-files) atau file `managed-settings.json` sistem untuk memberlakukan perilaku tertutup gagal pada peluncuran pertama, sebelum payload server apa pun telah dikirimkan. Mulai dari v2.1.191, flag ini adalah pengecualian terhadap [aturan prioritas](#settings-precedence) di atas: flag ini dihormati ketika diatur dalam sumber terkelola apa pun bahkan jika payload yang di-cache yang dikelola server juga ada, sehingga nilai yang dikirimkan MDM tidak diabaikan ketika pengaturan yang dikelola server ada. Pengambilan pengaturan juga mengirimkan header `Cache-Control: no-cache` sehingga proxy HTTP perantara tidak melayani respons yang sudah usang.

208 

207Sebelum mengaktifkan pengaturan ini, pastikan kebijakan jaringan Anda memungkinkan konektivitas ke `api.anthropic.com`. Jika endpoint tersebut tidak dapat dijangkau, CLI keluar pada startup dan pengguna tidak dapat memulai Claude Code.209Sebelum mengaktifkan pengaturan ini, pastikan kebijakan jaringan Anda memungkinkan konektivitas ke `api.anthropic.com`. Jika endpoint tersebut tidak dapat dijangkau, CLI keluar pada startup dan pengguna tidak dapat memulai Claude Code.

208 210 

209Mulai dari v2.1.139, subperintah `claude auth` seperti `claude auth login` dikecualikan dari pemeriksaan ini, sehingga pengguna dapat melakukan autentikasi ulang ketika kredensial yang kedaluwarsa adalah alasan pengambilan pengaturan gagal.211Mulai dari v2.1.139, subperintah `claude auth` seperti `claude auth login` dikecualikan dari pemeriksaan ini, sehingga pengguna dapat melakukan autentikasi ulang ketika kredensial yang kedaluwarsa adalah alasan pengambilan pengaturan gagal.

settings.md +3 −2

Details

183Bidang penegakan keamanan ditangani per bidang daripada dihapus secara grosir saat ada tetapi tidak valid:183Bidang penegakan keamanan ditangani per bidang daripada dihapus secara grosir saat ada tetapi tidak valid:

184 184 

185| Bidang | Perilaku saat ada tetapi tidak valid |185| Bidang | Perilaku saat ada tetapi tidak valid |

186| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |186| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

187| `allowedMcpServers` | Diterapkan sebagai daftar putih kosong, jadi tidak ada MCP servers yang diterima sampai nilainya diperbaiki. Entri individual yang tidak valid dihapus dan subset yang valid diterapkan. |187| `allowedMcpServers` | Diterapkan sebagai daftar putih kosong, jadi tidak ada MCP servers yang diterima sampai nilainya diperbaiki. Entri individual yang tidak valid dihapus dan subset yang valid diterapkan. |

188| `allowManagedMcpServersOnly` | Diperlakukan sebagai `true`. |188| `allowManagedMcpServersOnly` | Diperlakukan sebagai `true`. |

189| `availableModels` | {/* min-version: 2.1.175 */}Diterapkan sebagai daftar putih kosong, jadi hanya model Default yang tersedia sampai nilainya diperbaiki. Entri non-string individual dihapus dan subset yang valid diterapkan. Berlaku dalam v2.1.175 dan lebih baru. |189| `availableModels` | {/* min-version: 2.1.175 */}Diterapkan sebagai daftar putih kosong, jadi hanya model Default yang tersedia sampai nilainya diperbaiki. Entri non-string individual dihapus dan subset yang valid diterapkan. Berlaku dalam v2.1.175 dan lebih baru. |

190| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Diperlakukan sebagai `true`. Berlaku dalam v2.1.175 dan lebih baru. |190| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Diperlakukan sebagai `true`. Berlaku dalam v2.1.175 dan lebih baru. |

191| `forceLoginOrgUUID` | Tidak ada organisasi yang diizinkan untuk login sampai nilainya diperbaiki. |191| `forceLoginOrgUUID` | Tidak ada organisasi yang diizinkan untuk login sampai nilainya diperbaiki. |

192| `deniedMcpServers` | Entri individual yang tidak valid dihapus dan subset yang valid diterapkan. Nilai yang sepenuhnya tidak valid dijatuhkan dengan peringatan, karena menolak setiap server akan memblokir servers yang kebijakan tidak pernah namakan. |192| `deniedMcpServers` | Entri individual yang tidak valid dihapus dan subset yang valid diterapkan. Nilai yang sepenuhnya tidak valid dijatuhkan dengan peringatan, karena menolak setiap server akan memblokir servers yang kebijakan tidak pernah namakan. |

193| `sandbox.credentials` | {/* min-version: 2.1.191 */}Entri individual yang tidak valid dalam `files` atau `envVars` dihapus dengan peringatan dan subset yang valid diterapkan. Nilai `credentials` yang sepenuhnya tidak valid dijatuhkan dengan peringatan sementara sisa `sandbox` masih berlaku. Berlaku dalam v2.1.191 dan lebih baru. |

193 194 

194`requiredMinimumVersion` dan `requiredMaximumVersion` gagal terbuka dengan desain: nilai yang tidak valid dihapus daripada diterapkan, jadi push kebijakan yang buruk tidak dapat mencegah Claude Code dari memulai.195`requiredMinimumVersion` dan `requiredMaximumVersion` gagal terbuka dengan desain: nilai yang tidak valid dihapus daripada diterapkan, jadi push kebijakan yang buruk tidak dapat mencegah Claude Code dari memulai.

195 196 


222| `allowManagedMcpServersOnly` | (Pengaturan yang dikelola saja) Hanya `allowedMcpServers` dari pengaturan yang dikelola yang dihormati. `deniedMcpServers` masih digabungkan dari semua sumber. Pengguna masih dapat menambahkan MCP servers, tetapi hanya daftar putih yang ditentukan admin yang berlaku. Lihat [Konfigurasi MCP yang Dikelola](/id/managed-mcp) | `true` |223| `allowManagedMcpServersOnly` | (Pengaturan yang dikelola saja) Hanya `allowedMcpServers` dari pengaturan yang dikelola yang dihormati. `deniedMcpServers` masih digabungkan dari semua sumber. Pengguna masih dapat menambahkan MCP servers, tetapi hanya daftar putih yang ditentukan admin yang berlaku. Lihat [Konfigurasi MCP yang Dikelola](/id/managed-mcp) | `true` |

223| `allowManagedPermissionRulesOnly` | (Pengaturan yang dikelola saja) Cegah pengaturan pengguna dan proyek dari mendefinisikan aturan izin `allow`, `ask`, atau `deny`. Hanya aturan dalam pengaturan yang dikelola yang berlaku. Lihat [Pengaturan khusus yang dikelola](/id/permissions#managed-only-settings) | `true` |224| `allowManagedPermissionRulesOnly` | (Pengaturan yang dikelola saja) Cegah pengaturan pengguna dan proyek dari mendefinisikan aturan izin `allow`, `ask`, atau `deny`. Hanya aturan dalam pengaturan yang dikelola yang berlaku. Lihat [Pengaturan khusus yang dikelola](/id/permissions#managed-only-settings) | `true` |

224| `alwaysThinkingEnabled` | Aktifkan [pemikiran yang diperluas](/id/model-config#extended-thinking) secara default untuk semua sesi. Biasanya dikonfigurasi melalui perintah `/config` daripada mengedit langsung. Untuk memaksa pemikiran mati terlepas dari pengaturan ini, atur [`MAX_THINKING_TOKENS=0`](/id/env-vars) dalam `env`, yang menonaktifkan pemikiran pada Anthropic API kecuali pada Fable 5, yang tidak dapat memiliki pemikiran dimatikan. Pada [penyedia pihak ketiga](/id/third-party-integrations) ini menghilangkan parameter `thinking` sebagai gantinya, dan model adaptive-reasoning mungkin masih berpikir | `true` |225| `alwaysThinkingEnabled` | Aktifkan [pemikiran yang diperluas](/id/model-config#extended-thinking) secara default untuk semua sesi. Biasanya dikonfigurasi melalui perintah `/config` daripada mengedit langsung. Untuk memaksa pemikiran mati terlepas dari pengaturan ini, atur [`MAX_THINKING_TOKENS=0`](/id/env-vars) dalam `env`, yang menonaktifkan pemikiran pada Anthropic API kecuali pada Fable 5, yang tidak dapat memiliki pemikiran dimatikan. Pada [penyedia pihak ketiga](/id/third-party-integrations) ini menghilangkan parameter `thinking` sebagai gantinya, dan model adaptive-reasoning mungkin masih berpikir | `true` |

225| `apiKeyHelper` | Skrip khusus, yang akan dieksekusi dalam `/bin/sh`, untuk menghasilkan nilai auth. Nilai ini akan dikirim sebagai header `X-Api-Key` dan `Authorization: Bearer` untuk permintaan model. Atur interval penyegaran dengan [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/id/env-vars) | `/bin/generate_temp_api_key.sh` |226| `apiKeyHelper` | Skrip khusus, yang akan dieksekusi dalam `/bin/sh` pada macOS dan Linux, `cmd` pada Windows, untuk menghasilkan nilai auth. Nilai ini akan dikirim sebagai header `X-Api-Key` dan `Authorization: Bearer` untuk permintaan model. Atur interval penyegaran dengan [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/id/env-vars) | `/bin/generate_temp_api_key.sh` |

226| `attribution` | Sesuaikan atribusi untuk komit git dan pull request. Lihat [Pengaturan atribusi](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |227| `attribution` | Sesuaikan atribusi untuk komit git dan pull request. Lihat [Pengaturan atribusi](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

227| `autoCompactEnabled` | {/* min-version: 2.1.119 */}Secara otomatis kompak percakapan ketika konteks mendekati batas. Default: `true`. Muncul di `/config` sebagai **Auto-compact**. Untuk menonaktifkan melalui variabel lingkungan, atur [`DISABLE_AUTO_COMPACT`](/id/env-vars) dalam `env` | `false` |228| `autoCompactEnabled` | {/* min-version: 2.1.119 */}Secara otomatis kompak percakapan ketika konteks mendekati batas. Default: `true`. Muncul di `/config` sebagai **Auto-compact**. Untuk menonaktifkan melalui variabel lingkungan, atur [`DISABLE_AUTO_COMPACT`](/id/env-vars) dalam `env` | `false` |

228| `autoMemoryDirectory` | Direktori khusus untuk penyimpanan [memori otomatis](/id/memory#storage-location). Menerima jalur absolut atau jalur dengan awalan `~/`. Dari pengaturan proyek atau lokal, ini dihormati hanya setelah Anda menerima dialog kepercayaan workspace, karena repositori yang diklon dapat menyediakan file ini | `"~/my-memory-dir"` |229| `autoMemoryDirectory` | Direktori khusus untuk penyimpanan [memori otomatis](/id/memory#storage-location). Menerima jalur absolut atau jalur dengan awalan `~/`. Dari pengaturan proyek atau lokal, ini dihormati hanya setelah Anda menerima dialog kepercayaan workspace, karena repositori yang diklon dapat menyediakan file ini | `"~/my-memory-dir"` |

Details

206Sebagian besar organisasi dapat menggunakan penyedia cloud secara langsung tanpa konfigurasi tambahan. Namun, Anda mungkin perlu mengonfigurasi proxy perusahaan atau gateway LLM jika organisasi Anda memiliki persyaratan jaringan atau manajemen khusus. Ini adalah konfigurasi berbeda yang dapat digunakan bersama:206Sebagian besar organisasi dapat menggunakan penyedia cloud secara langsung tanpa konfigurasi tambahan. Namun, Anda mungkin perlu mengonfigurasi proxy perusahaan atau gateway LLM jika organisasi Anda memiliki persyaratan jaringan atau manajemen khusus. Ini adalah konfigurasi berbeda yang dapat digunakan bersama:

207 207 

208* **Corporate proxy**: Merutekan lalu lintas melalui proxy HTTP/HTTPS. Gunakan ini jika organisasi Anda memerlukan semua lalu lintas keluar untuk melewati server proxy untuk pemantauan keamanan, kepatuhan, atau penegakan kebijakan jaringan. Konfigurasi dengan variabel lingkungan `HTTPS_PROXY` atau `HTTP_PROXY`. Pelajari lebih lanjut di [Konfigurasi jaringan enterprise](/id/network-config).208* **Corporate proxy**: Merutekan lalu lintas melalui proxy HTTP/HTTPS. Gunakan ini jika organisasi Anda memerlukan semua lalu lintas keluar untuk melewati server proxy untuk pemantauan keamanan, kepatuhan, atau penegakan kebijakan jaringan. Konfigurasi dengan variabel lingkungan `HTTPS_PROXY` atau `HTTP_PROXY`. Pelajari lebih lanjut di [Konfigurasi jaringan enterprise](/id/network-config).

209* **LLM Gateway**: Layanan yang berada di antara Claude Code dan penyedia cloud untuk menangani autentikasi dan perutean. Gunakan ini jika Anda memerlukan pelacakan penggunaan terpusat di seluruh tim, pembatasan laju kustom atau anggaran, atau manajemen autentikasi terpusat. Konfigurasi dengan variabel lingkungan `ANTHROPIC_BASE_URL`, `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_AWS_BASE_URL`, atau `ANTHROPIC_VERTEX_BASE_URL`. Pelajari lebih lanjut di [Konfigurasi gateway LLM](/id/llm-gateway).209* **LLM Gateway**: Layanan yang berada di antara Claude Code dan penyedia cloud untuk menangani autentikasi dan perutean. Gunakan ini jika Anda memerlukan pelacakan penggunaan terpusat di seluruh tim, pembatasan laju kustom atau anggaran, atau manajemen autentikasi terpusat. Konfigurasi dengan variabel lingkungan `ANTHROPIC_BASE_URL`, `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_AWS_BASE_URL`, atau `ANTHROPIC_VERTEX_BASE_URL`. Pelajari lebih lanjut di [Gateway LLM](/id/llm-gateway).

210 210 

211Contoh berikut menunjukkan variabel lingkungan yang harus diatur di shell atau profil shell Anda (`.bashrc`, `.zshrc`). Lihat [Pengaturan](/id/settings) untuk metode konfigurasi lainnya.211Contoh berikut menunjukkan variabel lingkungan yang harus diatur di shell atau profil shell Anda (`.bashrc`, `.zshrc`). Lihat [Pengaturan](/id/settings) untuk metode konfigurasi lainnya.

212 212 


270 270 

271 # Configure LLM gateway271 # Configure LLM gateway

272 export ANTHROPIC_FOUNDRY_BASE_URL='https://your-llm-gateway.com'272 export ANTHROPIC_FOUNDRY_BASE_URL='https://your-llm-gateway.com'

273 export CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1 # If gateway handles Azure auth273 export ANTHROPIC_FOUNDRY_API_KEY=your-gateway-key # Sent as x-api-key

274 ```274 ```

275 </Tab>275 </Tab>

276</Tabs>276</Tabs>


304 # Configure LLM gateway304 # Configure LLM gateway

305 export ANTHROPIC_VERTEX_BASE_URL='https://your-llm-gateway.com/vertex'305 export ANTHROPIC_VERTEX_BASE_URL='https://your-llm-gateway.com/vertex'

306 export CLAUDE_CODE_SKIP_VERTEX_AUTH=1 # If gateway handles GCP auth306 export CLAUDE_CODE_SKIP_VERTEX_AUTH=1 # If gateway handles GCP auth

307 export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

308 export CLOUD_ML_REGION=us-east5

307 ```309 ```

308 </Tab>310 </Tab>

309</Tabs>311</Tabs>