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 no Claude Platform on AWS
6
7> Configure Claude Code para usar a API Claude operada pela Anthropic com autenticação AWS, controle de acesso IAM e faturamento do AWS Marketplace.
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="claude_platform_on_aws" />} />
190
191Claude Platform on AWS é a API Claude operada pela Anthropic com autenticação AWS, controle de acesso IAM e faturamento do AWS Marketplace. As solicitações chegam diretamente à API da Anthropic, portanto você obtém os mesmos modelos e recursos que a [Claude API](https://platform.claude.com/docs) no mesmo cronograma de lançamento. Você se autentica com credenciais AWS ou uma chave de API do workspace, e paga através do AWS Marketplace.
192
193Use este guia para apontar Claude Code para um workspace que você já provisionou através do Claude Platform on AWS. Para a assinatura AWS e configuração do workspace que vem antes disso, consulte a [documentação do Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).
194
195<Note>
196 Assinar através do AWS Marketplace provisiona uma nova organização Anthropic vinculada à sua conta AWS. Esta organização é separada de qualquer organização que você já tenha com a Anthropic, e as credenciais não são transferidas entre elas. Use o ID do workspace e as chaves de API da organização vinculada ao AWS, não de uma conta Claude Console pré-existente.
197</Note>
198
199## Pré-requisitos
200
201Antes de configurar Claude Code, você precisa de:
202
203* Uma assinatura ativa do Claude Platform on AWS através do AWS Marketplace
204* Um workspace em sua organização Anthropic vinculada ao AWS, com seu ID de workspace
205* Um principal IAM com permissão para invocar o serviço Anthropic, ou uma chave de API com escopo para o workspace
206* Credenciais AWS em seu ambiente, em `~/.aws/credentials`, ou de uma função IAM anexada se você quiser autenticação SigV4. A AWS CLI é necessária apenas para o fluxo de login SSO.
207
208## Configuração
209
210### 1. Configure credenciais AWS
211
212Claude Code suporta dois métodos de autenticação para Claude Platform on AWS. Escolha o método que se adequa à forma como sua equipe gerencia o acesso.
213
214**Opção A: Credenciais AWS com SigV4**
215
216Claude Code assina solicitações com SigV4 usando a cadeia de credenciais AWS padrão: variáveis de ambiente, credenciais compartilhadas em `~/.aws/credentials`, funções IAM, sessões AWS SSO e qualquer outra fonte que o AWS SDK suporte.
217
218Para uso local, faça login com a AWS CLI antes de iniciar Claude Code. O exemplo abaixo usa um perfil SSO, mas qualquer método que produza credenciais nos locais padrão funciona.
219
220```bash theme={null}
221aws sso login --profile my-profile
222export AWS_PROFILE=my-profile
223```
224
225Para CI e automação, dê ao executor uma função IAM com permissão para invocar o serviço Anthropic e defina `AWS_REGION`. A cadeia de credenciais pega a função automaticamente.
226
227Se suas credenciais SSO expirarem durante a sessão, configure [`awsAuthRefresh`](/pt/amazon-bedrock#advanced-credential-configuration) para que Claude Code execute novamente seu comando de login e tente novamente em vez de falhar. Adicione o comando ao seu `settings.json`:
228
229```json theme={null}
230{
231 "awsAuthRefresh": "aws sso login --profile my-profile"
232}
233```
234
235**Opção B: Chave de API do Workspace**
236
237Uma chave de API do workspace é um segredo de longa duração, útil quando você não quer gerenciar credenciais AWS federadas. Gere uma no Console AWS em **Claude Platform on AWS → API keys** e defina-a como `ANTHROPIC_AWS_API_KEY`:
238
239```bash theme={null}
240export ANTHROPIC_AWS_API_KEY=sk-ant-xxxxx
241```
242
243A chave é enviada como `x-api-key` e tem precedência sobre SigV4, portanto qualquer credencial AWS em seu ambiente é ignorada. Chaves de API de uma organização Claude Console separada não funcionarão aqui.
244
245Trate chaves de API do workspace como qualquer outra credencial de produção. O bloco `env` do [arquivo de configurações do usuário](/pt/settings) é uma maneira conveniente de escopar a chave para sua máquina sem exportá-la globalmente.
246
247<Note>
248 Os comandos `/login` e `/logout` não alteram a autenticação do Claude Platform on AWS. A autenticação é executada através de suas credenciais AWS ou chave de API do workspace, não através de uma assinatura Claude.ai.
249</Note>
250
251### 2. Configure Claude Code
252
253Defina as variáveis de ambiente que rotearão Claude Code através do Claude Platform on AWS em vez da API Anthropic padrão.
254
255```bash theme={null}
256export CLAUDE_CODE_USE_ANTHROPIC_AWS=1
257export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN
258export AWS_REGION=us-east-1
259```
260
261`ANTHROPIC_AWS_WORKSPACE_ID` é obrigatório e é enviado em cada solicitação como o cabeçalho `anthropic-workspace-id`. A URL base é calculada a partir de `AWS_REGION` como `https://aws-external-anthropic.{region}.api.aws`. Para substituir a URL diretamente, defina `ANTHROPIC_AWS_BASE_URL`.
262
263Claude Platform on AWS é opt-in mesmo quando credenciais AWS estão presentes em seu ambiente. Bedrock e Foundry têm precedência no roteamento de provedores, portanto desdefina `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_FOUNDRY` se estiverem definidas.
264
265### 3. Fixe versões de modelo
266
267Claude Platform on AWS usa os mesmos IDs de modelo que a API Claude direta. Os aliases padrão `opus`, `sonnet` e `haiku` resolvem para as versões mais recentes disponíveis em seu workspace.
268
269Se você implantar Claude Code para uma equipe, fixe os IDs de modelo explicitamente para que um novo lançamento não mova todos de uma vez:
270
271```bash theme={null}
272export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7
273export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6
274export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5
275```
276
277Para a lista completa de IDs de modelo e aliases, consulte [Visão geral de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Para outras variáveis relacionadas a modelos, consulte [Configuração de modelo](/pt/model-config).
278
279[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) é ativado automaticamente. Gravações de cache de 1 hora são faturadas a uma taxa mais alta do que gravações de 5 minutos. Para solicitar um TTL de cache de 1 hora em vez do padrão de 5 minutos, defina `ENABLE_PROMPT_CACHING_1H=1`.
280
281## Use o Agent SDK
282
283O [Agent SDK](/pt/agent-sdk/overview) lê as mesmas variáveis de ambiente que a CLI, portanto qualquer programa que gere o subprocesso Claude Code pode direcionar Claude Platform on AWS exportando `CLAUDE_CODE_USE_ANTHROPIC_AWS`, `ANTHROPIC_AWS_WORKSPACE_ID` e `ANTHROPIC_AWS_API_KEY` ou credenciais AWS antes da chamada.
284
285```typescript theme={null}
286import { query } from "@anthropic-ai/claude-agent-sdk";
287
288process.env.CLAUDE_CODE_USE_ANTHROPIC_AWS = "1";
289process.env.ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN";
290process.env.AWS_REGION = "us-east-1";
291
292for await (const msg of query({ prompt: "What's in this repo?" })) {
293 console.log(msg);
294}
295```
296
297Este exemplo depende da cadeia de credenciais AWS ambiente para SigV4. Para autenticar com uma chave de API do workspace em vez disso, defina `ANTHROPIC_AWS_API_KEY` da mesma forma. Para a superfície mais ampla do Agent SDK, consulte [Visão geral do Agent SDK](/pt/agent-sdk/overview).
298
299## Rotear através de um proxy corporativo
300
301Para rotear tráfego através de um proxy ou [gateway LLM](/pt/llm-gateway), defina `ANTHROPIC_AWS_BASE_URL` para o endereço do proxy. Claude Code envia solicitações para essa URL com os mesmos cabeçalhos de workspace e autenticação, portanto qualquer gateway que os encaminhe inalterados funciona.
302
303```bash theme={null}
304export CLAUDE_CODE_USE_ANTHROPIC_AWS=1
305export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN
306export ANTHROPIC_AWS_BASE_URL=https://anthropic-proxy.example.com
307```
308
309Se seu gateway assina solicitações em si, defina `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1` para que Claude Code envie solicitações não assinadas e deixe o gateway adicionar cabeçalhos SigV4 antes de encaminhar para AWS. Se o gateway requer seu próprio token, defina-o em `ANTHROPIC_AUTH_TOKEN`.
310
311```bash theme={null}
312export CLAUDE_CODE_USE_ANTHROPIC_AWS=1
313export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1
314export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN
315export ANTHROPIC_AWS_BASE_URL=https://anthropic-proxy.example.com
316```
317
318## Troubleshooting
319
320Execute `/status` para ver o provedor resolvido e qualquer ID de workspace, região, substituição de URL base e configuração de salto de autenticação explicitamente configurados. Esta é a maneira mais rápida de confirmar que Claude Code está direcionando Claude Platform on AWS.
321
322### `403 Forbidden` ou `AccessDenied` em cada solicitação
323
324O principal IAM que Claude Code resolveu provavelmente não tem permissão para invocar o serviço Anthropic em seu workspace. Verifique a função anexada ao seu perfil AWS ou ao executor que iniciou Claude Code, e verifique se ela tem as ações `aws-external-anthropic` documentadas na [referência de ação IAM](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions).
325
326Se você definir `ANTHROPIC_AWS_API_KEY`, a chave tem precedência sobre SigV4 e uma chave obsoleta produz o mesmo erro. Regenere a chave no Console AWS em **Claude Platform on AWS → API keys** ou desdefina a variável para voltar às suas credenciais AWS.
327
328### Solicitações falham com um erro de workspace ausente
329
330`ANTHROPIC_AWS_WORKSPACE_ID` provavelmente está desdefido ou vazio. Cada solicitação do Claude Platform on AWS deve incluir o ID do workspace. Não é implícito por suas credenciais AWS. Encontre o ID em **Workspaces** na página de serviço do Console AWS e exporte-o antes de iniciar Claude Code.
331
332### Solicitações ainda vão para `api.anthropic.com`
333
334`CLAUDE_CODE_USE_ANTHROPIC_AWS` provavelmente está desdefido ou definido para um valor que não é analisado como verdadeiro. Defina-o como `1` e execute `/status` para confirmar o provedor resolvido. Se `CLAUDE_CODE_USE_BEDROCK` ou `CLAUDE_CODE_USE_FOUNDRY` também estiver definido, esses têm precedência sobre Claude Platform on AWS.
335
336## Recursos adicionais
337
338A assinatura do Claude Platform on AWS, configuração de workspace e IAM que vem antes de configurar Claude Code é coberta na documentação da plataforma:
339
340* [Visão geral do Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws): assinatura, configuração de workspace e referência de produto
341* [Referência de ação IAM](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions): permissões e políticas gerenciadas