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# Claude Code di Amazon Bedrock
6
7> Pelajari tentang mengonfigurasi Claude Code melalui Amazon Bedrock, termasuk pengaturan, konfigurasi IAM, dan pemecahan masalah.
8
9export const ContactSalesCard = ({surface}) => {
10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;
11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
12 <line x1="5" y1="12" x2="19" y2="12" />
13 <polyline points="12 5 19 12 12 19" />
14 </svg>;
15 const STYLES = `
16.cc-cs {
17 --cs-slate: #141413;
18 --cs-clay: #d97757;
19 --cs-clay-deep: #c6613f;
20 --cs-gray-000: #ffffff;
21 --cs-gray-700: #3d3d3a;
22 --cs-border-default: rgba(31, 30, 29, 0.15);
23 font-family: inherit;
24}
25.dark .cc-cs {
26 --cs-slate: #f0eee6;
27 --cs-gray-000: #262624;
28 --cs-gray-700: #bfbdb4;
29 --cs-border-default: rgba(240, 238, 230, 0.14);
30}
31.cc-cs-card {
32 display: flex; align-items: center; justify-content: space-between;
33 gap: 16px; padding: 14px 16px; margin: 0;
34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);
35 border-radius: 8px; flex-wrap: wrap;
36}
37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }
38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }
39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
40.cc-cs-btn-clay {
41 display: inline-flex; align-items: center; gap: 8px;
42 background: var(--cs-clay-deep); color: #fff; border: none;
43 border-radius: 8px; padding: 8px 14px;
44 font-size: 13px; font-weight: 500;
45 transition: background-color 0.15s; white-space: nowrap;
46}
47.cc-cs-btn-clay:hover { background: var(--cs-clay); }
48.cc-cs-btn-ghost {
49 display: inline-flex; align-items: center; gap: 8px;
50 background: transparent; color: var(--cs-gray-700);
51 border: 0.5px solid var(--cs-border-default);
52 border-radius: 8px; padding: 8px 14px;
53 font-size: 13px; font-weight: 500;
54}
55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }
56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }
57@media (max-width: 720px) {
58 .cc-cs-actions { width: 100%; }
59}
60`;
61 return <div className="cc-cs not-prose">
62 <style>{STYLES}</style>
63 <div className="cc-cs-card">
64 <div className="cc-cs-text">
65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.
66 </div>
67 <div className="cc-cs-actions">
68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">
69 View plans
70 </a>
71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">
72 Contact sales {iconArrowRight()}
73 </a>
74 </div>
75 </div>
76 </div>;
77};
78
79export const Experiment = ({flag, treatment, children}) => {
80 const VID_KEY = 'exp_vid';
81 const CONSENT_COUNTRIES = new Set(['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'RE', 'GP', 'MQ', 'GF', 'YT', 'BL', 'MF', 'PM', 'WF', 'PF', 'NC', 'AW', 'CW', 'SX', 'FO', 'GL', 'AX', 'GB', 'UK', 'AI', 'BM', 'IO', 'VG', 'KY', 'FK', 'GI', 'MS', 'PN', 'SH', 'TC', 'GG', 'JE', 'IM', 'CA', 'BR', 'IN']);
82 const fnv1a = s => {
83 let h = 0x811c9dc5;
84 for (let i = 0; i < s.length; i++) {
85 h ^= s.charCodeAt(i);
86 h += (h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24);
87 }
88 return h >>> 0;
89 };
90 const bucket = (seed, vid) => fnv1a(fnv1a(seed + vid) + '') % 10000 < 5000 ? 'control' : 'treatment';
91 const [decision] = useState(() => {
92 const params = new URLSearchParams(location.search);
93 const preBucketed = document.documentElement.dataset['gb_' + flag.replace(/-/g, '_')];
94 const force = params.get('gb-force');
95 if (force) {
96 for (const p of force.split(',')) {
97 const [k, v] = p.split(':');
98 if (k === flag) return {
99 variant: v || 'treatment',
100 track: false
101 };
102 }
103 }
104 if (navigator.globalPrivacyControl) {
105 return {
106 variant: 'control',
107 track: false
108 };
109 }
110 const prefsMatch = document.cookie.match(/(?:^|; )anthropic-consent-preferences=([^;]+)/);
111 if (prefsMatch) {
112 try {
113 if (JSON.parse(decodeURIComponent(prefsMatch[1])).analytics !== true) {
114 return {
115 variant: 'control',
116 track: false
117 };
118 }
119 } catch {
120 return {
121 variant: 'control',
122 track: false
123 };
124 }
125 } else {
126 const country = params.get('country')?.toUpperCase() || (document.cookie.match(/(?:^|; )cf_geo=([A-Z]{2})/) || [])[1];
127 if (!country || CONSENT_COUNTRIES.has(country)) {
128 return {
129 variant: 'control',
130 track: false
131 };
132 }
133 }
134 let vid;
135 try {
136 const ajsMatch = document.cookie.match(/(?:^|; )ajs_anonymous_id=([^;]+)/);
137 if (ajsMatch) {
138 vid = decodeURIComponent(ajsMatch[1]).replace(/^"|"$/g, '');
139 } else {
140 vid = localStorage.getItem(VID_KEY);
141 if (!vid) {
142 vid = crypto.randomUUID();
143 }
144 document.cookie = `ajs_anonymous_id=${vid}; domain=.claude.com; path=/; Secure; SameSite=Lax; max-age=31536000`;
145 }
146 try {
147 localStorage.setItem(VID_KEY, vid);
148 } catch {}
149 } catch {
150 return {
151 variant: 'control',
152 track: false
153 };
154 }
155 const variant = preBucketed === '1' ? 'treatment' : preBucketed === '0' ? 'control' : bucket(flag, vid);
156 return {
157 variant,
158 track: true,
159 vid
160 };
161 });
162 useEffect(() => {
163 if (!decision.track) return;
164 fetch('https://api.anthropic.com/api/event_logging/v2/batch', {
165 method: 'POST',
166 headers: {
167 'Content-Type': 'application/json',
168 'x-service-name': 'claude_code_docs'
169 },
170 body: JSON.stringify({
171 events: [{
172 event_type: 'GrowthbookExperimentEvent',
173 event_data: {
174 device_id: decision.vid,
175 anonymous_id: decision.vid,
176 timestamp: new Date().toISOString(),
177 experiment_id: flag,
178 variation_id: decision.variant === 'treatment' ? 1 : 0,
179 environment: 'production'
180 }
181 }]
182 }),
183 keepalive: true
184 }).catch(() => {});
185 }, []);
186 return decision.variant === 'treatment' ? treatment : children;
187};
188
189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="bedrock" />} />
190
191## Prasyarat
192
193Sebelum mengonfigurasi Claude Code dengan Bedrock, pastikan Anda memiliki:
194
195* Akun AWS dengan akses Bedrock yang diaktifkan
196* Akses ke model Claude yang diinginkan (misalnya, Claude Sonnet 4.6) di Bedrock
197* AWS CLI terinstal dan dikonfigurasi (opsional - hanya diperlukan jika Anda tidak memiliki mekanisme lain untuk mendapatkan kredensial)
198* Izin IAM yang sesuai
199
200Untuk masuk dengan kredensial Bedrock Anda sendiri, ikuti [Masuk dengan Bedrock](#sign-in-with-bedrock) di bawah ini. Untuk menerapkan Claude Code di seluruh tim, gunakan langkah [pengaturan manual](#set-up-manually) dan [pin versi model Anda](#4-pin-model-versions) sebelum melakukan peluncuran.
201
202## Masuk dengan Bedrock
203
204Jika Anda memiliki kredensial AWS dan ingin mulai menggunakan Claude Code melalui Bedrock, wizard login akan memandu Anda. Anda menyelesaikan prasyarat sisi AWS sekali per akun; wizard menangani sisi Claude Code.
205
206<Steps>
207 <Step title="Aktifkan model Anthropic di akun AWS Anda">
208 Di [konsol Amazon Bedrock](https://console.aws.amazon.com/bedrock/), buka katalog Model, pilih model Anthropic, dan kirimkan formulir kasus penggunaan. Akses diberikan segera setelah pengiriman. Lihat [Kirimkan detail kasus penggunaan](#1-submit-use-case-details) untuk AWS Organizations dan [konfigurasi IAM](#iam-configuration) untuk izin yang dibutuhkan peran Anda.
209 </Step>
210
211 <Step title="Mulai Claude Code dan pilih Bedrock">
212 Jalankan `claude`. Pada prompt login, pilih **3rd-party platform**, kemudian **Amazon Bedrock**.
213 </Step>
214
215 <Step title="Ikuti prompt wizard">
216 Pilih cara Anda melakukan autentikasi ke AWS: profil AWS yang terdeteksi dari direktori `~/.aws` Anda, kunci API Bedrock, kunci akses dan rahasia, atau kredensial yang sudah ada di lingkungan Anda. Wizard mengambil wilayah Anda, memverifikasi model Claude mana yang dapat dijalankan akun Anda, dan memungkinkan Anda untuk meminnya. Ini menyimpan hasilnya ke blok `env` dari [file pengaturan pengguna Anda](/id/settings), jadi Anda tidak perlu mengekspor variabel lingkungan sendiri.
217 </Step>
218</Steps>
219
220Setelah Anda masuk, jalankan `/setup-bedrock` kapan saja untuk membuka kembali wizard dan mengubah kredensial, wilayah, atau pin model Anda.
221
222## Pengaturan manual
223
224Untuk mengonfigurasi Bedrock melalui variabel lingkungan alih-alih wizard, misalnya di CI atau peluncuran perusahaan yang ditulis skrip, ikuti langkah-langkah di bawah ini.
225
226### 1. Kirimkan detail kasus penggunaan
227
228Pengguna pertama kali dari model Anthropic harus mengirimkan detail kasus penggunaan sebelum memanggil model. Ini dilakukan sekali per akun AWS.
229
2301. Pastikan Anda memiliki izin IAM yang tepat seperti yang dijelaskan di bawah
2312. Navigasikan ke [konsol Amazon Bedrock](https://console.aws.amazon.com/bedrock/)
2323. Pilih model Anthropic dari **Model catalog**
2334. Lengkapi formulir kasus penggunaan. Akses diberikan segera setelah pengiriman.
234
235Jika Anda menggunakan AWS Organizations, Anda dapat mengirimkan formulir sekali dari akun manajemen menggunakan [`PutUseCaseForModelAccess` API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_PutUseCaseForModelAccess.html). Panggilan ini memerlukan izin IAM `bedrock:PutUseCaseForModelAccess`. Persetujuan meluas ke akun anak secara otomatis.
236
237### 2. Konfigurasi kredensial AWS
238
239Claude Code menggunakan rantai kredensial SDK AWS default. Atur kredensial Anda menggunakan salah satu metode berikut:
240
241**Opsi A: Konfigurasi AWS CLI**
242
243```bash theme={null}
244aws configure
245```
246
247**Opsi B: Variabel lingkungan (kunci akses)**
248
249```bash theme={null}
250export AWS_ACCESS_KEY_ID=your-access-key-id
251export AWS_SECRET_ACCESS_KEY=your-secret-access-key
252export AWS_SESSION_TOKEN=your-session-token
253```
254
255**Opsi C: Variabel lingkungan (profil SSO)**
256
257```bash theme={null}
258aws sso login --profile=<your-profile-name>
259
260export AWS_PROFILE=your-profile-name
261```
262
263**Opsi D: Kredensial AWS Management Console**
264
265```bash theme={null}
266aws login
267```
268
269[Pelajari lebih lanjut](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html) tentang `aws login`.
270
271**Opsi E: Kunci API Bedrock**
272
273```bash theme={null}
274export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key
275```
276
277Kunci API Bedrock menyediakan metode autentikasi yang lebih sederhana tanpa memerlukan kredensial AWS lengkap. [Pelajari lebih lanjut tentang kunci API Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/).
278
279#### Konfigurasi kredensial lanjutan
280
281Claude Code mendukung penyegaran kredensial otomatis untuk AWS SSO dan penyedia identitas perusahaan. Tambahkan pengaturan ini ke file pengaturan Claude Code Anda (lihat [Settings](/id/settings) untuk lokasi file).
282
283Ketika Claude Code mendeteksi bahwa kredensial AWS Anda telah kedaluwarsa (baik secara lokal berdasarkan stempel waktu mereka atau ketika Bedrock mengembalikan kesalahan kredensial), Claude Code akan secara otomatis menjalankan perintah `awsAuthRefresh` dan/atau `awsCredentialExport` yang dikonfigurasi untuk mendapatkan kredensial baru sebelum mencoba ulang permintaan.
284
285##### Contoh konfigurasi
286
287```json theme={null}
288{
289 "awsAuthRefresh": "aws sso login --profile myprofile",
290 "env": {
291 "AWS_PROFILE": "myprofile"
292 }
293}
294```
295
296##### Pengaturan konfigurasi dijelaskan
297
298**`awsAuthRefresh`**: Gunakan ini untuk perintah yang memodifikasi direktori `.aws`, seperti memperbarui kredensial, cache SSO, atau file konfigurasi. Output perintah ditampilkan kepada pengguna, tetapi input interaktif tidak didukung. Ini bekerja dengan baik untuk alur SSO berbasis browser di mana CLI menampilkan URL atau kode dan Anda menyelesaikan autentikasi di browser.
299
300**`awsCredentialExport`**: Hanya gunakan ini jika Anda tidak dapat memodifikasi `.aws` dan harus secara langsung mengembalikan kredensial. Output ditangkap secara diam-diam dan tidak ditampilkan kepada pengguna. Perintah harus menampilkan JSON dalam format ini:
301
302```json theme={null}
303{
304 "Credentials": {
305 "AccessKeyId": "value",
306 "SecretAccessKey": "value",
307 "SessionToken": "value"
308 }
309}
310```
311
312### 3. Konfigurasi Claude Code
313
314Atur variabel lingkungan berikut untuk mengaktifkan Bedrock:
315
316```bash theme={null}
317# Aktifkan integrasi Bedrock
318export CLAUDE_CODE_USE_BEDROCK=1
319export AWS_REGION=us-east-1 # atau wilayah pilihan Anda
320
321# Opsional: Ganti wilayah untuk model kecil/cepat (Haiku).
322# Juga berlaku untuk Bedrock Mantle.
323export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2
324
325# Opsional: Ganti URL endpoint Bedrock untuk endpoint khusus atau gateway
326# export ANTHROPIC_BEDROCK_BASE_URL=https://bedrock-runtime.us-east-1.amazonaws.com
327```
328
329Saat mengaktifkan Bedrock untuk Claude Code, perhatikan hal berikut:
330
331* `AWS_REGION` adalah variabel lingkungan yang diperlukan. Claude Code tidak membaca dari file konfigurasi `.aws` untuk pengaturan ini.
332* Saat menggunakan Bedrock, perintah `/login` dan `/logout` dinonaktifkan karena autentikasi ditangani melalui kredensial AWS.
333* Anda dapat menggunakan file pengaturan untuk variabel lingkungan seperti `AWS_PROFILE` yang tidak ingin Anda bocorkan ke proses lain. Lihat [Settings](/id/settings) untuk informasi lebih lanjut.
334
335### 4. Pin versi model
336
337<Warning>
338 Pin versi model spesifik saat menerapkan ke beberapa pengguna. Tanpa pinning, alias model seperti `sonnet` dan `opus` diselesaikan ke versi terbaru, yang mungkin belum tersedia di akun Bedrock Anda ketika Anthropic merilis pembaruan. Claude Code [kembali](#startup-model-checks) ke versi sebelumnya saat startup ketika versi terbaru tidak tersedia, tetapi pinning memungkinkan Anda mengontrol kapan pengguna Anda beralih ke model baru.
339</Warning>
340
341Atur variabel lingkungan ini ke ID model Bedrock spesifik.
342
343Tanpa `ANTHROPIC_DEFAULT_OPUS_MODEL`, alias `opus` di Bedrock diselesaikan ke Opus 4.6. Atur ke ID Opus 4.7 untuk menggunakan model terbaru:
344
345```bash theme={null}
346export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-7'
347export ANTHROPIC_DEFAULT_SONNET_MODEL='us.anthropic.claude-sonnet-4-6'
348export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'
349```
350
351Variabel ini menggunakan ID profil inferensi lintas wilayah (dengan awalan `us.`). Jika Anda menggunakan awalan wilayah berbeda atau profil inferensi aplikasi, sesuaikan sesuai kebutuhan. Untuk ID model saat ini dan warisan, lihat [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). Lihat [Model configuration](/id/model-config#pin-models-for-third-party-deployments) untuk daftar lengkap variabel lingkungan.
352
353Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:
354
355| Jenis model | Nilai default |
356| :---------------- | :--------------------------------------------- |
357| Model utama | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |
358| Model kecil/cepat | `us.anthropic.claude-haiku-4-5-20251001-v1:0` |
359
360Untuk menyesuaikan model lebih lanjut, gunakan salah satu metode berikut:
361
362```bash theme={null}
363# Menggunakan ID profil inferensi
364export ANTHROPIC_MODEL='global.anthropic.claude-sonnet-4-6'
365export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'
366
367# Menggunakan ARN profil inferensi aplikasi
368export ANTHROPIC_MODEL='arn:aws:bedrock:us-east-2:your-account-id:application-inference-profile/your-model-id'
369
370# Opsional: Nonaktifkan prompt caching jika diperlukan
371export DISABLE_PROMPT_CACHING=1
372
373# Opsional: Minta TTL cache prompt 1 jam alih-alih default 5 menit
374export ENABLE_PROMPT_CACHING_1H=1
375```
376
377<Note>[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) mungkin tidak tersedia di semua wilayah. Cache writes dengan TTL 1 jam ditagih dengan tarif lebih tinggi daripada writes 5 menit.</Note>
378
379#### Petakan setiap versi model ke profil inferensi
380
381Variabel lingkungan `ANTHROPIC_DEFAULT_*_MODEL` mengonfigurasi satu profil inferensi per keluarga model. Jika organisasi Anda perlu mengekspos beberapa versi dari keluarga yang sama di pemilih `/model`, masing-masing dirutekan ke ARN profil inferensi aplikasi sendiri, gunakan pengaturan `modelOverrides` di [file pengaturan](/id/settings#settings-files) Anda sebagai gantinya.
382
383Contoh ini memetakan empat versi Opus ke ARN yang berbeda sehingga pengguna dapat beralih di antara mereka tanpa melewati profil inferensi organisasi Anda:
384
385```json theme={null}
386{
387 "modelOverrides": {
388 "claude-opus-4-7": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-47-prod",
389 "claude-opus-4-6": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-46-prod",
390 "claude-opus-4-5-20251101": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-45-prod",
391 "claude-opus-4-1-20250805": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-41-prod"
392 }
393}
394```
395
396Ketika pengguna memilih salah satu versi ini di `/model`, Claude Code memanggil Bedrock dengan ARN yang dipetakan. Versi tanpa override kembali ke ID model Bedrock bawaan atau profil inferensi yang cocok yang ditemukan saat startup. Lihat [Override model IDs per version](/id/model-config#override-model-ids-per-version) untuk detail tentang bagaimana override berinteraksi dengan `availableModels` dan pengaturan model lainnya.
397
398## Pemeriksaan model startup
399
400Ketika Claude Code dimulai dengan Bedrock dikonfigurasi, Claude Code memverifikasi bahwa model yang dimaksudkan untuk digunakan dapat diakses di akun Anda. Pemeriksaan ini memerlukan Claude Code v2.1.94 atau lebih baru.
401
402Jika Anda telah mempin versi model yang lebih lama dari default Claude Code saat ini, dan akun Anda dapat memanggil versi yang lebih baru, Claude Code meminta Anda untuk memperbarui pin. Menerima menulis ID model baru ke [file pengaturan pengguna Anda](/id/settings) dan memulai ulang Claude Code. Menolak diingat sampai perubahan versi default berikutnya. Pin yang menunjuk ke [ARN profil inferensi aplikasi](#map-each-model-version-to-an-inference-profile) dilewati, karena dikelola oleh administrator Anda.
403
404Jika Anda belum mempin model dan default saat ini tidak tersedia di akun Anda, Claude Code kembali ke versi sebelumnya untuk sesi saat ini dan menampilkan pemberitahuan. Fallback tidak disimpan. Aktifkan model yang lebih baru di akun Bedrock Anda atau [pin versi](#4-pin-model-versions) untuk membuat pilihan permanen.
405
406## Konfigurasi IAM
407
408Buat kebijakan IAM dengan izin yang diperlukan untuk Claude Code:
409
410```json theme={null}
411{
412 "Version": "2012-10-17",
413 "Statement": [
414 {
415 "Sid": "AllowModelAndInferenceProfileAccess",
416 "Effect": "Allow",
417 "Action": [
418 "bedrock:InvokeModel",
419 "bedrock:InvokeModelWithResponseStream",
420 "bedrock:ListInferenceProfiles",
421 "bedrock:GetInferenceProfile"
422 ],
423 "Resource": [
424 "arn:aws:bedrock:*:*:inference-profile/*",
425 "arn:aws:bedrock:*:*:application-inference-profile/*",
426 "arn:aws:bedrock:*:*:foundation-model/*"
427 ]
428 },
429 {
430 "Sid": "AllowMarketplaceSubscription",
431 "Effect": "Allow",
432 "Action": [
433 "aws-marketplace:ViewSubscriptions",
434 "aws-marketplace:Subscribe"
435 ],
436 "Resource": "*",
437 "Condition": {
438 "StringEquals": {
439 "aws:CalledViaLast": "bedrock.amazonaws.com"
440 }
441 }
442 }
443 ]
444}
445```
446
447Untuk izin yang lebih ketat, Anda dapat membatasi Resource ke ARN profil inferensi spesifik.
448
449`bedrock:GetInferenceProfile` memungkinkan Claude Code menyelesaikan [ARN profil inferensi aplikasi](#map-each-model-version-to-an-inference-profile) ke model fondasi pendukungnya, yang digunakan untuk memilih bentuk permintaan yang benar untuk model tersebut.
450
451Jika token tidak memiliki izin ini, Claude Code pulih secara otomatis dengan mencoba ulang sekali dengan bentuk alternatif, sehingga permintaan tetap berhasil tetapi setiap model baru menambahkan perjalanan bolak-balik ekstra. Memberikan izin menghindari percobaan ulang. Ini paling sering berlaku untuk penyebaran `AWS_BEARER_TOKEN_BEDROCK`, di mana kebijakan token biasanya lebih sempit daripada peran IAM penuh.
452
453Untuk detail, lihat [dokumentasi IAM Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/security-iam.html).
454
455<Note>
456 Buat akun AWS khusus untuk Claude Code untuk menyederhanakan pelacakan biaya dan kontrol akses.
457</Note>
458
459## Jendela konteks token 1M
460
461Claude Opus 4.7, Opus 4.6, dan Sonnet 4.6 mendukung [jendela konteks token 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) di Amazon Bedrock. Claude Code secara otomatis mengaktifkan jendela konteks yang diperluas ketika Anda memilih varian model 1M.
462
463[Wizard pengaturan](#sign-in-with-bedrock) menawarkan opsi konteks 1M ketika mempin model. Untuk mengaktifkannya untuk model yang dipinnya secara manual, tambahkan `[1m]` ke ID model. Lihat [Pin models for third-party deployments](/id/model-config#pin-models-for-third-party-deployments) untuk detail.
464
465## AWS Guardrails
466
467[Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) memungkinkan Anda menerapkan penyaringan konten untuk Claude Code. Buat Guardrail di [konsol Amazon Bedrock](https://console.aws.amazon.com/bedrock/), publikasikan versi, kemudian tambahkan header Guardrail ke [file pengaturan](/id/settings) Anda. Aktifkan inferensi Cross-Region pada Guardrail Anda jika Anda menggunakan profil inferensi lintas wilayah.
468
469Contoh konfigurasi:
470
471```json theme={null}
472{
473 "env": {
474 "ANTHROPIC_CUSTOM_HEADERS": "X-Amzn-Bedrock-GuardrailIdentifier: your-guardrail-id\nX-Amzn-Bedrock-GuardrailVersion: 1"
475 }
476}
477```
478
479## Gunakan endpoint Mantle
480
481Mantle adalah endpoint Amazon Bedrock yang melayani model Claude melalui bentuk API Anthropic asli daripada Bedrock Invoke API. Ini menggunakan kredensial AWS yang sama, izin IAM, dan konfigurasi `awsAuthRefresh` yang dijelaskan sebelumnya di halaman ini.
482
483<Note>
484 Mantle memerlukan Claude Code v2.1.94 atau lebih baru. Jalankan `claude --version` untuk memeriksa.
485</Note>
486
487### Aktifkan Mantle
488
489Dengan kredensial AWS sudah dikonfigurasi, atur `CLAUDE_CODE_USE_MANTLE` untuk merutekan permintaan ke endpoint Mantle:
490
491```bash theme={null}
492export CLAUDE_CODE_USE_MANTLE=1
493export AWS_REGION=us-east-1
494```
495
496Claude Code membuat URL endpoint dari `AWS_REGION`. Untuk menggantinya untuk endpoint khusus atau gateway, atur `ANTHROPIC_BEDROCK_MANTLE_BASE_URL`.
497
498Jalankan `/status` di dalam Claude Code untuk mengonfirmasi. Baris penyedia menunjukkan `Amazon Bedrock (Mantle)` ketika Mantle aktif.
499
500### Pilih model Mantle
501
502Mantle menggunakan ID model dengan awalan `anthropic.` dan tanpa akhiran versi, misalnya `anthropic.claude-haiku-4-5`. Model yang tersedia untuk akun Anda tergantung pada apa yang telah diberikan organisasi Anda; ID model tambahan tercantum dalam materi onboarding Anda dari AWS. Hubungi tim akun AWS Anda untuk meminta akses ke model yang diizinkan.
503
504Atur model dengan flag `--model` atau dengan `/model` di dalam Claude Code:
505
506```bash theme={null}
507claude --model anthropic.claude-haiku-4-5
508```
509
510### Jalankan Mantle bersama Invoke API
511
512Model yang tersedia untuk Anda di Mantle mungkin tidak mencakup setiap model yang Anda gunakan hari ini. Menetapkan `CLAUDE_CODE_USE_BEDROCK` dan `CLAUDE_CODE_USE_MANTLE` memungkinkan Claude Code memanggil kedua endpoint dari sesi yang sama. ID model yang cocok dengan format Mantle dirutekan ke Mantle, dan semua ID model lainnya pergi ke Bedrock Invoke API.
513
514```bash theme={null}
515export CLAUDE_CODE_USE_BEDROCK=1
516export CLAUDE_CODE_USE_MANTLE=1
517```
518
519Untuk 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, jadi sertakan setiap alias yang ingin Anda tetap tersedia:
520
521```json theme={null}
522{
523 "availableModels": ["opus", "sonnet", "haiku", "anthropic.claude-haiku-4-5"]
524}
525```
526
527Entri dengan awalan `anthropic.` ditambahkan sebagai opsi pemilih khusus dan dirutekan ke Mantle. Ganti `anthropic.claude-haiku-4-5` dengan ID model yang telah diberikan akun Anda. Lihat [Restrict model selection](/id/model-config#restrict-model-selection) untuk cara `availableModels` berinteraksi dengan pengaturan model lainnya.
528
529Ketika kedua penyedia aktif, `/status` menunjukkan `Amazon Bedrock + Amazon Bedrock (Mantle)`.
530
531### Rutekan Mantle melalui gateway
532
533Jika organisasi Anda merutekan lalu lintas model melalui [LLM gateway](/id/llm-gateway) terpusat yang menyuntikkan kredensial AWS sisi server, nonaktifkan autentikasi sisi klien sehingga Claude Code mengirim permintaan tanpa tanda tangan SigV4 atau header `x-api-key`:
534
535```bash theme={null}
536export CLAUDE_CODE_USE_MANTLE=1
537export CLAUDE_CODE_SKIP_MANTLE_AUTH=1
538export ANTHROPIC_BEDROCK_MANTLE_BASE_URL=https://your-gateway.example.com
539```
540
541### Variabel lingkungan Mantle
542
543Variabel ini khusus untuk endpoint Mantle. Lihat [Environment variables](/id/env-vars) untuk daftar lengkap.
544
545| Variabel | Tujuan |
546| :-------------------------------------- | :------------------------------------------------------------------- |
547| `CLAUDE_CODE_USE_MANTLE` | Aktifkan endpoint Mantle. Atur ke `1` atau `true`. |
548| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Ganti URL endpoint Mantle default |
549| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Lewati autentikasi sisi klien untuk pengaturan proxy |
550| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Ganti wilayah AWS untuk model kelas Haiku (dibagikan dengan Bedrock) |
551
552## Pemecahan Masalah
553
554### Loop autentikasi dengan SSO dan proxy perusahaan
555
556Jika tab browser muncul berulang kali saat menggunakan AWS SSO, hapus pengaturan `awsAuthRefresh` dari [file pengaturan](/id/settings) Anda. Ini dapat terjadi ketika VPN perusahaan atau proxy inspeksi TLS mengganggu alur browser SSO. Claude Code memperlakukan koneksi yang terputus sebagai kegagalan autentikasi, menjalankan kembali `awsAuthRefresh`, dan loop tanpa batas.
557
558Jika lingkungan jaringan Anda mengganggu alur SSO berbasis browser otomatis, gunakan `aws sso login` secara manual sebelum memulai Claude Code alih-alih mengandalkan `awsAuthRefresh`.
559
560### Masalah wilayah
561
562Jika Anda mengalami masalah wilayah:
563
564* Periksa ketersediaan model: `aws bedrock list-inference-profiles --region your-region`
565* Beralih ke wilayah yang didukung: `export AWS_REGION=us-east-1`
566* Pertimbangkan menggunakan profil inferensi untuk akses lintas wilayah
567
568Jika Anda menerima kesalahan "on-demand throughput isn't supported":
569
570* Tentukan model sebagai ID [profil inferensi](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html)
571
572Claude Code menggunakan [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) Bedrock dan tidak mendukung Converse API.
573
574### Kesalahan endpoint Mantle
575
576Jika `/status` tidak menunjukkan `Amazon Bedrock (Mantle)` setelah Anda menetapkan `CLAUDE_CODE_USE_MANTLE`, variabel tidak mencapai proses. Konfirmasi bahwa variabel diekspor di shell tempat Anda meluncurkan `claude`, atau atur di blok `env` dari [file pengaturan](/id/settings) Anda.
577
578A `403` dari endpoint Mantle dengan kredensial yang valid berarti akun AWS Anda belum diberikan akses ke model yang Anda minta. Hubungi tim akun AWS Anda untuk meminta akses.
579
580A `400` yang menyebutkan ID model berarti model itu tidak dilayani di Mantle. Mantle memiliki lineup model sendiri yang terpisah dari katalog Bedrock standar, jadi ID profil inferensi seperti `us.anthropic.claude-sonnet-4-6` tidak akan berfungsi. Gunakan ID format Mantle, atau aktifkan [kedua endpoint](#run-mantle-alongside-the-invoke-api) sehingga Claude Code merutekan setiap permintaan ke endpoint tempat model tersedia.
581
582## Sumber daya tambahan
583
584* [Dokumentasi Bedrock](https://docs.aws.amazon.com/bedrock/)
585* [Harga Bedrock](https://aws.amazon.com/bedrock/pricing/)
586* [Profil inferensi Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html)
587* [Burndown token Bedrock dan kuota](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas-token-burndown.html)
588* [Claude Code di Amazon Bedrock: Panduan Pengaturan Cepat](https://community.aws/content/2tXkZKrZzlrlu0KfH8gST5Dkppq/claude-code-on-amazon-bedrock-quick-setup-guide)
589* [Implementasi Pemantauan Claude Code (Bedrock)](https://github.com/aws-solutions-library-samples/guidance-for-claude-code-with-amazon-bedrock/blob/main/assets/docs/MONITORING.md)