Prerequisiti
Prima di configurare Claude Code con Amazon Bedrock, assicurati di avere:- Un account AWS con accesso a Amazon Bedrock abilitato
- Accesso ai modelli Claude desiderati (ad esempio, Claude Sonnet 4.6) in Amazon Bedrock
- AWS CLI installato e configurato (facoltativo - necessario solo se non hai un altro meccanismo per ottenere le credenziali)
- Autorizzazioni IAM appropriate
Accedi con Bedrock
Se hai credenziali AWS e desideri iniziare a utilizzare Claude Code tramite Amazon Bedrock, la procedura guidata di accesso ti guida attraverso i passaggi. Completi i prerequisiti lato AWS una volta per account; la procedura guidata gestisce il lato Claude Code.1
Abilita i modelli Anthropic nel tuo account AWS
Nella console di Amazon Bedrock, apri il catalogo dei modelli, seleziona un modello Anthropic e invia il modulo del caso d’uso. L’accesso viene concesso immediatamente dopo l’invio. Vedi Invia i dettagli del caso d’uso per AWS Organizations e Configurazione IAM per le autorizzazioni di cui il tuo ruolo ha bisogno.
2
Avvia Claude Code e scegli Amazon Bedrock
Esegui
claude. Al prompt di accesso, seleziona 3rd-party platform, quindi Amazon Bedrock.3
Segui i prompt della procedura guidata
Scegli come autenticarti ad AWS: un profilo AWS rilevato dalla tua directory
~/.aws, una chiave API di Amazon Bedrock, una chiave di accesso e un segreto, o credenziali già nel tuo ambiente. La procedura guidata rileva la tua regione, verifica quali modelli Claude il tuo account può invocare, e ti consente di fissarli. Salva il risultato nel blocco env del tuo file di impostazioni utente, quindi non è necessario esportare variabili di ambiente da solo./setup-bedrock in qualsiasi momento per riaprire la procedura guidata e modificare le tue credenziali, regione o fissaggi di modello. Il passaggio di fissaggio del modello inizia dai tuoi modelli attualmente fissati. La procedura guidata scrive in ~/.claude/settings.json, o in $CLAUDE_CONFIG_DIR/settings.json quando CLAUDE_CONFIG_DIR è impostato.
Configurazione manuale
Per configurare Amazon Bedrock tramite variabili di ambiente invece della procedura guidata, ad esempio in CI o in un rollout aziendale con script, segui i passaggi di seguito.
- Invia i dettagli del caso d’uso
I nuovi utenti dei modelli Anthropic devono inviare i dettagli del caso d’uso prima di invocare un modello. Questa operazione viene eseguita una sola volta per account AWS.
- Assicurati di avere le giuste autorizzazioni IAM descritte di seguito
- Accedi alla console di Amazon Bedrock
- Seleziona un modello Anthropic dal catalogo dei modelli
- Completa il modulo del caso d’uso. L’accesso viene concesso immediatamente dopo l’invio.
PutUseCaseForModelAccess. Questa chiamata richiede l’autorizzazione IAM bedrock:PutUseCaseForModelAccess. L’approvazione si estende agli account figlio automaticamente.
- Configura le credenziali AWS
Claude Code utilizza la catena di credenziali predefinita di AWS SDK. Configura le tue credenziali utilizzando uno di questi metodi:
Opzione A: Configurazione AWS CLI
your-profile-name con il nome del tuo profilo AWS prima di eseguire questi comandi.
sso_region del profilo, che non deve corrispondere alla regione in cui esegui Amazon Bedrock. Nella v2.1.207, la regione di Amazon Bedrock ha sovrascritto sso_region, quindi un profilo la cui istanza di IAM Identity Center si trova in una regione diversa non è riuscito ad autenticarsi con un errore Session token not found or invalid.
Opzione D: Credenziali della console di gestione AWS
aws login.
Opzione E: Chiavi API Amazon Bedrock
Caching delle credenziali e timeout di risoluzione
Claude Code risolve la catena del provider di credenziali predefinito di AWS una sola volta e mantiene le credenziali risolte in memoria. Le riutilizza fino a cinque minuti prima della loro scadenza, o per un’ora quando non hanno scadenza, quindi un profilo supportato da SSO richiede credenziali da IAM Identity Center circa una volta per durata della credenziale. Un errore di credenziale dall’API cancella la cache e il nuovo tentativo risolve credenziali fresche. Prima della v2.1.207, Claude Code risolveva la catena ad ogni richiesta API, quindi un profilo supportato da SSO richiedeva credenziali fresche da IAM Identity Center ogni volta e poteva essere limitato in distribuzioni di grandi dimensioni. La cache copre ogni opzione di credenziale sopra eccetto una chiave API Amazon Bedrock, che non utilizza la catena del provider. Per risolvere la catena ad ogni richiesta invece, impostaCLAUDE_CODE_SKIP_AWS_CRED_CACHE=1.
Ogni risoluzione della catena scade dopo 60 secondi. Se un passaggio nella catena si blocca, ad esempio un helper credential_process che attende un input che non può ricevere, la richiesta fallisce con AWS default-chain credential resolve timed out. Se la tua catena esegue un accesso interattivo che legittimamente ha bisogno di più tempo, come SSO basato su browser con MFA tramite un wrapper come aws-vault, aumenta il limite in millisecondi con CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS. Prima della v2.1.207, una risoluzione di credenziale bloccata lasciava la richiesta in attesa indefinitamente.
Configurazione avanzata delle credenziali
Claude Code supporta l’aggiornamento automatico delle credenziali per AWS SSO e provider di identità aziendali. Aggiungi queste impostazioni al file di impostazioni di Claude Code (vedi Impostazioni per i percorsi dei file). Queste due impostazioni hanno diverse condizioni di attivazione:awsAuthRefresh: viene eseguito solo quando Claude Code rileva che le tue credenziali AWS sono scadute, sia localmente in base al loro timestamp che quando l’API restituisce un errore di credenziale, quindi ritenta la richiesta con credenziali aggiornate.awsCredentialExport: viene eseguito all’avvio della sessione e ad ogni ricaricamento delle credenziali, anche quando le credenziali nel tuo provider di credenziali predefinito di AWS sono ancora valide. Usa questo quando il tuo account Amazon Bedrock richiede credenziali tra account che differiscono da quelle che il provider predefinito risolverebbe.
awsAuthRefresh: Usa questo per i comandi che modificano la directory .aws, come l’aggiornamento delle credenziali, della cache SSO o dei file di configurazione. L’output del comando viene visualizzato all’utente, ma l’input interattivo non è supportato. Funziona bene per i flussi SSO basati su browser in cui la CLI visualizza un URL o un codice e completi l’autenticazione nel browser.
awsCredentialExport: Usa questo solo se non puoi modificare .aws e devi restituire direttamente le credenziali. Questo comando viene eseguito ogni volta che le credenziali devono essere aggiornate, non solo quando le credenziali sono scadute. L’output viene acquisito silenziosamente e non mostrato all’utente. Il comando deve restituire JSON in questo formato:
aws configure export-credentials --format process è accettato anche, con le stesse chiavi al livello superiore invece di annidate sotto Credentials.
Expiration è facoltativo. A partire da Claude Code v2.1.176, quando il comando restituisce un Expiration ISO 8601 valido, Claude Code memorizza nella cache le credenziali fino a cinque minuti prima di tale ora. Senza di esso, o nelle versioni precedenti, le credenziali vengono memorizzate nella cache per un’ora.
Quando configuri awsCredentialExport senza awsAuthRefresh, Claude Code utilizza le credenziali esportate direttamente e non ri-risolve la catena del provider di credenziali predefinito di AWS all’avvio. Prima della v2.1.206, l’avvio ri-risolveva anche la catena del provider predefinito, il che ha fatto una chiamata SSO o STS dal vivo al di fuori della tua configurazione proxy e potrebbe bloccare il primo prompt per diversi minuti su reti con uscita limitata.
- Configura Claude Code
Imposta le seguenti variabili di ambiente per abilitare Amazon Bedrock:
-
A partire dalla v2.1.172, devi solo impostare
AWS_REGIONper sovrascrivere la regione del tuo profilo AWS o quando il tuo profilo non ha una regione. Claude Code risolve la regione in questo ordine:AWS_REGIONAWS_DEFAULT_REGION- la
regionimpostata sul tuo profilo AWS attivo, letta dal file delle credenziali condivise di AWS per primo e poi dal file di configurazione condiviso, corrispondendo alla precedenza di AWS SDK us-east-1
AWS_PROFILEse impostato, altrimentidefault. ImpostaAWS_SHARED_CREDENTIALS_FILEoAWS_CONFIG_FILEper puntare a percorsi di file non predefiniti. Esegui/statusper vedere la regione risolta. Quando la regione proviene dai tuoi file di configurazione AWS o dal fallback predefinito,/statusnota anche la fonte. Nella v2.1.171 e precedenti, Claude Code non legge i file di configurazione AWS, quindi impostaAWS_REGIONesplicitamente. -
Quando si utilizza Amazon Bedrock, il comando
/logoutnon è disponibile poiché l’autenticazione viene gestita tramite credenziali AWS. - Lo strumento WebSearch non è disponibile su Amazon Bedrock. Vedi Comportamento dello strumento WebSearch.
-
Puoi utilizzare file di impostazioni per variabili di ambiente come
AWS_PROFILEche non desideri perdere in altri processi. Vedi Impostazioni per ulteriori informazioni.
- Fissa le versioni del modello
Imposta queste variabili di ambiente su ID di modello Amazon Bedrock specifici.
Senza ANTHROPIC_DEFAULT_OPUS_MODEL, l’alias opus su Amazon Bedrock si risolve in Opus 4.8, e senza ANTHROPIC_DEFAULT_SONNET_MODEL, l’alias sonnet si risolve in Sonnet 4.5. Questo esempio fissa ogni alias a una versione specifica:
us.). Se utilizzi un prefisso di regione diverso o profili di inferenza dell’applicazione, regola di conseguenza. Nelle regioni AWS GovCloud, utilizza il prefisso us-gov.. Per gli ID di modello attuali e legacy, vedi Panoramica dei modelli. Vedi Configurazione del modello per l’elenco completo delle variabili di ambiente.
Claude Code utilizza questi modelli predefiniti quando non sono impostate variabili di fissaggio:
Le attività in background come la generazione del titolo della sessione utilizzano il modello piccolo/veloce, normalmente un modello della classe Haiku. Su Amazon Bedrock, Claude Code utilizza il modello Sonnet predefinito per le attività in background perché Haiku potrebbe non essere abilitato in ogni account o regione. Due selezioni cambiano quale modello le porta:
- Quando selezioni un modello primario con
--model,ANTHROPIC_MODEL, o l’impostazionemodel, le attività in background utilizzano quel modello. ImpostareANTHROPIC_DEFAULT_OPUS_MODELsenzaANTHROPIC_DEFAULT_SONNET_MODELconta come una selezione anche, perché il modello Sonnet integrato potrebbe non essere abilitato in un account che indirizza il suo Opus. - Per utilizzare Haiku per le attività in background, imposta
ANTHROPIC_DEFAULT_HAIKU_MODELsu un ID di modello disponibile nel tuo account.
opus si risolveva in Opus 4.6, e le attività in background utilizzavano sempre il modello primario.
Per personalizzare ulteriormente i modelli, utilizza uno di questi metodi:
Prompt caching potrebbe non essere disponibile in tutte le regioni Amazon Bedrock. Se i conteggi dei token della cache rimangono a zero, controlla modelli supportati, regioni e limiti nella documentazione di Amazon Bedrock.
Mappa ogni versione del modello a un profilo di inferenza
Le variabili di ambienteANTHROPIC_DEFAULT_*_MODEL configurano un profilo di inferenza per famiglia di modelli. Se la tua organizzazione ha bisogno di esporre diverse versioni della stessa famiglia nel selettore /model, ciascuna instradata al suo ARN del profilo di inferenza dell’applicazione, utilizza invece l’impostazione modelOverrides nel tuo file di impostazioni.
Questo esempio mappa quattro versioni di Opus a ARN distinti in modo che gli utenti possano passare da uno all’altro senza aggirare i profili di inferenza della tua organizzazione:
/model, Claude Code chiama Amazon Bedrock con l’ARN mappato. Lo stesso mapping si applica quando passi l’ID del modello Anthropic direttamente tramite --model o ANTHROPIC_MODEL. Le versioni senza un override tornano all’ID del modello Amazon Bedrock integrato o a qualsiasi profilo di inferenza corrispondente scoperto all’avvio. Prima della v2.1.200, i valori --model e ANTHROPIC_MODEL raggiungevano Amazon Bedrock così come erano senza passare attraverso la mappa di override. Vedi Sovrascrivi ID di modello per versione per i dettagli su come gli override interagiscono con availableModels e altre impostazioni del modello.
Controlli del modello all’avvio
Quando Claude Code si avvia con Amazon Bedrock configurato, verifica che i modelli che intende utilizzare siano accessibili nel tuo account. Se hai fissato una versione del modello più vecchia rispetto al valore predefinito corrente di Claude Code, e il tuo account può invocare la versione più recente, Claude Code ti chiede di aggiornare il fissaggio. Accettare scrive il nuovo ID del modello nel tuo file di impostazioni utente e riavvia Claude Code. Rifiutare viene ricordato fino al prossimo cambio di versione predefinita. I fissaggi che puntano a un ARN del profilo di inferenza dell’applicazione vengono saltati, poiché sono gestiti dal tuo amministratore. Se non hai fissato un modello e il valore predefinito corrente non è disponibile nel tuo account, Claude Code ritorna alla versione precedente per la sessione corrente e mostra un avviso. Prova le versioni precedenti del modello predefinito per primo e, quando il valore predefinito è un modello Opus e nessuna versione Opus è disponibile, ritorna al modello Sonnet predefinito. Il fallback non è persistente. Abilita il modello più recente nel tuo account Amazon Bedrock o fissa una versione per rendere la scelta permanente.Configurazione IAM
Crea una policy IAM con le autorizzazioni richieste per Claude Code:bedrock:GetInferenceProfile consente a Claude Code di risolvere un ARN del profilo di inferenza dell’applicazione al suo modello di fondazione di supporto, che viene utilizzato per selezionare la forma di richiesta corretta per quel modello.
Se il token non dispone di questa autorizzazione, Claude Code si recupera automaticamente ritentando una volta con la forma alternativa, quindi le richieste hanno comunque successo ma ogni nuovo modello aggiunge un round-trip aggiuntivo. Concedere l’autorizzazione evita il retry. Questo si applica più spesso alle distribuzioni AWS_BEARER_TOKEN_BEDROCK, dove la policy del token è tipicamente più ristretta di un ruolo IAM completo.
Per i dettagli, vedi Documentazione IAM di Amazon Bedrock.
Crea un account AWS dedicato per Claude Code per semplificare il tracciamento dei costi e il controllo degli accessi.
Finestra di contesto da 1M token
Claude Sonnet 5, Opus 4.6 e versioni successive, e Sonnet 4.6 supportano la finestra di contesto da 1M token su Amazon Bedrock. Sonnet 5 è servito attraverso l’endpoint Mantle e funziona sempre con la finestra da 1M, senza alcuna variante[1m] da selezionare. Per gli altri modelli, Claude Code abilita automaticamente la finestra di contesto estesa quando selezioni una variante di modello da 1M.
La procedura guidata di configurazione offre un’opzione di contesto da 1M quando fissa i modelli. Per abilitarla per un modello fissato manualmente, aggiungi [1m] all’ID del modello. Vedi Fissa i modelli per distribuzioni di terze parti per i dettagli.
Livelli di servizio
I livelli di servizio di Amazon Bedrock ti consentono di scambiare il costo rispetto alla latenza. ImpostaANTHROPIC_BEDROCK_SERVICE_TIER su default, flex o priority:
X-Amzn-Bedrock-Service-Tier su ogni richiesta. La disponibilità del livello varia in base al modello e alla regione. La capacità riservata utilizza un ARN di throughput fornito come ID del modello invece di questa impostazione.
AWS Guardrails
Amazon Bedrock Guardrails ti consente di implementare il filtro dei contenuti per Claude Code. Crea un Guardrail nella console di Amazon Bedrock, pubblica una versione, quindi aggiungi le intestazioni Guardrail al tuo file di impostazioni. Abilita l’inferenza tra regioni sul tuo Guardrail se stai utilizzando profili di inferenza tra regioni. Configurazione di esempio:Utilizza l’endpoint Mantle
Mantle è un endpoint di Amazon Bedrock che serve i modelli Claude attraverso la forma API nativa di Anthropic piuttosto che l’API Invoke di Amazon Bedrock. Utilizza le stesse credenziali AWS, autorizzazioni IAM e configurazioneawsAuthRefresh descritte in precedenza in questa pagina.
Abilita Mantle
Con le credenziali AWS già configurate, impostaCLAUDE_CODE_USE_MANTLE per instradare le richieste all’endpoint Mantle:
AWS_REGION. Per sovrascrivere l’URL per un endpoint personalizzato o gateway, imposta ANTHROPIC_BEDROCK_MANTLE_BASE_URL.
Esegui /status all’interno di Claude Code per confermare. La riga del provider mostra Amazon Bedrock (Mantle) quando Mantle è attivo.
Seleziona un modello Mantle
Mantle utilizza ID di modello con prefissoanthropic. e senza suffisso di versione, ad esempio anthropic.claude-sonnet-5 o anthropic.claude-haiku-4-5. I modelli disponibili per il tuo account dipendono da ciò che la tua organizzazione ha ricevuto; gli ID di modello aggiuntivi sono elencati nei tuoi materiali di onboarding da AWS. Contatta il tuo team di account AWS per richiedere l’accesso ai modelli consentiti.
Imposta il modello con il flag --model o con /model all’interno di Claude Code:
Esegui Mantle insieme all’API Invoke
I modelli disponibili per te su Mantle potrebbero non includere ogni modello che utilizzi oggi. Impostare siaCLAUDE_CODE_USE_BEDROCK che CLAUDE_CODE_USE_MANTLE consente a Claude Code di chiamare entrambi gli endpoint dalla stessa sessione. Gli ID di modello che corrispondono al formato Mantle vengono instradati a Mantle, e tutti gli altri ID di modello vanno all’API Invoke di Amazon Bedrock.
/model, elenca il suo ID in availableModels nel tuo file di impostazioni. Questa impostazione limita anche il selettore alle voci elencate. L’elenco di anthropic.claude-haiku-4-5 rimuove l’alias bare haiku dal selettore, quindi elenca anche i prefissi di versione o gli ID completi per le versioni che desideri mantenere selezionabili. L’ID Mantle e l’alias haiku si risolvono nella stessa famiglia di modelli, quindi l’unione mantiene solo la voce più specifica. Vedi Comportamento di unione:
anthropic. vengono aggiunte come opzioni del selettore personalizzato e instradate a Mantle. Sostituisci anthropic.claude-haiku-4-5 con l’ID del modello che il tuo account ha ricevuto. Vedi Limita la selezione del modello per come availableModels interagisce con altre impostazioni del modello.
Quando entrambi i provider sono attivi, /status mostra Amazon Bedrock + Amazon Bedrock (Mantle).
Instrada Mantle attraverso un gateway
Se la tua organizzazione instrada il traffico del modello attraverso un gateway LLM centralizzato che inietta le credenziali AWS lato server, disabilita l’autenticazione lato client in modo che Claude Code invii richieste senza firme SigV4 o intestazionix-api-key:
Variabili di ambiente Mantle
Queste variabili sono specifiche dell’endpoint Mantle. Vedi Variabili di ambiente per l’elenco completo.Risoluzione dei problemi
Loop di autenticazione con SSO e proxy aziendali
Se le schede del browser si aprono ripetutamente quando si utilizza AWS SSO, rimuovi l’impostazioneawsAuthRefresh dal tuo file di impostazioni. Questo può accadere quando le VPN aziendali o i proxy di ispezione TLS interrompono il flusso del browser SSO. Claude Code tratta la connessione interrotta come un errore di autenticazione, riesegue awsAuthRefresh e si ripete indefinitamente.
Se il tuo ambiente di rete interferisce con i flussi SSO automatici basati su browser, utilizza aws sso login manualmente prima di avviare Claude Code invece di affidarti a awsAuthRefresh.
Problemi di regione
Se riscontri problemi di regione:- Controlla la disponibilità del modello:
aws bedrock list-inference-profiles --region your-region - Passa a una regione supportata:
export AWS_REGION=us-east-1 - Considera l’utilizzo di profili di inferenza per l’accesso tra regioni
- Specifica il modello come ID di profilo di inferenza
Errori di streaming dietro un gateway o proxy
Se le richieste di streaming non riescono con un errore che inizia conBedrock streaming response has content-type, un gateway o proxy tra Claude Code e Amazon Bedrock sta trasformando la risposta di streaming. Amazon Bedrock trasmette le risposte in un formato binario event-stream con il content-type application/vnd.amazon.eventstream, e Claude Code rifiuta una risposta di streaming riuscita che riporta un content-type diverso invece di decodificare un corpo che non può leggere. L’errore nomina il content-type che ha ricevuto, comunemente text/event-stream da un’integrazione Amazon API Gateway e Lambda che ri-emette il flusso come server-sent events.
Prima della v2.1.208, la stessa configurazione errata si presentava come API Error: Truncated event message received dopo che l’intera risposta era stata memorizzata nel buffer.
Per risolverlo, configura il gateway per passare il corpo della risposta InvokeModelWithResponseStream e il suo header Content-Type senza modifiche. Se il gateway riscrive solo l’header e passa il corpo binario intatto, imposta CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1 per saltare il controllo fino a quando il gateway non viene corretto. Con il controllo disattivato, un corpo di risposta che è stato trasformato non riesce con Truncated event message received di nuovo.
Conteggi di token zero in /context
Il comando/context conta i token per ogni gruppo di strumenti inviando gli schemi degli strumenti all’API count-tokens di Amazon Bedrock. Nelle versioni di Claude Code precedenti a v2.1.196, Amazon Bedrock ha rifiutato quella richiesta perché gli schemi contenevano campi che la sua API count-tokens non accetta, quindi ogni gruppo di strumenti mostrava 0 token. Altre righe nella suddivisione, come i messaggi e i file di memoria, non sono interessati.
Aggiorna a v2.1.196 o versione successiva.
Errori dell’endpoint Mantle
Se/status non mostra Amazon Bedrock (Mantle) dopo aver impostato CLAUDE_CODE_USE_MANTLE, la variabile non sta raggiungendo il processo. Conferma che sia esportata nella shell in cui hai lanciato claude, o impostala nel blocco env del tuo file di impostazioni.
Un 403 dall’endpoint Mantle con credenziali valide significa che il tuo account AWS non ha ricevuto l’accesso al modello che hai richiesto. Contatta il tuo team di account AWS per richiedere l’accesso.
Un 400 che nomina l’ID del modello significa che quel modello non è servito su Mantle. Mantle ha il suo proprio lineup di modelli separato dal catalogo Amazon Bedrock standard, quindi gli ID del profilo di inferenza come us.anthropic.claude-sonnet-4-6 non funzioneranno. Utilizza un ID nel formato Mantle, o abilita entrambi gli endpoint in modo che Claude Code instrada ogni richiesta all’endpoint in cui il modello è disponibile.