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 sur Amazon Bedrock
6
7> Découvrez comment configurer Claude Code via Amazon Bedrock, y compris la configuration, la configuration IAM et le dépannage.
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## Prérequis
192
193Avant de configurer Claude Code avec Bedrock, assurez-vous que vous disposez de :
194
195* Un compte AWS avec accès à Bedrock activé
196* Accès aux modèles Claude souhaités (par exemple, Claude Sonnet 4.6) dans Bedrock
197* AWS CLI installé et configuré (facultatif - nécessaire uniquement si vous n'avez pas d'autre mécanisme pour obtenir les identifiants)
198* Autorisations IAM appropriées
199
200Pour vous connecter avec vos propres identifiants Bedrock, suivez [Se connecter avec Bedrock](#sign-in-with-bedrock) ci-dessous. Pour déployer Claude Code dans une équipe, utilisez les étapes de [configuration manuelle](#set-up-manually) et [épinglez vos versions de modèle](#4-pin-model-versions) avant le déploiement.
201
202## Se connecter avec Bedrock
203
204Si vous disposez d'identifiants AWS et souhaitez commencer à utiliser Claude Code via Bedrock, l'assistant de connexion vous guide à travers le processus. Vous complétez les prérequis côté AWS une fois par compte ; l'assistant gère le côté Claude Code.
205
206<Steps>
207 <Step title="Activer les modèles Anthropic dans votre compte AWS">
208 Dans la [console Amazon Bedrock](https://console.aws.amazon.com/bedrock/), ouvrez le catalogue de modèles, sélectionnez un modèle Anthropic et soumettez le formulaire de cas d'usage. L'accès est accordé immédiatement après la soumission. Voir [Soumettre les détails du cas d'usage](#1-submit-use-case-details) pour AWS Organizations et [Configuration IAM](#iam-configuration) pour les autorisations dont votre rôle a besoin.
209 </Step>
210
211 <Step title="Démarrer Claude Code et choisir Bedrock">
212 Exécutez `claude`. À l'invite de connexion, sélectionnez **3rd-party platform**, puis **Amazon Bedrock**.
213 </Step>
214
215 <Step title="Suivre les invites de l'assistant">
216 Choisissez comment vous vous authentifiez auprès d'AWS : un profil AWS détecté à partir de votre répertoire `~/.aws`, une clé API Bedrock, une clé d'accès et un secret, ou des identifiants déjà dans votre environnement. L'assistant récupère votre région, vérifie quels modèles Claude votre compte peut invoquer, et vous permet de les épingler. Il enregistre le résultat dans le bloc `env` de votre [fichier de paramètres utilisateur](/fr/settings), vous n'avez donc pas besoin d'exporter les variables d'environnement vous-même.
217 </Step>
218</Steps>
219
220Après vous être connecté, exécutez `/setup-bedrock` à tout moment pour rouvrir l'assistant et modifier vos identifiants, votre région ou vos épingles de modèle.
221
222## Configuration manuelle
223
224Pour configurer Bedrock via des variables d'environnement au lieu de l'assistant, par exemple dans CI ou un déploiement d'entreprise scriptés, suivez les étapes ci-dessous.
225
226### 1. Soumettre les détails du cas d'usage
227
228Les utilisateurs pour la première fois des modèles Anthropic doivent soumettre les détails du cas d'usage avant d'invoquer un modèle. Ceci est fait une fois par compte AWS.
229
2301. Assurez-vous que vous disposez des bonnes autorisations IAM décrites ci-dessous
2312. Accédez à la [console Amazon Bedrock](https://console.aws.amazon.com/bedrock/)
2323. Sélectionnez un modèle Anthropic dans le **catalogue de modèles**
2334. Complétez le formulaire de cas d'usage. L'accès est accordé immédiatement après la soumission.
234
235Si vous utilisez AWS Organizations, vous pouvez soumettre le formulaire une fois à partir du compte de gestion en utilisant l'[API `PutUseCaseForModelAccess`](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_PutUseCaseForModelAccess.html). Cet appel nécessite l'autorisation IAM `bedrock:PutUseCaseForModelAccess`. L'approbation s'étend automatiquement aux comptes enfants.
236
237### 2. Configurer les identifiants AWS
238
239Claude Code utilise la chaîne d'identifiants par défaut du SDK AWS. Configurez vos identifiants en utilisant l'une de ces méthodes :
240
241**Option A : Configuration AWS CLI**
242
243```bash theme={null}
244aws configure
245```
246
247**Option B : Variables d'environnement (clé d'accès)**
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**Option C : Variables d'environnement (profil SSO)**
256
257```bash theme={null}
258aws sso login --profile=<your-profile-name>
259
260export AWS_PROFILE=your-profile-name
261```
262
263**Option D : Identifiants de la console de gestion AWS**
264
265```bash theme={null}
266aws login
267```
268
269[En savoir plus](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html) sur `aws login`.
270
271**Option E : Clés API Bedrock**
272
273```bash theme={null}
274export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key
275```
276
277Les clés API Bedrock offrent une méthode d'authentification plus simple sans avoir besoin d'identifiants AWS complets. [En savoir plus sur les clés API Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/).
278
279#### Configuration avancée des identifiants
280
281Claude Code prend en charge l'actualisation automatique des identifiants pour AWS SSO et les fournisseurs d'identité d'entreprise. Ajoutez ces paramètres à votre fichier de paramètres Claude Code (voir [Paramètres](/fr/settings) pour les emplacements des fichiers).
282
283Lorsque Claude Code détecte que vos identifiants AWS ont expiré (soit localement en fonction de leur horodatage, soit lorsque Bedrock retourne une erreur d'identifiants), il exécutera automatiquement vos commandes `awsAuthRefresh` et/ou `awsCredentialExport` configurées pour obtenir de nouveaux identifiants avant de réessayer la demande.
284
285##### Exemple de configuration
286
287```json theme={null}
288{
289 "awsAuthRefresh": "aws sso login --profile myprofile",
290 "env": {
291 "AWS_PROFILE": "myprofile"
292 }
293}
294```
295
296##### Paramètres de configuration expliqués
297
298**`awsAuthRefresh`** : Utilisez ceci pour les commandes qui modifient le répertoire `.aws`, comme la mise à jour des identifiants, du cache SSO ou des fichiers de configuration. La sortie de la commande s'affiche à l'utilisateur, mais l'entrée interactive n'est pas prise en charge. Cela fonctionne bien pour les flux SSO basés sur un navigateur où l'interface de ligne de commande affiche une URL ou un code et vous complétez l'authentification dans le navigateur.
299
300**`awsCredentialExport`** : Utilisez ceci uniquement si vous ne pouvez pas modifier `.aws` et devez retourner directement les identifiants. La sortie est capturée silencieusement et non affichée à l'utilisateur. La commande doit générer du JSON dans ce format :
301
302```json theme={null}
303{
304 "Credentials": {
305 "AccessKeyId": "value",
306 "SecretAccessKey": "value",
307 "SessionToken": "value"
308 }
309}
310```
311
312### 3. Configurer Claude Code
313
314Définissez les variables d'environnement suivantes pour activer Bedrock :
315
316```bash theme={null}
317# Enable Bedrock integration
318export CLAUDE_CODE_USE_BEDROCK=1
319export AWS_REGION=us-east-1 # or your preferred region
320
321# Optional: Override the region for the small/fast model (Haiku).
322# Also applies to Bedrock Mantle.
323export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2
324
325# Optional: Override the Bedrock endpoint URL for custom endpoints or gateways
326# export ANTHROPIC_BEDROCK_BASE_URL=https://bedrock-runtime.us-east-1.amazonaws.com
327```
328
329Lors de l'activation de Bedrock pour Claude Code, gardez à l'esprit les points suivants :
330
331* `AWS_REGION` est une variable d'environnement requise. Claude Code ne lit pas à partir du fichier de configuration `.aws` pour ce paramètre.
332* Lors de l'utilisation de Bedrock, les commandes `/login` et `/logout` sont désactivées car l'authentification est gérée via les identifiants AWS.
333* Vous pouvez utiliser des fichiers de paramètres pour les variables d'environnement comme `AWS_PROFILE` que vous ne voulez pas divulguer à d'autres processus. Voir [Paramètres](/fr/settings) pour plus d'informations.
334
335### 4. Épingler les versions de modèle
336
337<Warning>
338 Épinglez les versions de modèle spécifiques lors du déploiement pour plusieurs utilisateurs. Sans épinglage, les alias de modèle tels que `sonnet` et `opus` se résolvent à la dernière version, qui peut ne pas encore être disponible dans votre compte Bedrock lorsqu'Anthropic publie une mise à jour. Claude Code [revient](#startup-model-checks) à la version précédente au démarrage lorsque la dernière n'est pas disponible, mais l'épinglage vous permet de contrôler quand vos utilisateurs passent à un nouveau modèle.
339</Warning>
340
341Définissez ces variables d'environnement sur des ID de modèle Bedrock spécifiques.
342
343Sans `ANTHROPIC_DEFAULT_OPUS_MODEL`, l'alias `opus` sur Bedrock se résout à Opus 4.6. Définissez-le sur l'ID Opus 4.7 pour utiliser le dernier modèle :
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
351Ces variables utilisent des ID de profil d'inférence inter-régions (avec le préfixe `us.`). Si vous utilisez un préfixe de région différent ou des profils d'inférence d'application, ajustez en conséquence. Pour les ID de modèle actuels et hérités, voir [Aperçu des modèles](https://platform.claude.com/docs/en/about-claude/models/overview). Voir [Configuration du modèle](/fr/model-config#pin-models-for-third-party-deployments) pour la liste complète des variables d'environnement.
352
353Claude Code utilise ces modèles par défaut lorsqu'aucune variable d'épinglage n'est définie :
354
355| Type de modèle | Valeur par défaut |
356| :------------------ | :--------------------------------------------- |
357| Modèle principal | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |
358| Modèle petit/rapide | `us.anthropic.claude-haiku-4-5-20251001-v1:0` |
359
360Pour personnaliser davantage les modèles, utilisez l'une de ces méthodes :
361
362```bash theme={null}
363# Using inference profile ID
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# Using application inference profile ARN
368export ANTHROPIC_MODEL='arn:aws:bedrock:us-east-2:your-account-id:application-inference-profile/your-model-id'
369
370# Optional: Disable prompt caching if needed
371export DISABLE_PROMPT_CACHING=1
372
373# Optional: Request 1-hour prompt cache TTL instead of the 5-minute default
374export ENABLE_PROMPT_CACHING_1H=1
375```
376
377<Note>[La mise en cache des invites](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) peut ne pas être disponible dans toutes les régions. Les écritures de cache avec un TTL d'une heure sont facturées à un taux plus élevé que les écritures de cinq minutes.</Note>
378
379#### Mapper chaque version de modèle à un profil d'inférence
380
381Les variables d'environnement `ANTHROPIC_DEFAULT_*_MODEL` configurent un profil d'inférence par famille de modèles. Si votre organisation doit exposer plusieurs versions de la même famille dans le sélecteur `/model`, chacune acheminée vers son propre ARN de profil d'inférence d'application, utilisez plutôt le paramètre `modelOverrides` dans votre [fichier de paramètres](/fr/settings#settings-files).
382
383Cet exemple mappe quatre versions d'Opus à des ARN distincts afin que les utilisateurs puissent basculer entre elles sans contourner les profils d'inférence de votre organisation :
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
396Lorsqu'un utilisateur sélectionne l'une de ces versions dans `/model`, Claude Code appelle Bedrock avec l'ARN mappé. Les versions sans remplacement reviennent à l'ID de modèle Bedrock intégré ou à tout profil d'inférence correspondant découvert au démarrage. Voir [Remplacer les ID de modèle par version](/fr/model-config#override-model-ids-per-version) pour plus de détails sur la façon dont les remplacements interagissent avec `availableModels` et d'autres paramètres de modèle.
397
398## Vérifications du modèle au démarrage
399
400Lorsque Claude Code démarre avec Bedrock configuré, il vérifie que les modèles qu'il a l'intention d'utiliser sont accessibles dans votre compte. Cette vérification nécessite Claude Code v2.1.94 ou version ultérieure.
401
402Si vous avez épinglé une version de modèle plus ancienne que la valeur par défaut actuelle de Claude Code, et que votre compte peut invoquer la version plus récente, Claude Code vous invite à mettre à jour l'épingle. L'acceptation écrit le nouvel ID de modèle dans votre [fichier de paramètres utilisateur](/fr/settings) et redémarre Claude Code. Le refus est mémorisé jusqu'au prochain changement de version par défaut. Les épingles qui pointent vers un [ARN de profil d'inférence d'application](#map-each-model-version-to-an-inference-profile) sont ignorées, car celles-ci sont gérées par votre administrateur.
403
404Si vous n'avez pas épinglé un modèle et que la valeur par défaut actuelle n'est pas disponible dans votre compte, Claude Code revient à la version précédente pour la session actuelle et affiche un avis. Le retour n'est pas persistant. Activez le modèle plus récent dans votre compte Bedrock ou [épinglez une version](#4-pin-model-versions) pour rendre le choix permanent.
405
406## Configuration IAM
407
408Créez une politique IAM avec les autorisations requises pour 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
447Pour des autorisations plus restrictives, vous pouvez limiter la ressource à des ARN de profil d'inférence spécifiques.
448
449`bedrock:GetInferenceProfile` permet à Claude Code de résoudre un [ARN de profil d'inférence d'application](#map-each-model-version-to-an-inference-profile) vers son modèle de fondation de support, qui est utilisé pour sélectionner la forme de requête correcte pour ce modèle.
450
451Si le jeton ne dispose pas de cette autorisation, Claude Code se rétablit automatiquement en réessayant une fois avec la forme alternative, de sorte que les requêtes réussissent toujours mais chaque nouveau modèle ajoute un aller-retour supplémentaire. L'octroi de l'autorisation évite la nouvelle tentative. Cela s'applique le plus souvent aux déploiements `AWS_BEARER_TOKEN_BEDROCK`, où la politique du jeton est généralement plus étroite qu'un rôle IAM complet.
452
453Pour plus de détails, voir [Documentation IAM Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/security-iam.html).
454
455<Note>
456 Créez un compte AWS dédié pour Claude Code pour simplifier le suivi des coûts et le contrôle d'accès.
457</Note>
458
459## Fenêtre de contexte de 1M de jetons
460
461Claude Opus 4.7, Opus 4.6 et Sonnet 4.6 prennent en charge la [fenêtre de contexte de 1M de jetons](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) sur Amazon Bedrock. Claude Code active automatiquement la fenêtre de contexte étendue lorsque vous sélectionnez une variante de modèle 1M.
462
463L'[assistant de configuration](#sign-in-with-bedrock) offre une option de contexte 1M lorsqu'il épingle les modèles. Pour l'activer pour un modèle épinglé manuellement à la place, ajoutez `[1m]` à l'ID du modèle. Voir [Épingler les modèles pour les déploiements tiers](/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails.
464
465## Garde-fous AWS
466
467[Les garde-fous Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) vous permettent de mettre en œuvre le filtrage du contenu pour Claude Code. Créez un garde-fou dans la [console Amazon Bedrock](https://console.aws.amazon.com/bedrock/), publiez une version, puis ajoutez les en-têtes du garde-fou à votre [fichier de paramètres](/fr/settings). Activez l'inférence inter-régions sur votre garde-fou si vous utilisez des profils d'inférence inter-régions.
468
469Exemple de configuration :
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## Utiliser le point de terminaison Mantle
480
481Mantle est un point de terminaison Amazon Bedrock qui sert les modèles Claude via la forme API Anthropic native plutôt que l'API Invoke Bedrock. Il utilise les mêmes identifiants AWS, autorisations IAM et configuration `awsAuthRefresh` décrites précédemment sur cette page.
482
483<Note>
484 Mantle nécessite Claude Code v2.1.94 ou version ultérieure. Exécutez `claude --version` pour vérifier.
485</Note>
486
487### Activer Mantle
488
489Avec les identifiants AWS déjà configurés, définissez `CLAUDE_CODE_USE_MANTLE` pour acheminer les demandes vers le point de terminaison Mantle :
490
491```bash theme={null}
492export CLAUDE_CODE_USE_MANTLE=1
493export AWS_REGION=us-east-1
494```
495
496Claude Code construit l'URL du point de terminaison à partir de `AWS_REGION`. Pour la remplacer pour un point de terminaison personnalisé ou une passerelle, définissez `ANTHROPIC_BEDROCK_MANTLE_BASE_URL`.
497
498Exécutez `/status` dans Claude Code pour confirmer. La ligne du fournisseur affiche `Amazon Bedrock (Mantle)` lorsque Mantle est actif.
499
500### Sélectionner un modèle Mantle
501
502Mantle utilise des ID de modèle préfixés avec `anthropic.` et sans suffixe de version, par exemple `anthropic.claude-haiku-4-5`. Les modèles disponibles pour votre compte dépendent de ce que votre organisation a reçu ; les ID de modèle supplémentaires sont répertoriés dans vos documents d'intégration d'AWS. Contactez votre équipe de compte AWS pour demander l'accès aux modèles autorisés.
503
504Définissez le modèle avec l'indicateur `--model` ou avec `/model` dans Claude Code :
505
506```bash theme={null}
507claude --model anthropic.claude-haiku-4-5
508```
509
510### Exécuter Mantle aux côtés de l'API Invoke
511
512Les modèles disponibles pour vous sur Mantle peuvent ne pas inclure tous les modèles que vous utilisez aujourd'hui. La définition de `CLAUDE_CODE_USE_BEDROCK` et `CLAUDE_CODE_USE_MANTLE` permet à Claude Code d'appeler les deux points de terminaison à partir de la même session. Les ID de modèle qui correspondent au format Mantle sont acheminés vers Mantle, et tous les autres ID de modèle vont à l'API Invoke Bedrock.
513
514```bash theme={null}
515export CLAUDE_CODE_USE_BEDROCK=1
516export CLAUDE_CODE_USE_MANTLE=1
517```
518
519Pour afficher un modèle Mantle dans le sélecteur `/model`, répertoriez son ID dans `availableModels` dans votre [fichier de paramètres](/fr/settings). Ce paramètre restreint également le sélecteur aux entrées répertoriées, donc incluez chaque alias que vous souhaitez garder disponible :
520
521```json theme={null}
522{
523 "availableModels": ["opus", "sonnet", "haiku", "anthropic.claude-haiku-4-5"]
524}
525```
526
527Les entrées avec le préfixe `anthropic.` sont ajoutées en tant qu'options de sélecteur personnalisées et acheminées vers Mantle. Remplacez `anthropic.claude-haiku-4-5` par l'ID de modèle que votre compte a reçu. Voir [Restreindre la sélection du modèle](/fr/model-config#restrict-model-selection) pour savoir comment `availableModels` interagit avec d'autres paramètres de modèle.
528
529Lorsque les deux fournisseurs sont actifs, `/status` affiche `Amazon Bedrock + Amazon Bedrock (Mantle)`.
530
531### Acheminer Mantle via une passerelle
532
533Si votre organisation achemine le trafic du modèle via une [passerelle LLM](/fr/llm-gateway) centralisée qui injecte les identifiants AWS côté serveur, désactivez l'authentification côté client afin que Claude Code envoie les demandes sans signatures SigV4 ou en-têtes `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### Variables d'environnement Mantle
542
543Ces variables sont spécifiques au point de terminaison Mantle. Voir [Variables d'environnement](/fr/env-vars) pour la liste complète.
544
545| Variable | Objectif |
546| :-------------------------------------- | :---------------------------------------------------------------------------- |
547| `CLAUDE_CODE_USE_MANTLE` | Activer le point de terminaison Mantle. Définissez sur `1` ou `true`. |
548| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Remplacer l'URL du point de terminaison Mantle par défaut |
549| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Ignorer l'authentification côté client pour les configurations de proxy |
550| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Remplacer la région AWS pour le modèle de classe Haiku (partagé avec Bedrock) |
551
552## Dépannage
553
554### Boucle d'authentification avec SSO et proxies d'entreprise
555
556Si des onglets de navigateur s'ouvrent à plusieurs reprises lors de l'utilisation d'AWS SSO, supprimez le paramètre `awsAuthRefresh` de votre [fichier de paramètres](/fr/settings). Cela peut se produire lorsque les VPN d'entreprise ou les proxies d'inspection TLS interrompent le flux SSO du navigateur. Claude Code traite la connexion interrompue comme un échec d'authentification, réexécute `awsAuthRefresh` et boucle indéfiniment.
557
558Si votre environnement réseau interfère avec les flux SSO automatiques basés sur un navigateur, utilisez `aws sso login` manuellement avant de démarrer Claude Code au lieu de vous fier à `awsAuthRefresh`.
559
560### Problèmes de région
561
562Si vous rencontrez des problèmes de région :
563
564* Vérifiez la disponibilité du modèle : `aws bedrock list-inference-profiles --region your-region`
565* Basculez vers une région prise en charge : `export AWS_REGION=us-east-1`
566* Envisagez d'utiliser des profils d'inférence pour l'accès inter-régions
567
568Si vous recevez une erreur « on-demand throughput isn't supported » :
569
570* Spécifiez le modèle comme ID de [profil d'inférence](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html)
571
572Claude Code utilise l'API Bedrock [Invoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) et ne prend pas en charge l'API Converse.
573
574### Erreurs du point de terminaison Mantle
575
576Si `/status` n'affiche pas `Amazon Bedrock (Mantle)` après avoir défini `CLAUDE_CODE_USE_MANTLE`, la variable n'atteint pas le processus. Confirmez qu'elle est exportée dans le shell où vous avez lancé `claude`, ou définissez-la dans le bloc `env` de votre [fichier de paramètres](/fr/settings).
577
578Un `403` du point de terminaison Mantle avec des identifiants valides signifie que votre compte AWS n'a pas reçu l'accès au modèle que vous avez demandé. Contactez votre équipe de compte AWS pour demander l'accès.
579
580Un `400` qui nomme l'ID du modèle signifie que ce modèle n'est pas servi sur Mantle. Mantle a sa propre gamme de modèles distincte du catalogue Bedrock standard, donc les ID de profil d'inférence tels que `us.anthropic.claude-sonnet-4-6` ne fonctionneront pas. Utilisez un ID au format Mantle, ou activez [les deux points de terminaison](#run-mantle-alongside-the-invoke-api) afin que Claude Code achemine chaque demande vers le point de terminaison où le modèle est disponible.
581
582## Ressources supplémentaires
583
584* [Documentation Bedrock](https://docs.aws.amazon.com/bedrock/)
585* [Tarification Bedrock](https://aws.amazon.com/bedrock/pricing/)
586* [Profils d'inférence Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html)
587* [Quota de jetons Bedrock et réduction des jetons](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas-token-burndown.html)
588* [Claude Code sur Amazon Bedrock : Guide de configuration rapide](https://community.aws/content/2tXkZKrZzlrlu0KfH8gST5Dkppq/claude-code-on-amazon-bedrock-quick-setup-guide)
589* [Implémentation de la surveillance de Claude Code (Bedrock)](https://github.com/aws-solutions-library-samples/guidance-for-claude-code-with-amazon-bedrock/blob/main/assets/docs/MONITORING.md)