SpyBara
Go Premium

Documentation 2026-10-29 23:57 UTC to 2026-10-30 23:01 UTC

90 files changed +4,642 −4,589. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

77* **Python:** verifique los tipos de mensajes con `isinstance()` contra clases importadas de `claude_agent_sdk` (por ejemplo, `isinstance(message, ResultMessage)`).77* **Python:** verifique los tipos de mensajes con `isinstance()` contra clases importadas de `claude_agent_sdk` (por ejemplo, `isinstance(message, ResultMessage)`).

78* **TypeScript:** verifique el campo de cadena `type` (por ejemplo, `message.type === "result"`). `AssistantMessage` y `UserMessage` envuelven el mensaje de API sin procesar en un campo `.message`, por lo que los bloques de contenido están en `message.message.content`, no en `message.content`.78* **TypeScript:** verifique el campo de cadena `type` (por ejemplo, `message.type === "result"`). `AssistantMessage` y `UserMessage` envuelven el mensaje de API sin procesar en un campo `.message`, por lo que los bloques de contenido están en `message.message.content`, no en `message.content`.

79 79 

80> **Ejemplo: Verificar tipos de mensajes y manejar resultados**80> [accordion] Ejemplo: Verificar tipos de mensajes y manejar resultados

81>81>

82> ```python Python theme={null}82> ```python Python theme={null}

83> import asyncio83> import asyncio


273* **Hook `PreCompact`:** Ejecute lógica personalizada antes de que ocurra la compactación, por ejemplo para archivar la transcripción completa. El hook recibe un campo `trigger` (`manual` o `auto`). Vea [hooks](https://code.claude.com/docs/es/agent-sdk/hooks.md).273* **Hook `PreCompact`:** Ejecute lógica personalizada antes de que ocurra la compactación, por ejemplo para archivar la transcripción completa. El hook recibe un campo `trigger` (`manual` o `auto`). Vea [hooks](https://code.claude.com/docs/es/agent-sdk/hooks.md).

274* **Compactación manual:** Envíe `/compact` como una cadena de prompt para activar la compactación bajo demanda. Los comandos enviados de esta manera son entradas de SDK ordinarias. Vea [dispatch commands by name](https://code.claude.com/docs/es/agent-sdk/skills.md#dispatch-commands-by-name).274* **Compactación manual:** Envíe `/compact` como una cadena de prompt para activar la compactación bajo demanda. Los comandos enviados de esta manera son entradas de SDK ordinarias. Vea [dispatch commands by name](https://code.claude.com/docs/es/agent-sdk/skills.md#dispatch-commands-by-name).

275 275 

276> **Ejemplo: Instrucciones de resumen en CLAUDE.md**276> [accordion] Ejemplo: Instrucciones de resumen en CLAUDE.md

277>277>

278> Agregue una sección al CLAUDE.md de su proyecto diciéndole al compactador qué preservar. El nombre del encabezado no es especial; use cualquier etiqueta clara.278> Agregue una sección al CLAUDE.md de su proyecto diciéndole al compactador qué preservar. El nombre del encabezado no es especial; use cualquier etiqueta clara.

279>279>

Details

42 42 

43Los ejemplos de Python de esta página que realizan solicitudes HTTP usan [httpx](https://www.python-httpx.org/). Agrégalo con el gestor de paquetes que usa tu proyecto:43Los ejemplos de Python de esta página que realizan solicitudes HTTP usan [httpx](https://www.python-httpx.org/). Agrégalo con el gestor de paquetes que usa tu proyecto:

44 44 

45**Python (uv)**45> [tab] Python (uv)

46 46>

47```bash theme={null}47> ```bash theme={null}

48uv add httpx48> uv add httpx

49```49> ```

50 

51**Python (pip)**

52 50 

53```bash theme={null}51> [tab] Python (pip)

54pip install httpx52>

55```53> ```bash theme={null}

54> pip install httpx

55> ```

56 56 

57### Ejemplo de herramienta meteorológica57### Ejemplo de herramienta meteorológica

58 58 


198 198 

199Combina este fragmento con las definiciones de herramienta y servidor del [ejemplo de herramienta meteorológica](#weather-tool-example) en un archivo, `weather.py` o `weather.ts`, y luego ejecútalo desde tu terminal:199Combina este fragmento con las definiciones de herramienta y servidor del [ejemplo de herramienta meteorológica](#weather-tool-example) en un archivo, `weather.py` o `weather.ts`, y luego ejecútalo desde tu terminal:

200 200 

201**TypeScript**201> [tab] TypeScript

202 202>

203```bash theme={null}203> ```bash theme={null}

204npx tsx weather.ts204> npx tsx weather.ts

205```205> ```

206 

207**Python (uv)**

208 

209```bash theme={null}

210uv run weather.py

211```

212 

213**Python (pip)**

214 206 

215Activa el entorno virtual donde instalaste el SDK y luego ejecuta:207> [tab] Python (uv)

208>

209> ```bash theme={null}

210> uv run weather.py

211> ```

216 212 

217```bash theme={null}213> [tab] Python (pip)

218python weather.py214>

219```215> Activa el entorno virtual donde instalaste el SDK y luego ejecuta:

216>

217> ```bash theme={null}

218> python weather.py

219> ```

220 220 

221Claude llama a `get_temperature` y el script imprime una respuesta de una línea con la temperatura actual en San Francisco.221Claude llama a `get_temperature` y el script imprime una respuesta de una línea con la temperatura actual en San Francisco.

222 222 

Details

585>585>

586> Abra su archivo de utilidad (`utils.py` o `utils.ts`) en su IDE o editor antes de ejecutar el script. Verá que el archivo se actualiza en tiempo real mientras el agente agrega comentarios de documentación, luego revierte al original cuando elige revertir.586> Abra su archivo de utilidad (`utils.py` o `utils.ts`) en su IDE o editor antes de ejecutar el script. Verá que el archivo se actualiza en tiempo real mientras el agente agrega comentarios de documentación, luego revierte al original cuando elige revertir.

587 587 

588**Python**588> [tab] Python

589 589>

590```bash theme={null}590> ```bash theme={null}

591python try_checkpointing.py591> python try_checkpointing.py

592```592> ```

593 

594**TypeScript**

595 593 

596```bash theme={null}594> [tab] TypeScript

597npx tsx try_checkpointing.ts595>

598```596> ```bash theme={null}

597> npx tsx try_checkpointing.ts

598> ```

599 599 

600Verá que el agente agrega comentarios de documentación, luego un mensaje preguntando si desea revertir. Si elige sí, el archivo se restaura a su estado original.600Verá que el agente agrega comentarios de documentación, luego un mensaje preguntando si desea revertir. Si elige sí, el archivo se restaura a su estado original.

601 601 

agent-sdk/mcp.md +98 −98

Details

386 386 

387Use el campo `env` para pasar claves API, tokens y otras credenciales al servidor MCP:387Use el campo `env` para pasar claves API, tokens y otras credenciales al servidor MCP:

388 388 

389**En código**389> [tab] En código

390 390>

391```typescript TypeScript hidelines={1,-1} theme={null}391> ```typescript TypeScript hidelines={1,-1} theme={null}

392const _ = {392> const _ = {

393 options: {393> options: {

394 mcpServers: {394> mcpServers: {

395 "api-server": {395> "api-server": {

396 command: "npx",396> command: "npx",

397 args: ["-y", "@your-org/api-mcp-server"],397> args: ["-y", "@your-org/api-mcp-server"],

398 env: {398> env: {

399 API_KEY: process.env.API_KEY399> API_KEY: process.env.API_KEY

400 }400> }

401 }401> }

402 },402> },

403 allowedTools: ["mcp__api-server__*"]403> allowedTools: ["mcp__api-server__*"]

404 }404> }

405};405> };

406```406> ```

407 407>

408```python Python theme={null}408> ```python Python theme={null}

409options = ClaudeAgentOptions(409> options = ClaudeAgentOptions(

410 mcp_servers={410> mcp_servers={

411 "api-server": {411> "api-server": {

412 "command": "npx",412> "command": "npx",

413 "args": ["-y", "@your-org/api-mcp-server"],413> "args": ["-y", "@your-org/api-mcp-server"],

414 "env": {"API_KEY": os.environ["API_KEY"]},414> "env": {"API_KEY": os.environ["API_KEY"]},

415 }415> }

416 },416> },

417 allowed_tools=["mcp__api-server__*"],417> allowed_tools=["mcp__api-server__*"],

418)418> )

419```419> ```

420 420 

421**.mcp.json**421> [tab] .mcp.json

422 422>

423```json theme={null}423> ```json theme={null}

424{424> {

425 "mcpServers": {425> "mcpServers": {

426 "api-server": {426> "api-server": {

427 "command": "npx",427> "command": "npx",

428 "args": ["-y", "@your-org/api-mcp-server"],428> "args": ["-y", "@your-org/api-mcp-server"],

429 "env": {429> "env": {

430 "API_KEY": "${API_KEY}"430> "API_KEY": "${API_KEY}"

431 }431> }

432 }432> }

433 }433> }

434}434> }

435```435> ```

436 436>

437La sintaxis `${API_KEY}` expande variables de entorno en tiempo de ejecución.437> La sintaxis `${API_KEY}` expande variables de entorno en tiempo de ejecución.

438 438 

439### Encabezados HTTP para servidores remotos439### Encabezados HTTP para servidores remotos

440 440 

441Para servidores HTTP y SSE, pase los encabezados de autenticación directamente en la configuración del servidor:441Para servidores HTTP y SSE, pase los encabezados de autenticación directamente en la configuración del servidor:

442 442 

443**En código**443> [tab] En código

444 444>

445```typescript TypeScript hidelines={1,-1} theme={null}445> ```typescript TypeScript hidelines={1,-1} theme={null}

446const _ = {446> const _ = {

447 options: {447> options: {

448 mcpServers: {448> mcpServers: {

449 "secure-api": {449> "secure-api": {

450 type: "http",450> type: "http",

451 url: "https://api.example.com/mcp",451> url: "https://api.example.com/mcp",

452 headers: {452> headers: {

453 Authorization: `Bearer ${process.env.API_TOKEN}`453> Authorization: `Bearer ${process.env.API_TOKEN}`

454 }454> }

455 }455> }

456 },456> },

457 allowedTools: ["mcp__secure-api__*"]457> allowedTools: ["mcp__secure-api__*"]

458 }458> }

459};459> };

460```460> ```

461 461>

462```python Python theme={null}462> ```python Python theme={null}

463options = ClaudeAgentOptions(463> options = ClaudeAgentOptions(

464 mcp_servers={464> mcp_servers={

465 "secure-api": {465> "secure-api": {

466 "type": "http",466> "type": "http",

467 "url": "https://api.example.com/mcp",467> "url": "https://api.example.com/mcp",

468 "headers": {"Authorization": f"Bearer {os.environ['API_TOKEN']}"},468> "headers": {"Authorization": f"Bearer {os.environ['API_TOKEN']}"},

469 }469> }

470 },470> },

471 allowed_tools=["mcp__secure-api__*"],471> allowed_tools=["mcp__secure-api__*"],

472)472> )

473```473> ```

474 474 

475**.mcp.json**475> [tab] .mcp.json

476 476>

477```json theme={null}477> ```json theme={null}

478{478> {

479 "mcpServers": {479> "mcpServers": {

480 "secure-api": {480> "secure-api": {

481 "type": "http",481> "type": "http",

482 "url": "https://api.example.com/mcp",482> "url": "https://api.example.com/mcp",

483 "headers": {483> "headers": {

484 "Authorization": "Bearer ${API_TOKEN}"484> "Authorization": "Bearer ${API_TOKEN}"

485 }485> }

486 }486> }

487 }487> }

488}488> }

489```489> ```

490 490>

491La sintaxis `${API_TOKEN}` expande variables de entorno en tiempo de ejecución.491> La sintaxis `${API_TOKEN}` expande variables de entorno en tiempo de ejecución.

492 492 

493Para un ejemplo completo y funcional de un servidor remoto autenticado con encabezados, consulte [Listar problemas de un repositorio](#list-issues-from-a-repository).493Para un ejemplo completo y funcional de un servidor remoto autenticado con encabezados, consulte [Listar problemas de un repositorio](#list-issues-from-a-repository).

494 494 

Details

163 163 

164Puede establecer el modo de permisos una vez al iniciar una consulta, o cambiarlo dinámicamente mientras la sesión está activa.164Puede establecer el modo de permisos una vez al iniciar una consulta, o cambiarlo dinámicamente mientras la sesión está activa.

165 165 

166**En el momento de la consulta**166> [tab] En el momento de la consulta

167 167>

168Pasa `permission_mode` (Python) o `permissionMode` (TypeScript) al crear una consulta.168> Pasa `permission_mode` (Python) o `permissionMode` (TypeScript) al crear una consulta.

169 169>

170```python Python theme={null}170> ```python Python theme={null}

171import asyncio171> import asyncio

172from claude_agent_sdk import query, ClaudeAgentOptions172> from claude_agent_sdk import query, ClaudeAgentOptions

173 173>

174 174>

175async def main():175> async def main():

176 async for message in query(176> async for message in query(

177 prompt="Help me refactor this code",177> prompt="Help me refactor this code",

178 options=ClaudeAgentOptions(178> options=ClaudeAgentOptions(

179 permission_mode="default", # Set the mode here179> permission_mode="default", # Set the mode here

180 ),180> ),

181 ):181> ):

182 if hasattr(message, "result"):182> if hasattr(message, "result"):

183 print(message.result)183> print(message.result)

184 184>

185 185>

186asyncio.run(main())186> asyncio.run(main())

187```187> ```

188 188>

189```typescript TypeScript theme={null}189> ```typescript TypeScript theme={null}

190import { query } from "@anthropic-ai/claude-agent-sdk";190> import { query } from "@anthropic-ai/claude-agent-sdk";

191 191>

192async function main() {192> async function main() {

193 for await (const message of query({193> for await (const message of query({

194 prompt: "Help me refactor this code",194> prompt: "Help me refactor this code",

195 options: {195> options: {

196 permissionMode: "default" // Set the mode here196> permissionMode: "default" // Set the mode here

197 }197> }

198 })) {198> })) {

199 if ("result" in message) {199> if ("result" in message) {

200 console.log(message.result);200> console.log(message.result);

201 }201> }

202 }202> }

203}203> }

204 204>

205main();205> main();

206```206> ```

207 

208**Durante la transmisión**

209 

210Llame a `set_permission_mode()` (Python) o `setPermissionMode()` (TypeScript) para cambiar el modo durante la sesión. El nuevo modo entra en vigor inmediatamente para todas las solicitudes de herramientas posteriores. Esto le permite comenzar de forma restrictiva y flexibilizar los permisos a medida que aumenta la confianza, por ejemplo, cambiar a `acceptEdits` después de revisar el enfoque inicial de Claude.

211 

212```python Python theme={null}

213import asyncio

214from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

215 

216 

217async def main():

218 async with ClaudeSDKClient(

219 options=ClaudeAgentOptions(

220 permission_mode="default", # Start in default mode

221 )

222 ) as client:

223 await client.query("Help me refactor this code")

224 

225 # Change mode dynamically mid-session

226 await client.set_permission_mode("acceptEdits")

227 

228 # Process messages with the new permission mode

229 async for message in client.receive_response():

230 if hasattr(message, "result"):

231 print(message.result)

232 

233 

234asyncio.run(main())

235```

236 207 

237```typescript TypeScript theme={null}208> [tab] Durante la transmisión

238import { query } from "@anthropic-ai/claude-agent-sdk";209>

239 210> Llame a `set_permission_mode()` (Python) o `setPermissionMode()` (TypeScript) para cambiar el modo durante la sesión. El nuevo modo entra en vigor inmediatamente para todas las solicitudes de herramientas posteriores. Esto le permite comenzar de forma restrictiva y flexibilizar los permisos a medida que aumenta la confianza, por ejemplo, cambiar a `acceptEdits` después de revisar el enfoque inicial de Claude.

240async function main() {211>

241 const q = query({212> ```python Python theme={null}

242 prompt: "Help me refactor this code",213> import asyncio

243 options: {214> from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

244 permissionMode: "default" // Start in default mode215>

245 }216>

246 });217> async def main():

247 218> async with ClaudeSDKClient(

248 // Change mode dynamically mid-session219> options=ClaudeAgentOptions(

249 await q.setPermissionMode("acceptEdits");220> permission_mode="default", # Start in default mode

250 221> )

251 // Process messages with the new permission mode222> ) as client:

252 for await (const message of q) {223> await client.query("Help me refactor this code")

253 if ("result" in message) {224>

254 console.log(message.result);225> # Change mode dynamically mid-session

255 }226> await client.set_permission_mode("acceptEdits")

256 }227>

257}228> # Process messages with the new permission mode

258 229> async for message in client.receive_response():

259main();230> if hasattr(message, "result"):

260```231> print(message.result)

232>

233>

234> asyncio.run(main())

235> ```

236>

237> ```typescript TypeScript theme={null}

238> import { query } from "@anthropic-ai/claude-agent-sdk";

239>

240> async function main() {

241> const q = query({

242> prompt: "Help me refactor this code",

243> options: {

244> permissionMode: "default" // Start in default mode

245> }

246> });

247>

248> // Change mode dynamically mid-session

249> await q.setPermissionMode("acceptEdits");

250>

251> // Process messages with the new permission mode

252> for await (const message of q) {

253> if ("result" in message) {

254> console.log(message.result);

255> }

256> }

257> }

258>

259> main();

260> ```

261 261 

262### Detalles del modo262### Detalles del modo

263 263 

Details

36 36 

37Instale el paquete del SDK de Agent para su idioma:37Instale el paquete del SDK de Agent para su idioma:

38 38 

39**TypeScript (nuevo proyecto)**39> [tab] TypeScript (nuevo proyecto)

40 40>

41```bash theme={null}41> ```bash theme={null}

42npm init -y42> npm init -y

43npm pkg set type=module43> npm pkg set type=module

44npm install @anthropic-ai/claude-agent-sdk44> npm install @anthropic-ai/claude-agent-sdk

45npm install --save-dev tsx45> npm install --save-dev tsx

46```46> ```

47 47>

48Establecer `"type": "module"` en `package.json` permite que su script de agente use `await` de nivel superior, y [tsx](https://tsx.hirok.io) ejecuta archivos TypeScript directamente. npm imprime `added N packages` cuando la instalación se realiza correctamente.48> Establecer `"type": "module"` en `package.json` permite que su script de agente use `await` de nivel superior, y [tsx](https://tsx.hirok.io) ejecuta archivos TypeScript directamente. npm imprime `added N packages` cuando la instalación se realiza correctamente.

49 

50**TypeScript (proyecto existente)**

51 

52```bash theme={null}

53npm install @anthropic-ai/claude-agent-sdk

54npm install --save-dev tsx

55```

56 

57[tsx](https://tsx.hirok.io) ejecuta archivos TypeScript directamente. Si su proyecto usa CommonJS, nombre su script de agente `agent.mts` en lugar de `agent.ts`. La extensión `.mts` hace que tsx trate el archivo como un módulo ES, por lo que `await` de nivel superior funciona sin convertir todo su proyecto a módulos ES. Use `agent.mts` en lugar de `agent.ts` en los pasos de creación y ejecución posteriores en este inicio rápido.

58 

59**Python (uv)**

60 

61[Instale uv](https://docs.astral.sh/uv/), un gestor de paquetes de Python rápido que maneja automáticamente los entornos virtuales. Luego inicialice un proyecto y agregue el SDK:

62 

63```bash theme={null}

64uv init

65uv add claude-agent-sdk

66```

67 

68**Python (pip)**

69 

70Cree y active un entorno virtual, luego instale el paquete.

71 

72En macOS o Linux:

73 

74```bash theme={null}

75python3 -m venv .venv

76source .venv/bin/activate

77pip install claude-agent-sdk

78```

79 49 

80En Windows:50> [tab] TypeScript (proyecto existente)

51>

52> ```bash theme={null}

53> npm install @anthropic-ai/claude-agent-sdk

54> npm install --save-dev tsx

55> ```

56>

57> [tsx](https://tsx.hirok.io) ejecuta archivos TypeScript directamente. Si su proyecto usa CommonJS, nombre su script de agente `agent.mts` en lugar de `agent.ts`. La extensión `.mts` hace que tsx trate el archivo como un módulo ES, por lo que `await` de nivel superior funciona sin convertir todo su proyecto a módulos ES. Use `agent.mts` en lugar de `agent.ts` en los pasos de creación y ejecución posteriores en este inicio rápido.

81 58 

82```powershell theme={null}59> [tab] Python (uv)

83py -m venv .venv60>

84.venv\Scripts\Activate.ps161> [Instale uv](https://docs.astral.sh/uv/), un gestor de paquetes de Python rápido que maneja automáticamente los entornos virtuales. Luego inicialice un proyecto y agregue el SDK:

85pip install claude-agent-sdk62>

86```63> ```bash theme={null}

64> uv init

65> uv add claude-agent-sdk

66> ```

87 67 

88Si PowerShell bloquea `Activate.ps1` con un error de política de ejecución, ejecute primero `Set-ExecutionPolicy -Scope Process RemoteSigned`.68> [tab] Python (pip)

69>

70> Cree y active un entorno virtual, luego instale el paquete.

71>

72> En macOS o Linux:

73>

74> ```bash theme={null}

75> python3 -m venv .venv

76> source .venv/bin/activate

77> pip install claude-agent-sdk

78> ```

79>

80> En Windows:

81>

82> ```powershell theme={null}

83> py -m venv .venv

84> .venv\Scripts\Activate.ps1

85> pip install claude-agent-sdk

86> ```

87>

88> Si PowerShell bloquea `Activate.ps1` con un error de política de ejecución, ejecute primero `Set-ExecutionPolicy -Scope Process RemoteSigned`.

89 89 

90> [!NOTE]90> [!NOTE]

91>91>


98 98 

99Obtenga una clave de API de la [Consola de Claude](https://platform.claude.com/), luego establézcala como una variable de entorno en el shell donde ejecutará su agente:99Obtenga una clave de API de la [Consola de Claude](https://platform.claude.com/), luego establézcala como una variable de entorno en el shell donde ejecutará su agente:

100 100 

101**macOS / Linux**101> [tab] macOS / Linux

102 102>

103```bash theme={null}103> ```bash theme={null}

104export ANTHROPIC_API_KEY=your-api-key104> export ANTHROPIC_API_KEY=your-api-key

105```105> ```

106 

107**Windows (PowerShell)**

108 106 

109```powershell theme={null}107> [tab] Windows (PowerShell)

110$env:ANTHROPIC_API_KEY = "your-api-key"108>

111```109> ```powershell theme={null}

110> $env:ANTHROPIC_API_KEY = "your-api-key"

111> ```

112 112 

113El SDK lee la clave del entorno del proceso que ejecuta su agente; no carga archivos `.env` automáticamente. Si mantiene la clave en un archivo `.env`, cárguela usted mismo, por ejemplo con el paquete `dotenv`, antes de llamar al SDK.113El SDK lee la clave del entorno del proceso que ejecuta su agente; no carga archivos `.env` automáticamente. Si mantiene la clave en un archivo `.env`, cárguela usted mismo, por ejemplo con el paquete `dotenv`, antes de llamar al SDK.

114 114 


224 224 

225Su agente está listo. Ejecútelo con el siguiente comando:225Su agente está listo. Ejecútelo con el siguiente comando:

226 226 

227**TypeScript**227> [tab] TypeScript

228 228>

229```bash theme={null}229> ```bash theme={null}

230npx tsx agent.ts230> npx tsx agent.ts

231```231> ```

232 232>

233Si nombró su script `agent.mts`, ejecute `npx tsx agent.mts` en su lugar.233> Si nombró su script `agent.mts`, ejecute `npx tsx agent.mts` en su lugar.

234 

235**Python (uv)**

236 

237```bash theme={null}

238uv run agent.py

239```

240 

241**Python (pip)**

242 234 

243Con su entorno virtual aún activado:235> [tab] Python (uv)

236>

237> ```bash theme={null}

238> uv run agent.py

239> ```

244 240 

245```bash theme={null}241> [tab] Python (pip)

246python agent.py242>

247```243> Con su entorno virtual aún activado:

244>

245> ```bash theme={null}

246> python agent.py

247> ```

248 248 

249Mientras trabaja, el agente imprime su razonamiento y cada herramienta que llama, terminando con `Done: success`. Después de ejecutar, verifique `utils.py`. Verá código defensivo que maneja listas vacías y usuarios nulos. Su agente de forma autónoma:249Mientras trabaja, el agente imprime su razonamiento y cada herramienta que llama, terminando con `Done: success`. Después de ejecutar, verifique `utils.py`. Verá código defensivo que maneja listas vacías y usuarios nulos. Su agente de forma autónoma:

250 250 

Details

470 470 

471Cada SDK presenta el rechazo de manera diferente:471Cada SDK presenta el rechazo de manera diferente:

472 472 

473**TypeScript**473> [tab] TypeScript

474 474>

475El SDK de TypeScript lanza un `Error` indicando la regla que la entrada rompió. Por ejemplo, `skills: ["docs:*"]` lanza:475> El SDK de TypeScript lanza un `Error` indicando la regla que la entrada rompió. Por ejemplo, `skills: ["docs:*"]` lanza:

476 476>

477```text theme={null}477> ```text theme={null}

478Invalid skill name "docs:*": wildcard-suffix names are not allowed; list each skill by its exact name.478> Invalid skill name "docs:*": wildcard-suffix names are not allowed; list each skill by its exact name.

479```479> ```

480 480>

481Un nombre vacío reporta `Skill names must be non-empty strings.`481> Un nombre vacío reporta `Skill names must be non-empty strings.`

482 482>

483Antes de TypeScript Agent SDK 0.3.221, el SDK no ejecutaba esta verificación.483> Antes de TypeScript Agent SDK 0.3.221, el SDK no ejecutaba esta verificación.

484 

485**Python**

486 

487El SDK de Python genera `ValueError` indicando la regla que la entrada rompió. Por ejemplo, `skills=["docs:*"]` genera:

488 

489```text theme={null}

490ValueError: Invalid skill name 'docs:*': wildcard-suffix names are not allowed; list each skill by its exact name.

491```

492 

493Un nombre vacío reporta `Skill names must be non-empty strings`.

494 484 

495Antes de Python Agent SDK 0.2.129, el SDK no ejecutaba esta verificación.485> [tab] Python

486>

487> El SDK de Python genera `ValueError` indicando la regla que la entrada rompió. Por ejemplo, `skills=["docs:*"]` genera:

488>

489> ```text theme={null}

490> ValueError: Invalid skill name 'docs:*': wildcard-suffix names are not allowed; list each skill by its exact name.

491> ```

492>

493> Un nombre vacío reporta `Skill names must be non-empty strings`.

494>

495> Antes de Python Agent SDK 0.2.129, el SDK no ejecutaba esta verificación.

496 496 

497### Solución de problemas adicional497### Solución de problemas adicional

498 498 

Details

16 16 

17Considere una aplicación de recetas donde un agente busca en la web y trae recetas. Sin salidas estructuradas, obtiene texto de forma libre que tendría que analizar usted mismo. Con salidas estructuradas, define la forma que desea y obtiene datos tipados que puede usar directamente en su aplicación.17Considere una aplicación de recetas donde un agente busca en la web y trae recetas. Sin salidas estructuradas, obtiene texto de forma libre que tendría que analizar usted mismo. Con salidas estructuradas, define la forma que desea y obtiene datos tipados que puede usar directamente en su aplicación.

18 18 

19> **Sin salidas estructuradas**19> [accordion] Sin salidas estructuradas

20>20>

21> ```text theme={null}21> ```text theme={null}

22> ¡Aquí hay una receta clásica de galletas con chispas de chocolate!22> ¡Aquí hay una receta clásica de galletas con chispas de chocolate!


32>32>

33> Para usar esto en su aplicación, tendría que analizar el título, convertir "15 minutos" a un número, separar ingredientes de instrucciones y manejar el formato inconsistente en todas las respuestas.33> Para usar esto en su aplicación, tendría que analizar el título, convertir "15 minutos" a un número, separar ingredientes de instrucciones y manejar el formato inconsistente en todas las respuestas.

34 34 

35> **Con salidas estructuradas**35> [accordion] Con salidas estructuradas

36>36>

37> ```jsonc theme={null}37> ```jsonc theme={null}

38> {38> {

Details

225 225 

226Los ayudantes `ask_user` y `askUser` en los siguientes fragmentos representan la interfaz de usuario de solicitud de su propia aplicación.226Los ayudantes `ask_user` y `askUser` en los siguientes fragmentos representan la interfaz de usuario de solicitud de su propia aplicación.

227 227 

228**Aprobar**228> [tab] Aprobar

229 229>

230El usuario aprueba la acción tal como está. Pase la `input` de su devolución de llamada sin cambios y la herramienta se ejecuta exactamente como Claude solicitó.230> El usuario aprueba la acción tal como está. Pase la `input` de su devolución de llamada sin cambios y la herramienta se ejecuta exactamente como Claude solicitó.

231 231>

232```python Python theme={null}232> ```python Python theme={null}

233async def can_use_tool(tool_name, input_data, context):233> async def can_use_tool(tool_name, input_data, context):

234 print(f"Claude wants to use {tool_name}")234> print(f"Claude wants to use {tool_name}")

235 approved = await ask_user("Allow this action?")235> approved = await ask_user("Allow this action?")

236 236>

237 if approved:237> if approved:

238 return PermissionResultAllow(updated_input=input_data)238> return PermissionResultAllow(updated_input=input_data)

239 return PermissionResultDeny(message="User declined")239> return PermissionResultDeny(message="User declined")

240```240> ```

241 241>

242```typescript TypeScript theme={null}242> ```typescript TypeScript theme={null}

243canUseTool: async (toolName, input) => {243> canUseTool: async (toolName, input) => {

244 console.log(`Claude wants to use ${toolName}`);244> console.log(`Claude wants to use ${toolName}`);

245 const approved = await askUser("Allow this action?");245> const approved = await askUser("Allow this action?");

246 246>

247 if (approved) {247> if (approved) {

248 return { behavior: "allow", updatedInput: input };248> return { behavior: "allow", updatedInput: input };

249 }249> }

250 return { behavior: "deny", message: "User declined" };250> return { behavior: "deny", message: "User declined" };

251};251> };

252```252> ```

253 253 

254**Aprobar con cambios**254> [tab] Aprobar con cambios

255 255>

256El usuario aprueba pero quiere modificar la solicitud primero. Puede cambiar la entrada antes de que se ejecute la herramienta. Claude ve el resultado pero no se le dice que haya cambiado nada. Útil para sanitizar parámetros, agregar restricciones o limitar el acceso.256> El usuario aprueba pero quiere modificar la solicitud primero. Puede cambiar la entrada antes de que se ejecute la herramienta. Claude ve el resultado pero no se le dice que haya cambiado nada. Útil para sanitizar parámetros, agregar restricciones o limitar el acceso.

257 257>

258```python Python theme={null}258> ```python Python theme={null}

259async def can_use_tool(tool_name, input_data, context):259> async def can_use_tool(tool_name, input_data, context):

260 if tool_name == "Bash":260> if tool_name == "Bash":

261 # User approved, but scope all commands to sandbox261> # User approved, but scope all commands to sandbox

262 sandboxed_input = {**input_data}262> sandboxed_input = {**input_data}

263 sandboxed_input["command"] = input_data["command"].replace(263> sandboxed_input["command"] = input_data["command"].replace(

264 "/tmp", "/tmp/sandbox"264> "/tmp", "/tmp/sandbox"

265 )265> )

266 return PermissionResultAllow(updated_input=sandboxed_input)266> return PermissionResultAllow(updated_input=sandboxed_input)

267 return PermissionResultAllow(updated_input=input_data)267> return PermissionResultAllow(updated_input=input_data)

268```268> ```

269 269>

270```typescript TypeScript theme={null}270> ```typescript TypeScript theme={null}

271canUseTool: async (toolName, input) => {271> canUseTool: async (toolName, input) => {

272 if (toolName === "Bash") {272> if (toolName === "Bash") {

273 // User approved, but scope all commands to sandbox273> // User approved, but scope all commands to sandbox

274 const sandboxedInput = {274> const sandboxedInput = {

275 ...input,275> ...input,

276 command: input.command.replace("/tmp", "/tmp/sandbox")276> command: input.command.replace("/tmp", "/tmp/sandbox")

277 };277> };

278 return { behavior: "allow", updatedInput: sandboxedInput };278> return { behavior: "allow", updatedInput: sandboxedInput };

279 }279> }

280 return { behavior: "allow", updatedInput: input };280> return { behavior: "allow", updatedInput: input };

281};281> };

282```282> ```

283 283 

284**Aprobar y recordar**284> [tab] Aprobar y recordar

285 285>

286El usuario aprueba y no quiere que se le pregunte de nuevo para este tipo de llamada. El tercer argumento de devolución de llamada lleva `suggestions`, una matriz de entradas [`PermissionUpdate`](https://code.claude.com/docs/es/agent-sdk/typescript#permissionupdate) ya preparadas. Devuelva una en `updatedPermissions` para aplicarla. Una sugerencia con el destino `localSettings` escribe la regla en `.claude/settings.local.json` para que futuras sesiones omitan la solicitud para llamadas coincidentes.286> El usuario aprueba y no quiere que se le pregunte de nuevo para este tipo de llamada. El tercer argumento de devolución de llamada lleva `suggestions`, una matriz de entradas [`PermissionUpdate`](https://code.claude.com/docs/es/agent-sdk/typescript#permissionupdate) ya preparadas. Devuelva una en `updatedPermissions` para aplicarla. Una sugerencia con el destino `localSettings` escribe la regla en `.claude/settings.local.json` para que futuras sesiones omitan la solicitud para llamadas coincidentes.

287 287>

288En TypeScript, omita la opción de permitir siempre para una solicitud cuyas opciones llevan [`suppressAlwaysAllowRule: true`](https://code.claude.com/docs/es/agent-sdk/typescript#canusetool). La sugerencia requiere Agent SDK v0.3.268 o posterior, y el `context` de Python no la lleva.288> En TypeScript, omita la opción de permitir siempre para una solicitud cuyas opciones llevan [`suppressAlwaysAllowRule: true`](https://code.claude.com/docs/es/agent-sdk/typescript#canusetool). La sugerencia requiere Agent SDK v0.3.268 o posterior, y el `context` de Python no la lleva.

289 289>

290El ejemplo de Python requiere `claude-agent-sdk` 0.1.80 o posterior.290> El ejemplo de Python requiere `claude-agent-sdk` 0.1.80 o posterior.

291 291>

292```python Python theme={null}292> ```python Python theme={null}

293async def can_use_tool(tool_name, input_data, context):293> async def can_use_tool(tool_name, input_data, context):

294 choice = await ask_user(f"Allow {tool_name}?", ["once", "always", "no"])294> choice = await ask_user(f"Allow {tool_name}?", ["once", "always", "no"])

295 295>

296 if choice == "always":296> if choice == "always":

297 persist = [297> persist = [

298 s for s in context.suggestions if s.destination == "localSettings"298> s for s in context.suggestions if s.destination == "localSettings"

299 ]299> ]

300 return PermissionResultAllow(300> return PermissionResultAllow(

301 updated_input=input_data, updated_permissions=persist301> updated_input=input_data, updated_permissions=persist

302 )302> )

303 if choice == "once":303> if choice == "once":

304 return PermissionResultAllow(updated_input=input_data)304> return PermissionResultAllow(updated_input=input_data)

305 return PermissionResultDeny(message="User declined")305> return PermissionResultDeny(message="User declined")

306```306> ```

307 307>

308```typescript TypeScript theme={null}308> ```typescript TypeScript theme={null}

309canUseTool: async (toolName, input, { suggestions = [] }) => {309> canUseTool: async (toolName, input, { suggestions = [] }) => {

310 const choice = await askUser(`Allow ${toolName}?`, ["once", "always", "no"]);310> const choice = await askUser(`Allow ${toolName}?`, ["once", "always", "no"]);

311 311>

312 if (choice === "always") {312> if (choice === "always") {

313 const persist = suggestions.filter(313> const persist = suggestions.filter(

314 (s) => s.destination === "localSettings"314> (s) => s.destination === "localSettings"

315 );315> );

316 return {316> return {

317 behavior: "allow",317> behavior: "allow",

318 updatedInput: input,318> updatedInput: input,

319 updatedPermissions: persist319> updatedPermissions: persist

320 };320> };

321 }321> }

322 if (choice === "once") {322> if (choice === "once") {

323 return { behavior: "allow", updatedInput: input };323> return { behavior: "allow", updatedInput: input };

324 }324> }

325 return { behavior: "deny", message: "User declined" };325> return { behavior: "deny", message: "User declined" };

326};326> };

327```327> ```

328 328 

329**Rechazar**329> [tab] Rechazar

330 330>

331El usuario no quiere que esta acción suceda. Bloquee la herramienta y proporcione un mensaje explicando por qué. Claude ve este mensaje y puede intentar un enfoque diferente.331> El usuario no quiere que esta acción suceda. Bloquee la herramienta y proporcione un mensaje explicando por qué. Claude ve este mensaje y puede intentar un enfoque diferente.

332 332>

333```python Python theme={null}333> ```python Python theme={null}

334async def can_use_tool(tool_name, input_data, context):334> async def can_use_tool(tool_name, input_data, context):

335 approved = await ask_user(f"Allow {tool_name}?")335> approved = await ask_user(f"Allow {tool_name}?")

336 336>

337 if not approved:337> if not approved:

338 return PermissionResultDeny(message="User rejected this action")338> return PermissionResultDeny(message="User rejected this action")

339 return PermissionResultAllow(updated_input=input_data)339> return PermissionResultAllow(updated_input=input_data)

340```340> ```

341 341>

342```typescript TypeScript theme={null}342> ```typescript TypeScript theme={null}

343canUseTool: async (toolName, input) => {343> canUseTool: async (toolName, input) => {

344 const approved = await askUser(`Allow ${toolName}?`);344> const approved = await askUser(`Allow ${toolName}?`);

345 345>

346 if (!approved) {346> if (!approved) {

347 return {347> return {

348 behavior: "deny",348> behavior: "deny",

349 message: "User rejected this action"349> message: "User rejected this action"

350 };350> };

351 }351> }

352 return { behavior: "allow", updatedInput: input };352> return { behavior: "allow", updatedInput: input };

353};353> };

354```354> ```

355 355 

356**Sugerir alternativa**356> [tab] Sugerir alternativa

357 357>

358El usuario no quiere esta acción específica, pero tiene una idea diferente. Bloquee la herramienta e incluya orientación en su mensaje. Claude leerá esto y decidirá cómo proceder según sus comentarios.358> El usuario no quiere esta acción específica, pero tiene una idea diferente. Bloquee la herramienta e incluya orientación en su mensaje. Claude leerá esto y decidirá cómo proceder según sus comentarios.

359 359>

360```python Python theme={null}360> ```python Python theme={null}

361async def can_use_tool(tool_name, input_data, context):361> async def can_use_tool(tool_name, input_data, context):

362 if tool_name == "Bash" and "rm" in input_data.get("command", ""):362> if tool_name == "Bash" and "rm" in input_data.get("command", ""):

363 # User doesn't want to delete, suggest archiving instead363> # User doesn't want to delete, suggest archiving instead

364 return PermissionResultDeny(364> return PermissionResultDeny(

365 message="User doesn't want to delete files. They asked if you could compress them into an archive instead."365> message="User doesn't want to delete files. They asked if you could compress them into an archive instead."

366 )366> )

367 return PermissionResultAllow(updated_input=input_data)367> return PermissionResultAllow(updated_input=input_data)

368```368> ```

369 369>

370```typescript TypeScript theme={null}370> ```typescript TypeScript theme={null}

371canUseTool: async (toolName, input) => {371> canUseTool: async (toolName, input) => {

372 if (toolName === "Bash" && input.command.includes("rm")) {372> if (toolName === "Bash" && input.command.includes("rm")) {

373 // User doesn't want to delete, suggest archiving instead373> // User doesn't want to delete, suggest archiving instead

374 return {374> return {

375 behavior: "deny",375> behavior: "deny",

376 message:376> message:

377 "User doesn't want to delete files. They asked if you could compress them into an archive instead."377> "User doesn't want to delete files. They asked if you could compress them into an archive instead."

378 };378> };

379 }379> }

380 return { behavior: "allow", updatedInput: input };380> return { behavior: "allow", updatedInput: input };

381};381> };

382```382> ```

383 383 

384**Redirigir completamente**384> [tab] Redirigir completamente

385 385>

386Para un cambio de dirección completo (no solo un empujón), use [entrada de transmisión](https://code.claude.com/docs/es/agent-sdk/streaming-vs-single-mode.md) para enviar a Claude una nueva instrucción directamente. Esto omite la solicitud de herramienta actual y le da a Claude instrucciones completamente nuevas para seguir.386> Para un cambio de dirección completo (no solo un empujón), use [entrada de transmisión](https://code.claude.com/docs/es/agent-sdk/streaming-vs-single-mode.md) para enviar a Claude una nueva instrucción directamente. Esto omite la solicitud de herramienta actual y le da a Claude instrucciones completamente nuevas para seguir.

387 387 

388## Manejar preguntas aclaratorias388## Manejar preguntas aclaratorias

389 389 

agents.md +1 −1

Details

13| [Subagentes](https://code.claude.com/docs/es/sub-agents.md) | Trabajadores delegados dentro de una sesión que realizan una tarea secundaria en su propio contexto y devuelven un resumen | Una tarea secundaria inundaría su conversación principal con resultados de búsqueda, registros o contenidos de archivos que no volverá a consultar |13| [Subagentes](https://code.claude.com/docs/es/sub-agents.md) | Trabajadores delegados dentro de una sesión que realizan una tarea secundaria en su propio contexto y devuelven un resumen | Una tarea secundaria inundaría su conversación principal con resultados de búsqueda, registros o contenidos de archivos que no volverá a consultar |

14| [Vista de agentes](https://code.claude.com/docs/es/agent-view.md) | Una pantalla para enviar y monitorear sesiones que se ejecutan en segundo plano, abierta con `claude agents`. Vista previa de investigación | Tiene varias tareas independientes y desea delegarlas, verificar el estado de un vistazo e intervenir solo cuando una lo necesite |14| [Vista de agentes](https://code.claude.com/docs/es/agent-view.md) | Una pantalla para enviar y monitorear sesiones que se ejecutan en segundo plano, abierta con `claude agents`. Vista previa de investigación | Tiene varias tareas independientes y desea delegarlas, verificar el estado de un vistazo e intervenir solo cuando una lo necesite |

15| [Equipos de agentes](https://code.claude.com/docs/es/agent-teams.md) | Múltiples sesiones coordinadas con una lista de tareas compartida y mensajería entre agentes, administradas por un líder. Experimental y deshabilitado por defecto | Desea que Claude divida un proyecto en partes, las asigne y mantenga a los trabajadores sincronizados |15| [Equipos de agentes](https://code.claude.com/docs/es/agent-teams.md) | Múltiples sesiones coordinadas con una lista de tareas compartida y mensajería entre agentes, administradas por un líder. Experimental y deshabilitado por defecto | Desea que Claude divida un proyecto en partes, las asigne y mantenga a los trabajadores sincronizados |

16| [Proyectos](https://code.claude.com/docs/es/claude-projects.md) | Una conversación continua en claude.ai/code o en la aplicación de escritorio. Claude inicia sesiones paralelas llamadas threads en la nube o, cuando lo solicita, en su computadora a través de Control Remoto, le da a cada una las instrucciones del proyecto y le muestra cuáles lo necesitan. Beta pública en Pro y Max | El trabajo abarca muchas tareas durante días o semanas, debe seguir ejecutándose cuando su máquina está apagada, y prefiere describirlo una vez en lugar de enviar y rastrear cada sesión |16| [Proyectos](https://code.claude.com/docs/es/claude-projects.md) | Una conversación continua en claude.ai/code o en la aplicación de escritorio. Claude inicia sesiones paralelas llamadas threads, en la nube o, cuando lo solicitas, en tu computadora a través de Remote Control. Le da a cada una las instrucciones del proyecto y te muestra cuáles te necesitan. Beta pública en Pro, Max y Ultra | El trabajo abarca muchas tareas durante días o semanas, debe seguir ejecutándose cuando tu máquina está apagada, y prefieres describirlo una vez en lugar de enviar y rastrear cada sesión |

17| [Flujos de trabajo dinámicos](https://code.claude.com/docs/es/workflows.md) | Un script que ejecuta muchos subagentes y verifica sus resultados, para un trabajo demasiado grande para coordinar en un solo turno o que necesita más de un solo paso | Una tarea crece más allá de un puñado de subagentes, o desea que los hallazgos se verifiquen entre sí: una auditoría en toda la base de código, una migración de 500 archivos, investigación verificada de forma cruzada, o un plan elaborado desde varios ángulos |17| [Flujos de trabajo dinámicos](https://code.claude.com/docs/es/workflows.md) | Un script que ejecuta muchos subagentes y verifica sus resultados, para un trabajo demasiado grande para coordinar en un solo turno o que necesita más de un solo paso | Una tarea crece más allá de un puñado de subagentes, o desea que los hallazgos se verifiquen entre sí: una auditoría en toda la base de código, una migración de 500 archivos, investigación verificada de forma cruzada, o un plan elaborado desde varios ángulos |

18 18 

19En cada enfoque, los trabajadores son sesiones de Claude. Para involucrar una herramienta diferente, expóngala a Claude como un [servidor MCP](https://code.claude.com/docs/es/mcp.md).19En cada enfoque, los trabajadores son sesiones de Claude. Para involucrar una herramienta diferente, expóngala a Claude como un [servidor MCP](https://code.claude.com/docs/es/mcp.md).

artifacts.md +4 −4

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Los artefactos están disponibles en los planes Pro, Max, Team y Enterprise y requieren una sesión iniciada con [`/login`](https://code.claude.com/docs/es/setup#authenticate). Consulte [Disponibilidad](#availability) para ver el conjunto completo de requisitos.11> Los artefactos están disponibles en los planes Pro, Max, Ultra, Team y Enterprise y requieren una sesión iniciada con [`/login`](https://code.claude.com/docs/es/setup#authenticate). Consulta [Disponibilidad](#availability) para ver el conjunto completo de requisitos.

12 12 

13Un [artefacto](https://claude.com/features/artifacts) es una página web interactiva en vivo que Claude Code publica desde su sesión en una URL privada en claude.ai. La abre en un navegador y se actualiza en su lugar a medida que continúa la sesión. Compártala desde el encabezado de la página cuando desee que otra persona también la vea.13Un [artefacto](https://claude.com/features/artifacts) es una página web interactiva en vivo que Claude Code publica desde su sesión en una URL privada en claude.ai. La abre en un navegador y se actualiza en su lugar a medida que continúa la sesión. Compártala desde el encabezado de la página cuando desee que otra persona también la vea.

14 14 


197 197 

198## Extraer datos en vivo con conectores MCP198## Extraer datos en vivo con conectores MCP

199 199 

200Un artefacto puede llamar a [conectores MCP](https://code.claude.com/docs/es/mcp.md#use-mcp-servers-from-claude-ai) cada vez que alguien lo visualiza, de modo que la página muestra datos actuales en lugar de una instantánea de la sesión que la construyó. Las llamadas de conectores desde artefactos están disponibles en los planes Pro, Max, Team y Enterprise y requieren Claude Code v2.1.209 o posterior. En versiones anteriores, Claude publica la página con los datos que la sesión recopiló mientras la construía.200Un artefacto puede llamar a [conectores MCP](https://code.claude.com/docs/es/mcp.md#use-mcp-servers-from-claude-ai) cada vez que alguien lo visualiza, de modo que la página muestra datos actuales en lugar de una instantánea de la sesión que la construyó. Las llamadas de conectores desde artefactos están disponibles en los planes Pro, Max, Ultra, Team y Enterprise y requieren Claude Code v2.1.209 o posterior. En versiones anteriores, Claude publica la página con los datos que la sesión recopiló mientras la construía.

201 201 

202Para crear una página respaldada por un conector, nombre el conector y los datos que desea en su indicación:202Para crear una página respaldada por un conector, nombre el conector y los datos que desea en su indicación:

203 203 


314 314 

315> [!NOTE]315> [!NOTE]

316>316>

317> Las plantillas están en versión beta. Están activadas de forma predeterminada en los planes Pro, Max y Team. En los planes Enterprise, un propietario [activa cada plantilla](https://support.claude.com/en/articles/16994751-artifacts-admin-guide-for-team-and-enterprise-plans) en **Configuración de la organización > Artefactos**. Si su organización tiene la plantilla de Slides desactivada, `/slides` no aparece; si tiene la plantilla de Design desactivada, `/design` no elabora diseños. Ambos comandos requieren Claude Code v2.1.265 o posterior y una sesión donde [los artefactos estén disponibles](#availability).317> Las plantillas están en versión beta. Están activadas de forma predeterminada en los planes Pro, Max, Ultra y Team. En los planes Enterprise, un propietario [activa cada plantilla](https://support.claude.com/en/articles/16994751-artifacts-admin-guide-for-team-and-enterprise-plans) en **Configuración de la organización > Artefactos**. Si tu organización tiene la plantilla de Slides desactivada, `/slides` no aparece; si tiene la plantilla de Design desactivada, `/design` no elabora diseños. Ambos comandos requieren Claude Code v2.1.265 o posterior y una sesión donde [los artefactos estén disponibles](#availability).

318 318 

319### Crear una presentación de diapositivas319### Crear una presentación de diapositivas

320 320 


368 368 

369| Requisito | Disponible cuando |369| Requisito | Disponible cuando |

370| :- | :- |370| :- | :- |

371| Plan | Pro, Max, Team o Enterprise. En planes Pro y Max, los artefactos son privados para usted hasta que los comparta, y no se aplica ninguna gestión de administrador. En planes Team y Enterprise, los artefactos están habilitados de forma predeterminada, y un propietario puede [desactivarlos para la organización](#manage-artifacts-for-your-organization) en la configuración de administrador de claude.ai. |371| Plan | Pro, Max, Ultra, Team o Enterprise. En planes Pro, Max y Ultra, los artefactos son privados para ti hasta que los compartas, y no se aplica ninguna gestión de administrador. En planes Team y Enterprise, los artefactos están habilitados de forma predeterminada, y un propietario puede [desactivarlos para la organización](#manage-artifacts-for-your-organization) en la configuración de administrador de claude.ai. |

372| Autenticación | La sesión está respaldada por una cuenta de claude.ai: inicia sesión con `/login` en la CLI o la aplicación de escritorio. Las sesiones de Claude Tag no necesitan ningún paso de inicio de sesión. Las sesiones que usan una clave de API, un [token de gateway](https://code.claude.com/docs/es/llm-gateway) o una credencial de proveedor de nube no pueden publicar. |372| Autenticación | La sesión está respaldada por una cuenta de claude.ai: inicia sesión con `/login` en la CLI o la aplicación de escritorio. Las sesiones de Claude Tag no necesitan ningún paso de inicio de sesión. Las sesiones que usan una clave de API, un [token de gateway](https://code.claude.com/docs/es/llm-gateway) o una credencial de proveedor de nube no pueden publicar. |

373| Proveedor de modelo | API de Anthropic. No disponible en [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/es/google-vertex-ai.md) o [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md). |373| Proveedor de modelo | API de Anthropic. No disponible en [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/es/google-vertex-ai.md) o [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md). |

374| Política de organización | Las claves de cifrado administradas por el cliente (CMEK), HIPAA y [Retención de datos cero](https://code.claude.com/docs/es/zero-data-retention.md) no están habilitadas para la organización. |374| Política de organización | Las claves de cifrado administradas por el cliente (CMEK), HIPAA y [Retención de datos cero](https://code.claude.com/docs/es/zero-data-retention.md) no están habilitadas para la organización. |

authentication.md +21 −21

Details

23 23 

24Puedes autenticarte con cualquiera de estos tipos de cuenta:24Puedes autenticarte con cualquiera de estos tipos de cuenta:

25 25 

26* **Suscripción Claude Pro o Max**: inicia sesión con tu cuenta de claude.ai. Suscríbete en [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).26* **Suscripción Claude Pro, Max o Ultra**: inicia sesión con tu cuenta de claude.ai. Suscríbete en [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).

27* **Claude for Teams o Enterprise**: inicia sesión con la cuenta de claude.ai a la que te invitó el administrador de tu equipo.27* **Claude for Teams o Enterprise**: inicia sesión con la cuenta de claude.ai a la que te invitó el administrador de tu equipo.

28* **Claude Console**: inicia sesión con tus credenciales de Console. Tu administrador debe haberte [invitado](#claude-console-authentication) primero. Puedes iniciar sesión [creando una clave de API o sin crearla](#sign-in-without-an-api-key).28* **Claude Console**: inicia sesión con tus credenciales de Console. Tu administrador debe haberte [invitado](#claude-console-authentication) primero. Puedes iniciar sesión [creando una clave de API o sin crearla](#sign-in-without-an-api-key).

29* **Proveedores de nube**: si tu organización usa [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md), [Agent Platform de Google Cloud](https://code.claude.com/docs/es/google-vertex-ai.md) o [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md), configura las variables de entorno necesarias antes de ejecutar `claude`, o selecciona **3rd-party platform** en el prompt de inicio de sesión, lo que abre un asistente de configuración interactivo para Bedrock y Vertex AI. No se necesita iniciar sesión en el navegador.29* **Proveedores de nube**: si tu organización usa [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md), [Agent Platform de Google Cloud](https://code.claude.com/docs/es/google-vertex-ai.md) o [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md), configura las variables de entorno necesarias antes de ejecutar `claude`, o selecciona **3rd-party platform** en el prompt de inicio de sesión, lo que abre un asistente de configuración interactivo para Bedrock y Vertex AI. No se necesita iniciar sesión en el navegador.


2534. Salida del script [`apiKeyHelper`](https://code.claude.com/docs/es/settings-reference#apikeyhelper). Use esto para credenciales dinámicas o rotativas, como tokens de corta duración obtenidos de un almacén.2534. Salida del script [`apiKeyHelper`](https://code.claude.com/docs/es/settings-reference#apikeyhelper). Use esto para credenciales dinámicas o rotativas, como tokens de corta duración obtenidos de un almacén.

2545. Variable de entorno `CLAUDE_CODE_OAUTH_TOKEN`. Un token OAuth de larga duración generado por [`claude setup-token`](#generate-a-long-lived-token). Use esto para canalizaciones de CI y scripts donde el inicio de sesión del navegador no está disponible. Si ejecuta `/login` mientras la variable está establecida, Claude Code cambia la sesión actual al nuevo inicio de sesión, pero lee la variable nuevamente en cada nueva sesión hasta que la elimine del perfil de su shell o del bloque `env` de un [archivo de configuración](https://code.claude.com/docs/es/settings.md).2545. Variable de entorno `CLAUDE_CODE_OAUTH_TOKEN`. Un token OAuth de larga duración generado por [`claude setup-token`](#generate-a-long-lived-token). Use esto para canalizaciones de CI y scripts donde el inicio de sesión del navegador no está disponible. Si ejecuta `/login` mientras la variable está establecida, Claude Code cambia la sesión actual al nuevo inicio de sesión, pero lee la variable nuevamente en cada nueva sesión hasta que la elimine del perfil de su shell o del bloque `env` de un [archivo de configuración](https://code.claude.com/docs/es/settings.md).

2556. Credenciales de perfil de Anthropic y de federación, las credenciales que utiliza la CLI `ant` y Workload Identity Federation. Un perfil que `ant auth login` escribió se clasifica aquí solo cuando lo nombra en `ANTHROPIC_PROFILE`; de lo contrario, se clasifica por debajo de `/login`. Consulte [Perfiles de Anthropic y credenciales de federación](#anthropic-profiles-and-federation-credentials).2556. Credenciales de perfil de Anthropic y de federación, las credenciales que utiliza la CLI `ant` y Workload Identity Federation. Un perfil que `ant auth login` escribió se clasifica aquí solo cuando lo nombra en `ANTHROPIC_PROFILE`; de lo contrario, se clasifica por debajo de `/login`. Consulte [Perfiles de Anthropic y credenciales de federación](#anthropic-profiles-and-federation-credentials).

2567. Credenciales OAuth de suscripción de `/login`. Este es el predeterminado para usuarios de Claude Pro, Max, Team y Enterprise.2567. Credenciales OAuth de suscripción de `/login`. Esta es la opción predeterminada para los usuarios de Claude Pro, Max, Ultra, Team y Enterprise.

257 257 

258Una sesión de [puerta de enlace de aplicaciones Claude](https://code.claude.com/docs/es/claude-apps-gateway) con sesión iniciada se encuentra fuera de esta lista: es una selección de proveedor como Amazon Bedrock o la Plataforma de Agentes de Google Cloud, y los supera. Cuando existe una sesión de puerta de enlace, la CLI se autentica con el token de puerta de enlace incluso si `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` o `CLAUDE_CODE_USE_FOUNDRY` está establecido, y las fuentes de credenciales anteriores como el token de portador, la clave API, `apiKeyHelper` y los perfiles no se utilizan.258Una sesión de [puerta de enlace de aplicaciones Claude](https://code.claude.com/docs/es/claude-apps-gateway) con sesión iniciada se encuentra fuera de esta lista: es una selección de proveedor como Amazon Bedrock o la Plataforma de Agentes de Google Cloud, y los supera. Cuando existe una sesión de puerta de enlace, la CLI se autentica con el token de puerta de enlace incluso si `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` o `CLAUDE_CODE_USE_FOUNDRY` está establecido, y las fuentes de credenciales anteriores como el token de portador, la clave API, `apiKeyHelper` y los perfiles no se utilizan.

259 259 


300 300 

301El comando abre el mismo flujo de autorización del navegador que `/login`, y el token se imprime en la terminal después de que apruebe el acceso en el navegador. No guarda el token en ningún lugar; cópielo y establézcalo como la variable de entorno `CLAUDE_CODE_OAUTH_TOKEN` donde desee autenticarse:301El comando abre el mismo flujo de autorización del navegador que `/login`, y el token se imprime en la terminal después de que apruebe el acceso en el navegador. No guarda el token en ningún lugar; cópielo y establézcalo como la variable de entorno `CLAUDE_CODE_OAUTH_TOKEN` donde desee autenticarse:

302 302 

303**macOS, Linux, WSL**303> [tab] macOS, Linux, WSL

304 304>

305```bash theme={null}305> ```bash theme={null}

306export CLAUDE_CODE_OAUTH_TOKEN=your-token306> export CLAUDE_CODE_OAUTH_TOKEN=your-token

307```307> ```

308 308 

309**Windows PowerShell**309> [tab] Windows PowerShell

310 310>

311```powershell theme={null}311> ```powershell theme={null}

312$env:CLAUDE_CODE_OAUTH_TOKEN = "your-token"312> $env:CLAUDE_CODE_OAUTH_TOKEN = "your-token"

313```313> ```

314 314 

315**Windows CMD**315> [tab] Windows CMD

316 316>

317```batch theme={null}317> ```batch theme={null}

318set CLAUDE_CODE_OAUTH_TOKEN=your-token318> set CLAUDE_CODE_OAUTH_TOKEN=your-token

319```319> ```

320 320 

321Este token se autentica con su suscripción de Claude y requiere un plan Pro, Max, Team o Enterprise. Solo puede hacer solicitudes de modelo, por lo que no puede establecer sesiones de [Remote Control](https://code.claude.com/docs/es/remote-control.md) u obtener [conectores de claude.ai](https://code.claude.com/docs/es/mcp.md#use-mcp-servers-from-claude-ai). Los servidores MCP que configura localmente siguen funcionando.321Este token se autentica con tu suscripción de Claude y requiere un plan Pro, Max, Ultra, Team o Enterprise. Solo puede hacer solicitudes al modelo, por lo que no puede establecer sesiones de [Remote Control](https://code.claude.com/docs/es/remote-control.md) ni obtener [conectores de claude.ai](https://code.claude.com/docs/es/mcp.md#use-mcp-servers-from-claude-ai). Los servidores MCP que configuras localmente siguen funcionando.

322 322 

323[Bare mode](https://code.claude.com/docs/es/headless.md#start-faster-with-bare-mode) no lee `CLAUDE_CODE_OAUTH_TOKEN`. Si su script pasa `--bare`, autentíquese con `ANTHROPIC_API_KEY` o un `apiKeyHelper` en su lugar.323[Bare mode](https://code.claude.com/docs/es/headless.md#start-faster-with-bare-mode) no lee `CLAUDE_CODE_OAUTH_TOKEN`. Si su script pasa `--bare`, autentíquese con `ANTHROPIC_API_KEY` o un `apiKeyHelper` en su lugar.

Details

43 43 

44## Por qué aparece el aviso44## Por qué aparece el aviso

45 45 

46[Revisión del clasificador del lado del servidor](https://code.claude.com/docs/es/permission-modes.md#server-side-classifier-review) enumera qué sesiones solicitan al servidor las comprobaciones del clasificador. Los planes Pro, Max y Team nunca muestran el aviso. Cuando aparece, las causas habituales son:46En un plan Pro, Max, Ultra o Team, nunca ves el aviso. Para saber qué sesiones solicitan al servidor las comprobaciones del clasificador, consulta [Revisión del clasificador del lado del servidor](https://code.claude.com/docs/es/permission-modes.md#server-side-classifier-review). Si ves el aviso, revisa estas causas habituales:

47 47 

48* **Una puerta de enlace LLM o proxy está en la ruta**: una que elimina o reescribe encabezados de solicitud, descarta campos de solicitud que no reconoce o edita respuestas. El servidor entonces nunca recibe la solicitud de comprobaciones, o Claude Code nunca recibe los resultados. Cuando su configuración o las respuestas identifican la puerta de enlace, el aviso la nombra.48* **Una puerta de enlace LLM o proxy está en la ruta**: una que elimina o reescribe encabezados de solicitud, descarta campos de solicitud que no reconoce o edita respuestas. El servidor entonces nunca recibe la solicitud de comprobaciones, o Claude Code nunca recibe los resultados. Cuando su configuración o las respuestas identifican la puerta de enlace, el aviso la nombra.

49* **Las comprobaciones del lado del servidor aún no han llegado a su plataforma, región o credencial**: si una plataforma o región las realiza depende del despliegue de esa plataforma. Si ve el aviso sin ninguna puerta de enlace o proxy en la ruta y sigue apareciendo, esta es la causa probable. Para confirmar, contacte con soporte o el administrador de su empresa, o repórtelo con `/feedback`.49* **Las comprobaciones del lado del servidor aún no han llegado a su plataforma, región o credencial**: si una plataforma o región las realiza depende del despliegue de esa plataforma. Si ve el aviso sin ninguna puerta de enlace o proxy en la ruta y sigue apareciendo, esta es la causa probable. Para confirmar, contacte con soporte o el administrador de su empresa, o repórtelo con `/feedback`.

Details

161 161 

162> [!NOTE]162> [!NOTE]

163>163>

164> `/auto-mode-setup` está disponible en los planes Pro, Max, Team y Enterprise y con una clave de API de Claude Console. En un plan Pro, Max o Team, necesitas la v2.1.228 o posterior, o la v2.1.233 o posterior en Windows nativo. En un plan Enterprise o con una clave de API de Claude Console, necesitas la v2.1.283 o posterior. Si el comando no aparece en tu sesión, consulta [`/auto-mode-setup` devuelve "Unknown command"](#auto-mode-setup-returns-unknown-command).164> `/auto-mode-setup` está disponible en los planes Pro, Max, Ultra, Team y Enterprise y con una clave de API de Claude Console. En un plan Pro, Max, Ultra o Team, necesitas la v2.1.228 o posterior, o la v2.1.233 o posterior en Windows nativo. En un plan Enterprise o con una clave de API de Claude Console, necesitas la v2.1.283 o posterior. Si el comando no aparece en tu sesión, consulta [`/auto-mode-setup` devuelve "Unknown command"](#auto-mode-setup-returns-unknown-command).

165 165 

166### Qué lee `/auto-mode-setup`166### Qué lee `/auto-mode-setup`

167 167 

Details

489 489 

490Con una ventana de 1M de tokens en la mayoría de los modelos actuales y la compactación cerca del tope, rara vez te quedarás sin contexto. Aun así, puedes *pagar* por contexto que no necesitas. Cada solicitud envía la conversación completa, así que una sesión que ha acumulado tres tareas no relacionadas vuelve a leer las tres en cada turno de la cuarta. Eso tiene [descuento mientras la caché está activa](https://code.claude.com/docs/es/costs.md#why-usage-climbs-in-a-long-session) y precio completo una vez que expira.490Con una ventana de 1M de tokens en la mayoría de los modelos actuales y la compactación cerca del tope, rara vez te quedarás sin contexto. Aun así, puedes *pagar* por contexto que no necesitas. Cada solicitud envía la conversación completa, así que una sesión que ha acumulado tres tareas no relacionadas vuelve a leer las tres en cada turno de la cuarta. Eso tiene [descuento mientras la caché está activa](https://code.claude.com/docs/es/costs.md#why-usage-climbs-in-a-long-session) y precio completo una vez que expira.

491 491 

492[`/usage`](https://code.claude.com/docs/es/costs) es el primer lugar donde mirar. En Pro, Max, Team y Enterprise desglosa tu uso por skill, subagente, plugin y servidor MCP. También señala patrones como un contexto largo o fallos frecuentes de caché una vez que alguno supera el 10% de tu uso. A partir de ahí, las soluciones habituales:492[`/usage`](https://code.claude.com/docs/es/costs) es el primer lugar donde mirar. En Pro, Max, Ultra, Team y Enterprise desglosa tu uso por skill, subagente, plugin y servidor MCP. También señala patrones como un contexto largo o fallos frecuentes de caché una vez que alguno supera el 10% de tu uso. A partir de ahí, las soluciones habituales:

493 493 

494* `/clear` entre tareas no relacionadas. No cuesta nada, y significa que la siguiente tarea no sigue pagando por el historial de la anterior. `/clear oauth-migration` le pone nombre a la sesión que dejas, para que puedas volver a ella más tarde.494* `/clear` entre tareas no relacionadas. No cuesta nada, y significa que la siguiente tarea no sigue pagando por el historial de la anterior. `/clear oauth-migration` le pone nombre a la sesión que dejas, para que puedas volver a ella más tarde.

495* `/compact` con un enfoque, como `/compact keep the API changes and the test commands`. En una sesión larga, `/compact` es en sí mismo una solicitud grande, ya que lee toda la conversación para resumirla, y más aún una vez que la caché ha expirado.495* `/compact` con un enfoque, como `/compact keep the API changes and the test commands`. En una sesión larga, `/compact` es en sí mismo una solicitud grande, ya que lee toda la conversación para resumirla, y más aún una vez que la caché ha expirado.

channels.md +189 −189

Details

24 24 

25Cada canal compatible es un plugin que requiere [Bun](https://bun.sh). Para una demostración práctica del flujo de plugins antes de conectar una plataforma real, pruebe el [inicio rápido de fakechat](#quickstart).25Cada canal compatible es un plugin que requiere [Bun](https://bun.sh). Para una demostración práctica del flujo de plugins antes de conectar una plataforma real, pruebe el [inicio rápido de fakechat](#quickstart).

26 26 

27**Telegram**27> [tab] Telegram

28 

29Vea el [código fuente completo de Telegram](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram).

30 

31**1. Crear un bot de Telegram**

32 

33Abre [BotFather](https://t.me/BotFather) en Telegram y envía `/newbot`. Asígnale un nombre para mostrar y un nombre de usuario único que termine en `bot`. Copia el token que devuelve BotFather.

34 

35**2. Instalar el plugin**

36 

37Inicia Claude Code ejecutando `claude` en tu terminal y luego ingresa esto en su prompt:

38 

39```

40/plugin install telegram@claude-plugins-official

41```

42 

43Si la instalación falla, haga coincidir el mensaje que Claude Code reporta:

44 

45* `Marketplace "claude-plugins-official" not found`: agrega el marketplace con `/plugin marketplace add anthropics/claude-plugins-official` y luego reintenta la instalación.

46* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: es posible que tu copia local del catálogo del marketplace esté desactualizada. Actualízala con `/plugin marketplace update claude-plugins-official` y luego reintenta la instalación. Si el reintento muestra el mismo mensaje, consulta [Plugin no encontrado en el marketplace](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

47 

48Cuando la instalación solicite un alcance de instalación, elige la opción de alcance de usuario para que el plugin esté disponible en todos tus proyectos. Revisa el resumen de instalación: si reporta `Run /reload-plugins to apply.`, consulta [Aplicar cambios de plugin sin reiniciar](https://code.claude.com/docs/es/plugins/cli-reference.md#reload-plugins) para que el comando de configuración del plugin esté disponible.

49 

50**3. Configurar tu token**

51 

52Ejecuta el comando de configuración con el token de BotFather:

53 

54```

55/telegram:configure <token>

56```

57 

58Esto lo guarda en `~/.claude/channels/telegram/.env`. También puede establecer `TELEGRAM_BOT_TOKEN` en su entorno de shell antes de lanzar Claude Code.

59 

60**4. Reiniciar con canales habilitados**

61 

62Salga de Claude Code y reinicie con la bandera de canal. Esto inicia el plugin de Telegram, que comienza a sondear mensajes de su bot:

63 

64```bash theme={null}

65claude --channels plugin:telegram@claude-plugins-official

66```

67 

68**5. Emparejar su cuenta**

69 

70Abra Telegram y envíe cualquier mensaje a su bot. El bot responde con un código de emparejamiento.

71 

72> [!NOTE]

73>28>

74> Si su bot no responde, asegúrese de que Claude Code se esté ejecutando con `--channels` del paso anterior. El bot solo puede responder mientras el canal está activo.29> Vea el [código fuente completo de Telegram](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram).

75 

76De vuelta en Claude Code, ejecute:

77 

78```

79/telegram:access pair <code>

80```

81 

82Luego bloquee el acceso para que solo su cuenta pueda enviar mensajes:

83 

84```

85/telegram:access policy allowlist

86```

87 

88**Discord**

89 

90Vea el [código fuente completo de Discord](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord).

91 

92**1. Crear un bot de Discord**

93 

94Vaya al [Portal de Desarrolladores de Discord](https://discord.com/developers/applications), haga clic en **Nueva Aplicación** y asígnele un nombre. En la sección **Bot**, cree un nombre de usuario y luego haga clic en **Restablecer Token** y copie el token.

95 

96**2. Habilitar Intención de Contenido de Mensaje**

97 

98En la configuración de su bot, desplácese hasta **Intenciones de Puerta de Enlace Privilegiadas** y habilite **Intención de Contenido de Mensaje**.

99 

100**3. Invitar el bot a su servidor**

101 

102Vaya a **OAuth2 > Generador de URL**. Seleccione el alcance `bot` y habilite estos permisos:

103 

104* Ver Canales

105* Enviar Mensajes

106* Enviar Mensajes en Hilos

107* Leer Historial de Mensajes

108* Adjuntar Archivos

109* Agregar Reacciones

110 

111Abre la URL generada para agregar el bot a tu servidor.

112 

113**4. Instalar el plugin**

114 

115Inicia Claude Code ejecutando `claude` en tu terminal y luego ingresa esto en su prompt:

116 

117```

118/plugin install discord@claude-plugins-official

119```

120 

121Si la instalación falla, haga coincidir el mensaje que Claude Code reporta:

122 

123* `Marketplace "claude-plugins-official" not found`: agrega el marketplace con `/plugin marketplace add anthropics/claude-plugins-official` y luego reintenta la instalación.

124* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: es posible que tu copia local del catálogo del marketplace esté desactualizada. Actualízala con `/plugin marketplace update claude-plugins-official` y luego reintenta la instalación. Si el reintento muestra el mismo mensaje, consulta [Plugin no encontrado en el marketplace](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

125 

126Cuando la instalación solicite un alcance de instalación, elige la opción de alcance de usuario para que el plugin esté disponible en todos tus proyectos. Revisa el resumen de instalación: si reporta `Run /reload-plugins to apply.`, consulta [Aplicar cambios de plugin sin reiniciar](https://code.claude.com/docs/es/plugins/cli-reference.md#reload-plugins) para que el comando de configuración del plugin esté disponible.

127 

128**5. Configurar tu token**

129 

130Ejecuta el comando de configuración con el token del bot que copiaste:

131 

132```

133/discord:configure <token>

134```

135 

136Esto lo guarda en `~/.claude/channels/discord/.env`. También puede establecer `DISCORD_BOT_TOKEN` en su entorno de shell antes de lanzar Claude Code.

137 

138**6. Reiniciar con canales habilitados**

139 

140Salga de Claude Code y reinicie con la bandera de canal. Esto conecta el plugin de Discord para que su bot pueda recibir y responder a mensajes:

141 

142```bash theme={null}

143claude --channels plugin:discord@claude-plugins-official

144```

145 

146**7. Emparejar su cuenta**

147 

148Envíe un mensaje directo a su bot en Discord. El bot responde con un código de emparejamiento.

149 

150> [!NOTE]

151>30>

152> Si su bot no responde, asegúrese de que Claude Code se esté ejecutando con `--channels` del paso anterior. El bot solo puede responder mientras el canal está activo.31> **1. Crear un bot de Telegram**

153 

154De vuelta en Claude Code, ejecute:

155 

156```

157/discord:access pair <code>

158```

159 

160Luego bloquee el acceso para que solo su cuenta pueda enviar mensajes:

161 

162```

163/discord:access policy allowlist

164```

165 

166**iMessage**

167 

168Vea el [código fuente completo de iMessage](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage).

169 

170El canal de iMessage lee su base de datos de Mensajes directamente y envía respuestas a través de AppleScript. Requiere macOS y no necesita token de bot ni servicio externo.

171 

172**1. Otorgar Acceso Completo al Disco**

173 

174La base de datos de Mensajes en `~/Library/Messages/chat.db` está protegida por macOS. La primera vez que el servidor la lee, macOS solicita acceso: haga clic en **Permitir**. El mensaje nombra cualquier aplicación que haya lanzado Bun, como Terminal, iTerm o su IDE.

175 

176Si la solicitud no aparece o hiciste clic en No Permitir, otorga acceso manualmente en **Configuración del Sistema > Privacidad y Seguridad > Acceso Completo al Disco** y agrega tu terminal. Sin esto, el servidor se cierra inmediatamente con `authorization denied`.

177 

178**2. Instalar el plugin**

179 

180Inicia Claude Code ejecutando `claude` en tu terminal y luego ingresa esto en su prompt:

181 

182```

183/plugin install imessage@claude-plugins-official

184```

185 

186Si la instalación falla, haga coincidir el mensaje que Claude Code reporta:

187 

188* `Marketplace "claude-plugins-official" not found`: agrega el marketplace con `/plugin marketplace add anthropics/claude-plugins-official` y luego reintenta la instalación.

189* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: es posible que tu copia local del catálogo del marketplace esté desactualizada. Actualízala con `/plugin marketplace update claude-plugins-official` y luego reintenta la instalación. Si el reintento muestra el mismo mensaje, consulta [Plugin no encontrado en el marketplace](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

190 

191Cuando la instalación solicite un alcance de instalación, elija la opción de alcance de usuario para que el plugin esté disponible en todos sus proyectos.

192 

193Si el resumen de instalación reporta `Run /reload-plugins to apply.`, no necesitas hacer nada al respecto aquí, porque al reiniciar en el siguiente paso se carga el plugin.

194 

195**3. Reiniciar con canales habilitados**

196 

197Sal de Claude Code y reinicia con el flag de canal:

198 

199```bash theme={null}

200claude --channels plugin:imessage@claude-plugins-official

201```

202 

203**4. Envíese un mensaje a sí mismo**

204 

205Abra Mensajes en cualquier dispositivo conectado a su ID de Apple y envíese un mensaje a sí mismo. Llega a Claude inmediatamente: el auto-chat evita el control de acceso sin configuración.

206 

207> [!NOTE]

208>32>

209> La primera respuesta que Claude envía activa un mensaje de Automatización de macOS preguntando si su terminal puede controlar Mensajes. Haga clic en **Aceptar**.33> Abre [BotFather](https://t.me/BotFather) en Telegram y envía `/newbot`. Asígnale un nombre para mostrar y un nombre de usuario único que termine en `bot`. Copia el token que devuelve BotFather.

210 34>

211**5. Permitir otros remitentes**35> **2. Instalar el plugin**

212 36>

213De forma predeterminada, solo sus propios mensajes pasan. Para permitir que otro contacto llegue a Claude, agregue su identificador:37> Inicia Claude Code ejecutando `claude` en tu terminal y luego ingresa esto en su prompt:

38>

39> ```

40> /plugin install telegram@claude-plugins-official

41> ```

42>

43> Si la instalación falla, haga coincidir el mensaje que Claude Code reporta:

44>

45> * `Marketplace "claude-plugins-official" not found`: agrega el marketplace con `/plugin marketplace add anthropics/claude-plugins-official` y luego reintenta la instalación.

46> * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: es posible que tu copia local del catálogo del marketplace esté desactualizada. Actualízala con `/plugin marketplace update claude-plugins-official` y luego reintenta la instalación. Si el reintento muestra el mismo mensaje, consulta [Plugin no encontrado en el marketplace](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

47>

48> Cuando la instalación solicite un alcance de instalación, elige la opción de alcance de usuario para que el plugin esté disponible en todos tus proyectos. Revisa el resumen de instalación: si reporta `Run /reload-plugins to apply.`, consulta [Aplicar cambios de plugin sin reiniciar](https://code.claude.com/docs/es/plugins/cli-reference.md#reload-plugins) para que el comando de configuración del plugin esté disponible.

49>

50> **3. Configurar tu token**

51>

52> Ejecuta el comando de configuración con el token de BotFather:

53>

54> ```

55> /telegram:configure <token>

56> ```

57>

58> Esto lo guarda en `~/.claude/channels/telegram/.env`. También puede establecer `TELEGRAM_BOT_TOKEN` en su entorno de shell antes de lanzar Claude Code.

59>

60> **4. Reiniciar con canales habilitados**

61>

62> Salga de Claude Code y reinicie con la bandera de canal. Esto inicia el plugin de Telegram, que comienza a sondear mensajes de su bot:

63>

64> ```bash theme={null}

65> claude --channels plugin:telegram@claude-plugins-official

66> ```

67>

68> **5. Emparejar su cuenta**

69>

70> Abra Telegram y envíe cualquier mensaje a su bot. El bot responde con un código de emparejamiento.

71>

72> > [!NOTE]

73> >

74> > Si su bot no responde, asegúrese de que Claude Code se esté ejecutando con `--channels` del paso anterior. El bot solo puede responder mientras el canal está activo.

75>

76> De vuelta en Claude Code, ejecute:

77>

78> ```

79> /telegram:access pair <code>

80> ```

81>

82> Luego bloquee el acceso para que solo su cuenta pueda enviar mensajes:

83>

84> ```

85> /telegram:access policy allowlist

86> ```

214 87 

215```88> [tab] Discord

216/imessage:access allow +1555123456789>

217```90> Vea el [código fuente completo de Discord](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord).

91>

92> **1. Crear un bot de Discord**

93>

94> Vaya al [Portal de Desarrolladores de Discord](https://discord.com/developers/applications), haga clic en **Nueva Aplicación** y asígnele un nombre. En la sección **Bot**, cree un nombre de usuario y luego haga clic en **Restablecer Token** y copie el token.

95>

96> **2. Habilitar Intención de Contenido de Mensaje**

97>

98> En la configuración de su bot, desplácese hasta **Intenciones de Puerta de Enlace Privilegiadas** y habilite **Intención de Contenido de Mensaje**.

99>

100> **3. Invitar el bot a su servidor**

101>

102> Vaya a **OAuth2 > Generador de URL**. Seleccione el alcance `bot` y habilite estos permisos:

103>

104> * Ver Canales

105> * Enviar Mensajes

106> * Enviar Mensajes en Hilos

107> * Leer Historial de Mensajes

108> * Adjuntar Archivos

109> * Agregar Reacciones

110>

111> Abre la URL generada para agregar el bot a tu servidor.

112>

113> **4. Instalar el plugin**

114>

115> Inicia Claude Code ejecutando `claude` en tu terminal y luego ingresa esto en su prompt:

116>

117> ```

118> /plugin install discord@claude-plugins-official

119> ```

120>

121> Si la instalación falla, haga coincidir el mensaje que Claude Code reporta:

122>

123> * `Marketplace "claude-plugins-official" not found`: agrega el marketplace con `/plugin marketplace add anthropics/claude-plugins-official` y luego reintenta la instalación.

124> * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: es posible que tu copia local del catálogo del marketplace esté desactualizada. Actualízala con `/plugin marketplace update claude-plugins-official` y luego reintenta la instalación. Si el reintento muestra el mismo mensaje, consulta [Plugin no encontrado en el marketplace](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

125>

126> Cuando la instalación solicite un alcance de instalación, elige la opción de alcance de usuario para que el plugin esté disponible en todos tus proyectos. Revisa el resumen de instalación: si reporta `Run /reload-plugins to apply.`, consulta [Aplicar cambios de plugin sin reiniciar](https://code.claude.com/docs/es/plugins/cli-reference.md#reload-plugins) para que el comando de configuración del plugin esté disponible.

127>

128> **5. Configurar tu token**

129>

130> Ejecuta el comando de configuración con el token del bot que copiaste:

131>

132> ```

133> /discord:configure <token>

134> ```

135>

136> Esto lo guarda en `~/.claude/channels/discord/.env`. También puede establecer `DISCORD_BOT_TOKEN` en su entorno de shell antes de lanzar Claude Code.

137>

138> **6. Reiniciar con canales habilitados**

139>

140> Salga de Claude Code y reinicie con la bandera de canal. Esto conecta el plugin de Discord para que su bot pueda recibir y responder a mensajes:

141>

142> ```bash theme={null}

143> claude --channels plugin:discord@claude-plugins-official

144> ```

145>

146> **7. Emparejar su cuenta**

147>

148> Envíe un mensaje directo a su bot en Discord. El bot responde con un código de emparejamiento.

149>

150> > [!NOTE]

151> >

152> > Si su bot no responde, asegúrese de que Claude Code se esté ejecutando con `--channels` del paso anterior. El bot solo puede responder mientras el canal está activo.

153>

154> De vuelta en Claude Code, ejecute:

155>

156> ```

157> /discord:access pair <code>

158> ```

159>

160> Luego bloquee el acceso para que solo su cuenta pueda enviar mensajes:

161>

162> ```

163> /discord:access policy allowlist

164> ```

218 165 

219Los identificadores son números de teléfono en formato `+country` o correos electrónicos de ID de Apple como `user@example.com`.166> [tab] iMessage

167>

168> Vea el [código fuente completo de iMessage](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage).

169>

170> El canal de iMessage lee su base de datos de Mensajes directamente y envía respuestas a través de AppleScript. Requiere macOS y no necesita token de bot ni servicio externo.

171>

172> **1. Otorgar Acceso Completo al Disco**

173>

174> La base de datos de Mensajes en `~/Library/Messages/chat.db` está protegida por macOS. La primera vez que el servidor la lee, macOS solicita acceso: haga clic en **Permitir**. El mensaje nombra cualquier aplicación que haya lanzado Bun, como Terminal, iTerm o su IDE.

175>

176> Si la solicitud no aparece o hiciste clic en No Permitir, otorga acceso manualmente en **Configuración del Sistema > Privacidad y Seguridad > Acceso Completo al Disco** y agrega tu terminal. Sin esto, el servidor se cierra inmediatamente con `authorization denied`.

177>

178> **2. Instalar el plugin**

179>

180> Inicia Claude Code ejecutando `claude` en tu terminal y luego ingresa esto en su prompt:

181>

182> ```

183> /plugin install imessage@claude-plugins-official

184> ```

185>

186> Si la instalación falla, haga coincidir el mensaje que Claude Code reporta:

187>

188> * `Marketplace "claude-plugins-official" not found`: agrega el marketplace con `/plugin marketplace add anthropics/claude-plugins-official` y luego reintenta la instalación.

189> * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: es posible que tu copia local del catálogo del marketplace esté desactualizada. Actualízala con `/plugin marketplace update claude-plugins-official` y luego reintenta la instalación. Si el reintento muestra el mismo mensaje, consulta [Plugin no encontrado en el marketplace](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

190>

191> Cuando la instalación solicite un alcance de instalación, elija la opción de alcance de usuario para que el plugin esté disponible en todos sus proyectos.

192>

193> Si el resumen de instalación reporta `Run /reload-plugins to apply.`, no necesitas hacer nada al respecto aquí, porque al reiniciar en el siguiente paso se carga el plugin.

194>

195> **3. Reiniciar con canales habilitados**

196>

197> Sal de Claude Code y reinicia con el flag de canal:

198>

199> ```bash theme={null}

200> claude --channels plugin:imessage@claude-plugins-official

201> ```

202>

203> **4. Envíese un mensaje a sí mismo**

204>

205> Abra Mensajes en cualquier dispositivo conectado a su ID de Apple y envíese un mensaje a sí mismo. Llega a Claude inmediatamente: el auto-chat evita el control de acceso sin configuración.

206>

207> > [!NOTE]

208> >

209> > La primera respuesta que Claude envía activa un mensaje de Automatización de macOS preguntando si su terminal puede controlar Mensajes. Haga clic en **Aceptar**.

210>

211> **5. Permitir otros remitentes**

212>

213> De forma predeterminada, solo sus propios mensajes pasan. Para permitir que otro contacto llegue a Claude, agregue su identificador:

214>

215> ```

216> /imessage:access allow +15551234567

217> ```

218>

219> Los identificadores son números de teléfono en formato `+country` o correos electrónicos de ID de Apple como `user@example.com`.

220 220 

221## Inicio rápido221## Inicio rápido

222 222 


308| `channelsEnabled` | Interruptor maestro. Debe ser `true` para que cualquier channel entregue mensajes. Bloquea todos los channels incluida la bandera de desarrollo cuando está desactivado. Consulte [Habilitar channels para su organización](#enable-channels-for-your-organization). | claude.ai Team y Enterprise: channels bloqueados. Console: channels permitidos a menos que su organización implemente configuración administrada, en cuyo caso los channels se bloquean hasta que se establezca esta clave |308| `channelsEnabled` | Interruptor maestro. Debe ser `true` para que cualquier channel entregue mensajes. Bloquea todos los channels incluida la bandera de desarrollo cuando está desactivado. Consulte [Habilitar channels para su organización](#enable-channels-for-your-organization). | claude.ai Team y Enterprise: channels bloqueados. Console: channels permitidos a menos que su organización implemente configuración administrada, en cuyo caso los channels se bloquean hasta que se establezca esta clave |

309| `allowedChannelPlugins` | Qué plugins pueden registrarse una vez que los channels están habilitados. Reemplaza la lista mantenida por Anthropic cuando se establece. | Se aplica la lista predeterminada de Anthropic |309| `allowedChannelPlugins` | Qué plugins pueden registrarse una vez que los channels están habilitados. Reemplaza la lista mantenida por Anthropic cuando se establece. | Se aplica la lista predeterminada de Anthropic |

310 310 

311Los usuarios de Pro y Max sin una organización omiten estas comprobaciones por completo: los channels están disponibles y los usuarios optan por participar por sesión con `--channels`.311Los usuarios de Pro, Max y Ultra sin una organización omiten estas comprobaciones por completo: los canales están disponibles y los usuarios los habilitan por sesión con `--channels`.

312 312 

313### Habilitar channels para su organización313### Habilitar channels para su organización

314 314 

chrome.md +1 −1

Details

39* [Google Chrome](https://www.google.com/chrome/), [Microsoft Edge](https://www.microsoft.com/edge), u otro navegador basado en Chromium como Brave, Arc, Vivaldi u Opera39* [Google Chrome](https://www.google.com/chrome/), [Microsoft Edge](https://www.microsoft.com/edge), u otro navegador basado en Chromium como Brave, Arc, Vivaldi u Opera

40* Extensión [Claude en Chrome](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) versión 1.0.36 o superior, disponible en la Chrome Web Store40* Extensión [Claude en Chrome](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) versión 1.0.36 o superior, disponible en la Chrome Web Store

41* [Claude Code](https://code.claude.com/docs/es/quickstart.md#step-1-install-claude-code)41* [Claude Code](https://code.claude.com/docs/es/quickstart.md#step-1-install-claude-code)

42* Un plan directo de Anthropic (Pro, Max, Team o Enterprise)42* Un plan directo de Anthropic (Pro, Max, Ultra, Team o Enterprise)

43 43 

44En las organizaciones Enterprise que tienen HIPAA habilitado, Claude en Chrome está desactivado de forma predeterminada, y un [propietario](https://code.claude.com/docs/es/server-managed-settings.md#access-control) puede activarlo en [**Configuración de la organización > Claude en Chrome**](https://claude.ai/admin-settings/browser-extension). Tu Acuerdo de Asociado Comercial (BAA) con Anthropic no cubre los datos enviados a sitios de terceros a través de Claude en Chrome. Consulta la [Guía de implementación](https://trust.anthropic.com/resources?s=l1wrssd9hsbi4gak0tp5a6\&name=%5Banthropic%5D-hipaa-ready-offering-implementation-guide) para ver una lista de Servicios Elegibles.44En las organizaciones Enterprise que tienen HIPAA habilitado, Claude en Chrome está desactivado de forma predeterminada, y un [propietario](https://code.claude.com/docs/es/server-managed-settings.md#access-control) puede activarlo en [**Configuración de la organización > Claude en Chrome**](https://claude.ai/admin-settings/browser-extension). Tu Acuerdo de Asociado Comercial (BAA) con Anthropic no cubre los datos enviados a sitios de terceros a través de Claude en Chrome. Consulta la [Guía de implementación](https://trust.anthropic.com/resources?s=l1wrssd9hsbi4gak0tp5a6\&name=%5Banthropic%5D-hipaa-ready-offering-implementation-guide) para ver una lista de Servicios Elegibles.

45 45 

Details

325 325 

326**7. Implemente**326**7. Implemente**

327 327 

328**ECS Fargate**328> [tab] ECS Fargate

329 329>

330Cree el clúster y un grupo de registros para stderr del gateway, que lleva tanto sus eventos de auditoría como registros operacionales. La retención es una llamada separada, y sin una CloudWatch mantiene los registros para siempre; alinee los 90 días con su política de retención de auditoría:330> Cree el clúster y un grupo de registros para stderr del gateway, que lleva tanto sus eventos de auditoría como registros operacionales. La retención es una llamada separada, y sin una CloudWatch mantiene los registros para siempre; alinee los 90 días con su política de retención de auditoría:

331 331>

332```bash theme={null}332> ```bash theme={null}

333aws ecs create-cluster --cluster-name claude-gateway333> aws ecs create-cluster --cluster-name claude-gateway

334aws logs create-log-group --log-group-name /ecs/claude-gateway334> aws logs create-log-group --log-group-name /ecs/claude-gateway

335aws logs put-retention-policy --log-group-name /ecs/claude-gateway \335> aws logs put-retention-policy --log-group-name /ecs/claude-gateway \

336 --retention-in-days 90336> --retention-in-days 90

337```337> ```

338 338>

339Escriba la definición de tarea. El rol de tarea lleva el permiso de Bedrock y el rol de ejecución inyecta los secretos; use los ARN de secretos del paso de Secrets Manager:339> Escriba la definición de tarea. El rol de tarea lleva el permiso de Bedrock y el rol de ejecución inyecta los secretos; use los ARN de secretos del paso de Secrets Manager:

340 340>

341```json claude-gateway-task.json theme={null}341> ```json claude-gateway-task.json theme={null}

342{342> {

343 "family": "claude-gateway",343> "family": "claude-gateway",

344 "networkMode": "awsvpc",344> "networkMode": "awsvpc",

345 "requiresCompatibilities": ["FARGATE"],345> "requiresCompatibilities": ["FARGATE"],

346 "cpu": "1024",346> "cpu": "1024",

347 "memory": "2048",347> "memory": "2048",

348 "runtimePlatform": { "cpuArchitecture": "X86_64", "operatingSystemFamily": "LINUX" },348> "runtimePlatform": { "cpuArchitecture": "X86_64", "operatingSystemFamily": "LINUX" },

349 "executionRoleArn": "arn:aws:iam::<account-id>:role/claude-gateway-execution",349> "executionRoleArn": "arn:aws:iam::<account-id>:role/claude-gateway-execution",

350 "taskRoleArn": "arn:aws:iam::<account-id>:role/claude-gateway-task",350> "taskRoleArn": "arn:aws:iam::<account-id>:role/claude-gateway-task",

351 "containerDefinitions": [351> "containerDefinitions": [

352 {352> {

353 "name": "gateway",353> "name": "gateway",

354 "image": "<account-id>.dkr.ecr.<region>.amazonaws.com/claude-gateway:<version>",354> "image": "<account-id>.dkr.ecr.<region>.amazonaws.com/claude-gateway:<version>",

355 "portMappings": [{ "containerPort": 8080 }],355> "portMappings": [{ "containerPort": 8080 }],

356 "secrets": [356> "secrets": [

357 { "name": "GATEWAY_JWT_SECRET", "valueFrom": "<gateway-jwt-secret ARN>" },357> { "name": "GATEWAY_JWT_SECRET", "valueFrom": "<gateway-jwt-secret ARN>" },

358 { "name": "OIDC_CLIENT_SECRET", "valueFrom": "<gateway-oidc-client-secret ARN>" },358> { "name": "OIDC_CLIENT_SECRET", "valueFrom": "<gateway-oidc-client-secret ARN>" },

359 { "name": "GATEWAY_POSTGRES_URL", "valueFrom": "<gateway-postgres-url ARN>" }359> { "name": "GATEWAY_POSTGRES_URL", "valueFrom": "<gateway-postgres-url ARN>" }

360 ],360> ],

361 "logConfiguration": {361> "logConfiguration": {

362 "logDriver": "awslogs",362> "logDriver": "awslogs",

363 "options": {363> "options": {

364 "awslogs-group": "/ecs/claude-gateway",364> "awslogs-group": "/ecs/claude-gateway",

365 "awslogs-region": "<region>",365> "awslogs-region": "<region>",

366 "awslogs-stream-prefix": "gateway"366> "awslogs-stream-prefix": "gateway"

367 }367> }

368 }368> }

369 }369> }

370 ]370> ]

371}371> }

372```372> ```

373 373>

374Regístrelo:374> Regístrelo:

375 375>

376```bash theme={null}376> ```bash theme={null}

377aws ecs register-task-definition --cli-input-json file://claude-gateway-task.json377> aws ecs register-task-definition --cli-input-json file://claude-gateway-task.json

378```378> ```

379 379>

380Coloque un ALB interno al frente con un grupo de destino que verifique la salud del gateway. `--ip-address-type ipv4` importa: un ALB dual-stack interno publica registros AAAA de rango público, que la verificación de red privada de `/login` rechaza:380> Coloque un ALB interno al frente con un grupo de destino que verifique la salud del gateway. `--ip-address-type ipv4` importa: un ALB dual-stack interno publica registros AAAA de rango público, que la verificación de red privada de `/login` rechaza:

381 381>

382```bash theme={null}382> ```bash theme={null}

383ALB_ARN="$(aws elbv2 create-load-balancer --name claude-gateway \383> ALB_ARN="$(aws elbv2 create-load-balancer --name claude-gateway \

384 --scheme internal --type application --ip-address-type ipv4 \384> --scheme internal --type application --ip-address-type ipv4 \

385 --subnets $PRIVATE_SUBNETS --security-groups "$ALB_SG" \385> --subnets $PRIVATE_SUBNETS --security-groups "$ALB_SG" \

386 --query 'LoadBalancers[0].LoadBalancerArn' --output text)"386> --query 'LoadBalancers[0].LoadBalancerArn' --output text)"

387 387>

388TG_ARN="$(aws elbv2 create-target-group --name claude-gateway \388> TG_ARN="$(aws elbv2 create-target-group --name claude-gateway \

389 --protocol HTTP --port 8080 --vpc-id "$VPC_ID" --target-type ip \389> --protocol HTTP --port 8080 --vpc-id "$VPC_ID" --target-type ip \

390 --health-check-path /readyz \390> --health-check-path /readyz \

391 --query 'TargetGroups[0].TargetGroupArn' --output text)"391> --query 'TargetGroups[0].TargetGroupArn' --output text)"

392```392> ```

393 393>

394Agregue el oyente HTTPS. `--ssl-policy` fija un piso TLS moderno, ya que omitirlo vuelve a la política predeterminada heredada `ELBSecurityPolicy-2016-08`, que aún acepta TLS 1.0/1.1.394> Agregue el oyente HTTPS. `--ssl-policy` fija un piso TLS moderno, ya que omitirlo vuelve a la política predeterminada heredada `ELBSecurityPolicy-2016-08`, que aún acepta TLS 1.0/1.1.

395 395>

396El ALB cierra una conexión después de 60 segundos sin datos de forma predeterminada. Los pings de keepalive del gateway mantienen los streams dentro de ese predeterminado, por lo que aumentar el tiempo de espera añade margen por encima de la cadencia de ping; la fila [Solución de problemas](#troubleshooting) sobre streams descartados cubre el mecanismo y gateways más antiguos. Los comandos a continuación añaden el oyente y aumentan el tiempo de espera:396> El ALB cierra una conexión después de 60 segundos sin datos de forma predeterminada. Los pings de keepalive del gateway mantienen los streams dentro de ese predeterminado, por lo que aumentar el tiempo de espera añade margen por encima de la cadencia de ping; la fila [Solución de problemas](#troubleshooting) sobre streams descartados cubre el mecanismo y gateways más antiguos. Los comandos a continuación añaden el oyente y aumentan el tiempo de espera:

397 397>

398```bash theme={null}398> ```bash theme={null}

399aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \399> aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \

400 --protocol HTTPS --port 443 \400> --protocol HTTPS --port 443 \

401 --ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \401> --ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \

402 --certificates CertificateArn=<your-acm-certificate-arn> \402> --certificates CertificateArn=<your-acm-certificate-arn> \

403 --default-actions Type=forward,TargetGroupArn="$TG_ARN"403> --default-actions Type=forward,TargetGroupArn="$TG_ARN"

404 404>

405aws elbv2 modify-load-balancer-attributes --load-balancer-arn "$ALB_ARN" \405> aws elbv2 modify-load-balancer-attributes --load-balancer-arn "$ALB_ARN" \

406 --attributes Key=idle_timeout.timeout_seconds,Value=3600406> --attributes Key=idle_timeout.timeout_seconds,Value=3600

407```407> ```

408 408>

409Cree el servicio. El disyuntor de implementación revierte una implementación cuyos tareas siguen fallando, de una imagen mala o una configuración no arrancable, al último estado estable en lugar de relanzar tareas fallidas para siempre:409> Cree el servicio. El disyuntor de implementación revierte una implementación cuyos tareas siguen fallando, de una imagen mala o una configuración no arrancable, al último estado estable en lugar de relanzar tareas fallidas para siempre:

410 410>

411```bash theme={null}411> ```bash theme={null}

412aws ecs create-service --cluster claude-gateway --service-name claude-gateway \412> aws ecs create-service --cluster claude-gateway --service-name claude-gateway \

413 --task-definition claude-gateway --desired-count 1 --launch-type FARGATE \413> --task-definition claude-gateway --desired-count 1 --launch-type FARGATE \

414 --deployment-configuration "deploymentCircuitBreaker={enable=true,rollback=true}" \414> --deployment-configuration "deploymentCircuitBreaker={enable=true,rollback=true}" \

415 --health-check-grace-period-seconds 60 \415> --health-check-grace-period-seconds 60 \

416 --network-configuration "awsvpcConfiguration={subnets=[$(echo $PRIVATE_SUBNETS | tr ' ' ',')],securityGroups=[$GW_SG],assignPublicIp=DISABLED}" \416> --network-configuration "awsvpcConfiguration={subnets=[$(echo $PRIVATE_SUBNETS | tr ' ' ',')],securityGroups=[$GW_SG],assignPublicIp=DISABLED}" \

417 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"417> --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"

418```418> ```

419 419>

420El período de gracia de 60 segundos da a una tarea fría tiempo para extraer la imagen, conectarse al almacén y responder su primera verificación de salud antes de que ECS comience a contar fallos contra la implementación.420> El período de gracia de 60 segundos da a una tarea fría tiempo para extraer la imagen, conectarse al almacén y responder su primera verificación de salud antes de que ECS comience a contar fallos contra la implementación.

421 421>

422La verificación de salud del grupo de destino en `GET /readyz` verifica que el almacén sea alcanzable, por lo que una tarea que no puede alcanzar Postgres nunca entra en rotación. Para mantener las tareas pasando la verificación a través de una interrupción breve de la base de datos como una conmutación por error de RDS, establezca `store.readiness_grace_seconds` como se describe en [Comportamiento de interrupción](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#outage-behavior), que también cubre la alternativa `/healthz`.422> La verificación de salud del grupo de destino en `GET /readyz` verifica que el almacén sea alcanzable, por lo que una tarea que no puede alcanzar Postgres nunca entra en rotación. Para mantener las tareas pasando la verificación a través de una interrupción breve de la base de datos como una conmutación por error de RDS, establezca `store.readiness_grace_seconds` como se describe en [Comportamiento de interrupción](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#outage-behavior), que también cubre la alternativa `/healthz`.

423 423>

424Las tareas se ejecutan en subredes privadas sin IP pública, por lo que todo el tráfico saliente (a Bedrock, su IdP, Secrets Manager, ECR y CloudWatch Logs) va a través de la puerta de enlace NAT. Para mantener el tráfico de Bedrock fuera de la ruta pública, cree un endpoint de VPC de interfaz `bedrock-runtime` y apunte el `base_url` del upstream a él, como se muestra en la [referencia de upstream de Bedrock](https://code.claude.com/docs/es/claude-apps-gateway-config.md#amazon-bedrock); el IdP aún necesita salida a internet.424> Las tareas se ejecutan en subredes privadas sin IP pública, por lo que todo el tráfico saliente (a Bedrock, su IdP, Secrets Manager, ECR y CloudWatch Logs) va a través de la puerta de enlace NAT. Para mantener el tráfico de Bedrock fuera de la ruta pública, cree un endpoint de VPC de interfaz `bedrock-runtime` y apunte el `base_url` del upstream a él, como se muestra en la [referencia de upstream de Bedrock](https://code.claude.com/docs/es/claude-apps-gateway-config.md#amazon-bedrock); el IdP aún necesita salida a internet.

425 425>

426Termine dando a los desarrolladores un nombre de host privadamente resoluble: en una zona alojada privada de Route 53, alias el nombre DNS interno del gateway al ALB, y establezca `listen.public_url` en ese nombre de host. El nombre `*.elb.amazonaws.com` propio del ALB se resuelve en direcciones privadas en un ALB interno, pero no puede llevar su certificado ACM, así que use su propio nombre.426> Termine dando a los desarrolladores un nombre de host privadamente resoluble: en una zona alojada privada de Route 53, alias el nombre DNS interno del gateway al ALB, y establezca `listen.public_url` en ese nombre de host. El nombre `*.elb.amazonaws.com` propio del ALB se resuelve en direcciones privadas en un ALB interno, pero no puede llevar su certificado ACM, así que use su propio nombre.

427 427>

428Actualice el URI de redirección autorizado del cliente OAuth a `<public_url>/oauth/callback` antes del primer inicio de sesión. Después de cambiar `public_url`, recompile e inserte la imagen bajo una etiqueta nueva, registre una nueva revisión de definición de tarea e reimplemente. En ECS la configuración vive en el `gateway.yaml` incrustado de la imagen, y el gateway construye su origen público solo a partir de esa configuración, ignorando `X-Forwarded-Host` y `X-Forwarded-Proto`. `X-Forwarded-For` se honra para las IP de los clientes solo cuando se establece `listen.trusted_proxies`.428> Actualice el URI de redirección autorizado del cliente OAuth a `<public_url>/oauth/callback` antes del primer inicio de sesión. Después de cambiar `public_url`, recompile e inserte la imagen bajo una etiqueta nueva, registre una nueva revisión de definición de tarea e reimplemente. En ECS la configuración vive en el `gateway.yaml` incrustado de la imagen, y el gateway construye su origen público solo a partir de esa configuración, ignorando `X-Forwarded-Host` y `X-Forwarded-Proto`. `X-Forwarded-For` se honra para las IP de los clientes solo cuando se establece `listen.trusted_proxies`.

429 

430**EKS**

431 

432Esta pista necesita `kubectl` y `eksctl` instalados localmente, y un clúster de EKS existente con un proveedor de OIDC de IAM y el Controlador de Equilibrador de Carga de AWS instalado. El clúster debe estar en `$VPC_ID` para que los pods puedan alcanzar el endpoint privado de RDS, y el grupo de seguridad `claude-gateway-db` debe admitir el grupo de seguridad del pod o nodo del clúster en lugar de `$GW_SG`.

433 

434En EKS el gateway obtiene sus credenciales de Bedrock a través de IRSA en lugar de los roles de ECS. La política de confianza `ecs-tasks.amazonaws.com` del paso de IAM no se aplica aquí; IRSA necesita un rol cuya política de confianza se federe en el proveedor de OIDC del clúster, limitado a `system:serviceaccount:claude-gateway:gateway`. `eksctl create iamserviceaccount` crea ese rol, adjunta las políticas y anota la cuenta de servicio de Kubernetes con el ARN del rol en un paso. Convierta los dos documentos de política del paso de IAM en políticas administradas que pueda adjuntar:

435 

436```bash theme={null}

437BEDROCK_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-bedrock-invoke \

438 --policy-document file://bedrock-invoke.json --query Policy.Arn --output text)"

439SECRETS_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-secrets-read \

440 --policy-document file://secrets-read.json --query Policy.Arn --output text)"

441 

442kubectl create namespace claude-gateway

443eksctl create iamserviceaccount --cluster <your-cluster> --region "$AWS_REGION" \

444 --namespace claude-gateway --name gateway --role-name claude-gateway \

445 --attach-policy-arn "$BEDROCK_POLICY_ARN" \

446 --attach-policy-arn "$SECRETS_POLICY_ARN" \

447 --approve

448```

449 

450La política de secretos es necesaria solo cuando los pods leen Secrets Manager ellos mismos, como lo hace el proveedor de AWS del controlador CSI de Secrets Store usando la cuenta de servicio del pod de montaje; elimínela si crea los Secretos de Kubernetes de otra manera. El proveedor necesita ambas acciones de la política: llama a `DescribeSecret` cuando reconcilia secretos rotados, por lo que una concesión de solo `GetSecretValue` monta en la primera implementación pero deja de recoger rotaciones.

451 

452Implemente el gateway como un Deployment estándar más un Service e Ingress, como se describe en [Implementación de Kubernetes](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#kubernetes), con:

453 

454* `serviceAccountName: gateway`

455* `gateway.yaml` montado desde un ConfigMap y los secretos montados en `/secrets`

456* la sonda de preparación apuntada a `GET /readyz`

457 

458Para el front end, un Ingress administrado por el Controlador de Equilibrador de Carga de AWS aprovisiona el ALB interno. Anótelo con:

459 

460* `alb.ingress.kubernetes.io/scheme: internal` y `alb.ingress.kubernetes.io/target-type: ip`

461* `alb.ingress.kubernetes.io/ip-address-type: ipv4`, para que no se publiquen registros AAAA de rango público para que la verificación de red privada de `/login` [rechace](https://code.claude.com/docs/es/claude-apps-gateway#prerequisites)

462* `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`, para que el grupo de seguridad frontend administrado por el controlador admita solo su red corporativa en lugar de su predeterminado `0.0.0.0/0`

463* `alb.ingress.kubernetes.io/certificate-arn` con el certificado ACM

464* `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`, para que el oyente no vuelva a la política predeterminada heredada que acepta TLS 1.0 y 1.1

465* `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`, un margen por encima del keepalive de streaming del gateway; consulte [Solución de problemas](#troubleshooting)

466 429 

467Con IRSA, el AWS SDK lee un token de cuenta de servicio proyectado e intercambia con AWS STS, por lo que el pod nunca necesita el servicio de metadatos de instancia de EC2; una NetworkPolicy de salida puede bloquear `169.254.169.254` para pods de gateway. El problema del límite de saltos de nodo en [Solución de problemas](#troubleshooting) a continuación se aplica solo a clústeres que omiten IRSA y se basan en roles de instancia de nodo.430> [tab] EKS

431>

432> Esta pista necesita `kubectl` y `eksctl` instalados localmente, y un clúster de EKS existente con un proveedor de OIDC de IAM y el Controlador de Equilibrador de Carga de AWS instalado. El clúster debe estar en `$VPC_ID` para que los pods puedan alcanzar el endpoint privado de RDS, y el grupo de seguridad `claude-gateway-db` debe admitir el grupo de seguridad del pod o nodo del clúster en lugar de `$GW_SG`.

433>

434> En EKS el gateway obtiene sus credenciales de Bedrock a través de IRSA en lugar de los roles de ECS. La política de confianza `ecs-tasks.amazonaws.com` del paso de IAM no se aplica aquí; IRSA necesita un rol cuya política de confianza se federe en el proveedor de OIDC del clúster, limitado a `system:serviceaccount:claude-gateway:gateway`. `eksctl create iamserviceaccount` crea ese rol, adjunta las políticas y anota la cuenta de servicio de Kubernetes con el ARN del rol en un paso. Convierta los dos documentos de política del paso de IAM en políticas administradas que pueda adjuntar:

435>

436> ```bash theme={null}

437> BEDROCK_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-bedrock-invoke \

438> --policy-document file://bedrock-invoke.json --query Policy.Arn --output text)"

439> SECRETS_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-secrets-read \

440> --policy-document file://secrets-read.json --query Policy.Arn --output text)"

441>

442> kubectl create namespace claude-gateway

443> eksctl create iamserviceaccount --cluster <your-cluster> --region "$AWS_REGION" \

444> --namespace claude-gateway --name gateway --role-name claude-gateway \

445> --attach-policy-arn "$BEDROCK_POLICY_ARN" \

446> --attach-policy-arn "$SECRETS_POLICY_ARN" \

447> --approve

448> ```

449>

450> La política de secretos es necesaria solo cuando los pods leen Secrets Manager ellos mismos, como lo hace el proveedor de AWS del controlador CSI de Secrets Store usando la cuenta de servicio del pod de montaje; elimínela si crea los Secretos de Kubernetes de otra manera. El proveedor necesita ambas acciones de la política: llama a `DescribeSecret` cuando reconcilia secretos rotados, por lo que una concesión de solo `GetSecretValue` monta en la primera implementación pero deja de recoger rotaciones.

451>

452> Implemente el gateway como un Deployment estándar más un Service e Ingress, como se describe en [Implementación de Kubernetes](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#kubernetes), con:

453>

454> * `serviceAccountName: gateway`

455> * `gateway.yaml` montado desde un ConfigMap y los secretos montados en `/secrets`

456> * la sonda de preparación apuntada a `GET /readyz`

457>

458> Para el front end, un Ingress administrado por el Controlador de Equilibrador de Carga de AWS aprovisiona el ALB interno. Anótelo con:

459>

460> * `alb.ingress.kubernetes.io/scheme: internal` y `alb.ingress.kubernetes.io/target-type: ip`

461> * `alb.ingress.kubernetes.io/ip-address-type: ipv4`, para que no se publiquen registros AAAA de rango público para que la verificación de red privada de `/login` [rechace](https://code.claude.com/docs/es/claude-apps-gateway#prerequisites)

462> * `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`, para que el grupo de seguridad frontend administrado por el controlador admita solo su red corporativa en lugar de su predeterminado `0.0.0.0/0`

463> * `alb.ingress.kubernetes.io/certificate-arn` con el certificado ACM

464> * `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`, para que el oyente no vuelva a la política predeterminada heredada que acepta TLS 1.0 y 1.1

465> * `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`, un margen por encima del keepalive de streaming del gateway; consulte [Solución de problemas](#troubleshooting)

466>

467> Con IRSA, el AWS SDK lee un token de cuenta de servicio proyectado e intercambia con AWS STS, por lo que el pod nunca necesita el servicio de metadatos de instancia de EC2; una NetworkPolicy de salida puede bloquear `169.254.169.254` para pods de gateway. El problema del límite de saltos de nodo en [Solución de problemas](#troubleshooting) a continuación se aplica solo a clústeres que omiten IRSA y se basan en roles de instancia de nodo.

468 468 

469**8. Envía la URL del gateway a las máquinas de los desarrolladores**469**8. Envía la URL del gateway a las máquinas de los desarrolladores**

470 470 

Details

203 203 

204**7. Implementar**204**7. Implementar**

205 205 

206**Cloud Run**206> [tab] Cloud Run

207 

208El comando a continuación se implementa para producción detrás de un equilibrador de carga interno.

209 

210```bash theme={null}

211gcloud run deploy claude-gateway \

212 --image="${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" \

213 --region="$REGION" \

214 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

215 --min-instances=1 \

216 --max-instances=8 \

217 --timeout=3600 \

218 --ingress=internal \

219 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

220 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

221 --no-invoker-iam-check

222```

223 

224La salida directa de VPC, mediante `--network`, `--subnet` y `--vpc-egress=private-ranges-only`, permite que el servicio acceda directamente a la IP privada de Cloud SQL. La salida pública hacia los endpoints de Agent Platform de Google Cloud y `accounts.google.com` va directamente a Internet en lugar de pasar por la VPC, por lo que no se necesita Cloud NAT.

225 

226> [!NOTE]

227>207>

228> Cada instancia mantiene hasta [`store.max_connections`](https://code.claude.com/docs/es/claude-apps-gateway-config#store) conexiones de Postgres, cinco por defecto. Usa [Dimensionar el pool de conexiones](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#size-the-connection-pool) para comprobar `--max-instances=8` frente a las conexiones que tu base de datos tiene disponibles para el gateway, e incluye las instancias adicionales que inicia una actualización gradual.208> El comando a continuación se implementa para producción detrás de un equilibrador de carga interno.

229 209>

230La verificación de IAM del invocador debe estar abierta o deshabilitada. La puerta de enlace ejecuta su propio OIDC y sus clientes no llevan ningún token de GCP, por lo que la verificación del invocador de Cloud Run tiene que admitir solicitudes no autenticadas. La autenticación OIDC de la puerta de enlace autentica la solicitud una vez que llega al contenedor, con `allowed_email_domains` controlando qué dominios pueden iniciar sesión.210> ```bash theme={null}

231 211> gcloud run deploy claude-gateway \

232Dos indicadores admiten solicitudes no autenticadas:212> --image="${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" \

233 213> --region="$REGION" \

234* `--no-invoker-iam-check`: deshabilita la verificación sin ningún enlace `allUsers` para administrar, y funciona bajo Domain Restricted Sharing214> --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

235* `--allow-unauthenticated`: otorga al rol `run.invoker` a `allUsers`; úselo si su organización no permite `--no-invoker-iam-check`215> --min-instances=1 \

236 216> --max-instances=8 \

237La restricción de ingreso a través de `--ingress` es una capa separada e independiente de la verificación del invocador; manténgala establecida para limitar el servicio a su red corporativa.217> --timeout=3600 \

238 218> --ingress=internal \

239Por defecto, la URL de Cloud Run `*.run.app` se resuelve a una dirección pública, que la [verificación de red privada](https://code.claude.com/docs/es/claude-apps-gateway#prerequisites) de `/login` rechaza. Dos topologías dan a los desarrolladores un nombre de host resolvible de forma privada, y Cloud Run no aprovisiona ninguno para usted:219> --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

240 220> --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

241* **Balanceador de carga de aplicaciones interno**, la topología que asume el `gateway.yaml` de esta página: aprovisiona un balanceador de carga de aplicaciones interno delante del servicio con un nombre DNS interno y un certificado, y establece `listen.public_url` en ese nombre de host. El ajuste de ingreso `internal` ya admite tráfico de balanceadores de carga de aplicaciones internos; `internal-and-cloud-load-balancing` admite además balanceadores de carga de aplicaciones externos, cuyas direcciones públicas rechaza la verificación de red privada de `/login`, por lo que ninguna topología de esta página lo necesita.221> --no-invoker-iam-check

242* **Ingreso solo interno sin balanceador de carga**: mantén el comando de despliegue tal como está y deja `listen.public_url` como la URL `*.run.app`, el valor predeterminado en los [recursos de referencia](#terraform-reference) a continuación. Para que `*.run.app` se resuelva de forma privada, tu equipo de red ya debe operar un endpoint de Private Service Connect para las API de Google, una zona privada de Cloud DNS que resuelva `*.run.app` en él y enrutamiento local hacia ese endpoint.222> ```

243 223>

244La [guía de redes privadas de Google para Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) cubre la infraestructura que ambas opciones necesitan. Verifique el inicio de sesión una vez que la puerta de enlace esté sirviendo en un nombre de host privado; hasta entonces, confirme que el contenedor se inició desde sus registros en Cloud Run.224> La salida directa de VPC, mediante `--network`, `--subnet` y `--vpc-egress=private-ranges-only`, permite que el servicio acceda directamente a la IP privada de Cloud SQL. La salida pública hacia los endpoints de Agent Platform de Google Cloud y `accounts.google.com` va directamente a Internet en lugar de pasar por la VPC, por lo que no se necesita Cloud NAT.

245 225>

246Actualice el URI de redirección autorizado del cliente OAuth a `<public_url>/oauth/callback` antes del primer inicio de sesión. Reimplemente después de cambiar `public_url`, porque la puerta de enlace construye su origen público solo a partir de esa configuración e ignora `X-Forwarded-Host` y `X-Forwarded-Proto`. `X-Forwarded-For` se honra para las IP de cliente solo cuando `listen.trusted_proxies` está establecido.226> > [!NOTE]

247 227> >

248**GKE**228> > Cada instancia mantiene hasta [`store.max_connections`](https://code.claude.com/docs/es/claude-apps-gateway-config#store) conexiones de Postgres, cinco por defecto. Usa [Dimensionar el pool de conexiones](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#size-the-connection-pool) para comprobar `--max-instances=8` frente a las conexiones que tu base de datos tiene disponibles para el gateway, e incluye las instancias adicionales que inicia una actualización gradual.

249 229>

250El clúster debe estar en la `$VPC` creada en el paso de Cloud SQL para que los pods puedan alcanzar la IP privada de la base de datos; el emparejamiento de VPC solo no funciona, porque la IP privada de Cloud SQL es en sí misma una red emparejada y el emparejamiento no es transitivo. Para crear un nuevo clúster en esa VPC, pase `--network="$VPC" --subnetwork=cc-gateway-subnet` a `gcloud container clusters create`.230> La verificación de IAM del invocador debe estar abierta o deshabilitada. La puerta de enlace ejecuta su propio OIDC y sus clientes no llevan ningún token de GCP, por lo que la verificación del invocador de Cloud Run tiene que admitir solicitudes no autenticadas. La autenticación OIDC de la puerta de enlace autentica la solicitud una vez que llega al contenedor, con `allowed_email_domains` controlando qué dominios pueden iniciar sesión.

251 231>

252Habilite Workload Identity en el clúster y sus grupos de nodos, luego vincule la cuenta de servicio de Google a la cuenta de servicio de Kubernetes para que los pods hereden sus credenciales:232> Dos indicadores admiten solicitudes no autenticadas:

253 233>

254```bash theme={null}234> * `--no-invoker-iam-check`: deshabilita la verificación sin ningún enlace `allUsers` para administrar, y funciona bajo Domain Restricted Sharing

255gcloud container clusters update <cluster> --region="$REGION" \235> * `--allow-unauthenticated`: otorga al rol `run.invoker` a `allUsers`; úselo si su organización no permite `--no-invoker-iam-check`

256 --workload-pool="${PROJECT_ID}.svc.id.goog"236>

257# On a Standard cluster, existing node pools also need GKE_METADATA;237> La restricción de ingreso a través de `--ingress` es una capa separada e independiente de la verificación del invocador; manténgala establecida para limitar el servicio a su red corporativa.

258# Autopilot enables this by default.238>

259gcloud container node-pools update <pool> --cluster=<cluster> \239> Por defecto, la URL de Cloud Run `*.run.app` se resuelve a una dirección pública, que la [verificación de red privada](https://code.claude.com/docs/es/claude-apps-gateway#prerequisites) de `/login` rechaza. Dos topologías dan a los desarrolladores un nombre de host resolvible de forma privada, y Cloud Run no aprovisiona ninguno para usted:

260 --region="$REGION" --workload-metadata=GKE_METADATA240>

261 241> * **Balanceador de carga de aplicaciones interno**, la topología que asume el `gateway.yaml` de esta página: aprovisiona un balanceador de carga de aplicaciones interno delante del servicio con un nombre DNS interno y un certificado, y establece `listen.public_url` en ese nombre de host. El ajuste de ingreso `internal` ya admite tráfico de balanceadores de carga de aplicaciones internos; `internal-and-cloud-load-balancing` admite además balanceadores de carga de aplicaciones externos, cuyas direcciones públicas rechaza la verificación de red privada de `/login`, por lo que ninguna topología de esta página lo necesita.

262kubectl create namespace claude-gateway242> * **Ingreso solo interno sin balanceador de carga**: mantén el comando de despliegue tal como está y deja `listen.public_url` como la URL `*.run.app`, el valor predeterminado en los [recursos de referencia](#terraform-reference) a continuación. Para que `*.run.app` se resuelva de forma privada, tu equipo de red ya debe operar un endpoint de Private Service Connect para las API de Google, una zona privada de Cloud DNS que resuelva `*.run.app` en él y enrutamiento local hacia ese endpoint.

263kubectl create serviceaccount gateway -n claude-gateway243>

264 244> La [guía de redes privadas de Google para Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) cubre la infraestructura que ambas opciones necesitan. Verifique el inicio de sesión una vez que la puerta de enlace esté sirviendo en un nombre de host privado; hasta entonces, confirme que el contenedor se inició desde sus registros en Cloud Run.

265gcloud iam service-accounts add-iam-policy-binding \245>

266 "claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \246> Actualice el URI de redirección autorizado del cliente OAuth a `<public_url>/oauth/callback` antes del primer inicio de sesión. Reimplemente después de cambiar `public_url`, porque la puerta de enlace construye su origen público solo a partir de esa configuración e ignora `X-Forwarded-Host` y `X-Forwarded-Proto`. `X-Forwarded-For` se honra para las IP de cliente solo cuando `listen.trusted_proxies` está establecido.

267 --role roles/iam.workloadIdentityUser \

268 --member "serviceAccount:${PROJECT_ID}.svc.id.goog[claude-gateway/gateway]"

269 

270kubectl annotate serviceaccount gateway -n claude-gateway \

271 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

272```

273 

274Implemente la puerta de enlace como un Deployment estándar más un Service e un Ingress interno, clase `gce-internal`, como se describe en [Implementación de Kubernetes](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#kubernetes), con:

275 

276* `serviceAccountName: gateway`

277* el controlador CSI de Secret Manager montando secretos en `/secrets`

278* la sonda de disponibilidad apuntando a `GET /readyz`

279 

280Adjunte un BackendConfig con un `timeoutSec` elevado al Service de la puerta de enlace: el servicio backend del equilibrador de carga detrás de GKE Ingress tiene un tiempo de espera predeterminado de 30 segundos, que corta las respuestas de transmisión larga.

281 

282No aplique una NetworkPolicy de salida que bloquee `169.254.169.254` en un clúster de Workload Identity; el pod debe alcanzar el servidor de metadatos para las credenciales. La [protección SSRF](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#threat-model-summary) integrada de la puerta de enlace es la defensa allí.

283 247 

284La puerta de enlace registra una advertencia de arranque de que el punto final de metadatos es alcanzable y sugiere aplicar una NetworkPolicy de salida. Bajo Workload Identity esa advertencia es esperada, porque el pod necesita el punto final.248> [tab] GKE

249>

250> El clúster debe estar en la `$VPC` creada en el paso de Cloud SQL para que los pods puedan alcanzar la IP privada de la base de datos; el emparejamiento de VPC solo no funciona, porque la IP privada de Cloud SQL es en sí misma una red emparejada y el emparejamiento no es transitivo. Para crear un nuevo clúster en esa VPC, pase `--network="$VPC" --subnetwork=cc-gateway-subnet` a `gcloud container clusters create`.

251>

252> Habilite Workload Identity en el clúster y sus grupos de nodos, luego vincule la cuenta de servicio de Google a la cuenta de servicio de Kubernetes para que los pods hereden sus credenciales:

253>

254> ```bash theme={null}

255> gcloud container clusters update <cluster> --region="$REGION" \

256> --workload-pool="${PROJECT_ID}.svc.id.goog"

257> # On a Standard cluster, existing node pools also need GKE_METADATA;

258> # Autopilot enables this by default.

259> gcloud container node-pools update <pool> --cluster=<cluster> \

260> --region="$REGION" --workload-metadata=GKE_METADATA

261>

262> kubectl create namespace claude-gateway

263> kubectl create serviceaccount gateway -n claude-gateway

264>

265> gcloud iam service-accounts add-iam-policy-binding \

266> "claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

267> --role roles/iam.workloadIdentityUser \

268> --member "serviceAccount:${PROJECT_ID}.svc.id.goog[claude-gateway/gateway]"

269>

270> kubectl annotate serviceaccount gateway -n claude-gateway \

271> iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

272> ```

273>

274> Implemente la puerta de enlace como un Deployment estándar más un Service e un Ingress interno, clase `gce-internal`, como se describe en [Implementación de Kubernetes](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#kubernetes), con:

275>

276> * `serviceAccountName: gateway`

277> * el controlador CSI de Secret Manager montando secretos en `/secrets`

278> * la sonda de disponibilidad apuntando a `GET /readyz`

279>

280> Adjunte un BackendConfig con un `timeoutSec` elevado al Service de la puerta de enlace: el servicio backend del equilibrador de carga detrás de GKE Ingress tiene un tiempo de espera predeterminado de 30 segundos, que corta las respuestas de transmisión larga.

281>

282> No aplique una NetworkPolicy de salida que bloquee `169.254.169.254` en un clúster de Workload Identity; el pod debe alcanzar el servidor de metadatos para las credenciales. La [protección SSRF](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#threat-model-summary) integrada de la puerta de enlace es la defensa allí.

283>

284> La puerta de enlace registra una advertencia de arranque de que el punto final de metadatos es alcanzable y sugiere aplicar una NetworkPolicy de salida. Bajo Workload Identity esa advertencia es esperada, porque el pod necesita el punto final.

285 285 

286**8. Enviar la URL del gateway a las máquinas de los desarrolladores**286**8. Enviar la URL del gateway a las máquinas de los desarrolladores**

287 287 

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Las sesiones en la nube están disponibles en los planes Pro, Max y Team, y para usuarios Enterprise con asientos premium o asientos Chat + Claude Code. Si tu acceso se rige por [roles personalizados](https://support.claude.com/en/articles/13930452), también necesitas un rol con el permiso de sesiones en la nube para iniciar sesiones en la infraestructura de Anthropic desde el navegador, las aplicaciones o la terminal. Pídele a un Owner que lo agregue a uno de tus roles en [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).11> Las sesiones en la nube están disponibles en los planes Pro, Max, Ultra y Team, y para usuarios Enterprise con asientos premium o asientos Chat + Claude Code. Si tu acceso se rige por [roles personalizados](https://support.claude.com/en/articles/13930452), también necesitas un rol con el permiso de sesiones en la nube para iniciar sesiones en la infraestructura de Anthropic desde el navegador, las aplicaciones o la terminal. Pídele a un Owner que lo agregue a uno de tus roles en [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

12 12 

13Una sesión en la nube es una sesión de Claude Code que se ejecuta en infraestructura en la nube en lugar de en tu máquina. De forma predeterminada, se ejecuta en infraestructura que Anthropic administra, o en el [entorno autohospedado](https://code.claude.com/docs/es/self-hosted-environments) de tu organización cuando se enruta allí. La sesión sigue ejecutándose después de cerrar tu portátil, y puedes verificarla o dirigirla desde cualquier dispositivo. Cuenta para los límites de uso de tu plan junto con el resto de tu uso de Claude y Claude Code, y no hay un cargo aparte por la VM en la nube.13Una sesión en la nube es una sesión de Claude Code que se ejecuta en infraestructura en la nube en lugar de en tu máquina. De forma predeterminada, se ejecuta en infraestructura que Anthropic administra, o en el [entorno autohospedado](https://code.claude.com/docs/es/self-hosted-environments) de tu organización cuando se enruta allí. La sesión sigue ejecutándose después de cerrar tu portátil, y puedes verificarla o dirigirla desde cualquier dispositivo. Cuenta para los límites de uso de tu plan junto con el resto de tu uso de Claude y Claude Code, y no hay un cargo aparte por la VM en la nube.

14 14 


342* **Tu nombre**: el nombre para mostrar de tu cuenta es visible para todos los destinatarios con acceso342* **Tu nombre**: el nombre para mostrar de tu cuenta es visible para todos los destinatarios con acceso

343* **Sesiones de Slack**: las sesiones de [Claude en Slack](https://code.claude.com/docs/es/slack.md) se comparten automáticamente con visibilidad de Team343* **Sesiones de Slack**: las sesiones de [Claude en Slack](https://code.claude.com/docs/es/slack.md) se comparten automáticamente con visibilidad de Team

344 344 

345#### Compartir desde una cuenta Max o Pro345#### Compartir desde una cuenta Max, Ultra o Pro

346 

347Así funciona el uso compartido para cuentas Max y Pro:

348 346 

349* **Opciones de visibilidad**: **Private** y **Public**. La visibilidad pública hace que la sesión sea visible para cualquier usuario que haya iniciado sesión en claude.ai347* **Opciones de visibilidad**: **Private** y **Public**. La visibilidad pública hace que la sesión sea visible para cualquier usuario que haya iniciado sesión en claude.ai

350* **Acceso al repositorio**: la verificación no está habilitada de forma predeterminada348* **Acceso al repositorio**: la verificación no está habilitada de forma predeterminada

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Projects está en beta pública en los planes Pro y Max y se está implementando gradualmente. El despliegue comenzó con cuentas que han utilizado [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) y no tienen proyectos existentes en el chat de claude.ai o en Cowork. Projects aún no se ofrece en los planes Team o Enterprise.11> Projects está en beta pública en los planes Pro, Max y Ultra y se está implementando gradualmente. El despliegue comenzó con cuentas que han utilizado [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) y no tienen proyectos existentes en el chat de claude.ai o en Cowork. Projects aún no se ofrece en los planes Team o Enterprise.

12>12>

13> Si **Projects** no aparece en la barra lateral en [claude.ai/code](https://claude.ai/code) ni en la pestaña Code de la [aplicación de escritorio](https://code.claude.com/docs/es/desktop.md), búscalo en **More** allí. Si tampoco aparece ahí, el despliegue aún no ha llegado a tu cuenta. Puedes [unirte a la lista de espera](https://claude.com/form/projects), y consulta [Ejecutar agentes en paralelo](https://code.claude.com/docs/es/agents.md) para ver lo que puedes usar mientras tanto.13> Si **Projects** no aparece en la barra lateral en [claude.ai/code](https://claude.ai/code) ni en la pestaña Code de la [aplicación de escritorio](https://code.claude.com/docs/es/desktop.md), búscalo en **More** allí. Si tampoco aparece ahí, el despliegue aún no ha llegado a tu cuenta. Puedes [unirte a la lista de espera](https://claude.com/form/projects), y consulta [Ejecutar agentes en paralelo](https://code.claude.com/docs/es/agents.md) para ver lo que puedes usar mientras tanto.

14 14 


78 78 

79Antes de crear un proyecto, revisa tu plan, tu configuración de GitHub y a qué necesita acceder el trabajo:79Antes de crear un proyecto, revisa tu plan, tu configuración de GitHub y a qué necesita acceder el trabajo:

80 80 

81* **Plan**: tienes Pro o Max, y **Projects** aparece en tu barra lateral, directamente o en **More**. Selecciona **Projects** y comprueba que ofrece **New project** o **Get started**.81* **Plan**: tienes Pro, Max o Ultra, y **Projects** aparece en tu barra lateral, directamente o en **More**. Selecciona **Projects** y comprueba que ofrece **New project** o **Get started**.

82* **GitHub, si el proyecto va a trabajar con código**: tu código está en github.com y no en GitHub Enterprise Server, GitLab ni Bitbucket, tu cuenta de GitHub conectada tiene acceso de push a él y la Claude GitHub App está instalada en él. Si conectaste GitHub con [`/web-setup`](https://code.claude.com/docs/es/web-quickstart#connect-from-your-terminal), ese token permite que tus otras sesiones en la nube accedan a un repositorio, pero no es suficiente para los hilos en la nube de un proyecto, que necesitan la Claude GitHub App. [Configurar el acceso a GitHub](#set-up-github-access) tiene los pasos.82* **GitHub, si el proyecto va a trabajar con código**: tu código está en github.com y no en GitHub Enterprise Server, GitLab ni Bitbucket, tu cuenta de GitHub conectada tiene acceso de push a él y la Claude GitHub App está instalada en él. Si conectaste GitHub con [`/web-setup`](https://code.claude.com/docs/es/web-quickstart#connect-from-your-terminal), ese token permite que tus otras sesiones en la nube accedan a un repositorio, pero no es suficiente para los hilos en la nube de un proyecto, que necesitan la Claude GitHub App. [Configurar el acceso a GitHub](#set-up-github-access) tiene los pasos.

83* **Acceso a la red, secretos y herramientas**: para los hilos en la nube, provienen del [entorno en la nube](#choose-an-environment-for-threads) del proyecto. El entorno predeterminado ya accede a los [registros de paquetes comunes](https://code.claude.com/docs/es/cloud-environments.md#default-allowed-domains), así que revisa esto solo si el trabajo necesita otros dominios, un secreto o una herramienta que no esté preinstalada. Si el trabajo necesita un servidor MCP, comprueba que aparece como conectado en tus [conectores de claude.ai](https://claude.ai/customize/connectors).83* **Acceso a la red, secretos y herramientas**: para los hilos en la nube, provienen del [entorno en la nube](#choose-an-environment-for-threads) del proyecto. El entorno predeterminado ya accede a los [registros de paquetes comunes](https://code.claude.com/docs/es/cloud-environments.md#default-allowed-domains), así que revisa esto solo si el trabajo necesita otros dominios, un secreto o una herramienta que no esté preinstalada. Si el trabajo necesita un servidor MCP, comprueba que aparece como conectado en tus [conectores de claude.ai](https://claude.ai/customize/connectors).

84 84 


421 421 

422Abre **Usage** en **Project settings** para ver el uso de tokens por hilo y por modelo, y cuánto fue a la conversación del proyecto. Para reducirlo:422Abre **Usage** en **Project settings** para ver el uso de tokens por hilo y por modelo, y cuánto fue a la conversación del proyecto. Para reducirlo:

423 423 

424* Un seguimiento enrutado a un hilo que ha estado inactivo más tiempo que la [vida útil del caché](https://code.claude.com/docs/es/prompt-caching.md#cache-lifetime), una hora en Pro y Max dentro de los límites de tu plan, vuelve a leer toda la conversación de ese hilo antes de hacer nada. Para trabajo nuevo, pedirle a Claude que comience un hilo fresco puede usar menos que revivir uno antiguo grande.424* En Pro, Max y Ultra dentro de los límites de tu plan, la [vida útil de la caché](https://code.claude.com/docs/es/prompt-caching.md#cache-lifetime) es de una hora. Un hilo que ha estado inactivo más tiempo que eso vuelve a leer toda su conversación antes de hacer nada cuando le llega un seguimiento. Para trabajo nuevo, pídele a Claude que comience un hilo nuevo, lo cual puede usar menos que revivir uno antiguo grande.

425* Para trabajo que no necesita el modelo más grande, [elige un modelo más pequeño o un nivel de esfuerzo más bajo](#choose-models-and-let-claude-manage-context) para hilos, la conversación, o ambos.425* Para trabajo que no necesita el modelo más grande, [elige un modelo más pequeño o un nivel de esfuerzo más bajo](#choose-models-and-let-claude-manage-context) para hilos, la conversación, o ambos.

426* Pídele a Claude en la conversación del proyecto que ejecute menos hilos a la vez, o que responda pequeñas preguntas él mismo en lugar de comenzar un hilo.426* Pídele a Claude en la conversación del proyecto que ejecute menos hilos a la vez, o que responda pequeñas preguntas él mismo en lugar de comenzar un hilo.

427 427 


429 429 

430Varias características de Claude Code permiten que más de una sesión trabaje al mismo tiempo, así que ejecutar trabajo en paralelo no es por sí solo para qué es un proyecto. En un proyecto, Claude comienza y rastrea las sesiones en lugar de usted, y cada una comienza desde las mismas instrucciones. Así es como cada característica vecina se conecta a un proyecto:430Varias características de Claude Code permiten que más de una sesión trabaje al mismo tiempo, así que ejecutar trabajo en paralelo no es por sí solo para qué es un proyecto. En un proyecto, Claude comienza y rastrea las sesiones en lugar de usted, y cada una comienza desde las mismas instrucciones. Así es como cada característica vecina se conecta a un proyecto:

431 431 

432* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) es Claude en los canales de Slack de tu equipo, en planes Team y Enterprise. Cualquiera en un canal puede darle trabajo, todos en el canal lo ven y lo dirigen, y utiliza conexiones que un administrador configuró para ese canal. Un proyecto es solo tuyo: eres el único que le envía trabajo o ve sus hilos, utiliza tu propio acceso a GitHub y conectores, y está en Pro y Max. [Cómo Claude Tag difiere de Cowork y Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) tiene el lado a lado.432* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) es Claude en los canales de Slack de tu equipo, en planes Team y Enterprise. Cualquiera en un canal puede darle trabajo, todos en el canal lo ven y lo dirigen, y utiliza conexiones que un administrador configuró para ese canal.

433 

434 Los proyectos están disponibles en Pro, Max y Ultra. Un proyecto es solo tuyo: eres el único que le envía trabajo o ve sus hilos, y utiliza tu propio acceso a GitHub y tus conectores. [Cómo Claude Tag difiere de Cowork y Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) tiene la comparación lado a lado.

433* **Sesiones en la nube**: cada hilo es una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) a menos que le pidas a Claude que la ejecute en tu máquina. De cualquier forma, Claude la comienza y rastrea en lugar de ti. También puedes llevar el trabajo de una sesión en la nube que iniciaste tú mismo a un proyecto: elige [**Continue in project**](#start-from-an-existing-cloud-session) en el menú de la barra lateral de esa sesión.435* **Sesiones en la nube**: cada hilo es una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) a menos que le pidas a Claude que la ejecute en tu máquina. De cualquier forma, Claude la comienza y rastrea en lugar de ti. También puedes llevar el trabajo de una sesión en la nube que iniciaste tú mismo a un proyecto: elige [**Continue in project**](#start-from-an-existing-cloud-session) en el menú de la barra lateral de esa sesión.

434* **Tareas programadas**: cuando pides trabajo programado en un proyecto, Claude crea una [tarea programada en la nube](https://code.claude.com/docs/es/routines.md) que se ejecuta como hilos en ese proyecto y aparece en su pestaña **Scheduled tasks**. Las tareas programadas que creas fuera de un proyecto siguen funcionando por su cuenta.436* **Tareas programadas**: cuando pides trabajo programado en un proyecto, Claude crea una [tarea programada en la nube](https://code.claude.com/docs/es/routines.md) que se ejecuta como hilos en ese proyecto y aparece en su pestaña **Scheduled tasks**. Las tareas programadas que creas fuera de un proyecto siguen funcionando por su cuenta.

435* **Remote Control**: [Remote Control](https://code.claude.com/docs/es/remote-control.md) conecta claude.ai a una sesión de Claude Code que se ejecuta en su máquina. Cuando pide a Claude en un proyecto que ejecute un hilo en su computadora, el proyecto [utiliza Remote Control para hacerlo](#run-a-thread-on-your-own-computer).437* **Remote Control**: [Remote Control](https://code.claude.com/docs/es/remote-control.md) conecta claude.ai a una sesión de Claude Code que se ejecuta en su máquina. Cuando pide a Claude en un proyecto que ejecute un hilo en su computadora, el proyecto [utiliza Remote Control para hacerlo](#run-a-thread-on-your-own-computer).

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Los entornos en la nube se aplican a [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md), que están disponibles en planes Pro, Max y Team, y para usuarios de Enterprise con [asientos premium o asientos de Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).11> Los entornos en la nube se aplican a [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md), que están disponibles en planes Pro, Max, Ultra y Team, y para usuarios de Enterprise con [asientos premium o asientos de Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).

12 12 

13Cada [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) se ejecuta en un entorno en la nube. Puedes configurar un entorno para permitir o denegar [acceso a la red](#access-levels), [establecer variables de entorno](#set-environment-variables) para la sesión, almacenar [secretos de red](#add-network-secrets) que las sesiones utilizan sin verlos, y ejecutar un [script de configuración](#setup-scripts) antes de que Claude comience a trabajar.13Cada [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) se ejecuta en un entorno en la nube. Puedes configurar un entorno para permitir o denegar [acceso a la red](#access-levels), [establecer variables de entorno](#set-environment-variables) para la sesión, almacenar [secretos de red](#add-network-secrets) que las sesiones utilizan sin verlos, y ejecutar un [script de configuración](#setup-scripts) antes de que Claude comience a trabajar.

14 14 


32Si aún no tiene un entorno, la incorporación configura el entorno **Default** para usted. Cómo depende de dónde se incorpore:32Si aún no tiene un entorno, la incorporación configura el entorno **Default** para usted. Cómo depende de dónde se incorpore:

33 33 

34* **Flujos CLI como `/web-setup`**: crean **Default** para usted34* **Flujos CLI como `/web-setup`**: crean **Default** para usted

35* **Incorporación web en Pro y Max**: crea **Default** para usted35* **Incorporación web en Pro, Max y Ultra**: obtienes **Default** automáticamente

36* **Incorporación web en Team y Enterprise**: muestra un formulario **Crea tu primer entorno en la nube** a menos que un Propietario haya activado la [Configuración rápida](https://code.claude.com/docs/es/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise); mantén los valores predeterminados del formulario y haz clic en **Crear y finalizar** para obtener el mismo entorno **Default**36* **Incorporación web en Team y Enterprise**: muestra un formulario **Crea tu primer entorno en la nube** a menos que un Propietario haya activado la [Configuración rápida](https://code.claude.com/docs/es/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise); mantén los valores predeterminados del formulario y haz clic en **Crear y finalizar** para obtener el mismo entorno **Default**

37 37 

38**Default** no lleva ninguna configuración propia:38**Default** no lleva ninguna configuración propia:


93 93 

94Un secreto de red es una clave de API o token que almacenas en un entorno en la nube para que Claude pueda llamar a esa API desde cualquier sesión en el entorno sin ver la clave. El proxy del agente de Anthropic agrega la clave a las solicitudes de los hosts que enumeras, después de que cada solicitud sale de la VM de la sesión, por lo que la clave misma permanece fuera de la VM.94Un secreto de red es una clave de API o token que almacenas en un entorno en la nube para que Claude pueda llamar a esa API desde cualquier sesión en el entorno sin ver la clave. El proxy del agente de Anthropic agrega la clave a las solicitudes de los hosts que enumeras, después de que cada solicitud sale de la VM de la sesión, por lo que la clave misma permanece fuera de la VM.

95 95 

96Los secretos de red están disponibles en planes Pro, Max, Team y Enterprise. Para comprobar si puedes agregar uno tú mismo, consulta [Requisitos](#requirements).96Los secretos de red están disponibles en planes Pro, Max, Ultra, Team y Enterprise. Para comprobar si puedes agregar uno tú mismo, consulta [Requisitos](#requirements).

97 97 

98#### Requisitos98#### Requisitos

99 99 


552 552 

553Con acceso a la red **Trusted**, las sesiones pueden alcanzar los siguientes dominios de forma predeterminada. Los dominios marcados con `*` indican coincidencia de subdominio comodín, por lo que `*.gcr.io` permite cualquier subdominio de `gcr.io`.553Con acceso a la red **Trusted**, las sesiones pueden alcanzar los siguientes dominios de forma predeterminada. Los dominios marcados con `*` indican coincidencia de subdominio comodín, por lo que `*.gcr.io` permite cualquier subdominio de `gcr.io`.

554 554 

555> **Servicios de Anthropic**555> [accordion] Servicios de Anthropic

556>556>

557> * api.anthropic.com557> * api.anthropic.com

558> * docs.claude.com558> * docs.claude.com


564> * anthropic.com564> * anthropic.com

565> * [www.anthropic.com](http://www.anthropic.com)565> * [www.anthropic.com](http://www.anthropic.com)

566 566 

567> **Control de versiones**567> [accordion] Control de versiones

568>568>

569> * github.com569> * github.com

570> * [www.github.com](http://www.github.com)570> * [www.github.com](http://www.github.com)


585> * [www.bitbucket.org](http://www.bitbucket.org)585> * [www.bitbucket.org](http://www.bitbucket.org)

586> * api.bitbucket.org586> * api.bitbucket.org

587 587 

588> **Registros de contenedores**588> [accordion] Registros de contenedores

589>589>

590> * registry-1.docker.io590> * registry-1.docker.io

591> * auth.docker.io591> * auth.docker.io


602> * \*.data.mcr.microsoft.com602> * \*.data.mcr.microsoft.com

603> * public.ecr.aws603> * public.ecr.aws

604 604 

605> **Plataformas en la nube**605> [accordion] Plataformas en la nube

606>606>

607> * cloud.google.com607> * cloud.google.com

608> * accounts.google.com608> * accounts.google.com


633> * yum.oracle.com633> * yum.oracle.com

634> * \*.r2.cloudflarestorage.com634> * \*.r2.cloudflarestorage.com

635 635 

636> **Administradores de paquetes JavaScript y Node**636> [accordion] Administradores de paquetes JavaScript y Node

637>637>

638> * registry.npmjs.org638> * registry.npmjs.org

639> * [www.npmjs.com](http://www.npmjs.com)639> * [www.npmjs.com](http://www.npmjs.com)


645> * jsr.io645> * jsr.io

646> * npm.jsr.io646> * npm.jsr.io

647 647 

648> **Administradores de paquetes Python**648> [accordion] Administradores de paquetes Python

649>649>

650> * pypi.org650> * pypi.org

651> * [www.pypi.org](http://www.pypi.org)651> * [www.pypi.org](http://www.pypi.org)


656> * pypa.io656> * pypa.io

657> * [www.pypa.io](http://www.pypa.io)657> * [www.pypa.io](http://www.pypa.io)

658 658 

659> **Administradores de paquetes Ruby**659> [accordion] Administradores de paquetes Ruby

660>660>

661> * rubygems.org661> * rubygems.org

662> * [www.rubygems.org](http://www.rubygems.org)662> * [www.rubygems.org](http://www.rubygems.org)


671> * rvm.io671> * rvm.io

672> * get.rvm.io672> * get.rvm.io

673 673 

674> **Administradores de paquetes Rust**674> [accordion] Administradores de paquetes Rust

675>675>

676> * crates.io676> * crates.io

677> * [www.crates.io](http://www.crates.io)677> * [www.crates.io](http://www.crates.io)


681> * static.rust-lang.org681> * static.rust-lang.org

682> * [www.rust-lang.org](http://www.rust-lang.org)682> * [www.rust-lang.org](http://www.rust-lang.org)

683 683 

684> **Administradores de paquetes Go**684> [accordion] Administradores de paquetes Go

685>685>

686> * proxy.golang.org686> * proxy.golang.org

687> * sum.golang.org687> * sum.golang.org


691> * goproxy.io691> * goproxy.io

692> * pkg.go.dev692> * pkg.go.dev

693 693 

694> **Administradores de paquetes JVM**694> [accordion] Administradores de paquetes JVM

695>695>

696> * maven.org696> * maven.org

697> * repo.maven.org697> * repo.maven.org


710> * spring.io710> * spring.io

711> * repo.spring.io711> * repo.spring.io

712 712 

713> **Otros administradores de paquetes**713> [accordion] Otros administradores de paquetes

714>714>

715> * packagist.org (PHP Composer)715> * packagist.org (PHP Composer)

716> * [www.packagist.org](http://www.packagist.org)716> * [www.packagist.org](http://www.packagist.org)


736> * swift.org736> * swift.org

737> * [www.swift.org](http://www.swift.org)737> * [www.swift.org](http://www.swift.org)

738 738 

739> **Distribuciones de Linux**739> [accordion] Distribuciones de Linux

740>740>

741> * archive.ubuntu.com741> * archive.ubuntu.com

742> * security.ubuntu.com742> * security.ubuntu.com


748> * [www.launchpad.net](http://www.launchpad.net)748> * [www.launchpad.net](http://www.launchpad.net)

749> * \*.nixos.org749> * \*.nixos.org

750 750 

751> **Herramientas de desarrollo y plataformas**751> [accordion] Herramientas de desarrollo y plataformas

752>752>

753> * dl.k8s.io (Kubernetes)753> * dl.k8s.io (Kubernetes)

754> * pkgs.k8s.io754> * pkgs.k8s.io


780> * pkg.stainless.com780> * pkg.stainless.com

781> * binaries.prisma.sh781> * binaries.prisma.sh

782 782 

783> **Servicios en la nube y monitoreo**783> [accordion] Servicios en la nube y monitoreo

784>784>

785> * http-intake.logs.datadoghq.com785> * http-intake.logs.datadoghq.com

786> * \*.datadoghq.com786> * \*.datadoghq.com

787> * \*.datadoghq.eu787> * \*.datadoghq.eu

788> * api.honeycomb.io788> * api.honeycomb.io

789 789 

790> **Entrega de contenido y espejos**790> [accordion] Entrega de contenido y espejos

791>791>

792> * sourceforge.net792> * sourceforge.net

793> * \*.sourceforge.net793> * \*.sourceforge.net


796> * fonts.googleapis.com796> * fonts.googleapis.com

797> * fonts.gstatic.com797> * fonts.gstatic.com

798 798 

799> **Esquema y configuración**799> [accordion] Esquema y configuración

800>800>

801> * json-schema.org801> * json-schema.org

802> * [www.json-schema.org](http://www.json-schema.org)802> * [www.json-schema.org](http://www.json-schema.org)

803> * json.schemastore.org803> * json.schemastore.org

804> * [www.schemastore.org](http://www.schemastore.org)804> * [www.schemastore.org](http://www.schemastore.org)

805 805 

806> **Model Context Protocol**806> [accordion] Model Context Protocol

807>807>

808> * \*.modelcontextprotocol.io808> * \*.modelcontextprotocol.io

809 809 

code-review.md +5 −5

Details

32 32 

33Elige la página según lo que necesites hacer:33Elige la página según lo que necesites hacer:

34 34 

35> **[Configurar Code Review](https://code.claude.com/docs/es/code-review-setup.md)**35> [card] [Configurar Code Review](https://code.claude.com/docs/es/code-review-setup.md)

36>36>

37> Revisa los requisitos, instala la Claude GitHub App y elige los repositorios, un nivel de revisión y cuándo se ejecutan las revisiones37> Revisa los requisitos, instala la Claude GitHub App y elige los repositorios, un nivel de revisión y cuándo se ejecutan las revisiones

38 38 

39> **[Personalizar Code Review](https://code.claude.com/docs/es/code-review-customize.md)**39> [card] [Personalizar Code Review](https://code.claude.com/docs/es/code-review-customize.md)

40>40>

41> Ajusta lo que se marca con archivos `REVIEW.md` y `CLAUDE.md` en tu repositorio41> Ajusta lo que se marca con archivos `REVIEW.md` y `CLAUDE.md` en tu repositorio

42 42 

43> **[Leer y solicitar revisiones en un pull request](https://code.claude.com/docs/es/code-review-pull-requests.md)**43> [card] [Leer y solicitar revisiones en un pull request](https://code.claude.com/docs/es/code-review-pull-requests.md)

44>44>

45> Lee los hallazgos y sus severidades, y solicita otra revisión con un comentario45> Lee los hallazgos y sus severidades, y solicita otra revisión con un comentario

46 46 

47> **[Solución de problemas de Code Review](https://code.claude.com/docs/es/code-review-troubleshooting.md)**47> [card] [Solución de problemas de Code Review](https://code.claude.com/docs/es/code-review-troubleshooting.md)

48>48>

49> Soluciona una revisión que no se inició, falló o se omitió por presupuesto49> Soluciona una revisión que no se inició, falló o se omitió por presupuesto

50 50 

51> **[Costos y uso de Code Review](https://code.claude.com/docs/es/code-review-costs.md)**51> [card] [Costos y uso de Code Review](https://code.claude.com/docs/es/code-review-costs.md)

52>52>

53> Consulta cómo se facturan las revisiones, estima el gasto, establece el límite de gasto mensual y haz seguimiento de la actividad de revisión53> Consulta cómo se facturan las revisiones, estima el gasto, establece el límite de gasto mensual y haz seguimiento de la actividad de revisión

54 54 

commands.md +5 −5

Details

55| `/artifact-capabilities` | **[Skill](https://code.claude.com/docs/es/skills.md#bundled-skills).** Carga la referencia de las capacidades de tiempo de ejecución que puede usar un [artefacto](https://code.claude.com/docs/es/artifacts.md) publicado, como [llamar a tus conectores](https://code.claude.com/docs/es/artifacts.md#pull-live-data-with-mcp-connectors) u [ofrecer la descarga de un archivo](https://code.claude.com/docs/es/artifacts.md#offer-a-file-download), incluidas las que tiene tu cuenta. Normalmente Claude la carga por su cuenta antes de crear una página que use alguna. Disponible donde lo están los [artefactos](https://code.claude.com/docs/es/artifacts.md#availability) |55| `/artifact-capabilities` | **[Skill](https://code.claude.com/docs/es/skills.md#bundled-skills).** Carga la referencia de las capacidades de tiempo de ejecución que puede usar un [artefacto](https://code.claude.com/docs/es/artifacts.md) publicado, como [llamar a tus conectores](https://code.claude.com/docs/es/artifacts.md#pull-live-data-with-mcp-connectors) u [ofrecer la descarga de un archivo](https://code.claude.com/docs/es/artifacts.md#offer-a-file-download), incluidas las que tiene tu cuenta. Normalmente Claude la carga por su cuenta antes de crear una página que use alguna. Disponible donde lo están los [artefactos](https://code.claude.com/docs/es/artifacts.md#availability) |

56| `/artifact-diagramming` | **[Skill](https://code.claude.com/docs/es/skills.md#bundled-skills).** Carga orientación sobre diagramas para que Claude la siga en [artefactos](https://code.claude.com/docs/es/artifacts.md): cuándo ayuda un diagrama, qué dibujar y cómo escribir SVG en línea que siga siendo legible en temas claros y oscuros. Requiere Claude Code v2.1.221 o posterior |56| `/artifact-diagramming` | **[Skill](https://code.claude.com/docs/es/skills.md#bundled-skills).** Carga orientación sobre diagramas para que Claude la siga en [artefactos](https://code.claude.com/docs/es/artifacts.md): cuándo ayuda un diagrama, qué dibujar y cómo escribir SVG en línea que siga siendo legible en temas claros y oscuros. Requiere Claude Code v2.1.221 o posterior |

57| `/artifacts` | Enumera los [artefactos](https://code.claude.com/docs/es/artifacts.md#find-an-artifact-again) que te pertenecen o que se compartieron contigo y luego adjunta uno a la sesión, ábrelo en tu navegador o copia su enlace. Disponible donde lo están los [artefactos](https://code.claude.com/docs/es/artifacts.md#availability) |57| `/artifacts` | Enumera los [artefactos](https://code.claude.com/docs/es/artifacts.md#find-an-artifact-again) que te pertenecen o que se compartieron contigo y luego adjunta uno a la sesión, ábrelo en tu navegador o copia su enlace. Disponible donde lo están los [artefactos](https://code.claude.com/docs/es/artifacts.md#availability) |

58| `/auto-mode-setup` | [Genera un borrador de entradas `autoMode.environment`](https://code.claude.com/docs/es/auto-mode-config#generate-environment-entries) a partir de tu proyecto y tus sesiones recientes, luego revisa el borrador y guárdalo en tu configuración de usuario. En un plan Pro, Max o Team, requiere Claude Code v2.1.228 o posterior, o v2.1.233 o posterior en Windows nativo. En un plan Enterprise o con una clave de API de Claude Console, requiere v2.1.283 o posterior. Si el comando no aparece, consulta [`/auto-mode-setup` devuelve "Unknown command"](https://code.claude.com/docs/es/auto-mode-config#auto-mode-setup-returns-unknown-command) |58| `/auto-mode-setup` | [Genera un borrador de entradas `autoMode.environment`](https://code.claude.com/docs/es/auto-mode-config#generate-environment-entries) a partir de tu proyecto y tus sesiones recientes, luego revisa el borrador y guárdalo en tu configuración de usuario. En un plan Pro, Max, Ultra o Team, requiere Claude Code v2.1.228 o posterior, o v2.1.233 o posterior en Windows nativo. En un plan Enterprise o con una clave de API de Claude Console, requiere v2.1.283 o posterior. Si el comando no aparece, consulta [`/auto-mode-setup` devuelve "Unknown command"](https://code.claude.com/docs/es/auto-mode-config#auto-mode-setup-returns-unknown-command) |

59| `/autocompact [auto\|<tokens>]` | Establece la ventana de compactación automática: qué tan llena se pone la ventana de contexto antes de que Claude Code compacte automáticamente. Pasa un tamaño como `500k`, o `auto` para volver a la ventana ajustada para tu modelo. Claude Code guarda el valor en la configuración de usuario y lo aplica a la sesión actual. Consulta [Establecer la ventana de compactación automática](https://code.claude.com/docs/es/model-config.md#set-the-auto-compact-window) para ver los valores aceptados y qué lo sobrescribe. Sin argumento, abre un diálogo que muestra la ventana actual. Requiere Claude Code v2.1.221 o posterior |59| `/autocompact [auto\|<tokens>]` | Establece la ventana de compactación automática: qué tan llena se pone la ventana de contexto antes de que Claude Code compacte automáticamente. Pasa un tamaño como `500k`, o `auto` para volver a la ventana ajustada para tu modelo. Claude Code guarda el valor en la configuración de usuario y lo aplica a la sesión actual. Consulta [Establecer la ventana de compactación automática](https://code.claude.com/docs/es/model-config.md#set-the-auto-compact-window) para ver los valores aceptados y qué lo sobrescribe. Sin argumento, abre un diálogo que muestra la ventana actual. Requiere Claude Code v2.1.221 o posterior |

60| `/autofix-pr [prompt]` | Inicia una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md#auto-fix-pull-requests) que vigila el PR de la rama actual y envía correcciones cuando falla la CI o los revisores dejan comentarios. Detecta el PR abierto desde tu rama activa con `gh pr view`; para vigilar otro PR, primero cambia a su rama. De forma predeterminada, se le indica a la sesión en la nube que corrija cada falla de CI y cada comentario de revisión; pasa un prompt para darle instrucciones diferentes, por ejemplo `/autofix-pr only fix lint and type errors`. Requiere la CLI `gh` y acceso a [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) |60| `/autofix-pr [prompt]` | Inicia una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md#auto-fix-pull-requests) que vigila el PR de la rama actual y envía correcciones cuando falla la CI o los revisores dejan comentarios. Detecta el PR abierto desde tu rama activa con `gh pr view`; para vigilar otro PR, primero cambia a su rama. De forma predeterminada, se le indica a la sesión en la nube que corrija cada falla de CI y cada comentario de revisión; pasa un prompt para darle instrucciones diferentes, por ejemplo `/autofix-pr only fix lint and type errors`. Requiere la CLI `gh` y acceso a [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) |

61| `/background [prompt]` | Separa la sesión actual para que se ejecute como un [agente en segundo plano](https://code.claude.com/docs/es/agent-view.md) y libera esta terminal. Pasa un prompt para enviar una instrucción más antes de separarla. Supervisa la sesión con `claude agents`. Para copiar la conversación en una nueva sesión en segundo plano mientras esta sigue ejecutándose, usa `/fork`. Alias: `/bg` |61| `/background [prompt]` | Separa la sesión actual para que se ejecute como un [agente en segundo plano](https://code.claude.com/docs/es/agent-view.md) y libera esta terminal. Pasa un prompt para enviar una instrucción más antes de separarla. Supervisa la sesión con `claude agents`. Para copiar la conversación en una nueva sesión en segundo plano mientras esta sigue ejecutándose, usa `/fork`. Alias: `/bg` |


120| `/plugin-authoring` | Carga la referencia con la que trabaja Claude para [escribir un mod](https://code.claude.com/docs/es/plugins/mods/create.md#ask-claude-for-a-mod). Claude puede cargarla por su cuenta cuando pides un mod. Este es un skill de un [plugin integrado](https://code.claude.com/docs/es/plugins/mods/overview.md#mods-built-into-claude-code), que puedes desactivar en `/plugin`. Requiere Claude Code v2.1.287 o posterior |120| `/plugin-authoring` | Carga la referencia con la que trabaja Claude para [escribir un mod](https://code.claude.com/docs/es/plugins/mods/create.md#ask-claude-for-a-mod). Claude puede cargarla por su cuenta cuando pides un mod. Este es un skill de un [plugin integrado](https://code.claude.com/docs/es/plugins/mods/overview.md#mods-built-into-claude-code), que puedes desactivar en `/plugin`. Requiere Claude Code v2.1.287 o posterior |

121| `/powerup` | Descubre funciones de Claude Code mediante lecciones interactivas rápidas con demostraciones animadas |121| `/powerup` | Descubre funciones de Claude Code mediante lecciones interactivas rápidas con demostraciones animadas |

122| `/pr-comments [PR]` | Se eliminó en v2.1.91. En su lugar, pídele directamente a Claude que muestre los comentarios del pull request. En versiones anteriores, obtiene y muestra los comentarios de un pull request de GitHub; detecta automáticamente el PR de la rama actual, o pasa una URL o un número de PR. Requiere la CLI `gh` |122| `/pr-comments [PR]` | Se eliminó en v2.1.91. En su lugar, pídele directamente a Claude que muestre los comentarios del pull request. En versiones anteriores, obtiene y muestra los comentarios de un pull request de GitHub; detecta automáticamente el PR de la rama actual, o pasa una URL o un número de PR. Requiere la CLI `gh` |

123| `/privacy-settings` | Consulta y actualiza tu configuración de privacidad. Solo disponible para suscriptores de los planes Pro y Max |123| `/privacy-settings` | Consulta y actualiza tu configuración de privacidad. Solo disponible para suscriptores de los planes Pro, Max y Ultra |

124| `/radio` | Abre la radio lo-fi Claude FM en tu navegador. Imprime la URL de la transmisión cuando no hay un navegador disponible |124| `/radio` | Abre la radio lo-fi Claude FM en tu navegador. Imprime la URL de la transmisión cuando no hay un navegador disponible |

125| `/rate-limit-options` | Muestra formas de seguir trabajando cuando un límite de uso de claude.ai bloquea una solicitud: esperar y [continuar automáticamente cuando se restablezca el límite](https://code.claude.com/docs/es/interactive-mode.md#wait-for-a-usage-limit-to-reset), agregar [créditos de uso](https://code.claude.com/docs/es/costs.md#add-usage-credits-to-your-subscription) o mejorar tu plan. Claude Code también puede abrir este menú por su cuenta cuando alcanzas un límite en tu propia terminal. Consulta [Desactivar la continuación automática](https://code.claude.com/docs/es/interactive-mode.md#turn-automatic-continue-off). Requiere una suscripción a claude.ai. Las filas de esperar y continuar requieren Claude Code v2.1.234 o posterior |125| `/rate-limit-options` | Muestra formas de seguir trabajando cuando un límite de uso de claude.ai bloquea una solicitud: esperar y [continuar automáticamente cuando se restablezca el límite](https://code.claude.com/docs/es/interactive-mode.md#wait-for-a-usage-limit-to-reset), agregar [créditos de uso](https://code.claude.com/docs/es/costs.md#add-usage-credits-to-your-subscription) o mejorar tu plan. Claude Code también puede abrir este menú por su cuenta cuando alcanzas un límite en tu propia terminal. Consulta [Desactivar la continuación automática](https://code.claude.com/docs/es/interactive-mode.md#turn-automatic-continue-off). Requiere una suscripción a claude.ai. Las filas de esperar y continuar requieren Claude Code v2.1.234 o posterior |

126| `/recap` | Genera bajo demanda un resumen de una línea de la sesión actual. Consulta [Resumen de la sesión](https://code.claude.com/docs/es/interactive-mode.md#session-recap) para ver el resumen automático que aparece después de haber estado ausente |126| `/recap` | Genera bajo demanda un resumen de una línea de la sesión actual. Consulta [Resumen de la sesión](https://code.claude.com/docs/es/interactive-mode.md#session-recap) para ver el resumen automático que aparece después de haber estado ausente |


130| `/remote-control` | Haz que esta sesión esté disponible para [Remote Control](https://code.claude.com/docs/es/remote-control.md) desde claude.ai. Ejecutarlo sin haber iniciado sesión imprime que Remote Control requiere una suscripción a claude.ai y te indica cómo iniciar sesión. Alias: `/rc` |130| `/remote-control` | Haz que esta sesión esté disponible para [Remote Control](https://code.claude.com/docs/es/remote-control.md) desde claude.ai. Ejecutarlo sin haber iniciado sesión imprime que Remote Control requiere una suscripción a claude.ai y te indica cómo iniciar sesión. Alias: `/rc` |

131| `/remote-env` | Elige el [entorno en la nube](https://code.claude.com/docs/es/cloud-environments.md#select-an-environment-from-the-cli) predeterminado para las sesiones en la nube que inicias desde la CLI |131| `/remote-env` | Elige el [entorno en la nube](https://code.claude.com/docs/es/cloud-environments.md#select-an-environment-from-the-cli) predeterminado para las sesiones en la nube que inicias desde la CLI |

132| `/rename [name]` | Cambia el nombre de la sesión actual y muestra el nombre en la barra del prompt. Sin un nombre, genera uno automáticamente a partir del historial de la conversación. También disponible en modo no interactivo (`-p`). Desde cualquier superficie de cambio de nombre, incluidos claude.ai y la app de escritorio, Claude Code reemplaza los caracteres de control e invisibles del nuevo nombre por espacios y limita el nombre a 200 caracteres. Si el nombre queda vacío una vez eliminados los caracteres invisibles, Claude Code lo rechaza y muestra `That name is empty once invisible characters are removed. Usage: /rename <name>`. El reemplazo de caracteres y el límite de longitud requieren Claude Code v2.1.221 o posterior |132| `/rename [name]` | Cambia el nombre de la sesión actual y muestra el nombre en la barra del prompt. Sin un nombre, genera uno automáticamente a partir del historial de la conversación. También disponible en modo no interactivo (`-p`). Desde cualquier superficie de cambio de nombre, incluidos claude.ai y la app de escritorio, Claude Code reemplaza los caracteres de control e invisibles del nuevo nombre por espacios y limita el nombre a 200 caracteres. Si el nombre queda vacío una vez eliminados los caracteres invisibles, Claude Code lo rechaza y muestra `That name is empty once invisible characters are removed. Usage: /rename <name>`. El reemplazo de caracteres y el límite de longitud requieren Claude Code v2.1.221 o posterior |

133| `/restart` | Reinicia Claude Code y reanuda esta sesión, lo que aplica una actualización instalada. Ejecútalo cuando el pie de página lo ofrezca después de que se instale una actualización. Requiere un plan Pro o Max y una instalación nativa en macOS o Linux, no en WSL. Requiere Claude Code v2.1.288 o posterior. Alias: `/update` |133| `/restart` | Reinicia Claude Code y reanuda esta sesión, lo que aplica una actualización instalada. Ejecútalo cuando el pie de página lo ofrezca después de que se instale una actualización. Requiere un plan Pro, Max o Ultra y una instalación nativa en macOS o Linux, no en WSL. Requiere Claude Code v2.1.288 o posterior. Alias: `/update` |

134| `/resume [session]` | Reanuda una conversación por ID o nombre, o abre el selector de sesiones. Las [sesiones en segundo plano](https://code.claude.com/docs/es/agent-view.md) aparecen en el selector marcadas con `bg`. Reanudar una que todavía se está ejecutando, desde el selector o por ID o nombre, [abre esa sesión](https://code.claude.com/docs/es/sessions.md#resume-a-running-background-session): tu conversación actual pasa a segundo plano y esta terminal se adjunta a la que está en ejecución. Presiona `←` en un prompt vacío para volver a la vista de agentes, que también enumera la conversación que dejaste. Antes de v2.1.285, Claude Code se negaba y te indicaba que abrieras la sesión con `claude attach` o que primero la detuvieras. Alias: `/continue` |134| `/resume [session]` | Reanuda una conversación por ID o nombre, o abre el selector de sesiones. Las [sesiones en segundo plano](https://code.claude.com/docs/es/agent-view.md) aparecen en el selector marcadas con `bg`. Reanudar una que todavía se está ejecutando, desde el selector o por ID o nombre, [abre esa sesión](https://code.claude.com/docs/es/sessions.md#resume-a-running-background-session): tu conversación actual pasa a segundo plano y esta terminal se adjunta a la que está en ejecución. Presiona `←` en un prompt vacío para volver a la vista de agentes, que también enumera la conversación que dejaste. Antes de v2.1.285, Claude Code se negaba y te indicaba que abrieras la sesión con `claude attach` o que primero la detuvieras. Alias: `/continue` |

135| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | Alias de [`/code-review`](https://code.claude.com/docs/es/code-review-local): revisa el diff actual, o un número de PR, una rama o una ruta que pases, como `/review 1234`, y admite los mismos niveles de esfuerzo y flags. Si no se indica un nivel, la revisión reutiliza el último nivel de `low` a `max` que escribiste; consulta [Revisar localmente con `/code-review`](https://code.claude.com/docs/es/code-review-local) para conocer las reglas exactas. Para una revisión profunda en la nube, usa [`/code-review ultra`](https://code.claude.com/docs/es/ultrareview). Antes de v2.1.223, `/review` era un comando independiente que ejecutaba una revisión de una sola pasada y de solo lectura de un pull request de GitHub por número, y enumeraba los PR abiertos para elegir cuando se ejecutaba sin argumento; de v2.1.186 a v2.1.201, ejecutaba el mismo motor multiagente que `/code-review medium` |135| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | Alias de [`/code-review`](https://code.claude.com/docs/es/code-review-local): revisa el diff actual, o un número de PR, una rama o una ruta que pases, como `/review 1234`, y admite los mismos niveles de esfuerzo y flags. Si no se indica un nivel, la revisión reutiliza el último nivel de `low` a `max` que escribiste; consulta [Revisar localmente con `/code-review`](https://code.claude.com/docs/es/code-review-local) para conocer las reglas exactas. Para una revisión profunda en la nube, usa [`/code-review ultra`](https://code.claude.com/docs/es/ultrareview). Antes de v2.1.223, `/review` era un comando independiente que ejecutaba una revisión de una sola pasada y de solo lectura de un pull request de GitHub por número, y enumeraba los PR abiertos para elegir cuando se ejecutaba sin argumento; de v2.1.186 a v2.1.201, ejecutaba el mismo motor multiagente que `/code-review medium` |

136| `/rewind` | Retrocede la conversación y/o el código a un punto anterior, o resume desde un mensaje seleccionado. Consulta [checkpointing](https://code.claude.com/docs/es/checkpointing.md). Alias: `/checkpoint`, `/undo` |136| `/rewind` | Retrocede la conversación y/o el código a un punto anterior, o resume desde un mensaje seleccionado. Consulta [checkpointing](https://code.claude.com/docs/es/checkpointing.md). Alias: `/checkpoint`, `/undo` |


159| `/theme` | Cambia el tema de color. Incluye una opción `auto` que coincide con el fondo claro u oscuro de tu terminal, variantes claras y oscuras, temas accesibles para daltónicos (daltonizados), temas ANSI que usan la paleta de colores de tu terminal y cualquier [tema personalizado](https://code.claude.com/docs/es/terminal-config.md#create-a-custom-theme) de `~/.claude/themes/` o de plugins. Selecciona **New custom theme…** para crear uno |159| `/theme` | Cambia el tema de color. Incluye una opción `auto` que coincide con el fondo claro u oscuro de tu terminal, variantes claras y oscuras, temas accesibles para daltónicos (daltonizados), temas ANSI que usan la paleta de colores de tu terminal y cualquier [tema personalizado](https://code.claude.com/docs/es/terminal-config.md#create-a-custom-theme) de `~/.claude/themes/` o de plugins. Selecciona **New custom theme…** para crear uno |

160| `/tui [default\|fullscreen]` | Establece el renderizador de la UI de terminal y se reinicia en él con tu conversación intacta. `fullscreen` habilita el [renderizador de pantalla alternativa sin parpadeo](https://code.claude.com/docs/es/fullscreen.md). Sin argumento, imprime el renderizador activo |160| `/tui [default\|fullscreen]` | Establece el renderizador de la UI de terminal y se reinicia en él con tu conversación intacta. `fullscreen` habilita el [renderizador de pantalla alternativa sin parpadeo](https://code.claude.com/docs/es/fullscreen.md). Sin argumento, imprime el renderizador activo |

161| `/ultraplan <prompt>` | Eliminado. Usa el [modo plan](https://code.claude.com/docs/es/permission-modes.md#analyze-before-you-edit-with-plan-mode) en su lugar. Anteriormente enviaba una tarea de planificación a una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) para revisarla en tu navegador |161| `/ultraplan <prompt>` | Eliminado. Usa el [modo plan](https://code.claude.com/docs/es/permission-modes.md#analyze-before-you-edit-with-plan-mode) en su lugar. Anteriormente enviaba una tarea de planificación a una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) para revisarla en tu navegador |

162| `/ultrareview [PR or branch]` | Ejecuta una revisión de código profunda y multiagente en un sandbox en la nube con [ultrareview](https://code.claude.com/docs/es/ultrareview.md). Pasa una referencia de PR para revisar ese pull request, o una rama base o un commit para cambiar la base de comparación. La invocación preferida es `/code-review ultra`, y `/ultrareview` es un alias. Incluye 3 ejecuciones gratuitas en Pro y Max; después requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |162| `/ultrareview [PR or branch]` | Ejecuta una revisión de código profunda y multiagente en un sandbox en la nube con [ultrareview](https://code.claude.com/docs/es/ultrareview.md). Pasa una referencia de PR para revisar ese pull request, o una rama base o un commit para cambiar la base de comparación. La invocación preferida es `/code-review ultra`, y `/ultrareview` es un alias. Incluye 3 ejecuciones gratuitas en Pro, Max y Ultra; después requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

163| `/update-config [request]` | **[Skill](https://code.claude.com/docs/es/skills.md#bundled-skills).** Describe un cambio de configuración, como permitir un comando, establecer una variable de entorno o agregar un [hook](https://code.claude.com/docs/es/hooks.md), y Claude edita el archivo [`settings.json`](https://code.claude.com/docs/es/settings) correspondiente. Para opciones como el tema y el modelo, usa `/config` en su lugar |163| `/update-config [request]` | **[Skill](https://code.claude.com/docs/es/skills.md#bundled-skills).** Describe un cambio de configuración, como permitir un comando, establecer una variable de entorno o agregar un [hook](https://code.claude.com/docs/es/hooks.md), y Claude edita el archivo [`settings.json`](https://code.claude.com/docs/es/settings) correspondiente. Para opciones como el tema y el modelo, usa `/config` en su lugar |

164| `/upgrade` | Abre la página de mejora de plan en tu navegador para cambiar a un nivel de plan superior. Cuando el navegador no se abre, el comando muestra una solicitud de inicio de sesión sin imprimir la URL |164| `/upgrade` | Abre la página de mejora de plan en tu navegador para cambiar a un nivel de plan superior. Cuando el navegador no se abre, el comando muestra una solicitud de inicio de sesión sin imprimir la URL |

165| `/usage` | Muestra el costo de la sesión, los límites de uso del plan y las estadísticas de actividad. En un plan Pro, Max, Team o Enterprise, incluye un [desglose de lo que cuenta para los límites de tu plan](https://code.claude.com/docs/es/costs.md#plan-usage-breakdown). `/cost` y `/stats` son alias |165| `/usage` | Muestra el costo de la sesión, los límites de uso del plan y las estadísticas de actividad. En un plan Pro, Max, Ultra, Team o Enterprise, incluye un [desglose de lo que cuenta para los límites de tu plan](https://code.claude.com/docs/es/costs.md#plan-usage-breakdown). `/cost` y `/stats` son alias |

166| `/usage-credits` | Configura créditos de uso, o solicítalos a tu administrador, cuando alcanzas un límite. Abre tu [configuración de facturación de créditos de uso](https://code.claude.com/docs/es/costs.md#add-usage-credits-to-your-subscription) en el navegador, excepto que los miembros de Team y Enterprise sin acceso a facturación envían en su lugar una solicitud de créditos de uso a su administrador desde la CLI, después de confirmar en un diálogo que la solicitud notifica a sus administradores. Cuando ningún navegador puede abrir la página de facturación, por ejemplo a través de SSH, el comando imprime en su lugar la URL que debes visitar; esto requiere Claude Code v2.1.205 o posterior, y las versiones anteriores no mostraban nada en ese caso. Anteriormente `/extra-usage` |166| `/usage-credits` | Configura créditos de uso, o solicítalos a tu administrador, cuando alcanzas un límite. Abre tu [configuración de facturación de créditos de uso](https://code.claude.com/docs/es/costs.md#add-usage-credits-to-your-subscription) en el navegador, excepto que los miembros de Team y Enterprise sin acceso a facturación envían en su lugar una solicitud de créditos de uso a su administrador desde la CLI, después de confirmar en un diálogo que la solicitud notifica a sus administradores. Cuando ningún navegador puede abrir la página de facturación, por ejemplo a través de SSH, el comando imprime en su lugar la URL que debes visitar; esto requiere Claude Code v2.1.205 o posterior, y las versiones anteriores no mostraban nada en ese caso. Anteriormente `/extra-usage` |

167| `/verify` | **[Skill](https://code.claude.com/docs/es/skills.md#bundled-skills).** Confirma que un cambio de código hace lo que debe compilando la app de tu proyecto, ejecutándola y observando el resultado, en lugar de depender de pruebas o comprobaciones de tipos. Consulta [Ejecutar y verificar tu app](https://code.claude.com/docs/es/skills.md#run-and-verify-your-app) |167| `/verify` | **[Skill](https://code.claude.com/docs/es/skills.md#bundled-skills).** Confirma que un cambio de código hace lo que debe compilando la app de tu proyecto, ejecutándola y observando el resultado, en lugar de depender de pruebas o comprobaciones de tipos. Consulta [Ejecutar y verificar tu app](https://code.claude.com/docs/es/skills.md#run-and-verify-your-app) |

168| `/vim` | Se eliminó en v2.1.92. Para alternar entre los modos de edición Vim y Normal, usa `/config` → Editor mode |168| `/vim` | Se eliminó en v2.1.92. Para alternar entre los modos de edición Vim y Normal, usa `/config` → Editor mode |

Details

500 500 

501## Próximos pasos501## Próximos pasos

502 502 

503> **[Mejores prácticas](https://code.claude.com/docs/es/best-practices.md)**503> [card] [Mejores prácticas](https://code.claude.com/docs/es/best-practices.md)

504>504>

505> Patrones para obtener lo máximo de Claude Code505> Patrones para obtener lo máximo de Claude Code

506 506 

507> **[Gestionar sesiones](https://code.claude.com/docs/es/sessions.md)**507> [card] [Gestionar sesiones](https://code.claude.com/docs/es/sessions.md)

508>508>

509> Reanudar, nombrar y ramificar conversaciones509> Reanudar, nombrar y ramificar conversaciones

510 510 

511> **[Worktrees](https://code.claude.com/docs/es/worktrees.md)**511> [card] [Worktrees](https://code.claude.com/docs/es/worktrees.md)

512>512>

513> Ejecutar sesiones paralelas aisladas513> Ejecutar sesiones paralelas aisladas

514 514 

515> **[Extender Claude Code](https://code.claude.com/docs/es/features-overview.md)**515> [card] [Extender Claude Code](https://code.claude.com/docs/es/features-overview.md)

516>516>

517> Agregar skills, hooks, MCP, subagentes y plugins517> Agregar skills, hooks, MCP, subagentes y plugins

communications-kit.md +104 −104

Details

33 33 

34Use esto como su mensaje de implementación estándar en toda la organización. Cubre qué es Claude Code, proporciona una ruta de instalación de dos minutos, ofrece a los lectores una tarea concreta para probar y responde "¿dónde va mi código?" antes de que alguien tenga que preguntar.34Use esto como su mensaje de implementación estándar en toda la organización. Cubre qué es Claude Code, proporciona una ruta de instalación de dos minutos, ofrece a los lectores una tarea concreta para probar y responde "¿dónde va mi código?" antes de que alguien tenga que preguntar.

35 35 

36**Correo electrónico**36> [tab] Correo electrónico

37 37>

38```text theme={null}38> ```text theme={null}

39Asunto: Claude Code ya está disponible para [Ingeniería / tu equipo]39> Asunto: Claude Code ya está disponible para [Ingeniería / tu equipo]

40 40>

41Equipo:41> Equipo:

42 42>

43A partir de hoy tienen acceso a Claude Code, un agente de codificación con IA que se ejecuta en43> A partir de hoy tienen acceso a Claude Code, un agente de codificación con IA que se ejecuta en

44su terminal, lee su base de código real y trabaja en tareas reales de principio44> su terminal, lee su base de código real y trabaja en tareas reales de principio

45a fin: depuración, refactorizaciones, pruebas, PRs. No es autocompletado ni45> a fin: depuración, refactorizaciones, pruebas, PRs. No es autocompletado ni

46una ventana de chat. Edita archivos y ejecuta sus comandos.46> una ventana de chat. Edita archivos y ejecuta sus comandos.

47 47>

48Empiecen en dos minutos:48> Empiecen en dos minutos:

49 49>

50 curl -fsSL https://claude.ai/install.sh | bash50> curl -fsSL https://claude.ai/install.sh | bash

51 cd <tu-repositorio>51> cd <tu-repositorio>

52 claude52> claude

53 53>

54Luego ejecuten /init una vez. Claude lee su proyecto y escribe un CLAUDE.md con54> Luego ejecuten /init una vez. Claude lee su proyecto y escribe un CLAUDE.md con

55sus comandos de compilación y convenciones, para que dejen de volver a explicar lo básico.55> sus comandos de compilación y convenciones, para que dejen de volver a explicar lo básico.

56 56>

57Después prueben uno de estos en el repositorio en el que ya están:57> Después prueben uno de estos en el repositorio en el que ya están:

58 58>

59 - "La prueba en [archivo] es inestable. Averigua por qué y arréglala"59> - "La prueba en [archivo] es inestable. Averigua por qué y arréglala"

60 - "Explícame cómo [módulo] maneja [X]"60> - "Explícame cómo [módulo] maneja [X]"

61 - "Mira mi diff de trabajo y dime qué es arriesgado antes de hacer push"61> - "Mira mi diff de trabajo y dime qué es arriesgado antes de hacer push"

62 62>

63A dónde va su código: Claude Code se ejecuta en su terminal y se comunica directamente63> A dónde va su código: Claude Code se ejecuta en su terminal y se comunica directamente

64con la API de Anthropic. En nuestro plan Team o Enterprise, Anthropic no usa64> con la API de Anthropic. En nuestro plan Team o Enterprise, Anthropic no usa

65su código ni sus prompts para entrenar sus modelos.65> su código ni sus prompts para entrenar sus modelos.

66Detalles: https://code.claude.com/docs/en/data-usage66> Detalles: https://code.claude.com/docs/en/data-usage

67 https://code.claude.com/docs/en/security67> https://code.claude.com/docs/en/security

68 68>

69Dónde hacer preguntas: #claude-code. [Nombre del responsable] lo está supervisando69> Dónde hacer preguntas: #claude-code. [Nombre del responsable] lo está supervisando

70esta semana.70> esta semana.

71 71>

72- [Nombre]72> - [Nombre]

73 73>

74P. D.: ¿Prefieren su editor? Hay una extensión de VS Code y un plugin de74> P. D.: ¿Prefieren su editor? Hay una extensión de VS Code y un plugin de

75JetBrains. El mismo agente, sin necesidad de terminal.75> JetBrains. El mismo agente, sin necesidad de terminal.

76```76> ```

77 

78**Slack o Teams**

79 

80```markdown theme={null}

81🚀 *Claude Code ya está disponible para [equipo]*

82 

83Agente de codificación con IA, se ejecuta en tu terminal, lee tu repositorio, hace trabajo real:

84errores, refactorizaciones, pruebas, PRs.

85 

86`curl -fsSL https://claude.ai/install.sh | bash` → `cd tu-repositorio` → `claude`

87 

88*Lo primero que puedes probar* → ejecuta `/init` y luego: "la prueba en [archivo] es inestable,

89averigua por qué y arréglala."

90 

91🔒 Se ejecuta en tu terminal y se comunica directamente con la API de Anthropic. En nuestro plan Team o

92Enterprise, tu código y tus prompts no se usan para entrenar modelos.

93Uso de datos → https://code.claude.com/docs/en/data-usage

94 

95📚 Inicio rápido · VS Code · Curso gratuito de 1 hora

96 https://code.claude.com/docs/en/quickstart

97 https://code.claude.com/docs/en/vs-code

98 https://academy.claude.com/courses/claude-code-in-action

99 77 

100Preguntas → este hilo. [Responsable] está a cargo.78> [tab] Slack o Teams

101```79>

80> ```markdown theme={null}

81> 🚀 *Claude Code ya está disponible para [equipo]*

82>

83> Agente de codificación con IA, se ejecuta en tu terminal, lee tu repositorio, hace trabajo real:

84> errores, refactorizaciones, pruebas, PRs.

85>

86> `curl -fsSL https://claude.ai/install.sh | bash` → `cd tu-repositorio` → `claude`

87>

88> *Lo primero que puedes probar* → ejecuta `/init` y luego: "la prueba en [archivo] es inestable,

89> averigua por qué y arréglala."

90>

91> 🔒 Se ejecuta en tu terminal y se comunica directamente con la API de Anthropic. En nuestro plan Team o

92> Enterprise, tu código y tus prompts no se usan para entrenar modelos.

93> Uso de datos → https://code.claude.com/docs/en/data-usage

94>

95> 📚 Inicio rápido · VS Code · Curso gratuito de 1 hora

96> https://code.claude.com/docs/en/quickstart

97> https://code.claude.com/docs/en/vs-code

98> https://academy.claude.com/courses/claude-code-in-action

99>

100> Preguntas → este hilo. [Responsable] está a cargo.

101> ```

102 102 

103### Variante de patrocinador ejecutivo103### Variante de patrocinador ejecutivo

104 104 


106 106 

107Esta versión se ha despojado deliberadamente a una solicitud: instálelo y ejecútelo en una tarea real. El trabajo del ejecutivo es hacer que la solicitud llegue; el anuncio estándar y `#claude-code` manejan el cómo.107Esta versión se ha despojado deliberadamente a una solicitud: instálelo y ejecútelo en una tarea real. El trabajo del ejecutivo es hacer que la solicitud llegue; el anuncio estándar y `#claude-code` manejan el cómo.

108 108 

109**Correo electrónico**109> [tab] Correo electrónico

110 110>

111```text theme={null}111> ```text theme={null}

112Asunto: Una cosa que me gustaría que cada ingeniero probara esta semana112> Asunto: Una cosa que me gustaría que cada ingeniero probara esta semana

113 113>

114Equipo,114> Equipo,

115 115>

116Hemos activado Claude Code para toda la ingeniería. Es un agente de IA116> Hemos activado Claude Code para toda la ingeniería. Es un agente de IA

117que funciona directamente en su terminal, en su base de código real, y los117> que funciona directamente en su terminal, en su base de código real, y los

118resultados iniciales de los equipos que ya lo están usando son lo suficientemente sólidos como para que quiera118> resultados iniciales de los equipos que ya lo están usando son lo suficientemente sólidos como para que quiera

119que todos lo usen esta semana.119> que todos lo usen esta semana.

120 120>

121Le pido diez minutos:121> Le pido diez minutos:

122 122>

123 curl -fsSL https://claude.ai/install.sh | bash123> curl -fsSL https://claude.ai/install.sh | bash

124 cd <su-repositorio>124> cd <su-repositorio>

125 claude125> claude

126 126>

127Luego dele una tarea real: el error que ha estado postergando, o "caminemos a través de cómo [módulo] funciona."127> Luego dele una tarea real: el error que ha estado postergando, o "caminemos a través de cómo [módulo] funciona."

128 128>

129Esa es toda la solicitud. [Nombre del propietario] y el equipo están en #claude-code para129> Esa es toda la solicitud. [Nombre del propietario] y el equipo están en #claude-code para

130cualquier cosa que encuentre en el camino.130> cualquier cosa que encuentre en el camino.

131 131>

132- [Nombre del ejecutivo]132> - [Nombre del ejecutivo]

133 [Título]133> [Título]

134```134> ```

135 

136**Slack o Teams**

137 

138```markdown theme={null}

139📣 *De [Nombre del ejecutivo]: una cosa a probar esta semana*

140 

141Hemos activado *Claude Code* para toda la ingeniería. Los resultados iniciales son

142lo suficientemente sólidos como para que le pida a todos que le dediquen diez minutos a trabajo real esta semana.

143 

144`curl -fsSL https://claude.ai/install.sh | bash` → `cd su-repositorio` →

145`claude` → dele una tarea real.

146 135 

147Eso es todo. Preguntas → #claude-code.136> [tab] Slack o Teams

148```137>

138> ```markdown theme={null}

139> 📣 *De [Nombre del ejecutivo]: una cosa a probar esta semana*

140>

141> Hemos activado *Claude Code* para toda la ingeniería. Los resultados iniciales son

142> lo suficientemente sólidos como para que le pida a todos que le dediquen diez minutos a trabajo real esta semana.

143>

144> `curl -fsSL https://claude.ai/install.sh | bash` → `cd su-repositorio` →

145> `claude` → dele una tarea real.

146>

147> Eso es todo. Preguntas → #claude-code.

148> ```

149 149 

150### Variante de grupo piloto150### Variante de grupo piloto

151 151 

computer-use.md +2 −2

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Computer use es una vista previa de investigación en macOS que requiere un plan Pro o Max. No está disponible en planes Team o Enterprise. Requiere una sesión interactiva, por lo que no está disponible en modo no interactivo con la bandera `-p`.11> Computer use es una vista previa de investigación en macOS que requiere un plan Pro, Max o Ultra. No está disponible en planes Team o Enterprise. Requiere una sesión interactiva, por lo que no está disponible en modo no interactivo con el flag `-p`.

12 12 

13Computer use permite que Claude abra aplicaciones, controle su pantalla y trabaje en su máquina de la manera que lo haría usted. Desde la CLI, Claude puede compilar una aplicación Swift, lanzarla, hacer clic en cada botón y capturar una pantalla del resultado, todo en la misma conversación donde escribió el código.13Computer use permite que Claude abra aplicaciones, controle su pantalla y trabaje en su máquina de la manera que lo haría usted. Desde la CLI, Claude puede compilar una aplicación Swift, lanzarla, hacer clic en cada botón y capturar una pantalla del resultado, todo en la misma conversación donde escribió el código.

14 14 


198El servidor solo aparece en configuraciones elegibles. Verifique que:198El servidor solo aparece en configuraciones elegibles. Verifique que:

199 199 

200* Está en macOS. Computer use en la CLI no está disponible en Linux o Windows. En Windows, use [computer use en Desktop](https://code.claude.com/docs/es/desktop.md#let-claude-use-your-computer) en su lugar.200* Está en macOS. Computer use en la CLI no está disponible en Linux o Windows. En Windows, use [computer use en Desktop](https://code.claude.com/docs/es/desktop.md#let-claude-use-your-computer) en su lugar.

201* Está en un plan Pro o Max. Ejecute `/status` para confirmar su suscripción.201* Estás en un plan Pro, Max o Ultra. Ejecuta `/status` para confirmar tu suscripción.

202* Está autenticado a través de claude.ai. Computer use no está disponible con proveedores de terceros como Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry. Si accede a Claude exclusivamente a través de un proveedor de terceros, necesita una cuenta separada de claude.ai para usar esta característica.202* Está autenticado a través de claude.ai. Computer use no está disponible con proveedores de terceros como Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry. Si accede a Claude exclusivamente a través de un proveedor de terceros, necesita una cuenta separada de claude.ai para usar esta característica.

203* Está en una sesión interactiva. Computer use no está disponible en modo no interactivo con la bandera `-p`.203* Está en una sesión interactiva. Computer use no está disponible en modo no interactivo con la bandera `-p`.

204 204 

costs.md +104 −104

Details

6 6 

7> Realice un seguimiento del uso de tokens, establezca límites de gasto del equipo y reduzca los costos de Claude Code con la gestión del contexto, la selección de modelos, la configuración del pensamiento extendido y los hooks de preprocesamiento.7> Realice un seguimiento del uso de tokens, establezca límites de gasto del equipo y reduzca los costos de Claude Code con la gestión del contexto, la selección de modelos, la configuración del pensamiento extendido y los hooks de preprocesamiento.

8 8 

9Claude Code cobra por consumo de tokens de API. Para precios de planes de suscripción (Pro, Max, Team, Enterprise), consulte [claude.com/pricing](https://claude.com/pricing). Los costos por desarrollador varían ampliamente según la selección del modelo, el tamaño de la base de código y los patrones de uso, como ejecutar múltiples instancias o automatización.9Claude Code cobra por consumo de tokens de API. Para precios de planes de suscripción (Pro, Max, Ultra, Team, Enterprise), consulta [claude.com/pricing](https://claude.com/pricing). Los costos por desarrollador varían ampliamente según la selección del modelo, el tamaño de la base de código y los patrones de uso, como ejecutar múltiples instancias o automatización.

10 10 

11En implementaciones empresariales, el costo promedio es de alrededor de \$13 por desarrollador por día activo y \$150-250 por desarrollador por mes, con costos que se mantienen por debajo de \$30 por día activo para el 90% de los usuarios. Para estimar el gasto de su equipo, comience con un pequeño grupo piloto y use las herramientas de seguimiento a continuación para establecer una línea base antes de un despliegue más amplio.11En implementaciones empresariales, el costo promedio es de alrededor de \$13 por desarrollador por día activo y \$150-250 por desarrollador por mes, con costos que se mantienen por debajo de \$30 por día activo para el 90% de los usuarios. Para estimar el gasto de su equipo, comience con un pequeño grupo piloto y use las herramientas de seguimiento a continuación para establecer una línea base antes de un despliegue más amplio.

12 12 


18 18 

19> [!NOTE]19> [!NOTE]

20>20>

21> El bloque Session en `/usage` muestra el uso de tokens de API y está destinado a usuarios de API. Los suscriptores de Claude Max y Pro tienen el uso incluido en su suscripción, por lo que la cifra de costo de sesión no es relevante para fines de facturación. Los suscriptores ven barras de uso del plan, estadísticas de actividad y un desglose de uso en la misma pantalla.21> El bloque Session en `/usage` muestra el uso de tokens de API y está destinado a usuarios de API. Los suscriptores de Claude Pro, Max y Ultra tienen el uso incluido en su suscripción, por lo que la cifra de costo de sesión no es relevante para fines de facturación. Los suscriptores ven barras de uso del plan, estadísticas de actividad y un desglose de uso en la misma pantalla.

22 22 

23El bloque Session en la parte superior de `/usage` muestra estadísticas detalladas de uso de tokens para su sesión actual. Claude Code calcula la cifra en dólares localmente a partir de conteos de tokens al precio de lista, a menos que una tabla [`modelPricing`](https://code.claude.com/docs/es/settings-reference#modelpricing) esté en vigor. Un administrador establece una en la configuración administrada de su organización para que la cifra utilice sus tasas contratadas, y mientras una tabla esté en vigor, la línea `Total cost` lleva la nota `at your organization's configured rates`. La cifra es una estimación, por lo que para facturación autorizada consulte la página de Uso en la [Consola de Claude](https://platform.claude.com/usage).23El bloque Session en la parte superior de `/usage` muestra estadísticas detalladas de uso de tokens para su sesión actual. Claude Code calcula la cifra en dólares localmente a partir de conteos de tokens al precio de lista, a menos que una tabla [`modelPricing`](https://code.claude.com/docs/es/settings-reference#modelpricing) esté en vigor. Un administrador establece una en la configuración administrada de su organización para que la cifra utilice sus tasas contratadas, y mientras una tabla esté en vigor, la línea `Total cost` lleva la nota `at your organization's configured rates`. La cifra es una estimación, por lo que para facturación autorizada consulte la página de Uso en la [Consola de Claude](https://platform.claude.com/usage).

24 24 


55 55 

56#### Desglose de uso del plan56#### Desglose de uso del plan

57 57 

58En un plan Pro, Max, Team o Enterprise, `/usage` también muestra un desglose de lo que cuenta contra los límites de tu plan, con recomendaciones:58En un plan Pro, Max, Ultra, Team o Enterprise, `/usage` también muestra un desglose de lo que cuenta contra los límites de tu plan, con recomendaciones:

59 59 

60* **Attribution (Atribución)**: uso reciente atribuido a skills, subagentes, plugins y servidores MCP individuales, cada uno mostrado como un porcentaje del total. La participación de un servidor MCP cuenta solo las solicitudes que consumieron uno de sus resultados de herramientas. Antes de v2.1.222, después de una llamada a un servidor MCP, Claude Code atribuía cada solicitud posterior a ese servidor, sobrestimando su participación.60* **Attribution (Atribución)**: uso reciente atribuido a skills, subagentes, plugins y servidores MCP individuales, cada uno mostrado como un porcentaje del total. La participación de un servidor MCP cuenta solo las solicitudes que consumieron uno de sus resultados de herramientas. Antes de v2.1.222, después de una llamada a un servidor MCP, Claude Code atribuía cada solicitud posterior a ese servidor, sobrestimando su participación.

61* **Recommendations (Recomendaciones)**: cambios sugeridos, uno por fila. Cada fila comienza con una proporción de tu uso reciente, de al menos 10%, como en `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request`.61* **Recommendations (Recomendaciones)**: cambios sugeridos, uno por fila. Cada fila comienza con una proporción de tu uso reciente, de al menos 10%, como en `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request`.


92 92 

93`/usage` también muestra una fila de créditos de uso mientras [los créditos de uso](#add-usage-credits-to-your-subscription) estén activados. Lo que muestra la fila depende de su plan:93`/usage` también muestra una fila de créditos de uso mientras [los créditos de uso](#add-usage-credits-to-your-subscription) estén activados. Lo que muestra la fila depende de su plan:

94 94 

95* **Pro y Max**: su gasto para el mes actual, medido contra su límite de gasto mensual cuando ha establecido uno. Cuando no ha establecido un límite, la fila muestra `Unlimited` y ninguna cifra de gasto.95* **Pro, Max y Ultra**: tu gasto del mes actual, medido contra tu límite de gasto mensual cuando has establecido uno. Cuando no has establecido un límite, la fila muestra `Unlimited` y ninguna cifra de gasto.

96* **Team y Enterprise**: su propio gasto para el mes actual, medido contra cualquier [límite que su organización estableció](#claude-for-teams-and-enterprise) que se le aplique. Un límite que cubre toda la organización no aparece en la fila. Cuando no tiene su propio límite, la fila muestra su gasto sin límite junto a él. Mientras los créditos de uso estén desactivados para usted, `/usage` no muestra ninguna fila de créditos de uso.96* **Team y Enterprise**: su propio gasto para el mes actual, medido contra cualquier [límite que su organización estableció](#claude-for-teams-and-enterprise) que se le aplique. Un límite que cubre toda la organización no aparece en la fila. Cuando no tiene su propio límite, la fila muestra su gasto sin límite junto a él. Mientras los créditos de uso estén desactivados para usted, `/usage` no muestra ninguna fila de créditos de uso.

97 97 

98Cuando tiene un límite de gasto, la fila aparece tan pronto como los créditos de uso estén activados y muestra 0% hasta que gaste créditos de uso por primera vez. Antes de v2.1.236, `/usage` mostraba la fila solo en planes Pro y Max, y una fila con un límite de gasto permanecía oculta hasta que hubiera gastado algo.98Cuando tienes un límite de gasto, la fila aparece en cuanto los créditos de uso se activan y muestra 0% hasta que gastes créditos de uso por primera vez. Antes de v2.1.236, `/usage` mostraba la fila solo en los planes Pro, Max y Ultra, y una fila con un límite de gasto permanecía oculta hasta que hubieras gastado algo.

99 99 

100#### Cuando la solicitud de uso falla100#### Cuando la solicitud de uso falla

101 101 


130 130 

131| Su rol | Lo que hace `/usage-credits` |131| Su rol | Lo que hace `/usage-credits` |

132| :- | :- |132| :- | :- |

133| Suscriptor de Pro o Max | Abre [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai en el navegador. En su sección **Usage credits** puede activar o desactivar créditos de uso y verificar su saldo de crédito, el gasto de este mes y su límite de gasto mensual |133| Suscriptor de Pro, Max o Ultra | Abre [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai en el navegador. En su sección **Usage credits** puedes activar o desactivar los créditos de uso y consultar tu saldo de créditos, el gasto de este mes y tu límite de gasto mensual |

134| Miembro de Team o Enterprise con acceso de facturación | Abre la configuración de uso de tu organización, [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), en el navegador |134| Miembro de Team o Enterprise con acceso de facturación | Abre la configuración de uso de tu organización, [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), en el navegador |

135| Miembro de Team o Enterprise sin acceso de facturación | Le pide que confirme, luego envía una solicitud a los administradores de su organización. Antes de v2.1.211, Claude Code enviaba la solicitud sin un paso de confirmación |135| Miembro de Team o Enterprise sin acceso de facturación | Le pide que confirme, luego envía una solicitud a los administradores de su organización. Antes de v2.1.211, Claude Code enviaba la solicitud sin un paso de confirmación |

136 136 


140 140 

141En planes Pro y Max, cuando alcanza su límite de gasto con créditos de uso aún disponibles, Claude Code le solicita que aumente o elimine el límite sin abandonar la CLI. Si el servidor rechaza el cambio, consulte [Could not update your spend limit](https://code.claude.com/docs/es/errors.md#could-not-update-your-spend-limit).141En planes Pro y Max, cuando alcanza su límite de gasto con créditos de uso aún disponibles, Claude Code le solicita que aumente o elimine el límite sin abandonar la CLI. Si el servidor rechaza el cambio, consulte [Could not update your spend limit](https://code.claude.com/docs/es/errors.md#could-not-update-your-spend-limit).

142 142 

143## Gestión de costos para su organización143## Administra los costos de tu organización

144 144 

145Los controles que tiene dependen de cómo su organización accede a Claude Code: un plan Claude for Teams o Enterprise, la Consola de Claude, o un proveedor de nube. En los planes Teams y Enterprise, el uso se extrae de la asignación de cada miembro. En la Consola y en proveedores de nube, el uso se factura por token a su organización. Si su organización mezcla métodos de inicio de sesión, cada desarrollador se mide según el que autenticó.145Los controles que tienes dependen de cómo accede tu organización a Claude Code: un plan Claude for Teams o Enterprise, la Claude Console o un proveedor de nube. En los planes Teams y Enterprise, el uso se descuenta de la asignación del puesto de cada miembro. En la Console y en los proveedores de nube, el uso se factura por token a tu organización. Si tu organización combina métodos de inicio de sesión, cada desarrollador se mide según el método con el que se autenticó.

146 146 

147La tabla asigna cada configuración a dónde ve el gasto, dónde lo limita y cómo extrae números por usuario. En un plan individual Pro o Max no tiene organización que administrar, así que rastree su propio gasto de créditos de uso, incluido [modo rápido](https://code.claude.com/docs/es/fast-mode.md#see-where-fast-mode-spend-appears), en [Agregar créditos de uso a su suscripción](#add-usage-credits-to-your-subscription).147La tabla relaciona cada configuración con dónde ves el gasto, dónde lo limitas y cómo obtienes cifras por usuario. En un plan individual Pro, Max o Ultra no tienes una organización que administrar, así que haz seguimiento de tu propio gasto en créditos de uso, incluido el [modo rápido](https://code.claude.com/docs/es/fast-mode.md#see-where-fast-mode-spend-appears), en [Agrega créditos de uso a tu suscripción](#add-usage-credits-to-your-subscription).

148 148 

149| Su configuración | Ver gasto | Limitar gasto | Informes por usuario |149| Tu configuración | Ver el gasto | Limitar el gasto | Informes por usuario |

150| :- | :- | :- | :- |150| :- | :- | :- | :- |

151| [Claude for Teams o Enterprise](#claude-for-teams-and-enterprise) | [Informe de gasto en análisis de org](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) | Límites de gasto en configuración de administrador | [CSV de informe de gasto](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans); [API de Análisis Enterprise](https://platform.claude.com/docs/en/api/admin/analytics) en Enterprise |151| [Claude for Teams o Enterprise](#claude-for-teams-and-enterprise) | [Informe de gasto en las analíticas de la organización](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) | Límites de gasto en la configuración de administración | [CSV del informe de gasto](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans); [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) en Enterprise |

152| [Consola de Claude (API)](#claude-console) | [Página de uso de Consola](https://platform.claude.com/usage) | Límites de gasto del espacio de trabajo | [Panel de Consola](https://platform.claude.com/claude-code), [API de Análisis de Claude Code](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) |152| [Claude Console (API)](#claude-console) | [Página de uso de la Console](https://platform.claude.com/usage) | Límites de gasto del espacio de trabajo | [Panel de la Console](https://platform.claude.com/claude-code), [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) |

153| [Amazon Bedrock, Plataforma de Agentes de Google Cloud, o Microsoft Foundry](#cloud-providers) | Su consola de facturación en la nube | Controles de presupuesto de su nube | [OpenTelemetry](https://code.claude.com/docs/es/monitoring-usage.md) o una [puerta de enlace LLM](https://code.claude.com/docs/es/llm-gateway) |153| [Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry](#cloud-providers) | La consola de facturación de tu nube | Los controles de presupuesto de tu nube | [OpenTelemetry](https://code.claude.com/docs/es/monitoring-usage.md) o un [gateway de LLM](https://code.claude.com/docs/es/llm-gateway) |

154 154 

155[La exportación de OpenTelemetry](https://code.claude.com/docs/es/monitoring-usage.md) funciona en cada configuración y es la única opción que transmite métricas de tokens y costos por usuario a su propia pila de observabilidad en tiempo casi real.155La [exportación de OpenTelemetry](https://code.claude.com/docs/es/monitoring-usage.md) funciona en todas las configuraciones y es la única opción que transmite métricas de tokens y costos por usuario a tu propia pila de observabilidad casi en tiempo real.

156 156 

157### Informar gasto a sus tasas contratadas157### Informa el gasto con tus tarifas contratadas

158 158 

159Por defecto, Claude Code calcula cada cifra de costo que muestra a los desarrolladores al precio de lista, así que si su organización paga tasas contratadas, las cifras en `/usage`, la línea de estado y OpenTelemetry no coinciden con su factura. Para hacerlas coincidir, establezca la configuración administrada [`modelPricing`](https://code.claude.com/docs/es/settings-reference#modelpricing) a sus tasas. La configuración cambia lo que Claude Code reporta, no lo que Anthropic cobra. Requiere Claude Code v2.1.242 o posterior.159De forma predeterminada, Claude Code calcula cada cifra de costo que muestra a los desarrolladores con el precio de lista, así que si tu organización paga tarifas contratadas, las cifras de `/usage`, la línea de estado y OpenTelemetry no coinciden con tu factura. Para que coincidan, establece el ajuste administrado [`modelPricing`](https://code.claude.com/docs/es/settings-reference#modelpricing) con tus tarifas. El ajuste cambia lo que informa Claude Code, no lo que cobra Anthropic. Requiere Claude Code v2.1.242 o posterior.

160 160 

161**1. Tome las tasas de su contrato**161**1. Toma las tarifas de tu contrato**

162 162 

163Ingrese las tasas por millón de tokens de su contrato. Claude Code no las obtiene de la Consola de Claude, así que actualice la configuración cuando el contrato cambie.163Ingresa las tarifas por millón de tokens de tu contrato. Claude Code no las obtiene de la Claude Console, así que actualiza el ajuste cuando cambie el contrato.

164 164 

165**2. Escriba la configuración**165**2. Escribe el ajuste**

166 166 

167Establezca `multiplier` por debajo de 1 para un descuento fijo o por encima de 1 para un margen, enumere las cuatro tasas por token de cada modelo en `overrides`, o haga ambas. Un margen requiere Claude Code v2.1.271 o posterior. La [entrada `modelPricing`](https://code.claude.com/docs/es/settings-reference#modelpricing) tiene la forma y un ejemplo listo para pegar.167Establece `multiplier` por debajo de 1 para un descuento fijo o por encima de 1 para un recargo, enumera las cuatro tarifas por token de cada modelo en `overrides`, o haz ambas cosas. Un recargo requiere Claude Code v2.1.271 o posterior. La [entrada de `modelPricing`](https://code.claude.com/docs/es/settings-reference#modelpricing) tiene la estructura y un ejemplo listo para pegar.

168 168 

169**3. Implántelo a través de configuración administrada**169**3. Despliégalo mediante la configuración administrada**

170 170 

171Entréguela como [configuración administrada](https://code.claude.com/docs/es/managed-settings.md): configuración administrada por servidor, una política MDM, `managed-settings.json`, o un [asistente de política](https://code.claude.com/docs/es/managed-settings.md#compute-the-policy-with-a-helper-program). Claude Code ignora la clave en configuración de usuario, proyecto y local y en `--settings`.171Entrégalo como [configuración administrada](https://code.claude.com/docs/es/managed-settings.md): configuración administrada por servidor, una política de MDM, `managed-settings.json` o un [programa auxiliar de políticas](https://code.claude.com/docs/es/managed-settings.md#compute-the-policy-with-a-helper-program). Claude Code ignora la clave en la configuración de usuario, de proyecto y local, y en `--settings`.

172 172 

173Para confirmar que las tasas están en vigor, ejecute `/usage` en una sesión que haya [recibido la configuración administrada](https://code.claude.com/docs/es/managed-settings.md#read-the-source-in-%2Fstatus): el bloque de sesión de la línea `Total cost` lleva la nota `at your organization's configured rates`. Las cifras siguen siendo estimaciones, no una factura. Los precios por millón de tokens en el selector `/model` permanecen al precio de lista.173Para confirmar que las tarifas están vigentes, ejecuta `/usage` en una sesión que haya [recibido la configuración administrada](https://code.claude.com/docs/es/managed-settings.md#read-the-source-in-%2Fstatus): la línea `Total cost` del bloque Session lleva la nota `at your organization's configured rates`. Las cifras siguen siendo estimaciones, no una factura. Los precios por millón de tokens del selector de `/model` se mantienen en el precio de lista.

174 174 

175### Claude for Teams y Enterprise175### Claude for Teams y Enterprise

176 176 

177En los planes Claude for Teams y Enterprise, el uso de Claude Code de cada miembro se extrae de una asignación por puesto que se reinicia en una ventana de cinco horas móvil y una ventana semanal. La asignación se comparte con Claude chat y Cowork, y su tamaño depende del [nivel de puesto](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan) (Standard o Premium). Sus controles se encuentran en la consola de administrador de claude.ai, no en la Consola de Claude.177En los planes Claude for Teams y Enterprise, el uso de Claude Code de cada miembro se descuenta de una asignación por puesto que se restablece en una ventana móvil de cinco horas y en una ventana semanal. La asignación se comparte con el chat de Claude y Cowork, y su tamaño depende del [nivel de puesto](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan) del miembro (Standard o Premium). Tus controles están en la consola de administración de claude.ai, no en la Claude Console.

178 178 

179* **Ver gasto**: el [informe de gasto en análisis de org](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) muestra el gasto estimado por usuario y por modelo, con exportación CSV, actualizado diariamente. El informe cubre el gasto de créditos de uso y aparece una vez que se activan los créditos de uso. El uso dentro de la asignación de puesto no se mide en dólares.179* **Ver el gasto**: el [informe de gasto en las analíticas de la organización](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) muestra el gasto estimado por usuario y por modelo, con exportación a CSV, y se actualiza a diario. El informe cubre el gasto en créditos de uso y aparece una vez que se activan los créditos de uso. El uso dentro de la asignación del puesto no se mide en dólares.

180* **Ver adopción**: el [panel de análisis](https://claude.ai/analytics/claude-code) muestra usuarios activos diarios, sesiones y métricas de contribución, con exportación CSV de datos de contribución. Consulte [rastrear el uso del equipo con análisis](https://code.claude.com/docs/es/analytics.md).180* **Ver la adopción**: el [panel de analíticas](https://claude.ai/analytics/claude-code) muestra los usuarios activos diarios, las sesiones y las métricas de contribución, con exportación a CSV de los datos de contribución. Consulta [haz seguimiento del uso del equipo con analíticas](https://code.claude.com/docs/es/analytics.md).

181* **Limitar gasto**: la asignación de puesto es el techo predeterminado. Para permitir que los miembros continúen más allá, active [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) y establezca límites de gasto a nivel de organización, grupo o miembro individual.181* **Limitar el gasto**: la asignación del puesto es el tope predeterminado. Para permitir que los miembros continúen más allá de ella, activa los [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) y establece límites de gasto a nivel de organización, de grupo o de miembro individual.

182* **Extraer números por usuario**: en el plan Enterprise, la [API de Análisis Enterprise](https://platform.claude.com/docs/en/api/admin/analytics) devuelve informes de uso y costo por usuario en todas las superficies de Claude, incluido Claude Code. Un Propietario Principal crea una clave con el alcance `read:analytics` en [claude.ai/analytics/api-keys](https://claude.ai/analytics/api-keys). En el plan Teams, exporte el [CSV de informe de gasto](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans), que enumera el uso de tokens y el gasto estimado por usuario y por modelo.182* **Obtener cifras por usuario**: en el plan Enterprise, la [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) devuelve informes de uso y costo por usuario en todas las superficies de Claude, incluido Claude Code. Un Primary Owner crea una clave con el alcance `read:analytics` en [claude.ai/analytics/api-keys](https://claude.ai/analytics/api-keys). En el plan Teams, exporta el [CSV del informe de gasto](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans), que enumera el uso de tokens y el gasto estimado por usuario y por modelo.

183 183 

184La [Guía de consumo de Claude Enterprise](https://support.claude.com/en/articles/14782391-claude-enterprise-consumption-guide) es la referencia de planificación para administradores. Explica cómo difiere el consumo en Claude chat, Claude Code y Cowork, y proporciona puntos de partida en dólares por usuario para presupuestar. Presupueste más para un puesto de codificación que para un puesto de chat: cada turno de Claude Code lleva contenidos de archivo, llamadas de herramientas y razonamiento de múltiples pasos, por lo que una sesión de depuración puede consumir más que un día de chat.184La [guía de consumo de Claude Enterprise](https://support.claude.com/en/articles/14782391-claude-enterprise-consumption-guide) es la referencia de planificación para los administradores. Explica cómo difiere el consumo entre el chat de Claude, Claude Code y Cowork, y ofrece puntos de partida en dólares por usuario para presupuestar. Presupuesta más para un puesto de programación que para un puesto de chat: cada turno de Claude Code lleva contenido de archivos, llamadas a herramientas y razonamiento de varios pasos, así que una sola sesión de depuración puede consumir más que un día de chat.

185 185 

186### Consola de Claude186### Claude Console

187 187 

188Las organizaciones de API administran el gasto de Claude Code a través de [espacios de trabajo](https://platform.claude.com/docs/en/build-with-claude/workspaces). Puede [establecer límites de gasto del espacio de trabajo](https://platform.claude.com/docs/en/build-with-claude/workspaces#workspace-limits) en el gasto total de Claude Code y [ver informes de costos y uso](https://platform.claude.com/docs/en/build-with-claude/workspaces#usage-and-cost-tracking) en la Consola.188Las organizaciones de API administran el gasto de Claude Code mediante [espacios de trabajo](https://platform.claude.com/docs/en/build-with-claude/workspaces). Puedes [establecer límites de gasto del espacio de trabajo](https://platform.claude.com/docs/en/build-with-claude/workspaces#workspace-limits) sobre el gasto total de Claude Code y [ver los informes de costo y uso](https://platform.claude.com/docs/en/build-with-claude/workspaces#usage-and-cost-tracking) en la Console.

189 189 

190> [!NOTE]190> [!NOTE]

191>191>

192> Cuando autentica por primera vez Claude Code con su cuenta de Claude Console, se crea automáticamente un espacio de trabajo llamado "Claude Code" para usted. Este espacio de trabajo proporciona seguimiento y gestión centralizada de costos para todo el uso de Claude Code en su organización. No puede crear claves de API para este espacio de trabajo; es exclusivamente para autenticación y uso de Claude Code.192> Cuando autenticas Claude Code por primera vez con tu cuenta de Claude Console, se crea automáticamente un espacio de trabajo llamado "Claude Code". Este espacio de trabajo proporciona seguimiento y administración centralizados de costos para todo el uso de Claude Code en tu organización. No puedes crear claves de API para este espacio de trabajo; es exclusivamente para la autenticación y el uso de Claude Code.

193>193>

194> Para organizaciones con límites de velocidad personalizados, el tráfico de Claude Code en este espacio de trabajo cuenta hacia los límites de velocidad de API generales de su organización. Puede establecer un [límite de velocidad del espacio de trabajo](https://platform.claude.com/docs/en/api/rate-limits#setting-lower-limits-for-workspaces) en la página Limits de este espacio de trabajo en la Consola de Claude para limitar la parte de Claude Code y proteger otras cargas de trabajo de producción.194> Para las organizaciones con rate limits personalizados, el tráfico de Claude Code en este espacio de trabajo cuenta para los rate limits generales de la API de tu organización. Puedes establecer un [rate limit del espacio de trabajo](https://platform.claude.com/docs/en/api/rate-limits#setting-lower-limits-for-workspaces) en la página Limits de este espacio de trabajo en la Claude Console para limitar la parte de Claude Code y proteger otras cargas de trabajo de producción.

195 195 

196Para informes por usuario, el [panel de Consola](https://platform.claude.com/claude-code) muestra gasto y líneas aceptadas por miembro, y la [API de Análisis de Claude Code](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) devuelve las mismas métricas diarias por usuario mediante programación con una [clave de API de administrador](https://platform.claude.com/settings/admin-keys). Consulte [análisis para clientes de API](https://code.claude.com/docs/es/analytics.md#access-analytics-for-api-customers).196Para los informes por usuario, el [panel de la Console](https://platform.claude.com/claude-code) muestra el gasto y las líneas aceptadas por miembro, y la [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) devuelve las mismas métricas diarias por usuario de forma programática con una [clave de API de administración](https://platform.claude.com/settings/admin-keys). Consulta [analíticas para clientes de API](https://code.claude.com/docs/es/analytics.md#access-analytics-for-api-customers).

197 197 

198#### Recomendaciones de límite de velocidad198#### Recomendaciones de rate limits

199 199 

200Al configurar Claude Code para equipos, considere estas recomendaciones de Tokens Por Minuto (TPM) y Solicitudes Por Minuto (RPM) por usuario según el tamaño de su organización:200Al configurar Claude Code para equipos, considera estas recomendaciones por usuario de tokens por minuto (TPM) y solicitudes por minuto (RPM) según el tamaño de tu organización:

201 201 

202| Tamaño del equipo | TPM por usuario | RPM por usuario |202| Tamaño del equipo | TPM por usuario | RPM por usuario |

203| - | - | - |203| - | - | - |


208| 100-500 usuarios | 15k-20k | 0.37-0.47 |208| 100-500 usuarios | 15k-20k | 0.37-0.47 |

209| 500+ usuarios | 10k-15k | 0.25-0.35 |209| 500+ usuarios | 10k-15k | 0.25-0.35 |

210 210 

211Por ejemplo, si tiene 200 usuarios, podría solicitar 20k TPM para cada usuario, o 4 millones de TPM totales (200\*20,000 = 4 millones).211Por ejemplo, si tienes 200 usuarios, podrías solicitar 20k TPM para cada usuario, o 4 millones de TPM en total (200\*20,000 = 4 millones).

212 212 

213El TPM por usuario disminuye a medida que crece el tamaño del equipo porque menos usuarios tienden a usar Claude Code simultáneamente en organizaciones más grandes. Estos límites de velocidad se aplican a nivel de organización, no por usuario individual, lo que significa que los usuarios individuales pueden consumir temporalmente más que su parte calculada cuando otros no están usando activamente el servicio.213Los TPM por usuario disminuyen a medida que crece el tamaño del equipo porque en las organizaciones más grandes menos usuarios tienden a usar Claude Code de forma simultánea. Estos rate limits se aplican a nivel de organización, no por usuario individual, lo que significa que los usuarios individuales pueden consumir temporalmente más que su parte calculada cuando otros no están usando activamente el servicio.

214 214 

215> [!NOTE]215> [!NOTE]

216>216>

217> Si anticipa escenarios con uso concurrente inusualmente alto (como sesiones de capacitación en vivo con grupos grandes), es posible que necesite asignaciones de TPM más altas por usuario.217> Si prevés escenarios con un uso simultáneo inusualmente alto (como sesiones de capacitación en vivo con grupos grandes), es posible que necesites asignaciones de TPM más altas por usuario.

218 218 

219### Proveedores de nube219### Proveedores de nube

220 220 

221En Amazon Bedrock, Plataforma de Agentes de Google Cloud y Microsoft Foundry, Claude Code se factura por token a su cuenta en la nube, y los controles de gasto se encuentran en la consola de facturación de su proveedor de nube. Claude Code no envía métricas desde su nube a Anthropic, por lo que los [paneles de análisis](https://code.claude.com/docs/es/analytics.md) y la API de Análisis de Claude Code no cubren este uso.221En Amazon Bedrock, Google Cloud's Agent Platform y Microsoft Foundry, Claude Code se factura por token a tu cuenta de nube, y los controles de gasto están en la consola de facturación de tu proveedor de nube. Claude Code no envía métricas de tu nube de vuelta a Anthropic, así que los [paneles de analíticas](https://code.claude.com/docs/es/analytics.md) y la Claude Code Analytics API no cubren este uso.

222 222 

223Para la atribución de costos por usuario, tiene tres opciones:223Para atribuir costos por usuario, tienes tres opciones:

224 224 

225* **OpenTelemetry**: [exporte métricas](https://code.claude.com/docs/es/monitoring-usage.md) desde la máquina de cada desarrollador a su propia pila de observabilidad. Esto le proporciona conteos de tokens por usuario, costos y actividad de herramientas independientemente del proveedor.225* **OpenTelemetry**: [exporta métricas](https://code.claude.com/docs/es/monitoring-usage.md) desde la máquina de cada desarrollador a tu propia pila de observabilidad. Esto te da conteos de tokens, costos y actividad de herramientas por usuario, independientemente del proveedor.

226* **Una puerta de enlace de aplicaciones Claude**: una [puerta de enlace de aplicaciones Claude](https://code.claude.com/docs/es/claude-apps-gateway) autohospedada proporciona atribución de uso por usuario, métricas OTLP con conteos de tokens, y [límites de gasto por usuario](https://code.claude.com/docs/es/claude-apps-gateway-spend-limits.md) en estos proveedores.226* **Un Claude apps gateway**: un [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway) autoalojado proporciona atribución de uso por usuario, métricas OTLP con conteos de tokens y [límites de gasto por usuario](https://code.claude.com/docs/es/claude-apps-gateway-spend-limits.md) en estos proveedores.

227* **Una puerta de enlace LLM**: enrute todo el tráfico de Claude Code a través de un proxy que rastree el gasto por clave. Varios grandes empresas informaron usar [LiteLLM](https://code.claude.com/docs/es/llm-gateway), una herramienta de código abierto que [rastrea el gasto por clave](https://docs.litellm.ai/docs/proxy/virtual_keys#tracking-spend). Este proyecto no está afiliado con Anthropic y no ha sido auditado por seguridad.227* **Un gateway de LLM**: enruta todo el tráfico de Claude Code a través de un proxy que haga seguimiento del gasto por clave. Varias grandes empresas informaron que usan [LiteLLM](https://code.claude.com/docs/es/llm-gateway), una herramienta de código abierto que [hace seguimiento del gasto por clave](https://docs.litellm.ai/docs/proxy/virtual_keys#tracking-spend). Este proyecto no está afiliado a Anthropic y no ha sido auditado en cuanto a seguridad.

228 228 

229### Cuando un desarrollador pregunta sobre un límite229### Cuando un desarrollador pregunta por un límite

230 230 

231Los desarrolladores generalmente llevan preguntas sobre límites a su administrador, por lo que es útil saber qué techo alcanzaron. Estas situaciones significan cosas diferentes:231Los desarrolladores suelen llevar sus preguntas sobre límites a su administrador, así que conviene saber qué tope alcanzaron. Estas situaciones significan cosas distintas:

232 232 

233* **"Ha alcanzado su límite de sesión" o "Ha alcanzado su límite semanal"**: una ventana de uso basada en puesto en un plan de suscripción, compartida en todos los modelos, por lo que el desarrollador no puede restaurar el acceso cambiando modelos con `/model`. El mensaje muestra cuándo se reinicia la ventana. Después del mensaje específico del modelo "Ha alcanzado su límite de Opus" o "Ha alcanzado su límite de Sonnet", cambiar a un modelo fuera de esa familia con `/model` sí mantiene al desarrollador trabajando. Consulte [errores de límite de uso](https://code.claude.com/docs/es/errors.md#youve-hit-your-session-limit). Lo que el desarrollador puede hacer mientras tanto:233* **"You've hit your session limit" o "You've hit your weekly limit"**: una ventana de uso basada en puestos de un plan de suscripción, compartida entre todos los modelos, así que el desarrollador no puede recuperar el acceso cambiando de modelo con `/model`. El mensaje muestra cuándo se restablece la ventana. Tras el mensaje específico de modelo "You've hit your Opus limit" o "You've hit your Sonnet limit", cambiar con `/model` a un modelo fuera de esa familia sí permite que el desarrollador siga trabajando. Consulta [errores de límite de uso](https://code.claude.com/docs/es/errors.md#youve-hit-your-session-limit). Lo que el desarrollador puede hacer mientras tanto:

234 * Ejecute `/usage-credits` para solicitar uso más allá de la asignación, si tiene [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) activados.234 * Ejecutar `/usage-credits` para solicitar uso más allá de la asignación, si tienes los [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) activados.

235 * En Claude Code v2.1.234 o posterior, [espere y continúe la tarea interrumpida automáticamente después del reinicio](https://code.claude.com/docs/es/interactive-mode.md#wait-for-a-usage-limit-to-reset); esa sección enumera cuándo Claude Code inicia la espera por su cuenta y cuándo el desarrollador la elige de `/rate-limit-options`. Para controlar en su flota si Claude Code inicia esa espera por su cuenta, establezca [`autoContinueAtUsageLimit`](https://code.claude.com/docs/es/settings-reference#autocontinueatusagelimit) en [configuración administrada](https://code.claude.com/docs/es/settings.md#settings-precedence).235 * En Claude Code v2.1.234 o posterior, [esperar y continuar la tarea interrumpida automáticamente tras el restablecimiento](https://code.claude.com/docs/es/interactive-mode.md#wait-for-a-usage-limit-to-reset); esa sección indica cuándo Claude Code inicia la espera por su cuenta y cuándo el desarrollador la elige desde `/rate-limit-options`. Para controlar en toda tu flota si Claude Code inicia esa espera por su cuenta, establece [`autoContinueAtUsageLimit`](https://code.claude.com/docs/es/settings-reference#autocontinueatusagelimit) en la [configuración administrada](https://code.claude.com/docs/es/settings.md#settings-precedence).

236* **"You've hit your individual spend limit", "org's monthly spend limit" o "team's shared budget"**: la solicitud del desarrollador se facturaría a créditos de uso, y esos créditos alcanzaron un límite de gasto que estableciste. Para que el desarrollador pueda continuar, ve a [**Configuración de la organización > Uso**](https://claude.ai/admin-settings/usage) y aumenta el límite que indica el mensaje. Si el mensaje también indica una hora de restablecimiento del plan, el desarrollador puede esperar hasta entonces. Consulta [la referencia de errores](https://code.claude.com/docs/es/errors.md#youve-hit-your-monthly-spend-limit) para cada variante.236* **"You've hit your individual spend limit", "org's monthly spend limit" o "team's shared budget"**: la solicitud del desarrollador se facturaría a créditos de uso, y esos créditos alcanzaron un límite de gasto que estableciste. Para permitir que el desarrollador continúe, ve a [**Organization settings > Usage**](https://claude.ai/admin-settings/usage) y aumenta el límite que nombra el mensaje. Cuando el mensaje también nombra una hora de restablecimiento del plan, el desarrollador puede en cambio esperar hasta entonces. Consulta [la referencia de errores](https://code.claude.com/docs/es/errors.md#youve-hit-your-monthly-spend-limit) para cada variante.

237* **Un mensaje de límite de gasto de una [puerta de enlace de aplicaciones Claude](https://code.claude.com/docs/es/claude-apps-gateway)**: el desarrollador pasó un límite de gasto que estableció en su puerta de enlace autohospedada, y la puerta de enlace bloquea sus solicitudes hasta que el período se reinicia o usted aumenta el límite. Consulte [límites de gasto de puerta de enlace](https://code.claude.com/docs/es/claude-apps-gateway-spend-limits.md) para límites, cronogramas de reinicio y el mensaje que ve el desarrollador.237* **Un mensaje de límite de gasto de un [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway)**: el desarrollador superó un tope de gasto que tú estableciste en tu gateway autoalojado, y el gateway bloquea sus solicitudes hasta que se restablezca el período o hasta que tú aumentes el tope. Consulta [límites de gasto del gateway](https://code.claude.com/docs/es/claude-apps-gateway-spend-limits.md) para conocer los topes, los calendarios de restablecimiento y el mensaje que ve el desarrollador.

238* **Una advertencia de contexto o auto-compact**: no es un límite de uso. La conversación ha crecido cerca de la [ventana de auto-compact](https://code.claude.com/docs/es/model-config.md#set-the-auto-compact-window) de la sesión, el umbral donde Claude Code resume el historial anterior para liberar espacio. Dirija al desarrollador a [reducir el uso de tokens](#reduce-token-usage).238* **Una advertencia de contexto o de compactación automática**: no es un límite de uso. La conversación se acercó a la [ventana de compactación automática](https://code.claude.com/docs/es/model-config.md#set-the-auto-compact-window) de la sesión, el umbral en el que Claude Code resume el historial más antiguo para liberar espacio. Dirige al desarrollador a [reduce el uso de tokens](#reduce-token-usage).

239* **Gasto inesperadamente alto en un plan de API o proveedor de nube**: generalmente se remonta a sesiones largas que nunca se borraron o a Opus dejado como modelo predeterminado. Los hábitos de mayor impacto para compartir son borrar entre tareas no relacionadas y hacer coincidir el modelo con el trabajo, ambos cubiertos en [reducir el uso de tokens](#reduce-token-usage).239* **Gasto inesperadamente alto en un plan de API o de proveedor de nube**: suele deberse a sesiones largas que nunca se limpiaron o a Opus dejado como modelo predeterminado. Los hábitos de mayor impacto para compartir son limpiar entre tareas no relacionadas y ajustar el modelo a la tarea, ambos descritos en [reduce el uso de tokens](#reduce-token-usage).

240 240 

241### Costos de tokens del equipo de agentes241### Costos de tokens de los equipos de agentes

242 242 

243[Los equipos de agentes](https://code.claude.com/docs/es/agent-teams.md) generan múltiples instancias de Claude Code, cada una con su propia ventana de contexto. El uso de tokens se escala con el número de compañeros de equipo activos y cuánto tiempo se ejecuta cada uno.243Los [equipos de agentes](https://code.claude.com/docs/es/agent-teams.md) generan varias instancias de Claude Code, cada una con su propia ventana de contexto. El uso de tokens escala con el número de compañeros de equipo activos y con cuánto tiempo se ejecuta cada uno.

244 244 

245Para mantener los costos del equipo de agentes manejables:245Para mantener manejables los costos de los equipos de agentes:

246 246 

247* Use Sonnet para compañeros de equipo. Equilibra capacidad y costo para tareas de coordinación.247* Usa Sonnet para los compañeros de equipo. Equilibra capacidad y costo para las tareas de coordinación.

248* Mantenga los equipos pequeños. Cada compañero de equipo ejecuta su propia ventana de contexto, por lo que el uso de tokens es aproximadamente proporcional al tamaño del equipo.248* Mantén los equipos pequeños. Cada compañero de equipo ejecuta su propia ventana de contexto, así que el uso de tokens es aproximadamente proporcional al tamaño del equipo.

249* Mantenga los prompts de generación enfocados. Los compañeros de equipo cargan CLAUDE.md, servidores MCP y skills automáticamente, pero todo en el prompt de generación se suma a su contexto desde el principio.249* Mantén enfocados los prompts de creación. Los compañeros de equipo cargan CLAUDE.md, los servidores MCP y los skills automáticamente, pero todo lo que hay en el prompt de creación se suma a su contexto desde el inicio.

250* Cierre los compañeros de equipo cuando su trabajo esté hecho. Cada compañero de equipo activo continúa consumiendo tokens hasta que se cierre o la sesión finalice.250* Cierra los compañeros de equipo cuando terminen su trabajo. Cada compañero de equipo activo sigue consumiendo tokens hasta que sale o termina la sesión.

251* Los equipos de agentes están deshabilitados por defecto. Establezca `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` en su [settings.json](https://code.claude.com/docs/es/settings.md) o entorno para habilitarlos. Consulte [habilitar equipos de agentes](https://code.claude.com/docs/es/agent-teams.md#enable-agent-teams).251* Los equipos de agentes están desactivados de forma predeterminada. Establece `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` en tu [settings.json](https://code.claude.com/docs/es/settings.md) o en el entorno para activarlos. Consulta [activa los equipos de agentes](https://code.claude.com/docs/es/agent-teams.md#enable-agent-teams).

252 252 

253## Reducir el uso de tokens253## Reducir el uso de tokens

254 254 


294 294 

295Por ejemplo, este hook PreToolUse filtra la salida de las pruebas para mostrar solo los fallos:295Por ejemplo, este hook PreToolUse filtra la salida de las pruebas para mostrar solo los fallos:

296 296 

297**settings.json**297> [tab] settings.json

298 298>

299Agrega esto a tu [settings.json](https://code.claude.com/docs/es/settings.md#where-settings-live) para ejecutar el hook antes de cada comando Bash:299> Agrega esto a tu [settings.json](https://code.claude.com/docs/es/settings.md#where-settings-live) para ejecutar el hook antes de cada comando Bash:

300 300>

301```json theme={null}301> ```json theme={null}

302{302> {

303 "hooks": {303> "hooks": {

304 "PreToolUse": [304> "PreToolUse": [

305 {305> {

306 "matcher": "Bash",306> "matcher": "Bash",

307 "hooks": [307> "hooks": [

308 {308> {

309 "type": "command",309> "type": "command",

310 "command": "~/.claude/hooks/filter-test-output.sh"310> "command": "~/.claude/hooks/filter-test-output.sh"

311 }311> }

312 ]312> ]

313 }313> }

314 ]314> ]

315 }315> }

316}316> }

317```317> ```

318 318 

319**filter-test-output.sh**319> [tab] filter-test-output.sh

320 320>

321El hook llama a este script. Crea la carpeta con `mkdir -p ~/.claude/hooks`, guarda el script a continuación como `~/.claude/hooks/filter-test-output.sh` y hazlo ejecutable con `chmod +x ~/.claude/hooks/filter-test-output.sh`. Verifica si el comando es un ejecutor de pruebas y lo modifica para mostrar solo los fallos:321> El hook llama a este script. Crea la carpeta con `mkdir -p ~/.claude/hooks`, guarda el script a continuación como `~/.claude/hooks/filter-test-output.sh` y hazlo ejecutable con `chmod +x ~/.claude/hooks/filter-test-output.sh`. Verifica si el comando es un ejecutor de pruebas y lo modifica para mostrar solo los fallos:

322 322>

323```bash theme={null}323> ```bash theme={null}

324#!/bin/bash324> #!/bin/bash

325input=$(cat)325> input=$(cat)

326cmd=$(echo "$input" | jq -r '.tool_input.command')326> cmd=$(echo "$input" | jq -r '.tool_input.command')

327 327>

328# If running tests, filter to show only failures328> # If running tests, filter to show only failures

329pattern='^(npm test|pytest|go test)( [^;&|<>`$#\\[:cntrl:]]*)?$'329> pattern='^(npm test|pytest|go test)( [^;&|<>`$#\\[:cntrl:]]*)?$'

330if [[ "$cmd" =~ $pattern ]]; then330> if [[ "$cmd" =~ $pattern ]]; then

331 filtered_cmd="$cmd 2>&1 | grep -A 5 -E '(FAIL|ERROR|error:)' | head -100"331> filtered_cmd="$cmd 2>&1 | grep -A 5 -E '(FAIL|ERROR|error:)' | head -100"

332 echo "$input" | jq --arg filtered "$filtered_cmd" \332> echo "$input" | jq --arg filtered "$filtered_cmd" \

333 '{hookSpecificOutput: {hookEventName: "PreToolUse", updatedInput: (.tool_input + {command: $filtered})}}'333> '{hookSpecificOutput: {hookEventName: "PreToolUse", updatedInput: (.tool_input + {command: $filtered})}}'

334else334> else

335 echo "{}"335> echo "{}"

336fi336> fi

337```337> ```

338 338 

339Para verificar la configuración, ejecuta `/hooks` y comprueba que el hook aparezca bajo PreToolUse. También puedes iniciar Claude Code con `claude --debug-file ./claude-debug.txt` y pedirle a Claude que ejecute `npm test`. Cuando el hook reescribe el comando, ese archivo de registro contiene una línea `modified tool input keys` que enumera `command` y los otros campos de entrada de Bash.339Para verificar la configuración, ejecuta `/hooks` y comprueba que el hook aparezca bajo PreToolUse. También puedes iniciar Claude Code con `claude --debug-file ./claude-debug.txt` y pedirle a Claude que ejecute `npm test`. Cuando el hook reescribe el comando, ese archivo de registro contiene una línea `modified tool input keys` que enumera `command` y los otros campos de entrada de Bash.

340 340 


392* **Compañeros agentes**: cada [compañero](#agent-team-token-costs) activo sigue consumiendo tokens hasta que sale392* **Compañeros agentes**: cada [compañero](#agent-team-token-costs) activo sigue consumiendo tokens hasta que sale

393* **Compactación**: `/compact` lee la conversación que resume, por lo que [compactar un contexto grande](https://code.claude.com/docs/es/prompt-caching.md#compacting-the-conversation) es en sí una solicitud grande. Cuando desea un nuevo comienzo en lugar de continuidad, `/clear` no cuesta nada393* **Compactación**: `/compact` lee la conversación que resume, por lo que [compactar un contexto grande](https://code.claude.com/docs/es/prompt-caching.md#compacting-the-conversation) es en sí una solicitud grande. Cuando desea un nuevo comienzo en lugar de continuidad, `/clear` no cuesta nada

394 394 

395En un plan Pro, Max, Team o Enterprise, el [desglose de `/usage`](#plan-usage-breakdown) recomienda un cambio para los comportamientos que representan el 10% o más de tu uso reciente, como contexto largo o fallos de caché.395Para ver qué cambiar en un plan Pro, Max, Ultra, Team o Enterprise, ejecuta [`/usage`](#plan-usage-breakdown) en el prompt de Claude Code. Su desglose recomienda un cambio para los comportamientos que representan el 10% o más de tu uso reciente. Esos comportamientos incluyen el contexto largo y los fallos de caché.

396 396 

397## Entender los cambios en el comportamiento de Claude Code397## Entender los cambios en el comportamiento de Claude Code

398 398 


400 400 

401Para preguntas sobre facturación de su cuenta específica, póngase en contacto con el soporte de Anthropic a través del mensajero integrado en el producto:401Para preguntas sobre facturación de su cuenta específica, póngase en contacto con el soporte de Anthropic a través del mensajero integrado en el producto:

402 402 

403* **Planes de suscripción** (Pro, Max, Team, Enterprise): inicie sesión en [claude.ai](https://claude.ai), haga clic en sus iniciales en la esquina inferior izquierda y seleccione **Obtener ayuda**403* **Planes de suscripción** (Pro, Max, Ultra, Team, Enterprise): inicia sesión en [claude.ai](https://claude.ai), haz clic en tus iniciales en la esquina inferior izquierda y selecciona **Obtener ayuda**

404* **Facturación de Console (API)**: inicie sesión en [platform.claude.com](https://platform.claude.com), haga clic en sus iniciales y seleccione **Obtener ayuda**404* **Facturación de Console (API)**: inicie sesión en [platform.claude.com](https://platform.claude.com), haga clic en sus iniciales y seleccione **Obtener ayuda**

405 405 

406Consulte [Cómo obtener soporte](https://support.claude.com/en/articles/9015913-how-to-get-support) para conocer el flujo completo, incluida información sobre quién puede comunicarse con un agente humano en cada plan.406Consulte [Cómo obtener soporte](https://support.claude.com/en/articles/9015913-how-to-get-support) para conocer el flujo completo, incluida información sobre quién puede comunicarse con un agente humano en cada plan.

data-usage.md +6 −6

Details

10 10 

11### Política de entrenamiento con datos11### Política de entrenamiento con datos

12 12 

13**Usuarios de consumo (planes Free, Pro y Max)**:13**Usuarios de consumo (planes Free, Pro, Max y Ultra)**:

14Te damos la opción de permitir que tus datos se usen para mejorar futuros modelos de Claude. Entrenaremos nuevos modelos usando datos de cuentas Free, Pro y Max cuando este ajuste esté activado (incluso cuando uses Claude Code desde estas cuentas).14Te damos la opción de permitir que tus datos se usen para mejorar futuros modelos de Claude. Entrenaremos nuevos modelos usando datos de cuentas Free, Pro, Max y Ultra cuando este ajuste esté activado (incluso cuando uses Claude Code desde estas cuentas).

15 15 

16**Usuarios comerciales**: (planes Team y Enterprise, API, plataformas de terceros y Claude Gov) mantienen las políticas existentes: Anthropic no entrena modelos generativos usando código o prompts enviados a Claude Code bajo términos comerciales, a menos que el cliente haya elegido proporcionarnos sus datos para la mejora de modelos (por ejemplo, el [Developer Partner Program](https://support.claude.com/en/articles/11174108-about-the-development-partner-program)).16**Usuarios comerciales**: (planes Team y Enterprise, API, plataformas de terceros y Claude Gov) mantienen las políticas existentes: Anthropic no entrena modelos generativos usando código o prompts enviados a Claude Code bajo términos comerciales, a menos que el cliente haya elegido proporcionarnos sus datos para la mejora de modelos (por ejemplo, el [Developer Partner Program](https://support.claude.com/en/articles/11174108-about-the-development-partner-program)).

17 17 


43 43 

44Anthropic conserva los datos de Claude Code según tu tipo de cuenta y tus preferencias.44Anthropic conserva los datos de Claude Code según tu tipo de cuenta y tus preferencias.

45 45 

46**Usuarios de consumo (planes Free, Pro y Max)**:46**Usuarios de consumo (planes Free, Pro, Max y Ultra)**:

47 47 

48* Usuarios que permiten el uso de datos para la mejora de modelos: período de retención de 5 años para respaldar el desarrollo de modelos y las mejoras de seguridad48* Usuarios que permiten el uso de datos para la mejora de modelos: período de retención de 5 años para respaldar el desarrollo de modelos y las mejoras de seguridad

49* Usuarios que no permiten el uso de datos para la mejora de modelos: período de retención de 30 días49* Usuarios que no permiten el uso de datos para la mejora de modelos: período de retención de 30 días


61 61 

62Obtén más información sobre las prácticas de retención de datos en nuestro [Centro de privacidad](https://privacy.anthropic.com/).62Obtén más información sobre las prácticas de retención de datos en nuestro [Centro de privacidad](https://privacy.anthropic.com/).

63 63 

64Para conocer todos los detalles, revisa nuestros [Términos de servicio comerciales](https://www.anthropic.com/legal/commercial-terms) (para usuarios de Team, Enterprise y API) o los [Términos para consumidores](https://www.anthropic.com/legal/consumer-terms) (para usuarios de Free, Pro y Max) y la [Política de privacidad](https://www.anthropic.com/legal/privacy).64Para conocer todos los detalles, revisa nuestros [Términos de servicio comerciales](https://www.anthropic.com/legal/commercial-terms) (para usuarios de Team, Enterprise y API) o los [Términos para consumidores](https://www.anthropic.com/legal/consumer-terms) (para usuarios de Free, Pro, Max y Ultra) y la [Política de privacidad](https://www.anthropic.com/legal/privacy).

65 65 

66## Acceso a datos66## Acceso a datos

67 67 


107 107 

108El informe de errores está activado solo cuando se aplican todos estos:108El informe de errores está activado solo cuando se aplican todos estos:

109 109 

110* inicia sesión con una suscripción de Claude Pro o Max110* inicias sesión con una suscripción de Claude Pro, Max o Ultra

111* está ejecutando Claude Code v2.1.198 o posterior111* está ejecutando Claude Code v2.1.198 o posterior

112* se está conectando directamente a la API de Claude112* se está conectando directamente a la API de Claude

113* su organización no tiene un acuerdo de retención cero de datos o HIPAA113* su organización no tiene un acuerdo de retención cero de datos o HIPAA


123| Servicio | Claude API | Google Cloud's Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform en AWS |123| Servicio | Claude API | Google Cloud's Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform en AWS |

124| - | - | - | - | - | - |124| - | - | - | - | - | - |

125| **Métricas** | Activado de forma predeterminada. `DISABLE_TELEMETRY=1` para desactivar. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_VERTEX` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_BEDROCK` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_FOUNDRY` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_ANTHROPIC_AWS` debe ser 1. |125| **Métricas** | Activado de forma predeterminada. `DISABLE_TELEMETRY=1` para desactivar. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_VERTEX` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_BEDROCK` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_FOUNDRY` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_ANTHROPIC_AWS` debe ser 1. |

126| **Informes de errores** | Activado para inicios de sesión Pro y Max en v2.1.198+, de lo contrario desactivado. `DISABLE_ERROR_REPORTING=1` para desactivar. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_VERTEX` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_BEDROCK` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_FOUNDRY` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_ANTHROPIC_AWS` debe ser 1. |126| **Informes de errores** | Activado para inicios de sesión Pro, Max y Ultra en v2.1.198+, de lo contrario desactivado. `DISABLE_ERROR_REPORTING=1` para desactivar. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_VERTEX` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_BEDROCK` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_FOUNDRY` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_ANTHROPIC_AWS` debe ser 1. |

127| **Claude API (informes `/feedback`)** | Activado de forma predeterminada. `DISABLE_FEEDBACK_COMMAND=1` para desactivar. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_VERTEX` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_BEDROCK` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_FOUNDRY` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_ANTHROPIC_AWS` debe ser 1. |127| **Claude API (informes `/feedback`)** | Activado de forma predeterminada. `DISABLE_FEEDBACK_COMMAND=1` para desactivar. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_VERTEX` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_BEDROCK` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_FOUNDRY` debe ser 1. | Desactivado de forma predeterminada. `CLAUDE_CODE_USE_ANTHROPIC_AWS` debe ser 1. |

128| **Encuestas de calidad de sesión** | Activado de forma predeterminada. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` para desactivar. | Activado de forma predeterminada. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` para desactivar. | Activado de forma predeterminada. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` para desactivar. | Activado de forma predeterminada. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` para desactivar. | Activado de forma predeterminada. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` para desactivar. |128| **Encuestas de calidad de sesión** | Activado de forma predeterminada. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` para desactivar. | Activado de forma predeterminada. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` para desactivar. | Activado de forma predeterminada. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` para desactivar. | Activado de forma predeterminada. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` para desactivar. | Activado de forma predeterminada. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` para desactivar. |

129| **Verificación de seguridad del dominio WebFetch** | Activado de forma predeterminada. `skipWebFetchPreflight: true` en [settings](https://code.claude.com/docs/es/settings.md) para desactivar. | Activado de forma predeterminada. `skipWebFetchPreflight: true` en [settings](https://code.claude.com/docs/es/settings.md) para desactivar. | Activado de forma predeterminada. `skipWebFetchPreflight: true` en [settings](https://code.claude.com/docs/es/settings.md) para desactivar. | Activado de forma predeterminada. `skipWebFetchPreflight: true` en [settings](https://code.claude.com/docs/es/settings.md) para desactivar. | Activado de forma predeterminada. `skipWebFetchPreflight: true` en [settings](https://code.claude.com/docs/es/settings.md) para desactivar. |129| **Verificación de seguridad del dominio WebFetch** | Activado de forma predeterminada. `skipWebFetchPreflight: true` en [settings](https://code.claude.com/docs/es/settings.md) para desactivar. | Activado de forma predeterminada. `skipWebFetchPreflight: true` en [settings](https://code.claude.com/docs/es/settings.md) para desactivar. | Activado de forma predeterminada. `skipWebFetchPreflight: true` en [settings](https://code.claude.com/docs/es/settings.md) para desactivar. | Activado de forma predeterminada. `skipWebFetchPreflight: true` en [settings](https://code.claude.com/docs/es/settings.md) para desactivar. | Activado de forma predeterminada. `skipWebFetchPreflight: true` en [settings](https://code.claude.com/docs/es/settings.md) para desactivar. |

Details

95 95 

96En tu shell, sin ninguna sesión de Claude Code en ejecución, crea el directorio y muévete a él:96En tu shell, sin ninguna sesión de Claude Code en ejecución, crea el directorio y muévete a él:

97 97 

98**Bash o Zsh**98> [tab] Bash o Zsh

99 99>

100```bash theme={null}100> ```bash theme={null}

101mkdir -p ~/claude-clean/empty && cd ~/claude-clean/empty101> mkdir -p ~/claude-clean/empty && cd ~/claude-clean/empty

102```102> ```

103 

104**PowerShell**

105 103 

106```powershell theme={null}104> [tab] PowerShell

107New-Item -ItemType Directory -Force "$HOME/claude-clean/empty" | Out-Null105>

108Set-Location "$HOME/claude-clean/empty"106> ```powershell theme={null}

109```107> New-Item -ItemType Directory -Force "$HOME/claude-clean/empty" | Out-Null

108> Set-Location "$HOME/claude-clean/empty"

109> ```

110 110 

111**2. Inicia Claude Code con un directorio de configuración limpio**111**2. Inicia Claude Code con un directorio de configuración limpio**

112 112 

113Desde el mismo shell, establece [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/es/env-vars) en un directorio nuevo en lugar de `~/.claude`, y pasa [`--setting-sources user`](https://code.claude.com/docs/es/cli-reference#cli-flags) para desactivar la configuración del proyecto, como `.claude/settings.json`, `CLAUDE.md` y `.mcp.json`:113Desde el mismo shell, establece [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/es/env-vars) en un directorio nuevo en lugar de `~/.claude`, y pasa [`--setting-sources user`](https://code.claude.com/docs/es/cli-reference#cli-flags) para desactivar la configuración del proyecto, como `.claude/settings.json`, `CLAUDE.md` y `.mcp.json`:

114 114 

115**Bash o Zsh**115> [tab] Bash o Zsh

116 116>

117La variable se aplica solo a este lanzamiento.117> La variable se aplica solo a este lanzamiento.

118 118>

119```bash theme={null}119> ```bash theme={null}

120CLAUDE_CONFIG_DIR=~/claude-clean/config claude --setting-sources user120> CLAUDE_CONFIG_DIR=~/claude-clean/config claude --setting-sources user

121```121> ```

122 

123**PowerShell**

124 

125La variable permanece establecida durante el resto de esta sesión de PowerShell, por lo que los lanzamientos posteriores de `claude` en la misma ventana siguen usando el directorio limpio. Para volver a tu directorio habitual, ejecuta `Remove-Item Env:CLAUDE_CONFIG_DIR` antes del siguiente lanzamiento.

126 122 

127```powershell theme={null}123> [tab] PowerShell

128$env:CLAUDE_CONFIG_DIR = "$HOME/claude-clean/config"124>

129claude --setting-sources user125> La variable permanece establecida durante el resto de esta sesión de PowerShell, por lo que los lanzamientos posteriores de `claude` en la misma ventana siguen usando el directorio limpio. Para volver a tu directorio habitual, ejecuta `Remove-Item Env:CLAUDE_CONFIG_DIR` antes del siguiente lanzamiento.

130```126>

127> ```powershell theme={null}

128> $env:CLAUDE_CONFIG_DIR = "$HOME/claude-clean/config"

129> claude --setting-sources user

130> ```

131 131 

132En el primer lanzamiento, pasas de nuevo por las pantallas de configuración inicial, una señal de que el directorio de configuración limpio está en vigor. La configuración administrada aún se aplica, y los [conectores](https://code.claude.com/docs/es/mcp.md#use-mcp-servers-from-claude-ai) aún se cargan si inicias sesión con una cuenta de claude.ai.132En el primer lanzamiento, pasas de nuevo por las pantallas de configuración inicial, una señal de que el directorio de configuración limpio está en vigor. La configuración administrada aún se aplica, y los [conectores](https://code.claude.com/docs/es/mcp.md#use-mcp-servers-from-claude-ai) aún se cargan si inicias sesión con una cuenta de claude.ai.

133 133 

desktop.md +119 −89

Details

8 8 

9En la aplicación Claude Desktop, Claude Code es la pestaña **Code**. La aplicación también tiene chat y [Cowork](https://claude.com/product/cowork), que se encarga de Dispatch y del trabajo agéntico más largo. Esta página es la referencia para la pestaña Code.9En la aplicación Claude Desktop, Claude Code es la pestaña **Code**. La aplicación también tiene chat y [Cowork](https://claude.com/product/cowork), que se encarga de Dispatch y del trabajo agéntico más largo. Esta página es la referencia para la pestaña Code.

10 10 

11> **[Descargar para macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**11> [card] [Descargar para macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)

12>12>

13> Compilación universal para Intel y Apple Silicon13> Compilación universal para Intel y Apple Silicon

14 14 

15> **[Descargar para Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)**15> [card] [Descargar para Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)

16>16>

17> Para procesadores x6417> Para procesadores x64

18 18 

19> **[Obtener Claude para Linux (beta)](https://code.claude.com/docs/es/desktop-linux.md)**19> [card] [Obtener Claude para Linux (beta)](https://code.claude.com/docs/es/desktop-linux.md)

20>20>

21> apt o .deb para Ubuntu y Debian21> apt o .deb para Ubuntu y Debian

22 22 


92| **Accept edits** | `acceptEdits` | Claude acepta automáticamente ediciones de archivos y comandos comunes del sistema de archivos como `mkdir`, `touch` y `mv`, pero aún pregunta antes de ejecutar otros comandos de terminal. Usa esto cuando confíes en los cambios de archivos y quieras una iteración más rápida. |92| **Accept edits** | `acceptEdits` | Claude acepta automáticamente ediciones de archivos y comandos comunes del sistema de archivos como `mkdir`, `touch` y `mv`, pero aún pregunta antes de ejecutar otros comandos de terminal. Usa esto cuando confíes en los cambios de archivos y quieras una iteración más rápida. |

93| **Plan** | `plan` | Claude lee archivos y ejecuta comandos para explorar, luego propone un plan sin editar tu código fuente. Bueno para tareas complejas donde quieres revisar el enfoque primero. |93| **Plan** | `plan` | Claude lee archivos y ejecuta comandos para explorar, luego propone un plan sin editar tu código fuente. Bueno para tareas complejas donde quieres revisar el enfoque primero. |

94| **Auto** | `auto` | Claude se ejecuta sin solicitudes de confirmación habituales; antes de que se ejecuten acciones como comandos de shell y solicitudes de red, un clasificador en segundo plano verifica que se alineen con tu solicitud. Aparece cuando [el modo automático está disponible](#auto-mode-availability); no hay un control de Configuración separado para esto. |94| **Auto** | `auto` | Claude se ejecuta sin solicitudes de confirmación habituales; antes de que se ejecuten acciones como comandos de shell y solicitudes de red, un clasificador en segundo plano verifica que se alineen con tu solicitud. Aparece cuando [el modo automático está disponible](#auto-mode-availability); no hay un control de Configuración separado para esto. |

95| **Bypass permissions** | `bypassPermissions` | Claude se ejecuta sin solicitudes de permiso, excepto para las [acciones que ningún modo aprueba automáticamente](https://code.claude.com/docs/es/permission-modes.md#actions-no-mode-auto-approves), los clasificadores de seguridad cuando Claude [actúa en sitios externos](#browse-external-sites), o acciones de escritorio como eliminar una sesión, aunque no [archivarla](#work-across-sessions). Equivalente a `--dangerously-skip-permissions` en la CLI. En los planes Pro y Max, habilita "Allow bypass permissions mode" en **Configuración > Code** o **Configuración > Claude Code**. En los planes Team y Enterprise no hay un control de Configuración, y la política de la organización lo controla en su lugar. Úsalo solo en contenedores o máquinas virtuales en sandbox. |95| **Bypass permissions** | `bypassPermissions` | Claude se ejecuta sin solicitudes de permiso, excepto para las [acciones que ningún modo aprueba automáticamente](https://code.claude.com/docs/es/permission-modes.md#actions-no-mode-auto-approves), los clasificadores de seguridad cuando Claude [actúa en sitios externos](#browse-external-sites), o acciones de escritorio como eliminar una sesión, aunque no [archivarla](#work-across-sessions). Equivalente a `--dangerously-skip-permissions` en la CLI. En los planes Pro, Max y Ultra, habilita "Allow bypass permissions mode" en **Configuración > Code** o **Configuración > Claude Code**. En los planes Team y Enterprise no hay un control de Configuración, y la política de la organización lo controla en su lugar. Úsalo solo en contenedores o máquinas virtuales en sandbox. |

96 96 

97Las versiones anteriores de la pestaña Code etiquetaban estos modos como Ask permissions, Auto accept edits y Plan mode.97Las versiones anteriores de la pestaña Code etiquetaban estos modos como Ask permissions, Auto accept edits y Plan mode.

98 98 


320 320 

321> [!NOTE]321> [!NOTE]

322>322>

323> El uso de computadora es una vista previa de investigación en macOS y Windows que requiere un plan Pro o Max. No está disponible en planes Team o Enterprise. La aplicación Claude Desktop debe estar en ejecución. En macOS, el uso de computadora requiere macOS 14 o posterior.323> El uso de computadora es una vista previa de investigación en macOS y Windows que requiere un plan Pro, Max o Ultra. No está disponible en planes Team o Enterprise. La aplicación Claude Desktop debe estar en ejecución. En macOS, el uso de computadora requiere macOS 14 o posterior.

324 324 

325El uso de computadora está deshabilitado de forma predeterminada. [Habilítelo en Configuración](#enable-computer-use) antes de que Claude pueda controlar su pantalla. En macOS, también necesita otorgar permisos de Accesibilidad y Grabación de pantalla.325El uso de computadora está deshabilitado de forma predeterminada. [Habilítelo en Configuración](#enable-computer-use) antes de que Claude pueda controlar su pantalla. En macOS, también necesita otorgar permisos de Accesibilidad y Grabación de pantalla.

326 326 


362* **Windows**: el interruptor surte efecto de inmediato y la configuración queda completa362* **Windows**: el interruptor surte efecto de inmediato y la configuración queda completa

363* **macOS**: continúa con el siguiente paso363* **macOS**: continúa con el siguiente paso

364 364 

365Si no ve el control deslizante, confirme que está en macOS o Windows con un plan Pro o Max, luego actualice y reinicie la aplicación.365Si no ves el interruptor, confirma que estás en macOS o Windows con un plan Pro, Max o Ultra, luego actualiza y reinicia la aplicación.

366 366 

367**3. Otorgar permisos de macOS**367**3. Otorgar permisos de macOS**

368 368 


562 562 

563#### Configurar Dispatch563#### Configurar Dispatch

564 564 

565Para la configuración, el emparejamiento y los ajustes de Dispatch, consulta el [artículo de ayuda de Dispatch](https://support.claude.com/en/articles/13947068). Dispatch requiere un plan Pro o Max y no está disponible en los planes Team o Enterprise.565* **Planes**: Dispatch requiere un plan Pro, Max o Ultra y no está disponible en los planes Team o Enterprise

566* **Configuración, emparejamiento y ajustes de Dispatch**: consulta el [artículo de ayuda de Dispatch](https://support.claude.com/en/articles/13947068)

566 567 

567Dispatch es una de varias formas de trabajar con Claude cuando estás lejos de tu terminal. Para ver una comparación con las otras opciones, consulta [Plataformas e integraciones](https://code.claude.com/docs/es/platforms.md#work-when-you-are-away-from-your-terminal).568Dispatch es una de varias formas de trabajar con Claude cuando estás lejos de tu terminal. Para ver una comparación con las otras opciones, consulta [Plataformas e integraciones](https://code.claude.com/docs/es/platforms.md#work-when-you-are-away-from-your-terminal).

568 569 


738 739 

739Estas configuraciones muestran configuraciones comunes para diferentes tipos de proyectos:740Estas configuraciones muestran configuraciones comunes para diferentes tipos de proyectos:

740 741 

741**Next.js**742> [tab] Next.js

742 743>

743Esta configuración ejecuta una aplicación Next.js usando Yarn en el puerto 3000:744> Esta configuración ejecuta una aplicación Next.js usando Yarn en el puerto 3000:

744 745>

745```json theme={null}746> ```json theme={null}

746{747> {

747 "version": "0.0.1",748> "version": "0.0.1",

748 "configurations": [749> "configurations": [

749 {750> {

750 "name": "web",751> "name": "web",

751 "runtimeExecutable": "yarn",752> "runtimeExecutable": "yarn",

752 "runtimeArgs": ["dev"],753> "runtimeArgs": ["dev"],

753 "port": 3000754> "port": 3000

754 }755> }

755 ]756> ]

756}757> }

757```758> ```

758 759 

759**Multiple servers**760> [tab] Multiple servers

760 761>

761Para un monorepo con un servidor frontend y API, defina múltiples configuraciones. El frontend usa `autoPort: true` para que elija un puerto libre si 3000 está ocupado, mientras que el servidor API requiere el puerto 8080 exactamente:762> Para un monorepo con un servidor frontend y API, defina múltiples configuraciones. El frontend usa `autoPort: true` para que elija un puerto libre si 3000 está ocupado, mientras que el servidor API requiere el puerto 8080 exactamente:

762 763>

763```json theme={null}764> ```json theme={null}

764{765> {

765 "version": "0.0.1",766> "version": "0.0.1",

766 "configurations": [767> "configurations": [

767 {768> {

768 "name": "frontend",769> "name": "frontend",

769 "runtimeExecutable": "npm",770> "runtimeExecutable": "npm",

770 "runtimeArgs": ["run", "dev"],771> "runtimeArgs": ["run", "dev"],

771 "cwd": "apps/web",772> "cwd": "apps/web",

772 "port": 3000,773> "port": 3000,

773 "autoPort": true774> "autoPort": true

774 },775> },

775 {776> {

776 "name": "api",777> "name": "api",

777 "runtimeExecutable": "npm",778> "runtimeExecutable": "npm",

778 "runtimeArgs": ["run", "start"],779> "runtimeArgs": ["run", "start"],

779 "cwd": "server",780> "cwd": "server",

780 "port": 8080,781> "port": 8080,

781 "env": { "NODE_ENV": "development" },782> "env": { "NODE_ENV": "development" },

782 "autoPort": false783> "autoPort": false

783 }784> }

784 ]785> ]

785}786> }

786```787> ```

787 788 

788**Node.js script**789> [tab] Node.js script

789 790>

790Para ejecutar un script Node.js directamente en lugar de usar un comando del administrador de paquetes, use el campo `program`:791> Para ejecutar un script Node.js directamente en lugar de usar un comando del administrador de paquetes, use el campo `program`:

791 792>

792```json theme={null}793> ```json theme={null}

793{794> {

794 "version": "0.0.1",795> "version": "0.0.1",

795 "configurations": [796> "configurations": [

796 {797> {

797 "name": "server",798> "name": "server",

798 "program": "server.js",799> "program": "server.js",

799 "args": ["--verbose"],800> "args": ["--verbose"],

800 "port": 4000801> "port": 4000

801 }802> }

802 ]803> ]

803}804> }

804```805> ```

805 806 

806## Configuración del entorno807## Configuración del entorno

807 808 


1327* **Flujos de trabajo**: Desktop revisa cada nuevo [flujo de trabajo](https://code.claude.com/docs/es/workflows.md) antes de que comience, por lo que mientras Desktop está desconectado uno nuevo espera hasta 10 minutos y luego falla1328* **Flujos de trabajo**: Desktop revisa cada nuevo [flujo de trabajo](https://code.claude.com/docs/es/workflows.md) antes de que comience, por lo que mientras Desktop está desconectado uno nuevo espera hasta 10 minutos y luego falla

1328* **Servidores MCP**: los servidores MCP que Claude Code inicia en la máquina remota no se ejecutan a través de Desktop, por lo que Claude aún puede llamar a sus herramientas. Los servidores de `claude_desktop_config.json` están entre ellos solo si Desktop no usa su [cliente SSH integrado](#worktree-edits-while-disconnected). De lo contrario, y en [algunas máquinas remotas Windows](#windows-remote-machines), Claude no puede llamar a sus herramientas mientras Desktop está desconectado.1329* **Servidores MCP**: los servidores MCP que Claude Code inicia en la máquina remota no se ejecutan a través de Desktop, por lo que Claude aún puede llamar a sus herramientas. Los servidores de `claude_desktop_config.json` están entre ellos solo si Desktop no usa su [cliente SSH integrado](#worktree-edits-while-disconnected). De lo contrario, y en [algunas máquinas remotas Windows](#windows-remote-machines), Claude no puede llamar a sus herramientas mientras Desktop está desconectado.

1329 1330 

1330> **Cuándo siguen funcionando las ediciones en un worktree**1331> [accordion] Cuándo siguen funcionando las ediciones en un worktree

1331>1332>

1332> En una máquina remota Linux o macOS, la revisión no pasa por Desktop, por lo que las ediciones dentro del worktree siguen funcionando mientras Desktop está desconectado. Antes de Claude Desktop v2.37337.0, esto ocurre solo en una máquina remota Linux.1333> En una máquina remota Linux o macOS, la revisión no pasa por Desktop, por lo que las ediciones dentro del worktree siguen funcionando mientras Desktop está desconectado. Antes de Claude Desktop v2.37337.0, esto ocurre solo en una máquina remota Linux.

1333>1334>


1368* **Contraseña recordada**: una contraseña que dejas que Desktop recuerde también funciona sin pedirte nada, pero para una ausencia larga es preferible una clave que tenga tu agente SSH. Si los inicios de sesión con esa contraseña se interrumpen o se cuelgan, Desktop puede dejar de intentar volver a conectarse y esperarte.1369* **Contraseña recordada**: una contraseña que dejas que Desktop recuerde también funciona sin pedirte nada, pero para una ausencia larga es preferible una clave que tenga tu agente SSH. Si los inicios de sesión con esa contraseña se interrumpen o se cuelgan, Desktop puede dejar de intentar volver a conectarse y esperarte.

1369* **Cualquier otra solicitud**: si la máquina remota pide cualquier otra cosa, como un código de un solo uso, puedes recibir una notificación en tu computadora. Haz clic en la notificación, o envía un mensaje en la sesión, y Desktop muestra la solicitud.1370* **Cualquier otra solicitud**: si la máquina remota pide cualquier otra cosa, como un código de un solo uso, puedes recibir una notificación en tu computadora. Haz clic en la notificación, o envía un mensaje en la sesión, y Desktop muestra la solicitud.

1370 1371 

1371> **Si un host de salto pide un inicio de sesión, la interrupción es larga, falta salida o el proceso ya no existe**1372> [accordion] Si un host de salto pide un inicio de sesión, la interrupción es larga, falta salida o el proceso ya no existe

1372>1373>

1373> * **Host de salto, las notificaciones push se detienen mientras no estás**: esto puede ocurrir con Desktop en macOS o Linux cuando nadie responde al inicio de sesión de un host de salto, por ejemplo una notificación push a un teléfono. Entonces Desktop deja de intentar volver a conectarse mientras no hay nadie en tu computadora. Cuando desbloqueas o usas la computadora, puedes recibir otra notificación push, porque Desktop puede volver a intentarlo. Después de tres intentos sin respuesta, espera hasta que reintentes o envíes un mensaje.1374> * **Host de salto, las notificaciones push se detienen mientras no estás**: esto puede ocurrir con Desktop en macOS o Linux cuando nadie responde al inicio de sesión de un host de salto, por ejemplo una notificación push a un teléfono. Entonces Desktop deja de intentar volver a conectarse mientras no hay nadie en tu computadora. Cuando desbloqueas o usas la computadora, puedes recibir otra notificación push, porque Desktop puede volver a intentarlo. Después de tres intentos sin respuesta, espera hasta que reintentes o envíes un mensaje.

1374> * **Host de salto, las notificaciones push siguen llegando**: donde Desktop no puede saber que nadie responde, como con Desktop en Windows, sigue intentándolo mientras tenga un proceso al que volver a unirse, se siga ejecutando ese proceso o no. Puedes recibir otra notificación push con cada intento. Para terminar los intentos, cierra Desktop, lo que [puede costarte la tarea en ejecución](#reopen-a-session-after-you-quit-desktop).1375> * **Host de salto, las notificaciones push siguen llegando**: donde Desktop no puede saber que nadie responde, como con Desktop en Windows, sigue intentándolo mientras tenga un proceso al que volver a unirse, se siga ejecutando ese proceso o no. Puedes recibir otra notificación push con cada intento. Para terminar los intentos, cierra Desktop, lo que [puede costarte la tarea en ejecución](#reopen-a-session-after-you-quit-desktop).


1592>1593>

1593> Las conexiones a partir de un comando requieren Claude Desktop v3.6556.0 o posterior en macOS o Linux, con la sesión iniciada con una cuenta de Claude. Los administradores pueden [distribuir comandos a un equipo](#distribute-commands-to-your-team).1594> Las conexiones a partir de un comando requieren Claude Desktop v3.6556.0 o posterior en macOS o Linux, con la sesión iniciada con una cuenta de Claude. Los administradores pueden [distribuir comandos a un equipo](#distribute-commands-to-your-team).

1594 1595 

1595Cada entrada es una conexión, con un host a la vez. Desktop ejecuta el comando solo cuando creas la conexión o [reemplazas su host](#replace-the-host), no cada vez que te conectas. Para mantener dos máquinas a la vez, agrega una segunda entrada.1596Desktop ejecuta el comando solo cuando creas la conexión o [creas otra máquina](#create-another-machine), no cada vez que te conectas. Cada entrada es una conexión, que apunta al host que Desktop guardó por última vez a partir del comando de la entrada.

1596 1597 

1597> [!WARNING]1598> [!WARNING]

1598>1599>

1599> Desktop no detiene ni elimina máquinas. Cada una de estas sigue en ejecución, y puede seguir generando costos, hasta que la elimines con tu herramienta:1600> Desktop no detiene ni elimina máquinas. Cada una de estas sigue en ejecución, y puede seguir generando costos, hasta que la elimines con tu herramienta:

1600>1601>

1601> * Un host que reemplazaste1602> * Una máquina a la que apuntaba una entrada antes de que [crearas otra](#create-another-machine)

1602> * El host de una entrada que eliminaste del archivo, o cuyo `id` cambiaste1603> * Las máquinas de una entrada que eliminaste del archivo, o cuyo `id` cambiaste

1603> * Una máquina que creó tu comando sin que Desktop guardara su host, por ejemplo en estos casos:1604> * Una máquina que tu comando creó sin que Desktop guardara su host, por ejemplo en estos casos:

1604> * El comando falla o se queda sin tiempo1605> * El comando falla o se queda sin tiempo

1605> * Desktop no puede usar el host impreso, otra conexión ya lo usa o tu organización no lo permite1606> * Desktop no puede usar el host impreso, otra conexión ya lo usa o tu organización no lo permite

1606> * Mientras el comando se ejecuta, lo cancelas, eliminas su entrada, cambias su `command` o `id`, o cierras Desktop1607> * Mientras el comando se ejecuta, lo cancelas, eliminas su entrada, cambias su `command` o `id`, o cierras Desktop


1624 1625 

1625| Campo | Valor |1626| Campo | Valor |

1626| :- | :- |1627| :- | :- |

1627| `id` | Hasta 64 letras ASCII, dígitos, `.`, `_` y `-`, comenzando con una letra o un dígito. Usa un `id` que no tenga ninguna otra entrada en `sshHostCommands` ni en [`sshConfigs`](#pre-configure-ssh-connections-for-your-team). Desktop guarda el host de la conexión bajo este valor, así que si lo cambias, la conexión comienza de nuevo sin host y la máquina anterior sigue en ejecución. |1628| `id` | Hasta 64 letras ASCII, dígitos, `.`, `_` y `-`, empezando con una letra o un dígito. Usa un `id` que no tenga ninguna otra entrada en `sshHostCommands` o [`sshConfigs`](#pre-configure-ssh-connections-for-your-team). Desktop guarda el host de la conexión bajo él, así que si lo cambias, la conexión vuelve a empezar sin host, sus máquinas siguen ejecutándose y Desktop puede [seguir conectándose a ellas](#remove-an-entry). |

1628| `name` | El nombre de la conexión en el selector de entorno, hasta 200 caracteres en una sola línea |1629| `name` | El nombre de la conexión en el selector de entorno, hasta 200 caracteres en una sola línea |

1629| `command` | Un programa y sus argumentos, como se describe en [Escribir el comando](#write-the-command) |1630| `command` | Un programa y sus argumentos, como se describe en [Escribir el comando](#write-the-command) |

1630| `sshIdentityFile` | Ruta a tu clave privada, como `~/.ssh/id_ed25519`. Omítela para usar tu configuración de SSH o tu agente SSH. |1631| `sshIdentityFile` | Ruta a tu clave privada, como `~/.ssh/id_ed25519`. Omítela para usar tu configuración de SSH o tu agente SSH. |


1677 1678 

1678Mantén activada la comprobación de claves de host para estos hosts, y conserva un archivo `known_hosts` para ellos. Si `StrictHostKeyChecking` es `no` o `accept-new` y `UserKnownHostsFile` también es `/dev/null` o `none`, nada registra la clave. Cuando tu herramienta reutiliza después un nombre, puedes conectarte a una máquina diferente sin ninguna advertencia.1679Mantén activada la comprobación de claves de host para estos hosts, y conserva un archivo `known_hosts` para ellos. Si `StrictHostKeyChecking` es `no` o `accept-new` y `UserKnownHostsFile` también es `/dev/null` o `none`, nada registra la clave. Cuando tu herramienta reutiliza después un nombre, puedes conectarte a una máquina diferente sin ninguna advertencia.

1679 1680 

1680##### Reemplazar el host1681Un nombre reutilizado también importa sin nadie frente a la computadora, porque Desktop se conecta a estos hosts por sí solo. Por ejemplo, entrega un mensaje que enviaste mientras el host no estaba disponible, en cuanto el host responde. Incluso con la comprobación de claves de host activada, el mensaje puede llegar a la nueva máquina del nombre en estos casos, así que [deja de usar una máquina](#stop-using-a-machine) antes de que se elimine:

1682 

1683* Tú, tu comando u otro programa agregaron la nueva clave a `known_hosts` o eliminaron la línea de la clave anterior, como hace tu comando si agrega claves de host

1684* Las máquinas de tu herramienta comparten una clave de host

1685* Las máquinas de tu herramienta comparten una autoridad de certificación en la que confía `known_hosts`

1686* Tú o tu administrador establecieron `KnownHostsCommand` o `VerifyHostKeyDNS yes`, de modo que SSH acepta claves de fuera de `known_hosts`

1687 

1688##### Crear otra máquina

1689 

1690Tus sesiones en máquinas anteriores siguen funcionando después de seleccionar **Create another Dev box**, y las sesiones nuevas usan la máquina nueva. Selecciona el elemento en el selector de entorno para crear una máquina nueva o para reemplazar una que ya no existe. En la página de nueva sesión, el mensaje que dice que Desktop no puede llegar al host también lo ofrece.

1681 1691 

1682Una vez que Dev box tiene un host, el selector muestra Dev box entre tus conexiones SSH, y **Create Dev box** pasa a ser **Replace Dev box's host**. Si ese elemento no está en la lista, búscalo en **More**.1692* **Sesiones en máquinas anteriores**: continúalas desde la barra lateral, porque el selector muestra la máquina actual de Dev box y no las anteriores. Desktop puede conectarse a sus máquinas por sí solo, por ejemplo cuando Desktop se inicia, así que [deja de usar una máquina](#stop-using-a-machine) cuando termines con ella.

1693* **Un host reemplazado antes de Claude Desktop v4.4212.0**: esas versiones muestran **Replace Dev box's host** y dejan de conectarse al host reemplazado. Para continuar una sesión en ese host, abre la sesión, selecciona **Add SSH connection** y guarda la conexión que completa Desktop. Actualiza Desktop antes de reemplazar otro host.

1694* **Sesiones nuevas en dos máquinas**: agrega una segunda entrada a [`sshHostCommands`](#create-an-ssh-connection-from-a-command)

1695* **Un host nuevo que aún no responde**: deja abierta la página de nueva sesión hasta 10 minutos mientras sigue intentando conectarse. Si el host sigue sin responder, selecciona **Create another Dev box** en el mensaje de la página.

1696* **Otra máquina poco después**: después de varias ejecuciones del comando en una hora, confirma cada ejecución adicional en el diálogo que abre Desktop, que muestra el comando

1683 1697 

1684Selecciónalo cuando la máquina ya no exista o quieras una nueva. En la página de nueva sesión, el mensaje que indica que Desktop no puede alcanzar el host también lo ofrece. Desktop vuelve a ejecutar el comando, y las nuevas sesiones usan el nuevo host.1698##### Dejar de usar una máquina

1685 1699 

1686* **Un host nuevo**: el elemento aparece en gris durante 10 minutos después de que Desktop guarda un host, porque una máquina nueva puede tardar un tiempo en iniciarse. Mientras un host nuevo no responde, la página de nueva sesión sigue intentando conectarse durante esos 10 minutos.1700Para que Desktop deje de conectarse por sí solo a una máquina que creó un comando, archiva todas las sesiones de la máquina:

1687* **Sesiones en el host anterior**: permanecen en él, y Desktop no se conecta a ese host a menos que vuelvas a agregarlo. Para continuar una, abre la sesión y selecciona **Add SSH connection**. Desktop completa el host anterior. Guárdalo como una conexión independiente.1701 

17021. Busca las sesiones de la máquina en la barra lateral. El [panel de detalles](#see-session-details) de una sesión muestra el host en el que se ejecuta.

17032. [Archiva cada sesión](#archive-a-session) y déjala archivada.

17043. Si no has creado otra máquina a partir de la misma entrada de `sshHostCommands` desde que creaste esta, [crea una](#create-another-machine) o [elimina la entrada](#remove-an-entry) también. Hasta entonces, la máquina es la conexión guardada de la entrada, y Desktop puede conectarse a ella cuando abres la página de nueva sesión con esa conexión seleccionada.

17054. Elimina en la app cualquier otra conexión SSH a la máquina, o elimina su entrada de [`sshConfigs`](#pre-configure-ssh-connections-for-your-team).

17065. Cierra y vuelve a abrir Desktop, lo que cierra su conexión a la máquina y termina sus intentos de llegar a ella.

17076. Elimina la máquina con tu herramienta.

1708 

1709##### Eliminar una entrada

1710 

1711Después de eliminar una entrada del archivo de configuración o cambiar su `id`, las sesiones en sus máquinas permanecen, así que Desktop aún puede conectarse a esas máquinas. Puede hacerlo sin nadie frente a la computadora, por ejemplo para volver a unirse al proceso en ejecución de una sesión o para entregar un mensaje que estaba pendiente de envío. Para evitarlo, archiva las sesiones, como se describe en [Dejar de usar una máquina](#stop-using-a-machine).

1712 

1713Si eres administrador y eliminaste una entrada administrada, las sesiones de tus usuarios también permanecen, y cada usuario tiene que archivar las suyas. Para bloquear tú mismo las máquinas de la entrada, establece una [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to) que coincida con los hosts que tus usuarios aún necesitan y no con los nombres de host de las máquinas. Solo puedes hacerlo cuando un patrón distingue ambos.

1688 1714 

1689##### Distribuir comandos a tu equipo1715##### Distribuir comandos a tu equipo

1690 1716 


1711* **El `id`**: si la entrada de `sshHostCommands` de un usuario tiene tu `id`, solo funciona la tuya. Si cualquier otra conexión SSH lo tiene, como una en los `sshConfigs` de un usuario, tu entrada aparece en gris. Elige un `id` que sea poco probable que los usuarios elijan.1737* **El `id`**: si la entrada de `sshHostCommands` de un usuario tiene tu `id`, solo funciona la tuya. Si cualquier otra conexión SSH lo tiene, como una en los `sshConfigs` de un usuario, tu entrada aparece en gris. Elige un `id` que sea poco probable que los usuarios elijan.

1712* **El programa**: indica su ruta completa, porque Desktop busca un nombre simple en el propio `PATH` de cada usuario. El programa se ejecuta como el usuario, con las variables que exporta su shell de inicio de sesión.1738* **El programa**: indica su ruta completa, porque Desktop busca un nombre simple en el propio `PATH` de cada usuario. El programa se ejecuta como el usuario, con las variables que exporta su shell de inicio de sesión.

1713* **Las entradas propias de los usuarios**: Desktop trata la entrada de un usuario como un [hook](https://code.claude.com/docs/es/hooks.md), porque ambos ejecutan un programa en la computadora. Para permitir solo tus entradas, establece [`strictPluginOnlyCustomization`](https://code.claude.com/docs/es/settings-reference#strictpluginonlycustomization) en `["hooks"]`, o agrega `"hooks"` a su lista. También bloqueas los hooks de Claude Code de la configuración de usuario, de proyecto y local, sin forma de conservarlos. Si en cambio estableces esa clave o [`allowManagedHooksOnly`](https://code.claude.com/docs/es/settings-reference#allowmanagedhooksonly) en `true`, bloqueas más cosas, como se indica en la entrada de cada clave.1739* **Las entradas propias de los usuarios**: Desktop trata la entrada de un usuario como un [hook](https://code.claude.com/docs/es/hooks.md), porque ambos ejecutan un programa en la computadora. Para permitir solo tus entradas, establece [`strictPluginOnlyCustomization`](https://code.claude.com/docs/es/settings-reference#strictpluginonlycustomization) en `["hooks"]`, o agrega `"hooks"` a su lista. También bloqueas los hooks de Claude Code de la configuración de usuario, de proyecto y local, sin forma de conservarlos. Si en cambio estableces esa clave o [`allowManagedHooksOnly`](https://code.claude.com/docs/es/settings-reference#allowmanagedhooksonly) en `true`, bloqueas más cosas, como se indica en la entrada de cada clave.

1714* **Todas las entradas**: para desactivar también tus entradas, establece [`disableAllHooks`](https://code.claude.com/docs/es/settings-reference#disableallhooks) en la configuración administrada. Si estableces [`disableDesktopLocalSessions`](https://code.claude.com/docs/es/settings-reference#disabledesktoplocalsessions), o un `sshHostAllowlist` que no permite ningún host, el selector no muestra ningún elemento **Create** ni **Replace**.1740* **Todas las entradas**: para desactivar también tus entradas, establece [`disableAllHooks`](https://code.claude.com/docs/es/settings-reference#disableallhooks) en la configuración administrada. Si estableces [`disableDesktopLocalSessions`](https://code.claude.com/docs/es/settings-reference#disabledesktoplocalsessions), o una `sshHostAllowlist` que no permite ningún host, el selector no muestra ningún elemento **Create** ni **Create another**.

1715* **Dónde cuentan los bloqueos**: para estas entradas, Desktop lee `allowManagedHooksOnly`, `strictPluginOnlyCustomization` y `disableAllHooks` de la configuración administrada por el servidor y del propio archivo o política de la computadora, y aplica el resultado más estricto. Todas las entradas permanecen en gris hasta que Desktop haya consultado claude.ai para obtener la configuración administrada por el servidor, incluso si tu organización no tiene ninguna.1741* **Dónde cuentan los bloqueos**: para estas entradas, Desktop lee `allowManagedHooksOnly`, `strictPluginOnlyCustomization` y `disableAllHooks` de la configuración administrada por el servidor y del propio archivo o política de la computadora, y aplica el resultado más estricto. Todas las entradas permanecen en gris hasta que Desktop haya consultado claude.ai para obtener la configuración administrada por el servidor, incluso si tu organización no tiene ninguna.

1716* **Hosts permitidos**: si estableces [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to), asegúrate de que un patrón coincida con cada nombre de host que imprime tu herramienta, y omite `user@` del patrón. Desktop comprueba el nombre impreso solo después de que se ejecuta el comando, así que una máquina que la lista rechaza ya existe, y el usuario tiene que eliminarla con tu herramienta. En cada conexión, el `HostName` resuelto también tiene que coincidir.1742* **Hosts permitidos**: si estableces [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to), asegúrate de que un patrón coincida con cada nombre de host que imprime tu herramienta, y omite `user@` del patrón. Desktop comprueba el nombre impreso solo después de que se ejecuta el comando, así que una máquina que la lista rechaza ya existe, y el usuario tiene que eliminarla con tu herramienta. En cada conexión, el `HostName` resuelto también tiene que coincidir.

1717 1743 


1719 1745 

1720##### Si falta un comando o aparece en gris1746##### Si falta un comando o aparece en gris

1721 1747 

1722El selector de entorno no muestra ningún elemento **Create** ni **Replace** en estos casos:1748El selector de entorno no muestra ningún elemento **Create** ni **Create another** en estos casos:

1723 1749 

1724* **El archivo**: `~/.claude/settings.json` tiene [JSON no válido o un valor que el esquema rechaza](https://code.claude.com/docs/es/settings.md#fix-a-broken-settings-file), escribiste mal la clave o la pusiste en la configuración de un proyecto. Corrige el archivo.1750* **El archivo**: `~/.claude/settings.json` tiene [JSON no válido o un valor que el esquema rechaza](https://code.claude.com/docs/es/settings.md#fix-a-broken-settings-file), escribiste mal la clave o la pusiste en la configuración de un proyecto. Corrige el archivo.

1725* **Plataforma y cuenta**: usas Windows, o un [proveedor externo](https://code.claude.com/docs/es/third-party-integrations.md) en lugar de una cuenta de Claude. Agrega tú mismo cada host como una [conexión SSH](#ssh-sessions).1751* **Plataforma y cuenta**: usas Windows, o un [proveedor externo](https://code.claude.com/docs/es/third-party-integrations.md) en lugar de una cuenta de Claude. Agrega tú mismo cada host como una [conexión SSH](#ssh-sessions).


1730 1756 

1731* **Un error en la entrada**: corrige el campo o el comando que indica el mensaje. Si el `id` está en uso, dale otro a la entrada.1757* **Un error en la entrada**: corrige el campo o el comando que indica el mensaje. Si el `id` está en uso, dale otro a la entrada.

1732* **Un archivo de configuración dañado**: mientras tu propio archivo de configuración esté dañado, las entradas de tu administrador pueden aparecer en gris, con un mensaje que indica el archivo. [Corrige el archivo](https://code.claude.com/docs/es/settings.md#fix-a-broken-settings-file).1758* **Un archivo de configuración dañado**: mientras tu propio archivo de configuración esté dañado, las entradas de tu administrador pueden aparecer en gris, con un mensaje que indica el archivo. [Corrige el archivo](https://code.claude.com/docs/es/settings.md#fix-a-broken-settings-file).

1733* **Un host nuevo**: puedes [reemplazar un host](#replace-the-host) una vez que tiene 10 minutos de antigüedad.1759* **Un host nuevo**: [**Create another**](#create-another-machine) aparece en gris durante un minuto después de que Desktop guarda un host. Selecciónalo pasado ese minuto. Antes de Claude Desktop v4.4212.0, **Replace Dev box's host** aparece en gris durante 10 minutos.

1734* **Los hooks están desactivados o restringidos**: tus propias entradas solo funcionan donde pueden ejecutarse tus propios hooks. Elimina `disableAllHooks` de tu configuración, o consulta a tu administrador.1760* **Los hooks están desactivados o restringidos**: tus propias entradas solo funcionan donde pueden ejecutarse tus propios hooks. Elimina `disableAllHooks` de tu configuración, o consulta a tu administrador.

1735* **La configuración todavía se está cargando**: todas las entradas aparecen en gris hasta que Desktop haya cargado la [configuración administrada por el servidor](https://code.claude.com/docs/es/server-managed-settings.md) de tu organización, normalmente unos segundos después del inicio. Si las entradas siguen en gris, revisa tu conexión a claude.ai.1761* **La configuración todavía se está cargando**: todas las entradas aparecen en gris hasta que Desktop haya cargado la [configuración administrada por el servidor](https://code.claude.com/docs/es/server-managed-settings.md) de tu organización, normalmente unos segundos después del inicio. Si las entradas siguen en gris, revisa tu conexión a claude.ai.

1736 1762 


1946 1972 

1947Reemplaza el marcador de posición con el ID de tu organización de claude.ai, que se muestra en la [configuración de administración de claude.ai](https://claude.ai/admin-settings/organization). Es el mismo ID que acepta el ajuste [`forceLoginOrgUUID`](https://code.claude.com/docs/es/settings-reference#forceloginorguuid) de Claude Code. Para ver ejemplos de macOS y Windows que establecen esta clave, consulta [Deploy the Claude Desktop policy](https://claude.com/docs/cowork/hipaa-setup#deploy-the-claude-desktop-policy) en la guía de Cowork para organizaciones preparadas para HIPAA.1973Reemplaza el marcador de posición con el ID de tu organización de claude.ai, que se muestra en la [configuración de administración de claude.ai](https://claude.ai/admin-settings/organization). Es el mismo ID que acepta el ajuste [`forceLoginOrgUUID`](https://code.claude.com/docs/es/settings-reference#forceloginorguuid) de Claude Code. Para ver ejemplos de macOS y Windows que establecen esta clave, consulta [Deploy the Claude Desktop policy](https://claude.com/docs/cowork/hipaa-setup#deploy-the-claude-desktop-policy) en la guía de Cowork para organizaciones preparadas para HIPAA.

1948 1974 

1975> [!WARNING]

1976>

1977> Verifica el valor de `forceLoginOrgUUID` antes de desplegarlo. Si el ID no es el de tu organización, las personas de tu organización no pueden usar Claude Desktop a menos que también pertenezcan a una organización con ese ID. Para solucionarlo, despliega el ID correcto y pídeles que reinicien Claude Desktop.

1978 

1949Si estableces `forceLoginMethod` y `forceLoginOrgUUID` en la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md) de Claude Code, no cambias la pantalla de inicio de sesión de Claude Desktop.1979Si estableces `forceLoginMethod` y `forceLoginOrgUUID` en la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md) de Claude Code, no cambias la pantalla de inicio de sesión de Claude Desktop.

1950 1980 

1951### Requisitos de acceso a la red1981### Requisitos de acceso a la red


2055| `--model sonnet` | Selector de modelo en la fila debajo del cuadro del prompt |2085| `--model sonnet` | Selector de modelo en la fila debajo del cuadro del prompt |

2056| `--resume`, `--continue` | Haz clic en una sesión en la barra lateral, o escribe `/resume` en el cuadro del prompt para retomar una sesión que iniciaste desde la CLI |2086| `--resume`, `--continue` | Haz clic en una sesión en la barra lateral, o escribe `/resume` en el cuadro del prompt para retomar una sesión que iniciaste desde la CLI |

2057| `--permission-mode` | Selector de modo en la fila debajo del cuadro del prompt |2087| `--permission-mode` | Selector de modo en la fila debajo del cuadro del prompt |

2058| `--dangerously-skip-permissions` | Modo Bypass permissions. En planes Pro y Max, habilita "Allow bypass permissions mode" en **Configuración > Code** o **Configuración > Claude Code**; en planes Team y Enterprise, la política de la organización lo controla |2088| `--dangerously-skip-permissions` | Modo Bypass permissions. En planes Pro, Max y Ultra, habilita "Allow bypass permissions mode" en **Configuración > Code** o **Configuración > Claude Code**; en planes Team y Enterprise, la política de la organización lo controla |

2059| `--add-dir` | [Agrega carpetas a una sesión](#add-folders-to-a-session) en sesiones locales y SSH, o selecciona [varios repositorios](#run-long-running-tasks-in-the-cloud) en una sesión en la nube |2089| `--add-dir` | [Agrega carpetas a una sesión](#add-folders-to-a-session) en sesiones locales y SSH, o selecciona [varios repositorios](#run-long-running-tasks-in-the-cloud) en una sesión en la nube |

2060| `--allowedTools`, `--disallowedTools` | Sin equivalente por sesión. Las reglas de permisos en [archivos de configuración](https://code.claude.com/docs/es/settings.md) aún se aplican. |2090| `--allowedTools`, `--disallowedTools` | Sin equivalente por sesión. Las reglas de permisos en [archivos de configuración](https://code.claude.com/docs/es/settings.md) aún se aplican. |

2061| `--verbose` | [Modo de vista Verbose](#switch-view-modes) |2091| `--verbose` | [Modo de vista Verbose](#switch-view-modes) |


2091 2121 

2092| Característica | CLI | Desktop |2122| Característica | CLI | Desktop |

2093| - | - | - |2123| - | - | - |

2094| Modos de permisos | Todos los modos incluyendo `dontAsk` | Manual, Aceptar ediciones, Plan y Auto. Bypass permissions aparece en el selector de modo una vez habilitado: a través del botón de alternancia de Configuración en planes Pro y Max, o a través de la política de la organización en planes Team y Enterprise |2124| Modos de permisos | Todos los modos incluyendo `dontAsk` | Manual, Aceptar ediciones, Plan y Auto. Bypass permissions aparece en el selector de modo una vez habilitado: a través del botón de alternancia de Configuración en planes Pro, Max y Ultra, o a través de la política de la organización en planes Team y Enterprise |

2095| [Proveedores de terceros](https://code.claude.com/docs/es/third-party-integrations.md) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API de Anthropic de forma predeterminada. Para enrutamiento mediante gateway, consulta [conectar la aplicación de escritorio a un gateway](https://code.claude.com/docs/es/llm-gateway-connect.md#desktop-app). Para ejecutar la pestaña Code en Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o un gateway LLM autohospedado, consulta [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview). |2125| [Proveedores de terceros](https://code.claude.com/docs/es/third-party-integrations.md) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API de Anthropic de forma predeterminada. Para enrutamiento mediante gateway, consulta [conectar la aplicación de escritorio a un gateway](https://code.claude.com/docs/es/llm-gateway-connect.md#desktop-app). Para ejecutar la pestaña Code en Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o un gateway LLM autohospedado, consulta [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview). |

2096| [Servidores MCP](https://code.claude.com/docs/es/mcp.md) | Configurar en archivos de configuración | UI de conectores para sesiones locales y SSH, o archivos de configuración |2126| [Servidores MCP](https://code.claude.com/docs/es/mcp.md) | Configurar en archivos de configuración | UI de conectores para sesiones locales y SSH, o archivos de configuración |

2097| [Plugins](https://code.claude.com/docs/es/plugins/overview.md) | Comando `/plugin` | UI del administrador de plugins |2127| [Plugins](https://code.claude.com/docs/es/plugins/overview.md) | Comando `/plugin` | UI del administrador de plugins |


2153Si ve `Error 403: Forbidden` u otros fallos de autenticación al usar la pestaña Code:2183Si ve `Error 403: Forbidden` u otros fallos de autenticación al usar la pestaña Code:

2154 2184 

21551. Cierre sesión e inicie sesión nuevamente desde el menú de la aplicación. Esta es la solución más común.21851. Cierre sesión e inicie sesión nuevamente desde el menú de la aplicación. Esta es la solución más común.

21562. Verifique que tenga una suscripción de pago activa: Pro, Max, Team o Enterprise.21862. Verifica que tengas una suscripción de pago activa: Pro, Max, Ultra, Team o Enterprise.

21573. Si la CLI funciona pero Desktop no, cierre completamente la aplicación de escritorio, no solo cierre la ventana, luego reabrala e inicie sesión nuevamente.21873. Si la CLI funciona pero Desktop no, cierre completamente la aplicación de escritorio, no solo cierre la ventana, luego reabrala e inicie sesión nuevamente.

21584. Verifique su conexión a Internet y configuración de proxy.21884. Verifique su conexión a Internet y configuración de proxy.

2159 2189 

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> El panel del Simulador de iOS está en beta pública en Claude Code Desktop en macOS. Está disponible en los planes Pro, Max, Team y Enterprise, excepto en organizaciones Enterprise que tengan habilitada una configuración HIPAA.11> El panel del Simulador de iOS está en beta pública en Claude Code Desktop en macOS. Está disponible en los planes Pro, Max, Ultra, Team y Enterprise, excepto en organizaciones Enterprise que tengan habilitada una configuración HIPAA.

12 12 

13El panel del Simulador de iOS muestra tu aplicación ejecutándose en el Simulador de iOS de Apple junto a tu conversación en Claude Code Desktop. Cuando Claude compila, instala, lanza o verifica tu aplicación en un simulador, el panel se abre automáticamente y transmite la pantalla del dispositivo en vivo. Úsalo para ver a Claude ejecutar y probar tu aplicación, o para navegar por la aplicación tú mismo mientras Claude sigue trabajando.13El panel del Simulador de iOS muestra tu aplicación ejecutándose en el Simulador de iOS de Apple junto a tu conversación en Claude Code Desktop. Cuando Claude compila, instala, lanza o verifica tu aplicación en un simulador, el panel se abre automáticamente y transmite la pantalla del dispositivo en vivo. Úsalo para ver a Claude ejecutar y probar tu aplicación, o para navegar por la aplicación tú mismo mientras Claude sigue trabajando.

14 14 

Details

6 6 

7> Instale la aplicación de escritorio de Claude, abra la pestaña Code e inicie su primera sesión de Claude Code en una carpeta de proyecto en su computadora.7> Instale la aplicación de escritorio de Claude, abra la pestaña Code e inicie su primera sesión de Claude Code en una carpeta de proyecto en su computadora.

8 8 

9La aplicación de escritorio te proporciona Claude Code con una interfaz gráfica. Puedes pedirle a Claude que trabaje en el código de una carpeta en tu computadora y revisar sus cambios sin usar una terminal.9La aplicación de escritorio te proporciona Claude Code con una interfaz gráfica. Puedes pedirle a Claude que trabaje en el código de una carpeta en tu computadora y luego revisar los cambios tú mismo, sin usar una terminal.

10 10 

11Claude Code está en la pestaña **Code**, en la parte superior de la barra lateral de la aplicación. Esta página te guía a través de la instalación de la aplicación y el inicio de tu primera sesión allí. Claude Code requiere una [suscripción Pro, Max, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).11Claude Code está en la pestaña **Code**, en la parte superior de la barra lateral de la aplicación. Esta página te guía a través de la instalación de la aplicación y el inicio de tu primera sesión allí. Claude Code requiere una [suscripción Pro, Max, Ultra, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).

12 12 

13> **[Descargar para macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**13> [card] [Descargar para macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)

14>14>

15> Compilación universal para Intel y Apple Silicon15> Compilación universal para Intel y Apple Silicon

16 16 

17> **[Descargar para Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)**17> [card] [Descargar para Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)

18>18>

19> Para procesadores x6419> Para procesadores x64

20 20 

21> **[Obtener Claude para Linux (beta)](https://code.claude.com/docs/es/desktop-linux.md)**21> [card] [Obtener Claude para Linux (beta)](https://code.claude.com/docs/es/desktop-linux.md)

22>22>

23> apt o .deb para Ubuntu y Debian23> apt o .deb para Ubuntu y Debian

24 24 

devcontainer.md +1 −1

Details

17> Solo usa contenedores de desarrollo cuando desarrolles con repositorios de confianza, y monitorea las actividades de Claude.17> Solo usa contenedores de desarrollo cuando desarrolles con repositorios de confianza, y monitorea las actividades de Claude.

18> Evita montar secretos del host como `~/.ssh` o archivos de credenciales en la nube en el contenedor; prefiere tokens con alcance de repositorio o de corta duración.18> Evita montar secretos del host como `~/.ssh` o archivos de credenciales en la nube en el contenedor; prefiere tokens con alcance de repositorio o de corta duración.

19 19 

20> **Cómo funcionan los contenedores de desarrollo con tu editor**20> [accordion] Cómo funcionan los contenedores de desarrollo con tu editor

21>21>

22> ![Diagrama que muestra un editor en el host conectándose a un contenedor de desarrollo Docker. Claude Code, la terminal y las herramientas de compilación se ejecutan dentro del contenedor. El repositorio del host está montado en bind en el contenedor como el espacio de trabajo.](https://mintcdn.com/claude-code/YvJyjZfd9yMihr0i/images/devcontainer-architecture.svg?fit=max\&auto=format\&n=YvJyjZfd9yMihr0i\&q=85\&s=9017b1d16a446c6cc37ba562f35b9aae)22> ![Diagrama que muestra un editor en el host conectándose a un contenedor de desarrollo Docker. Claude Code, la terminal y las herramientas de compilación se ejecutan dentro del contenedor. El repositorio del host está montado en bind en el contenedor como el espacio de trabajo.](https://mintcdn.com/claude-code/YvJyjZfd9yMihr0i/images/devcontainer-architecture.svg?fit=max\&auto=format\&n=YvJyjZfd9yMihr0i\&q=85\&s=9017b1d16a446c6cc37ba562f35b9aae)

23>23>

env-vars.md +41 −41

Details

23 23 

24Establece la variable antes de lanzar `claude`:24Establece la variable antes de lanzar `claude`:

25 25 

26**macOS, Linux, WSL**26> [tab] macOS, Linux, WSL

27 27>

28```bash theme={null}28> ```bash theme={null}

29export API_TIMEOUT_MS="1200000"29> export API_TIMEOUT_MS="1200000"

30claude30> claude

31```31> ```

32 32>

33Para establecerla para cada sesión, agrega la línea `export` a `~/.bashrc`, `~/.zshrc`, o el archivo de perfil de tu shell.33> Para establecerla para cada sesión, agrega la línea `export` a `~/.bashrc`, `~/.zshrc`, o el archivo de perfil de tu shell.

34 

35**Windows PowerShell**

36 

37```powershell theme={null}

38$env:API_TIMEOUT_MS = "1200000"

39claude

40```

41 

42Para establecerla para cada sesión, ejecuta `[Environment]::SetEnvironmentVariable("API_TIMEOUT_MS", "1200000", "User")` y abre una nueva terminal.

43 

44**Windows CMD**

45 34 

46```batch theme={null}35> [tab] Windows PowerShell

47set API_TIMEOUT_MS=120000036>

48claude37> ```powershell theme={null}

49```38> $env:API_TIMEOUT_MS = "1200000"

39> claude

40> ```

41>

42> Para establecerla para cada sesión, ejecuta `[Environment]::SetEnvironmentVariable("API_TIMEOUT_MS", "1200000", "User")` y abre una nueva terminal.

50 43 

51Para establecerla para cada sesión, ejecuta `setx API_TIMEOUT_MS "1200000"` y abre una nueva terminal.44> [tab] Windows CMD

45>

46> ```batch theme={null}

47> set API_TIMEOUT_MS=1200000

48> claude

49> ```

50>

51> Para establecerla para cada sesión, ejecuta `setx API_TIMEOUT_MS "1200000"` y abre una nueva terminal.

52 52 

53La línea de asignación no imprime nada en caso de éxito. Para confirmar que la variable está establecida, imprímela en el mismo shell:53La línea de asignación no imprime nada en caso de éxito. Para confirmar que la variable está establecida, imprímela en el mismo shell:

54 54 

55**macOS, Linux, WSL**55> [tab] macOS, Linux, WSL

56 56>

57```bash theme={null}57> ```bash theme={null}

58echo $API_TIMEOUT_MS58> echo $API_TIMEOUT_MS

59```59> ```

60 

61**Windows PowerShell**

62 

63```powershell theme={null}

64echo $env:API_TIMEOUT_MS

65```

66 60 

67**Windows CMD**61> [tab] Windows PowerShell

62>

63> ```powershell theme={null}

64> echo $env:API_TIMEOUT_MS

65> ```

68 66 

69```batch theme={null}67> [tab] Windows CMD

70echo %API_TIMEOUT_MS%68>

71```69> ```batch theme={null}

70> echo %API_TIMEOUT_MS%

71> ```

72 72 

73### Establecer variables en archivos de configuración73### Establecer variables en archivos de configuración

74 74 


130 130 

131| Variable | Propósito |131| Variable | Propósito |

132| :- | :- |132| :- | :- |

133| `ANTHROPIC_API_KEY` | Clave de API enviada como encabezado `X-Api-Key`. Cuando está establecida, esta clave se usa en lugar de tu suscripción Claude Pro, Max, Team o Enterprise aunque hayas iniciado sesión. En modo no interactivo (`-p`), la clave siempre se usa cuando está presente. En modo interactivo, se te pide que apruebes la clave una vez antes de que sobrescriba tu suscripción. Para usar tu suscripción en su lugar, ejecuta `unset ANTHROPIC_API_KEY` |133| `ANTHROPIC_API_KEY` | Clave de API enviada como encabezado `X-Api-Key`. Cuando está establecida, esta clave se usa en lugar de tu suscripción Claude Pro, Max, Ultra, Team o Enterprise, incluso si has iniciado sesión. En modo no interactivo (`-p`), la clave siempre se usa cuando está presente. En modo interactivo, se te pide que apruebes la clave una vez antes de que sobrescriba tu suscripción. Para usar tu suscripción en su lugar, ejecuta `unset ANTHROPIC_API_KEY` |

134| `ANTHROPIC_AUTH_TOKEN` | Valor personalizado para el encabezado `Authorization` (el valor que establezcas aquí llevará el prefijo `Bearer `) |134| `ANTHROPIC_AUTH_TOKEN` | Valor personalizado para el encabezado `Authorization` (el valor que establezcas aquí llevará el prefijo `Bearer `) |

135| `ANTHROPIC_AWS_API_KEY` | Clave de API del espacio de trabajo para [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md), generada en la consola de AWS. Se envía como `x-api-key` y tiene precedencia sobre AWS SigV4 |135| `ANTHROPIC_AWS_API_KEY` | Clave de API del espacio de trabajo para [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md), generada en la consola de AWS. Se envía como `x-api-key` y tiene precedencia sobre AWS SigV4 |

136| `ANTHROPIC_AWS_BASE_URL` | Sobrescribe la URL del endpoint de [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md). Úsala para regiones personalizadas o al enrutar a través de un [gateway de LLM](https://code.claude.com/docs/es/llm-gateway). El valor predeterminado es `https://aws-external-anthropic.{region}.api.aws`. Claude Code resuelve la región con la [misma precedencia que en Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md#3-configure-claude-code) |136| `ANTHROPIC_AWS_BASE_URL` | Sobrescribe la URL del endpoint de [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md). Úsala para regiones personalizadas o al enrutar a través de un [gateway de LLM](https://code.claude.com/docs/es/llm-gateway). El valor predeterminado es `https://aws-external-anthropic.{region}.api.aws`. Claude Code resuelve la región con la [misma precedencia que en Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md#3-configure-claude-code) |


575* [Enviar mensajes a sesiones fuera de esta máquina](https://code.claude.com/docs/es/cross-session-messaging.md#message-sessions-on-other-machines) cuando [Remote Control](https://code.claude.com/docs/es/remote-control.md#requirements) no está disponible. El envío de mensajes entre sesiones en esta máquina funciona con la obtención desactivada575* [Enviar mensajes a sesiones fuera de esta máquina](https://code.claude.com/docs/es/cross-session-messaging.md#message-sessions-on-other-machines) cuando [Remote Control](https://code.claude.com/docs/es/remote-control.md#requirements) no está disponible. El envío de mensajes entre sesiones en esta máquina funciona con la obtención desactivada

576* Ejecutar [`claude import` o el comando `/import`](https://code.claude.com/docs/es/cli-reference#cli-commands)576* Ejecutar [`claude import` o el comando `/import`](https://code.claude.com/docs/es/cli-reference#cli-commands)

577* Ejecutar [`/skill-doctor`](https://code.claude.com/docs/es/skills#find-unused-skills) ni abrir su informe en la pestaña **Stats** de `/plugin`577* Ejecutar [`/skill-doctor`](https://code.claude.com/docs/es/skills#find-unused-skills) ni abrir su informe en la pestaña **Stats** de `/plugin`

578* Ejecutar [`/restart`](https://code.claude.com/docs/es/commands) en los planes Pro y Max578* Ejecutar [`/restart`](https://code.claude.com/docs/es/commands) en los planes Pro, Max y Ultra

579* Sincronizar los [skills](https://code.claude.com/docs/es/skills.md#where-synced-skills-load) y [plugins](https://code.claude.com/docs/es/plugins/loading.md#synced-plugins) habilitados para tu cuenta de claude.ai en tus sesiones de terminal579* Sincronizar los [skills](https://code.claude.com/docs/es/skills.md#where-synced-skills-load) y [plugins](https://code.claude.com/docs/es/plugins/loading.md#synced-plugins) habilitados para tu cuenta de claude.ai en tus sesiones de terminal

580* Activar el [mod You should know](https://code.claude.com/docs/es/interactive-mode.md#you-should-know-suggestions)580* Activar el [mod You should know](https://code.claude.com/docs/es/interactive-mode.md#you-should-know-suggestions)

581* Usar [la herramienta advisor](https://code.claude.com/docs/es/advisor.md#requirements)581* Usar [la herramienta advisor](https://code.claude.com/docs/es/advisor.md#requirements)

errors.md +5 −5

Details

830* En la pestaña Code de la [aplicación de escritorio](https://code.claude.com/docs/es/desktop.md), la tarjeta de límite de sesión ofrece una casilla de verificación **Auto-continue when limits reset**. La tarjeta de límite semanal no. Cuando está marcada, la aplicación de escritorio reintenta el turno interrumpido después del reinicio y muestra la hora del reintento en la tarjeta. La casilla de verificación de escritorio y el ajuste **Continue automatically at usage limit** de la CLI en `/config` son independientes, así que desactiva cada uno por separado.830* En la pestaña Code de la [aplicación de escritorio](https://code.claude.com/docs/es/desktop.md), la tarjeta de límite de sesión ofrece una casilla de verificación **Auto-continue when limits reset**. La tarjeta de límite semanal no. Cuando está marcada, la aplicación de escritorio reintenta el turno interrumpido después del reinicio y muestra la hora del reintento en la tarjeta. La casilla de verificación de escritorio y el ajuste **Continue automatically at usage limit** de la CLI en `/config` son independientes, así que desactiva cada uno por separado.

831* Para el límite de Opus o Sonnet, ejecuta `/model` y cambia a un modelo fuera de esa familia para seguir trabajando. Cada modelo tiene su propia caché de prompts, por lo que la siguiente solicitud relee toda la conversación sin aciertos de caché; consulta [Cambiar de modelo](https://code.claude.com/docs/es/prompt-caching.md#switching-models)831* Para el límite de Opus o Sonnet, ejecuta `/model` y cambia a un modelo fuera de esa familia para seguir trabajando. Cada modelo tiene su propia caché de prompts, por lo que la siguiente solicitud relee toda la conversación sin aciertos de caché; consulta [Cambiar de modelo](https://code.claude.com/docs/es/prompt-caching.md#switching-models)

832* Ejecuta `/usage` para ver los límites de tu plan y cuándo se reinician832* Ejecuta `/usage` para ver los límites de tu plan y cuándo se reinician

833* Ejecuta `/usage-credits` para comprar uso adicional en Pro y Max, o para solicitarlo a tu administrador en Team y Enterprise. Consulta [créditos de uso para planes de pago](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) para ver cómo se factura esto.833* Ejecuta `/usage-credits` para comprar uso adicional en Pro, Max y Ultra, o para solicitarlo a tu administrador en Team y Enterprise. Consulta [créditos de uso para planes de pago](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) para ver cómo se factura esto.

834* Para actualizar tu plan y obtener límites base más altos, consulta [claude.com/pricing](https://claude.com/pricing)834* Para actualizar tu plan y obtener límites base más altos, consulta [claude.com/pricing](https://claude.com/pricing)

835 835 

836Antes de que se agote una ventana, Claude Code puede advertirte que usaste la mayor parte de ella, con un mensaje como `You've used 85% of your session limit · resets 3:45pm`. Para ver tu asignación restante de forma continua, agrega los campos `rate_limits` a una [línea de estado personalizada](https://code.claude.com/docs/es/statusline.md#rate-limit-usage), o en la aplicación de escritorio haz clic en el [anillo de uso](https://code.claude.com/docs/es/desktop.md#check-usage) junto al selector de modelo.836Antes de que se agote una ventana, Claude Code puede advertirte que usaste la mayor parte de ella, con un mensaje como `You've used 85% of your session limit · resets 3:45pm`. Para ver tu asignación restante de forma continua, agrega los campos `rate_limits` a una [línea de estado personalizada](https://code.claude.com/docs/es/statusline.md#rate-limit-usage), o en la aplicación de escritorio haz clic en el [anillo de uso](https://code.claude.com/docs/es/desktop.md#check-usage) junto al selector de modelo.


852**Qué hacer:**852**Qué hacer:**

853 853 

854* Ejecuta `/model` y selecciona la variante sin el sufijo `[1m]` para volver a la ventana de contexto estándar854* Ejecuta `/model` y selecciona la variante sin el sufijo `[1m]` para volver a la ventana de contexto estándar

855* Donde el mensaje menciona `/usage-credits`, ejecútalo para activar la facturación medida de la variante de 1M en Pro y Max, o para solicitar créditos de uso a tu administrador en Team y Enterprise. Una vez que los créditos de uso estén activados, reinicia Claude Code o inicia una nueva sesión, según lo que indique el mensaje. Hasta entonces, la sesión permanece en el límite de contexto estándar.855* Donde el mensaje menciona `/usage-credits`, ejecútalo para activar la facturación medida de la variante de 1M en Pro, Max y Ultra, o para solicitar créditos de uso a tu administrador en Team y Enterprise. Una vez que los créditos de uso estén activados, reinicia Claude Code o inicia una nueva sesión, según lo que indique el mensaje. Hasta entonces, la sesión permanece en el límite de contexto estándar.

856* Si el error persiste después de `/model`, es posible que un ID de modelo de 1M esté configurado en otro lugar. Consulta [Configurar tu modelo](https://code.claude.com/docs/es/model-config.md#setting-your-model) para ver las ubicaciones de configuración que debes verificar en orden de prioridad.856* Si el error persiste después de `/model`, es posible que un ID de modelo de 1M esté configurado en otro lugar. Consulta [Configurar tu modelo](https://code.claude.com/docs/es/model-config.md#setting-your-model) para ver las ubicaciones de configuración que debes verificar en orden de prioridad.

857* Para eliminar por completo las variantes de 1M del selector de modelo, establece [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](https://code.claude.com/docs/es/env-vars)857* Para eliminar por completo las variantes de 1M del selector de modelo, establece [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](https://code.claude.com/docs/es/env-vars)

858 858 


933 933 

934**Qué hacer:**934**Qué hacer:**

935 935 

936* En Pro y Max, aumenta tu límite de gasto mensual en [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai, o ejecuta `/usage-credits`936* En Pro, Max y Ultra, aumenta tu límite de gasto mensual en [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai, o ejecuta `/usage-credits`

937* En Team y Enterprise, aumenta el límite en [**Organization settings > Usage**](https://claude.ai/admin-settings/usage) si gestionas la facturación, o pídele a un administrador que lo haga. `/usage-credits` envía esa solicitud a tu administrador por ti937* En Team y Enterprise, aumenta el límite en [**Organization settings > Usage**](https://claude.ai/admin-settings/usage) si gestionas la facturación, o pídele a un administrador que lo haga. `/usage-credits` envía esa solicitud a tu administrador por ti

938* Para el límite de un canal, pide a un propietario de la organización o al administrador del canal que lo aumente en claude.ai. Consulta [Per-channel limits](https://claude.com/docs/claude-tag/admins/set-spend-limit#per-channel-limits) en la documentación de Claude Tag938* Para el límite de un canal, pide a un propietario de la organización o al administrador del canal que lo aumente en claude.ai. Consulta [Per-channel limits](https://claude.com/docs/claude-tag/admins/set-spend-limit#per-channel-limits) en la documentación de Claude Tag

939* Si el mensaje indica una hora de reinicio para la ventana de tu plan, puedes esperar a que llegue939* Si el mensaje indica una hora de reinicio para la ventana de tu plan, puedes esperar a que llegue


966 966 

967**Qué hacer:**967**Qué hacer:**

968 968 

969* Si tienes un plan Pro, Max, Team o Enterprise y ves esto, ejecuta `/status` y revisa la fila `API key`. Un `ANTHROPIC_API_KEY` aprobado en tu entorno enruta las solicitudes a través de esa clave en lugar de tu suscripción. Elimina la variable en el shell actual y quítala de tu perfil de shell, luego vuelve a iniciar `claude`. Ejecuta `/login` si aún no iniciaste sesión con tu suscripción.969* Si tienes un plan Pro, Max, Ultra, Team o Enterprise y ves esto, ejecuta `/status` y revisa la fila `API key`. Un `ANTHROPIC_API_KEY` aprobado en tu entorno enruta las solicitudes a través de esa clave en lugar de tu suscripción. Elimina la variable en el shell actual y quítala de tu perfil de shell, luego vuelve a iniciar `claude`. Ejecuta `/login` si aún no iniciaste sesión con tu suscripción.

970* Agrega créditos en [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), y considera activar ahí la recarga automática para que el saldo se recargue antes de llegar a cero970* Agrega créditos en [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), y considera activar ahí la recarga automática para que el saldo se recargue antes de llegar a cero

971* Establece límites de gasto por espacio de trabajo en la Console para evitar que un solo proyecto agote el saldo de la organización. Consulta [Administrar los costos de forma eficaz](https://code.claude.com/docs/es/costs.md).971* Establece límites de gasto por espacio de trabajo en la Console para evitar que un solo proyecto agote el saldo de la organización. Consulta [Administrar los costos de forma eficaz](https://code.claude.com/docs/es/costs.md).

972 972 


1120 1120 

1121La sugerencia después del `·` depende de tus credenciales guardadas: la primera forma aparece cuando un `/login` almacenado puede tomar el relevo después de que elimines la clave, y la segunda cuando la clave es tu única credencial.1121La sugerencia después del `·` depende de tus credenciales guardadas: la primera forma aparece cuando un `/login` almacenado puede tomar el relevo después de que elimines la clave, y la segunda cuando la clave es tu única credencial.

1122 1122 

1123Las variables de entorno tienen precedencia sobre `/login`, así que una clave exportada en tu perfil de shell o cargada desde un archivo `.env` se usa incluso cuando tienes una suscripción Pro o Max que funciona. En el modo no interactivo (`-p`), la clave siempre se usa cuando está presente.1123Si exportas una clave en el perfil de tu shell o la cargas desde `.env`, Claude Code la usa en lugar de `/login`, incluso con una suscripción Pro, Max o Ultra que funcione. En modo no interactivo (`-p`), la clave siempre se usa cuando está presente.

1124 1124 

1125**Qué hacer:**1125**Qué hacer:**

1126 1126 

fast-mode.md +5 −5

Details

20 20 

21* Usa `/fast` para activar o desactivar el modo rápido en Claude Code CLI. La [extensión VS Code](https://code.claude.com/docs/es/vs-code.md) ofrece un comando **Toggle fast mode** cuando el modelo seleccionado admite el modo rápido. Claude Code guarda ese cambio en tu configuración [`fastMode`](#toggle-fast-mode).21* Usa `/fast` para activar o desactivar el modo rápido en Claude Code CLI. La [extensión VS Code](https://code.claude.com/docs/es/vs-code.md) ofrece un comando **Toggle fast mode** cuando el modelo seleccionado admite el modo rápido. Claude Code guarda ese cambio en tu configuración [`fastMode`](#toggle-fast-mode).

22* Los precios del modo rápido por MTok de entrada/salida son \$8/\$40 en Opus 5.5 y \$10/\$50 en Opus 5 y Opus 4.8.22* Los precios del modo rápido por MTok de entrada/salida son \$8/\$40 en Opus 5.5 y \$10/\$50 en Opus 5 y Opus 4.8.

23* Disponible para usuarios de Claude Code en planes de suscripción (Pro/Max/Team/Enterprise) y en Claude Console. Las organizaciones Team y Enterprise necesitan que un Propietario lo habilite primero, y las organizaciones Console necesitan que se aprovisione el acceso primero para usarlo con Opus 5 u Opus 4.8. En [Requisitos](#requirements) se describen ambos casos.23* Disponible para usuarios de Claude Code en planes de suscripción (Pro/Max/Ultra/Team/Enterprise) y en Claude Console. Las organizaciones Team y Enterprise necesitan que un Propietario lo habilite primero, y las organizaciones Console necesitan que se aprovisione el acceso primero para usarlo con Opus 5 u Opus 4.8. En [Requisitos](#requirements) se describen ambos casos.

24* Para los usuarios de Claude Code en planes de suscripción (Pro/Max/Team/Enterprise), el modo rápido está disponible solo a través de créditos de uso y no está incluido en los límites de velocidad de la suscripción.24* Para los usuarios de Claude Code en planes de suscripción (Pro/Max/Ultra/Team/Enterprise), el modo rápido está disponible solo a través de créditos de uso y no está incluido en los rate limits de la suscripción.

25 25 

26## Activar el modo rápido26## Activar el modo rápido

27 27 


86 86 

87Usted ve el gasto del modo rápido en un lugar diferente dependiendo de cómo inició sesión, así que primero ejecute [`/status`](https://code.claude.com/docs/es/commands) para verificar. Si muestra una fila `Login method` como `Claude Max account`, inició sesión con una suscripción de Claude. Si muestra una fila `API key` en su lugar, sus solicitudes se facturan a una organización de Claude Console.87Usted ve el gasto del modo rápido en un lugar diferente dependiendo de cómo inició sesión, así que primero ejecute [`/status`](https://code.claude.com/docs/es/commands) para verificar. Si muestra una fila `Login method` como `Claude Max account`, inició sesión con una suscripción de Claude. Si muestra una fila `API key` en su lugar, sus solicitudes se facturan a una organización de Claude Console.

88 88 

89* **Pro y Max**: usted paga el modo rápido desde sus créditos de uso. Vaya a [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai, donde la sección **Usage credits** muestra cuánto ha gastado en créditos de uso este mes. Esa cifra incluye el modo rápido pero no lo desglosa por separado.89* **Pro, Max y Ultra**: pagas el modo rápido desde tus créditos de uso. Ve a [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai, donde la sección **Usage credits** muestra cuánto has gastado en créditos de uso este mes. Esa cifra incluye el modo rápido pero no lo desglosa por separado.

90* **Team y Enterprise**: su organización paga el uso del modo rápido desde sus créditos de uso. Para ver su propio gasto de créditos de uso, ejecute [`/usage`](https://code.claude.com/docs/es/costs#check-your-usage-credits-spend). Para ver dónde su organización ve ese gasto, consulte [Claude para Teams y Enterprise](https://code.claude.com/docs/es/costs.md#claude-for-teams-and-enterprise).90* **Team y Enterprise**: su organización paga el uso del modo rápido desde sus créditos de uso. Para ver su propio gasto de créditos de uso, ejecute [`/usage`](https://code.claude.com/docs/es/costs#check-your-usage-credits-spend). Para ver dónde su organización ve ese gasto, consulte [Claude para Teams y Enterprise](https://code.claude.com/docs/es/costs.md#claude-for-teams-and-enterprise).

91* **Claude Console**: su organización paga el modo rápido junto con el resto de su uso de API. En las páginas [Usage](https://platform.claude.com/usage) y [Cost](https://platform.claude.com/cost) de Console, seleccione **Speed (Research Preview)** en el menú **Group by** para separar el modo rápido del uso de velocidad estándar. Usted ve esa opción solo cuando el rango de fechas seleccionado incluye uso del modo rápido.91* **Claude Console**: su organización paga el modo rápido junto con el resto de su uso de API. En las páginas [Usage](https://platform.claude.com/usage) y [Cost](https://platform.claude.com/cost) de Console, seleccione **Speed (Research Preview)** en el menú **Group by** para separar el modo rápido del uso de velocidad estándar. Usted ve esa opción solo cuando el rango de fechas seleccionado incluye uso del modo rápido.

92 92 


120El modo rápido requiere todos los siguientes:120El modo rápido requiere todos los siguientes:

121 121 

122* **Solo API de Anthropic o suscripción**: el modo rápido está disponible a través de la API de Anthropic Console y para planes de suscripción de Claude usando créditos de uso. No está disponible en Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o Claude Platform en AWS. Las organizaciones de Console también deben tener [acceso al modo rápido aprovisionado](#enable-fast-mode-for-your-organization) para usarlo con Opus 5 u Opus 4.8.122* **Solo API de Anthropic o suscripción**: el modo rápido está disponible a través de la API de Anthropic Console y para planes de suscripción de Claude usando créditos de uso. No está disponible en Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o Claude Platform en AWS. Las organizaciones de Console también deben tener [acceso al modo rápido aprovisionado](#enable-fast-mode-for-your-organization) para usarlo con Opus 5 u Opus 4.8.

123* **Créditos de uso activados para planes de suscripción**: en un plan Pro, Max, Team o Enterprise, tu cuenta debe tener [créditos de uso](https://code.claude.com/docs/es/costs.md#add-usage-credits-to-your-subscription) activados, lo que permite la facturación más allá del uso incluido en tu plan. Hasta que estén activados, `/fast` muestra "Fast mode requires usage credits". Cómo los activas depende de tu plan:123* **Créditos de uso activados para planes de suscripción**: en un plan Pro, Max, Ultra, Team o Enterprise, tu cuenta debe tener [créditos de uso](https://code.claude.com/docs/es/costs.md#add-usage-credits-to-your-subscription) activados, lo que permite la facturación más allá del uso incluido en tu plan. Hasta que estén activados, `/fast` muestra "Fast mode requires usage credits". Para activarlos, sigue el paso correspondiente a tu plan:

124 * En Pro y Max, actívalos en la sección **Usage credits** de [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai, o ejecuta `/usage-credits` para abrir esa página.124 * En Pro, Max y Ultra, actívalos en la sección **Usage credits** de [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai, o ejecuta `/usage-credits` para abrir esa página.

125 * En Team y Enterprise, un miembro con acceso de facturación los activa para la organización en [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), y un miembro sin ese acceso ejecuta `/usage-credits` para enviar una solicitud a los administradores de la organización.125 * En Team y Enterprise, un miembro con acceso de facturación los activa para la organización en [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), y un miembro sin ese acceso ejecuta `/usage-credits` para enviar una solicitud a los administradores de la organización.

126 126 

127> [!NOTE]127> [!NOTE]

Details

14 14 

15La forma en que se autentica determina a qué características puede acceder Claude Code. Para una lista única de lo que falta en su proveedor, consulte las pestañas de [resumen por proveedor](#summary-by-provider). Para encontrar su columna en las tablas:15La forma en que se autentica determina a qué características puede acceder Claude Code. Para una lista única de lo que falta en su proveedor, consulte las pestañas de [resumen por proveedor](#summary-by-provider). Para encontrar su columna en las tablas:

16 16 

17* **Suscripción a Claude**: inicia sesión con una cuenta de claude.ai en el plan Pro, Max, Team o Enterprise17* **Suscripción a Claude**: inicias sesión con una cuenta de claude.ai en el plan Pro, Max, Ultra, Team o Enterprise

18* **Consola de Anthropic**: se autentica con una clave API de Anthropic o mediante [inicio de sesión en una cuenta de Consola sin una](https://code.claude.com/docs/es/authentication.md#sign-in-without-an-api-key)18* **Consola de Anthropic**: se autentica con una clave API de Anthropic o mediante [inicio de sesión en una cuenta de Consola sin una](https://code.claude.com/docs/es/authentication.md#sign-in-without-an-api-key)

19* **Amazon Bedrock**: utiliza modelos de Claude del catálogo de modelos de Bedrock y establece `CLAUDE_CODE_USE_BEDROCK`. El [punto final de Mantle](https://code.claude.com/docs/es/amazon-bedrock.md#use-the-mantle-endpoint) (`CLAUDE_CODE_USE_MANTLE`) está cubierto por esta columna19* **Amazon Bedrock**: utiliza modelos de Claude del catálogo de modelos de Bedrock y establece `CLAUDE_CODE_USE_BEDROCK`. El [punto final de Mantle](https://code.claude.com/docs/es/amazon-bedrock.md#use-the-mantle-endpoint) (`CLAUDE_CODE_USE_MANTLE`) está cubierto por esta columna

20* **Claude Platform en AWS**: compró Claude a través de AWS Marketplace pero llama a la API de Anthropic, y establece `CLAUDE_CODE_USE_ANTHROPIC_AWS`20* **Claude Platform en AWS**: compró Claude a través de AWS Marketplace pero llama a la API de Anthropic, y establece `CLAUDE_CODE_USE_ANTHROPIC_AWS`


46Estas requieren iniciar sesión con una cuenta de claude.ai y no son accesibles con una clave API de la Consola de Anthropic o desde un proveedor de terceros:46Estas requieren iniciar sesión con una cuenta de claude.ai y no son accesibles con una clave API de la Consola de Anthropic o desde un proveedor de terceros:

47 47 

48* [Sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) y Claude Code en dispositivos móviles48* [Sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) y Claude Code en dispositivos móviles

49* [Claude Code en Slack](https://code.claude.com/docs/es/slack.md): planes Pro y Max49* [Claude Code en Slack](https://code.claude.com/docs/es/slack.md): planes Pro, Max y Ultra

50* [Claude Code Desktop](https://code.claude.com/docs/es/desktop.md)50* [Claude Code Desktop](https://code.claude.com/docs/es/desktop.md)

51* [Tareas programadas en la nube](https://code.claude.com/docs/es/routines.md) (`/schedule`)51* [Tareas programadas en la nube](https://code.claude.com/docs/es/routines.md) (`/schedule`)

52* [Ultrareview](https://code.claude.com/docs/es/ultrareview.md)52* [Ultrareview](https://code.claude.com/docs/es/ultrareview.md)

53* [Code Review](https://code.claude.com/docs/es/code-review.md): planes Team y Enterprise53* [Code Review](https://code.claude.com/docs/es/code-review.md): planes Team y Enterprise

54* [Remote Control](https://code.claude.com/docs/es/remote-control.md)54* [Remote Control](https://code.claude.com/docs/es/remote-control.md)

55* [Extensión de Chrome](https://code.claude.com/docs/es/chrome.md)55* [Extensión de Chrome](https://code.claude.com/docs/es/chrome.md)

56* [Computer use](https://code.claude.com/docs/es/computer-use.md): planes Pro y Max56* [Computer use](https://code.claude.com/docs/es/computer-use.md): planes Pro, Max y Ultra

57* [Artifacts](https://code.claude.com/docs/es/artifacts.md): planes Pro, Max, Team y Enterprise57* [Artifacts](https://code.claude.com/docs/es/artifacts.md): planes Pro, Max, Ultra, Team y Enterprise

58* [Voice dictation](https://code.claude.com/docs/es/voice-dictation.md)58* [Voice dictation](https://code.claude.com/docs/es/voice-dictation.md)

59 59 

60Desktop es la excepción parcial: el [enrutamiento a través de un gateway se puede configurar en la aplicación o lo puede configurar un administrador](https://code.claude.com/docs/es/llm-gateway-connect.md#desktop-app). [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview) también ejecuta la pestaña Code en Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o un gateway de LLM autohospedado. Además, ejecuta la pestaña Code en la [Claude API](https://claude.com/docs/third-party/claude-desktop/claude-api) con una clave de API de la Consola de Anthropic. Para la disponibilidad por plan de estas características, consulta [Disponibilidad por plan de suscripción](#availability-by-subscription-plan).60Desktop es la excepción parcial: el [enrutamiento a través de un gateway se puede configurar en la aplicación o lo puede configurar un administrador](https://code.claude.com/docs/es/llm-gateway-connect.md#desktop-app). [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview) también ejecuta la pestaña Code en Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o un gateway de LLM autohospedado. Además, ejecuta la pestaña Code en la [Claude API](https://claude.com/docs/third-party/claude-desktop/claude-api) con una clave de API de la Consola de Anthropic. Para la disponibilidad por plan de estas características, consulta [Disponibilidad por plan de suscripción](#availability-by-subscription-plan).


229 229 

230Cada pestaña enumera lo que no está disponible o tiene soporte parcial en ese proveedor, con alternativas donde exista una. Todo lo que no aparece en la lista funciona igual que en una suscripción a Claude, aparte de las [diferencias específicas del proveedor](#features-available-on-every-provider) señaladas anteriormente. En Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry y Claude Platform en AWS, el informe de errores y la telemetría a Anthropic están desactivados de forma predeterminada. Consulte [comportamientos predeterminados por proveedor de API](https://code.claude.com/docs/es/data-usage.md#default-behaviors-by-api-provider) para ver qué tráfico aún llega a Anthropic y cómo optar por no participar.230Cada pestaña enumera lo que no está disponible o tiene soporte parcial en ese proveedor, con alternativas donde exista una. Todo lo que no aparece en la lista funciona igual que en una suscripción a Claude, aparte de las [diferencias específicas del proveedor](#features-available-on-every-provider) señaladas anteriormente. En Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry y Claude Platform en AWS, el informe de errores y la telemetría a Anthropic están desactivados de forma predeterminada. Consulte [comportamientos predeterminados por proveedor de API](https://code.claude.com/docs/es/data-usage.md#default-behaviors-by-api-provider) para ver qué tráfico aún llega a Anthropic y cómo optar por no participar.

231 231 

232**Amazon Bedrock**232> [tab] Amazon Bedrock

233 233>

234**No disponible:** todas las [características que requieren una suscripción a Claude](#features-that-require-a-claude-subscription), más [búsqueda web](https://code.claude.com/docs/es/tools-reference.md#websearch-tool-behavior), [fast mode](https://code.claude.com/docs/es/fast-mode.md), [Advisor](https://code.claude.com/docs/es/advisor.md), [Channels](https://code.claude.com/docs/es/channels.md), el [panel de análisis](https://code.claude.com/docs/es/analytics.md), [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) y los [comandos `/design-sync` e `/import`](https://code.claude.com/docs/es/commands#all-commands).234> **No disponible:** todas las [características que requieren una suscripción a Claude](#features-that-require-a-claude-subscription), más [búsqueda web](https://code.claude.com/docs/es/tools-reference.md#websearch-tool-behavior), [fast mode](https://code.claude.com/docs/es/fast-mode.md), [Advisor](https://code.claude.com/docs/es/advisor.md), [Channels](https://code.claude.com/docs/es/channels.md), el [panel de análisis](https://code.claude.com/docs/es/analytics.md), [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) y los [comandos `/design-sync` e `/import`](https://code.claude.com/docs/es/commands#all-commands).

235 235>

236**Soporte parcial:**236> **Soporte parcial:**

237 237>

238* [Desktop](https://code.claude.com/docs/es/desktop.md): solo a través de [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview)238> * [Desktop](https://code.claude.com/docs/es/desktop.md): solo a través de [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview)

239* [Modo automático](https://code.claude.com/docs/es/auto-mode-config.md): solo Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5 y modelos Fable239> * [Modo automático](https://code.claude.com/docs/es/auto-mode-config.md): solo Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5 y modelos Fable

240* [Mensajería entre sesiones](https://code.claude.com/docs/es/cross-session-messaging.md): entre sus sesiones en esta máquina solamente <sup>[5](#fn5)</sup>240> * [Mensajería entre sesiones](https://code.claude.com/docs/es/cross-session-messaging.md): entre sus sesiones en esta máquina solamente <sup>[5](#fn5)</sup>

241* [Zero Data Retention](https://code.claude.com/docs/es/zero-data-retention.md): sujeto a su acuerdo de AWS241> * [Zero Data Retention](https://code.claude.com/docs/es/zero-data-retention.md): sujeto a su acuerdo de AWS

242 242>

243**Alternativas:** para programación, use [`/loop`](https://code.claude.com/docs/es/scheduled-tasks) en lugar de `/schedule`. Para sesiones en la nube, use [GitHub Actions](https://code.claude.com/docs/es/github-actions.md) o [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md). Para búsquedas web, use la [herramienta WebFetch](https://code.claude.com/docs/es/tools-reference.md#webfetch-tool-behavior) con una URL específica.243> **Alternativas:** para programación, use [`/loop`](https://code.claude.com/docs/es/scheduled-tasks) en lugar de `/schedule`. Para sesiones en la nube, use [GitHub Actions](https://code.claude.com/docs/es/github-actions.md) o [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md). Para búsquedas web, use la [herramienta WebFetch](https://code.claude.com/docs/es/tools-reference.md#webfetch-tool-behavior) con una URL específica.

244 

245**Claude Platform en AWS**

246 

247**No disponible:** todas las [características que requieren una suscripción a Claude](#features-that-require-a-claude-subscription), más [fast mode](https://code.claude.com/docs/es/fast-mode.md), [Advisor](https://code.claude.com/docs/es/advisor.md), [Channels](https://code.claude.com/docs/es/channels.md), [GitHub Actions](https://code.claude.com/docs/es/github-actions.md), el [panel de análisis](https://code.claude.com/docs/es/analytics.md), [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) y los [comandos `/design-sync` e `/import`](https://code.claude.com/docs/es/commands#all-commands).

248 

249**Disponible donde Amazon Bedrock no lo es:** [búsqueda web](https://code.claude.com/docs/es/tools-reference.md#websearch-tool-behavior).

250 

251**Soporte parcial:**

252 

253* [Mensajería entre sesiones](https://code.claude.com/docs/es/cross-session-messaging.md): entre sus sesiones en esta máquina solamente <sup>[5](#fn5)</sup>

254 

255**Alternativas:** para programación, use [`/loop`](https://code.claude.com/docs/es/scheduled-tasks) en lugar de `/schedule`. Para sesiones en la nube, use [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md).

256 

257**Google Cloud's Agent Platform**

258 

259**No disponible:** todas las [características que requieren una suscripción a Claude](#features-that-require-a-claude-subscription), más [fast mode](https://code.claude.com/docs/es/fast-mode.md), [Advisor](https://code.claude.com/docs/es/advisor.md), [Channels](https://code.claude.com/docs/es/channels.md), el [panel de análisis](https://code.claude.com/docs/es/analytics.md), [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) y los [comandos `/design-sync` e `/import`](https://code.claude.com/docs/es/commands#all-commands).

260 

261**Soporte parcial:**

262 

263* [Desktop](https://code.claude.com/docs/es/desktop.md): a través de [configuración administrada](https://claude.com/docs/third-party/claude-desktop/configuration) o [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview)

264* [Búsqueda web](https://code.claude.com/docs/es/tools-reference.md#websearch-tool-behavior): Opus 4, Sonnet 4, Haiku 4.5 y modelos posteriores

265* [Modo automático](https://code.claude.com/docs/es/auto-mode-config.md): solo Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5 y modelos Fable

266* [Mensajería entre sesiones](https://code.claude.com/docs/es/cross-session-messaging.md): entre sus sesiones en esta máquina solamente <sup>[5](#fn5)</sup>

267* [Zero Data Retention](https://code.claude.com/docs/es/zero-data-retention.md): sujeto a su acuerdo de Google Cloud

268 

269**Alternativas:** para programación, use [`/loop`](https://code.claude.com/docs/es/scheduled-tasks) en lugar de `/schedule`. Para sesiones en la nube, use [GitHub Actions](https://code.claude.com/docs/es/github-actions.md) o [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md).

270 

271**Microsoft Foundry**

272 

273**No disponible:** todas las [características que requieren una suscripción a Claude](#features-that-require-a-claude-subscription), más [fast mode](https://code.claude.com/docs/es/fast-mode.md), [Advisor](https://code.claude.com/docs/es/advisor.md), [Channels](https://code.claude.com/docs/es/channels.md), [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md), el [panel de análisis](https://code.claude.com/docs/es/analytics.md), [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) y los [comandos `/design-sync` e `/import`](https://code.claude.com/docs/es/commands#all-commands).

274 

275**Soporte parcial:**

276 

277* [Desktop](https://code.claude.com/docs/es/desktop.md): solo a través de [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview)

278* [Modo automático](https://code.claude.com/docs/es/auto-mode-config.md): solo Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5 y modelos Fable

279* [Mensajería entre sesiones](https://code.claude.com/docs/es/cross-session-messaging.md): entre sus sesiones en esta máquina solamente <sup>[5](#fn5)</sup>

280* [Zero Data Retention](https://code.claude.com/docs/es/zero-data-retention.md): sujeto a su acuerdo de Azure

281 

282**Alternativas:** para programación, use [`/loop`](https://code.claude.com/docs/es/scheduled-tasks) en lugar de `/schedule`. Para sesiones en la nube, use [GitHub Actions](https://code.claude.com/docs/es/github-actions.md).

283 

284**Consola de Anthropic**

285 244 

286**No disponible:** todas las [características que requieren una suscripción a Claude](#features-that-require-a-claude-subscription).245> [tab] Claude Platform en AWS

246>

247> **No disponible:** todas las [características que requieren una suscripción a Claude](#features-that-require-a-claude-subscription), más [fast mode](https://code.claude.com/docs/es/fast-mode.md), [Advisor](https://code.claude.com/docs/es/advisor.md), [Channels](https://code.claude.com/docs/es/channels.md), [GitHub Actions](https://code.claude.com/docs/es/github-actions.md), el [panel de análisis](https://code.claude.com/docs/es/analytics.md), [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) y los [comandos `/design-sync` e `/import`](https://code.claude.com/docs/es/commands#all-commands).

248>

249> **Disponible donde Amazon Bedrock no lo es:** [búsqueda web](https://code.claude.com/docs/es/tools-reference.md#websearch-tool-behavior).

250>

251> **Soporte parcial:**

252>

253> * [Mensajería entre sesiones](https://code.claude.com/docs/es/cross-session-messaging.md): entre sus sesiones en esta máquina solamente <sup>[5](#fn5)</sup>

254>

255> **Alternativas:** para programación, use [`/loop`](https://code.claude.com/docs/es/scheduled-tasks) en lugar de `/schedule`. Para sesiones en la nube, use [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md).

287 256 

288Todo en [Capacidades de CLI que varían por proveedor](#cli-capabilities-that-vary-by-provider) está disponible, excepto que el [modo rápido](https://code.claude.com/docs/es/fast-mode.md) con Claude Opus 5 o Claude Opus 4.8 requiere [acceso aprovisionado](https://code.claude.com/docs/es/fast-mode.md#enable-fast-mode-for-your-organization). La [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) que configuras en una organización Team o Enterprise de claude.ai no llega a una sesión que se autentica con una clave de API de la Consola. Consulta [Disponibilidad por plataforma](https://code.claude.com/docs/es/server-managed-settings.md#platform-availability) para saber cómo cubrir esas sesiones.257> [tab] Google Cloud's Agent Platform

258>

259> **No disponible:** todas las [características que requieren una suscripción a Claude](#features-that-require-a-claude-subscription), más [fast mode](https://code.claude.com/docs/es/fast-mode.md), [Advisor](https://code.claude.com/docs/es/advisor.md), [Channels](https://code.claude.com/docs/es/channels.md), el [panel de análisis](https://code.claude.com/docs/es/analytics.md), [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) y los [comandos `/design-sync` e `/import`](https://code.claude.com/docs/es/commands#all-commands).

260>

261> **Soporte parcial:**

262>

263> * [Desktop](https://code.claude.com/docs/es/desktop.md): a través de [configuración administrada](https://claude.com/docs/third-party/claude-desktop/configuration) o [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview)

264> * [Búsqueda web](https://code.claude.com/docs/es/tools-reference.md#websearch-tool-behavior): Opus 4, Sonnet 4, Haiku 4.5 y modelos posteriores

265> * [Modo automático](https://code.claude.com/docs/es/auto-mode-config.md): solo Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5 y modelos Fable

266> * [Mensajería entre sesiones](https://code.claude.com/docs/es/cross-session-messaging.md): entre sus sesiones en esta máquina solamente <sup>[5](#fn5)</sup>

267> * [Zero Data Retention](https://code.claude.com/docs/es/zero-data-retention.md): sujeto a su acuerdo de Google Cloud

268>

269> **Alternativas:** para programación, use [`/loop`](https://code.claude.com/docs/es/scheduled-tasks) en lugar de `/schedule`. Para sesiones en la nube, use [GitHub Actions](https://code.claude.com/docs/es/github-actions.md) o [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md).

289 270 

290**Soporte parcial:**271> [tab] Microsoft Foundry

272>

273> **No disponible:** todas las [características que requieren una suscripción a Claude](#features-that-require-a-claude-subscription), más [fast mode](https://code.claude.com/docs/es/fast-mode.md), [Advisor](https://code.claude.com/docs/es/advisor.md), [Channels](https://code.claude.com/docs/es/channels.md), [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md), el [panel de análisis](https://code.claude.com/docs/es/analytics.md), [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) y los [comandos `/design-sync` e `/import`](https://code.claude.com/docs/es/commands#all-commands).

274>

275> **Soporte parcial:**

276>

277> * [Desktop](https://code.claude.com/docs/es/desktop.md): solo a través de [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview)

278> * [Modo automático](https://code.claude.com/docs/es/auto-mode-config.md): solo Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5 y modelos Fable

279> * [Mensajería entre sesiones](https://code.claude.com/docs/es/cross-session-messaging.md): entre sus sesiones en esta máquina solamente <sup>[5](#fn5)</sup>

280> * [Zero Data Retention](https://code.claude.com/docs/es/zero-data-retention.md): sujeto a su acuerdo de Azure

281>

282> **Alternativas:** para programación, use [`/loop`](https://code.claude.com/docs/es/scheduled-tasks) en lugar de `/schedule`. Para sesiones en la nube, use [GitHub Actions](https://code.claude.com/docs/es/github-actions.md).

291 283 

292* [Desktop](https://code.claude.com/docs/es/desktop.md): a través de [Claude Desktop en 3P con la Claude API](https://claude.com/docs/third-party/claude-desktop/claude-api)284> [tab] Consola de Anthropic

285>

286> **No disponible:** todas las [características que requieren una suscripción a Claude](#features-that-require-a-claude-subscription).

287>

288> Todo en [Capacidades de CLI que varían por proveedor](#cli-capabilities-that-vary-by-provider) está disponible, excepto que el [modo rápido](https://code.claude.com/docs/es/fast-mode.md) con Claude Opus 5 o Claude Opus 4.8 requiere [acceso aprovisionado](https://code.claude.com/docs/es/fast-mode.md#enable-fast-mode-for-your-organization). La [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) que configuras en una organización Team o Enterprise de claude.ai no llega a una sesión que se autentica con una clave de API de la Consola. Consulta [Disponibilidad por plataforma](https://code.claude.com/docs/es/server-managed-settings.md#platform-availability) para saber cómo cubrir esas sesiones.

289>

290> **Soporte parcial:**

291>

292> * [Desktop](https://code.claude.com/docs/es/desktop.md): a través de [Claude Desktop en 3P con la Claude API](https://claude.com/docs/third-party/claude-desktop/claude-api)

293 293 

294## Disponibilidad por plan de suscripción294## Disponibilidad por plan de suscripción

295 295 


297 297 

298En las organizaciones Enterprise que tienen aplicada la [configuración HIPAA](https://code.claude.com/docs/es/hipaa-setup.md), algunas características de esta tabla están desactivadas.298En las organizaciones Enterprise que tienen aplicada la [configuración HIPAA](https://code.claude.com/docs/es/hipaa-setup.md), algunas características de esta tabla están desactivadas.

299 299 

300| Característica | Pro | Max | Team | Enterprise |300| Característica | Pro | Max | Ultra | Team | Enterprise |

301| :- | :- | :- | :- | :- |301| :- | :- | :- | :- | :- | :- |

302| [Cloud sessions](https://code.claude.com/docs/es/claude-code-on-the-web.md) | ✓ | ✓ | ✓ | ✓ <sup>[6](#fn6)</sup> |302| [Sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) | ✓ | ✓ | ✓ | ✓ | ✓ <sup>[6](#fn6)</sup> |

303| [Tareas programadas en la nube](https://code.claude.com/docs/es/routines.md) | ✓ | ✓ | ✓ | ✓ |303| [Tareas programadas en la nube](https://code.claude.com/docs/es/routines.md) | ✓ | ✓ | ✓ | ✓ | ✓ |

304| [Remote Control](https://code.claude.com/docs/es/remote-control.md) | ✓ | ✓ | Habilitado por administrador | Habilitado por administrador |304| [Remote Control](https://code.claude.com/docs/es/remote-control.md) | ✓ | ✓ | ✓ | Habilitado por administrador | Habilitado por administrador |

305| [Channels](https://code.claude.com/docs/es/channels.md) | ✓ | ✓ | Habilitado por administrador | Habilitado por administrador |305| [Canales](https://code.claude.com/docs/es/channels.md) | ✓ | ✓ | ✓ | Habilitado por administrador | Habilitado por administrador |

306| [Computer use](https://code.claude.com/docs/es/computer-use.md) | ✓ | ✓ | ✗ | ✗ |306| [Computer use](https://code.claude.com/docs/es/computer-use.md) | ✓ | ✓ | ✓ | ✗ | ✗ |

307| Dispatch ([Desktop](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch)) | ✓ | ✓ | ✗ | ✗ |307| Dispatch ([Desktop](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch)) | ✓ | ✓ | ✓ | ✗ | ✗ |

308| [Code Review](https://code.claude.com/docs/es/code-review.md) | ✗ | ✗ | ✓ | ✓ |308| [Code Review](https://code.claude.com/docs/es/code-review.md) | ✗ | ✗ | ✗ | ✓ | ✓ |

309| [Artifacts](https://code.claude.com/docs/es/artifacts.md) | ✓ | ✓ | ✓ | ✓ |309| [Artefactos](https://code.claude.com/docs/es/artifacts.md) | ✓ | ✓ | ✓ | ✓ | ✓ |

310| [Panel de análisis y métricas de contribución](https://code.claude.com/docs/es/analytics.md) | ✗ | ✗ | ✓ | ✓ |310| [Panel de análisis y métricas de contribución](https://code.claude.com/docs/es/analytics.md) | ✗ | ✗ | ✗ | ✓ | ✓ |

311| [API de análisis empresarial](https://code.claude.com/docs/es/analytics.md#access-data-programmatically) | ✗ | ✗ | ✗ | ✓ |311| [API de análisis empresarial](https://code.claude.com/docs/es/analytics.md#access-data-programmatically) | ✗ | ✗ | ✗ | ✗ | ✓ |

312| [Configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) | ✗ | ✗ | ✓ | ✓ |312| [Configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) | ✗ | ✗ | ✗ | ✓ | ✓ |

313| [SSO](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) | ✗ | ✗ | ✓ | ✓ |313| [SSO](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) | ✗ | ✗ | ✗ | ✓ | ✓ |

314| SCIM | ✗ | ✗ | ✗ | ✓ |314| SCIM | ✗ | ✗ | ✗ | ✗ | ✓ |

315| [API de cumplimiento](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |315| [API de cumplimiento](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✗ | ✓ |

316| [Zero Data Retention](https://code.claude.com/docs/es/zero-data-retention.md) | ✗ | ✗ | ✗ | ✓ <sup>[7](#fn7)</sup> |316| [Zero Data Retention](https://code.claude.com/docs/es/zero-data-retention.md) | ✗ | ✗ | ✗ | ✗ | ✓ <sup>[7](#fn7)</sup> |

317 317 

318<sup>6</sup> En Enterprise, requiere un asiento premium o un asiento de Chat + Claude Code. Consulte [Cloud sessions](https://code.claude.com/docs/es/claude-code-on-the-web.md).\318<sup>6</sup> En Enterprise, requiere un asiento premium o un asiento de Chat + Claude Code. Consulte [Cloud sessions](https://code.claude.com/docs/es/claude-code-on-the-web.md).\

319 319 


321 321 

322Para precios y la comparación completa de planes, consulte [Planes Team](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) y [Planes Enterprise](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).322Para precios y la comparación completa de planes, consulte [Planes Team](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) y [Planes Enterprise](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).

323 323 

324### Plan Ultra

325 

326Ultra es el nuevo nombre del plan Max 20x, y Max es el nuevo nombre de Max 5x. Para comprobar en qué plan estás, revisa tu suscripción en claude.ai.

327 

328En Claude Code, Max y Ultra tienen las mismas características, que se indican en las columnas Max y Ultra de la [tabla de disponibilidad](#availability-by-subscription-plan). Para conocer los límites de uso y los precios, consulta la [página de precios de Claude](https://claude.com/pricing).

329 

324## Disponibilidad de modelos330## Disponibilidad de modelos

325 331 

326Para ver qué modelos de Claude y tamaños de ventana de contexto están disponibles por proveedor y región, consulte [Configuración de modelos](https://code.claude.com/docs/es/model-config.md) y la [descripción general de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Vision, entrada de PDF y pensamiento extendido son capacidades de modelo en lugar de características de Claude Code y funcionan en cada proveedor que ofrece el modelo. [Prompt caching](https://code.claude.com/docs/es/prompt-caching.md) funciona de la misma manera en la mayoría de proveedores; en Amazon Bedrock, el soporte varía según el modelo.332Para ver qué modelos de Claude y tamaños de ventana de contexto están disponibles por proveedor y región, consulte [Configuración de modelos](https://code.claude.com/docs/es/model-config.md) y la [descripción general de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Vision, entrada de PDF y pensamiento extendido son capacidades de modelo en lugar de características de Claude Code y funcionan en cada proveedor que ofrece el modelo. [Prompt caching](https://code.claude.com/docs/es/prompt-caching.md) funciona de la misma manera en la mayoría de proveedores; en Amazon Bedrock, el soporte varía según el modelo.

features-overview.md +193 −193

Details

72 72 

73Algunas características pueden parecer similares. Para un recorrido más profundo sobre cómo elegir entre ellas, consulte [Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents](https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more) en el blog. Aquí se explica cómo distinguirlas.73Algunas características pueden parecer similares. Para un recorrido más profundo sobre cómo elegir entre ellas, consulte [Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents](https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more) en el blog. Aquí se explica cómo distinguirlas.

74 74 

75**Skill vs Subagent**75> [tab] Skill vs Subagent

76 76>

77Las skills y los subagents resuelven problemas diferentes:77> Las skills y los subagents resuelven problemas diferentes:

78 78>

79* **Skills** son contenido reutilizable que puede cargar en cualquier contexto79> * **Skills** son contenido reutilizable que puede cargar en cualquier contexto

80* **Subagents** son trabajadores aislados que se ejecutan separadamente de su conversación principal80> * **Subagents** son trabajadores aislados que se ejecutan separadamente de su conversación principal

81 81>

82| Aspecto | Skill | Subagent |82> | Aspecto | Skill | Subagent |

83| - | - | - |83> | - | - | - |

84| **Qué es** | Instrucciones, conocimiento o flujos de trabajo reutilizables | Trabajador aislado con su propio contexto |84> | **Qué es** | Instrucciones, conocimiento o flujos de trabajo reutilizables | Trabajador aislado con su propio contexto |

85| **Beneficio clave** | Compartir contenido entre contextos | Aislamiento de contexto. El trabajo ocurre por separado, solo devuelve resumen |85> | **Beneficio clave** | Compartir contenido entre contextos | Aislamiento de contexto. El trabajo ocurre por separado, solo devuelve resumen |

86| **Impacto de [ventana de contexto](https://code.claude.com/docs/es/context-window.md)** | Se agrega a su ventana principal | Usa una ventana separada con sus propios tokens de entrada y salida |86> | **Impacto de [ventana de contexto](https://code.claude.com/docs/es/context-window.md)** | Se agrega a su ventana principal | Usa una ventana separada con sus propios tokens de entrada y salida |

87| **Mejor para** | Material de referencia, flujos de trabajo invocables | Tareas que leen muchos archivos, trabajo paralelo, trabajadores especializados |87> | **Mejor para** | Material de referencia, flujos de trabajo invocables | Tareas que leen muchos archivos, trabajo paralelo, trabajadores especializados |

88 88>

89**Las skills pueden ser de referencia o acción.** Las skills de referencia proporcionan conocimiento que Claude usa en toda su sesión (como su guía de estilo de API). Las skills de acción le dicen a Claude que haga algo específico (como `/deploy` que ejecuta su flujo de trabajo de implementación).89> **Las skills pueden ser de referencia o acción.** Las skills de referencia proporcionan conocimiento que Claude usa en toda su sesión (como su guía de estilo de API). Las skills de acción le dicen a Claude que haga algo específico (como `/deploy` que ejecuta su flujo de trabajo de implementación).

90 90>

91**Use un subagent** cuando necesite aislamiento de contexto o cuando su ventana de contexto se esté llenando. El subagent podría leer docenas de archivos o ejecutar búsquedas extensas, pero su conversación principal solo recibe un resumen. Dado que el trabajo del subagent no consume su contexto principal, esto también es útil cuando no necesita que el trabajo intermedio permanezca visible. Los subagents personalizados pueden tener sus propias instrucciones y pueden precargar skills.91> **Use un subagent** cuando necesite aislamiento de contexto o cuando su ventana de contexto se esté llenando. El subagent podría leer docenas de archivos o ejecutar búsquedas extensas, pero su conversación principal solo recibe un resumen. Dado que el trabajo del subagent no consume su contexto principal, esto también es útil cuando no necesita que el trabajo intermedio permanezca visible. Los subagents personalizados pueden tener sus propias instrucciones y pueden precargar skills.

92 92>

93**Pueden combinarse.** Un subagent puede precargar skills específicas (campo `skills:`). Una skill puede ejecutarse en contexto aislado usando `context: fork`. Consulte [Skills](https://code.claude.com/docs/es/skills.md) para obtener detalles.93> **Pueden combinarse.** Un subagent puede precargar skills específicas (campo `skills:`). Una skill puede ejecutarse en contexto aislado usando `context: fork`. Consulte [Skills](https://code.claude.com/docs/es/skills.md) para obtener detalles.

94 

95**CLAUDE.md vs Skill**

96 

97Ambos almacenan instrucciones, pero se cargan de manera diferente y sirven propósitos diferentes.

98 

99| Aspecto | CLAUDE.md | Skill |

100| - | - | - |

101| **Se carga** | Cada sesión, automáticamente | Bajo demanda |

102| **Puede incluir archivos** | Sí, con importaciones `@path` | Sí, con importaciones `@path` |

103| **Puede desencadenar flujos de trabajo** | No | Sí, con `/<name>` |

104| **Mejor para** | Reglas "siempre haz X" | Material de referencia, flujos de trabajo invocables |

105 

106**Póngalo en CLAUDE.md** si Claude siempre debe saberlo: convenciones de codificación, comandos de compilación, estructura del proyecto, reglas "nunca hagas X".

107 

108**Póngalo en una skill** si es material de referencia que Claude necesita a veces (documentos de API, guías de estilo) o un flujo de trabajo que desencadena con `/<name>` (implementar, revisar, lanzar).

109 

110**Regla general:** Mantenga CLAUDE.md bajo 200 líneas. Si está creciendo, mueva contenido de referencia a skills o divida en archivos [`.claude/rules/`](https://code.claude.com/docs/es/memory#organize-rules-with-claude/rules/).

111 

112**CLAUDE.md vs Output style**

113 

114Ambos dan a Claude instrucciones permanentes. CLAUDE.md contiene lo que Claude debe saber, y un output style establece cómo Claude responde.

115 

116| Aspecto | CLAUDE.md | Output style |

117| - | - | - |

118| **Contiene** | Hechos y reglas sobre su proyecto | Un rol, tono y formato de respuesta |

119| **Cambio** | Siempre cargado | Uno activo a la vez; [cambie estilos](https://code.claude.com/docs/es/output-styles.md#change-your-output-style) cuando quiera |

120| **Mejor para** | Comandos de compilación, convenciones, reglas "nunca hagas X" | Respuestas más cortas, explicaciones junto con código, un rol no ingenieril |

121 

122**Póngalo en CLAUDE.md** si es verdad del proyecto sea cual sea el estilo que esté usando: convenciones de codificación, comandos de compilación, estructura del proyecto.

123 

124**Use un output style** si se trata de la respuesta en sí y podría querer desactivarlo nuevamente: longitud, formato, cuánto explica Claude, o un rol diferente como asistente de escritura. Claude Code incluye [estilos integrados](https://code.claude.com/docs/es/output-styles.md#built-in-output-styles), y puede escribir los suyos propios.

125 

126**Se combinan.** CLAUDE.md permanece cargado sea cual sea el estilo que elija. Claude sigue ambos como instrucciones, por lo que nada los impone. Para cualquier cosa que deba suceder cada vez, use un [hook](https://code.claude.com/docs/es/hooks-guide.md).

127 

128**CLAUDE.md vs Rules vs Skills**

129 

130Los tres almacenan instrucciones, pero se cargan de manera diferente:

131 

132| Aspecto | CLAUDE.md | `.claude/rules/` | Skill |

133| - | - | - | - |

134| **Se carga** | Cada sesión | Cada sesión, o cuando se abren archivos coincidentes | Bajo demanda, cuando se invoca o es relevante |

135| **Alcance** | Proyecto completo | Puede estar limitado a rutas de archivo | Específico de tarea |

136| **Mejor para** | Convenciones y comandos de compilación centrales | Directrices específicas del idioma o directorio | Material de referencia, flujos de trabajo repetibles |

137 

138**Use CLAUDE.md** para instrucciones que cada sesión necesita: comandos de compilación, convenciones de prueba, arquitectura del proyecto.

139 

140**Use rules** para mantener CLAUDE.md enfocado. Las rules con [frontmatter `paths`](https://code.claude.com/docs/es/memory#path-specific-rules) solo se cargan cuando Claude trabaja con archivos coincidentes, ahorrando contexto.

141 

142**Use skills** para contenido que Claude solo necesita a veces, como documentación de API o una lista de verificación de implementación que desencadena con `/<name>`.

143 

144**Subagent vs Dynamic workflow**

145 

146Ambos hacen trabajo fuera de su conversación principal. Con subagents, Claude decide turno a turno qué se ejecuta a continuación. En un flujo de trabajo, el script decide:

147 

148* **Subagents** son trabajadores que Claude genera, cada uno devolviendo un resumen a la conversación que lo generó

149* **[Dynamic workflows](https://code.claude.com/docs/es/workflows.md)** son scripts que Claude escribe que ejecutan muchos subagents en segundo plano y devuelven un resultado

150 

151**Usa un subagente** cuando necesites un trabajador rápido y enfocado: investigar una pregunta, verificar una afirmación, revisar un archivo. El subagente hace el trabajo y devuelve un resumen, por lo que tu conversación principal se mantiene limpia. Los subagentes a los que Claude [puso nombre](https://code.claude.com/docs/es/sub-agents.md#subagent-names) al generarlos también pueden [enviarse mensajes entre sí](https://code.claude.com/docs/es/sub-agents.md#what-loads-at-startup).

152 

153**Use un dynamic workflow** cuando un trabajo [crece más allá de un puñado de subagents](https://code.claude.com/docs/es/workflows.md#when-to-use-a-workflow), o cuando desea que los hallazgos se verifiquen cruzadamente antes de verlos, como una auditoría de base de código completa, una migración grande o un plan elaborado desde varios ángulos. Para iniciar uno, [pida un flujo de trabajo en su prompt](https://code.claude.com/docs/es/workflows.md#ask-for-a-workflow-in-your-prompt).

154 

155**Para pasar un hallazgo de una de sus sesiones a otra**, pida a la Claude de la primera sesión que lo envíe. Claude lo entrega con [cross-session messaging](https://code.claude.com/docs/es/cross-session-messaging.md). [Run agents in parallel](https://code.claude.com/docs/es/agents.md) compara las otras formas de ejecutar más de una Claude a la vez, incluyendo sesiones que entrega y verifica más tarde.

156 

157**MCP vs Skill**

158 

159MCP conecta Claude a servicios externos. Las skills extienden lo que Claude sabe, incluyendo cómo usar esos servicios de manera efectiva.

160 

161| Aspecto | MCP | Skill |

162| - | - | - |

163| **Qué es** | Protocolo para conectar a servicios externos | Conocimiento, flujos de trabajo y material de referencia |

164| **Proporciona** | Herramientas y acceso a datos | Conocimiento, flujos de trabajo, material de referencia |

165| **Ejemplos** | Integración de Slack, consultas de base de datos, control de navegador | Lista de verificación de revisión de código, flujo de trabajo de implementación, guía de estilo de API |

166 

167Estos resuelven problemas diferentes y funcionan bien juntos:

168 

169**MCP** le da a Claude herramientas especialmente diseñadas para un sistema externo, con la conexión y autenticación manejadas por el servidor.

170 

171**Skills** le dan a Claude conocimiento sobre cómo usar esas herramientas de manera efectiva, además de flujos de trabajo que puede desencadenar con `/<name>`. Una skill podría incluir el esquema de base de datos de su equipo y patrones de consulta, o un flujo de trabajo `/post-to-slack` con las reglas de formato de mensaje de su equipo.

172 

173**Hook vs Skill**

174 94 

175Claude Code ejecuta un hook en un evento del ciclo de vida; carga una skill en contexto para que Claude la aplique.95> [tab] CLAUDE.md vs Skill

96>

97> Ambos almacenan instrucciones, pero se cargan de manera diferente y sirven propósitos diferentes.

98>

99> | Aspecto | CLAUDE.md | Skill |

100> | - | - | - |

101> | **Se carga** | Cada sesión, automáticamente | Bajo demanda |

102> | **Puede incluir archivos** | Sí, con importaciones `@path` | Sí, con importaciones `@path` |

103> | **Puede desencadenar flujos de trabajo** | No | Sí, con `/<name>` |

104> | **Mejor para** | Reglas "siempre haz X" | Material de referencia, flujos de trabajo invocables |

105>

106> **Póngalo en CLAUDE.md** si Claude siempre debe saberlo: convenciones de codificación, comandos de compilación, estructura del proyecto, reglas "nunca hagas X".

107>

108> **Póngalo en una skill** si es material de referencia que Claude necesita a veces (documentos de API, guías de estilo) o un flujo de trabajo que desencadena con `/<name>` (implementar, revisar, lanzar).

109>

110> **Regla general:** Mantenga CLAUDE.md bajo 200 líneas. Si está creciendo, mueva contenido de referencia a skills o divida en archivos [`.claude/rules/`](https://code.claude.com/docs/es/memory#organize-rules-with-claude/rules/).

176 111 

177| Aspecto | Hook | Skill |112> [tab] CLAUDE.md vs Output style

178| - | - | - |113>

179| **Se ejecuta** | Un comando shell, solicitud HTTP, llamada a herramienta MCP, prompt LLM o subagent | Instrucciones que Claude lee y sigue |114> Ambos dan a Claude instrucciones permanentes. CLAUDE.md contiene lo que Claude debe saber, y un output style establece cómo Claude responde.

180| **Desencadenado por** | [Eventos del ciclo de vida](https://code.claude.com/docs/es/hooks.md#hook-events) como `PostToolUse` o `SessionStart` | Usted escribiendo `/<name>`, o Claude haciendo coincidir la descripción con su tarea |115>

181| **Determinismo** | Se dispara en su evento sin que Claude lo decida | Claude interpreta las instrucciones; el resultado puede variar |116> | Aspecto | CLAUDE.md | Output style |

182| **Costo de contexto** | Cero a menos que el hook devuelva salida | La descripción se carga cada sesión; el contenido completo se carga cuando se usa |117> | - | - | - |

183| **Mejor para** | Linting después de ediciones, bloquear comandos inseguros, logging, notificaciones | Flujos de trabajo que necesitan razonamiento, material de referencia, tareas de varios pasos |118> | **Contiene** | Hechos y reglas sobre su proyecto | Un rol, tono y formato de respuesta |

119> | **Cambio** | Siempre cargado | Uno activo a la vez; [cambie estilos](https://code.claude.com/docs/es/output-styles.md#change-your-output-style) cuando quiera |

120> | **Mejor para** | Comandos de compilación, convenciones, reglas "nunca hagas X" | Respuestas más cortas, explicaciones junto con código, un rol no ingenieril |

121>

122> **Póngalo en CLAUDE.md** si es verdad del proyecto sea cual sea el estilo que esté usando: convenciones de codificación, comandos de compilación, estructura del proyecto.

123>

124> **Use un output style** si se trata de la respuesta en sí y podría querer desactivarlo nuevamente: longitud, formato, cuánto explica Claude, o un rol diferente como asistente de escritura. Claude Code incluye [estilos integrados](https://code.claude.com/docs/es/output-styles.md#built-in-output-styles), y puede escribir los suyos propios.

125>

126> **Se combinan.** CLAUDE.md permanece cargado sea cual sea el estilo que elija. Claude sigue ambos como instrucciones, por lo que nada los impone. Para cualquier cosa que deba suceder cada vez, use un [hook](https://code.claude.com/docs/es/hooks-guide.md).

184 127 

185**Use un hook** cuando la acción debe suceder de la misma manera cada vez y no necesita que Claude piense. Por ejemplo: formatear al guardar, rechazar `rm -rf /`, publicar un mensaje de Slack cuando termina una sesión.128> [tab] CLAUDE.md vs Rules vs Skills

129>

130> Los tres almacenan instrucciones, pero se cargan de manera diferente:

131>

132> | Aspecto | CLAUDE.md | `.claude/rules/` | Skill |

133> | - | - | - | - |

134> | **Se carga** | Cada sesión | Cada sesión, o cuando se abren archivos coincidentes | Bajo demanda, cuando se invoca o es relevante |

135> | **Alcance** | Proyecto completo | Puede estar limitado a rutas de archivo | Específico de tarea |

136> | **Mejor para** | Convenciones y comandos de compilación centrales | Directrices específicas del idioma o directorio | Material de referencia, flujos de trabajo repetibles |

137>

138> **Use CLAUDE.md** para instrucciones que cada sesión necesita: comandos de compilación, convenciones de prueba, arquitectura del proyecto.

139>

140> **Use rules** para mantener CLAUDE.md enfocado. Las rules con [frontmatter `paths`](https://code.claude.com/docs/es/memory#path-specific-rules) solo se cargan cuando Claude trabaja con archivos coincidentes, ahorrando contexto.

141>

142> **Use skills** para contenido que Claude solo necesita a veces, como documentación de API o una lista de verificación de implementación que desencadena con `/<name>`.

186 143 

187**Use una skill** cuando Claude debe decidir cómo aplicar los pasos, o cuando el contenido es conocimiento en lugar de un script. Por ejemplo: una lista de verificación `/release`, su guía de estilo de API, un manual de depuración.144> [tab] Subagent vs Dynamic workflow

145>

146> Ambos hacen trabajo fuera de su conversación principal. Con subagents, Claude decide turno a turno qué se ejecuta a continuación. En un flujo de trabajo, el script decide:

147>

148> * **Subagents** son trabajadores que Claude genera, cada uno devolviendo un resumen a la conversación que lo generó

149> * **[Dynamic workflows](https://code.claude.com/docs/es/workflows.md)** son scripts que Claude escribe que ejecutan muchos subagents en segundo plano y devuelven un resultado

150>

151> **Usa un subagente** cuando necesites un trabajador rápido y enfocado: investigar una pregunta, verificar una afirmación, revisar un archivo. El subagente hace el trabajo y devuelve un resumen, por lo que tu conversación principal se mantiene limpia. Los subagentes a los que Claude [puso nombre](https://code.claude.com/docs/es/sub-agents.md#subagent-names) al generarlos también pueden [enviarse mensajes entre sí](https://code.claude.com/docs/es/sub-agents.md#what-loads-at-startup).

152>

153> **Use un dynamic workflow** cuando un trabajo [crece más allá de un puñado de subagents](https://code.claude.com/docs/es/workflows.md#when-to-use-a-workflow), o cuando desea que los hallazgos se verifiquen cruzadamente antes de verlos, como una auditoría de base de código completa, una migración grande o un plan elaborado desde varios ángulos. Para iniciar uno, [pida un flujo de trabajo en su prompt](https://code.claude.com/docs/es/workflows.md#ask-for-a-workflow-in-your-prompt).

154>

155> **Para pasar un hallazgo de una de sus sesiones a otra**, pida a la Claude de la primera sesión que lo envíe. Claude lo entrega con [cross-session messaging](https://code.claude.com/docs/es/cross-session-messaging.md). [Run agents in parallel](https://code.claude.com/docs/es/agents.md) compara las otras formas de ejecutar más de una Claude a la vez, incluyendo sesiones que entrega y verifica más tarde.

188 156 

189**Ponga guardrails en hooks.** Una instrucción como "nunca edite `.env`" en CLAUDE.md o una skill es una solicitud, no una garantía. Un hook `PreToolUse` que bloquea la edición es cumplimiento. Si una regla debe mantenerse cada vez, hágala un hook en lugar de una instrucción de prompt.157> [tab] MCP vs Skill

158>

159> MCP conecta Claude a servicios externos. Las skills extienden lo que Claude sabe, incluyendo cómo usar esos servicios de manera efectiva.

160>

161> | Aspecto | MCP | Skill |

162> | - | - | - |

163> | **Qué es** | Protocolo para conectar a servicios externos | Conocimiento, flujos de trabajo y material de referencia |

164> | **Proporciona** | Herramientas y acceso a datos | Conocimiento, flujos de trabajo, material de referencia |

165> | **Ejemplos** | Integración de Slack, consultas de base de datos, control de navegador | Lista de verificación de revisión de código, flujo de trabajo de implementación, guía de estilo de API |

166>

167> Estos resuelven problemas diferentes y funcionan bien juntos:

168>

169> **MCP** le da a Claude herramientas especialmente diseñadas para un sistema externo, con la conexión y autenticación manejadas por el servidor.

170>

171> **Skills** le dan a Claude conocimiento sobre cómo usar esas herramientas de manera efectiva, además de flujos de trabajo que puede desencadenar con `/<name>`. Una skill podría incluir el esquema de base de datos de su equipo y patrones de consulta, o un flujo de trabajo `/post-to-slack` con las reglas de formato de mensaje de su equipo.

190 172 

191**La salida del hook aterriza en contexto.** Un hook `PostToolUse` que ejecuta su linter alimenta resultados de vuelta como texto que Claude lee; una skill `/fix-lint` le dice a Claude cómo resolverlos.173> [tab] Hook vs Skill

174>

175> Claude Code ejecuta un hook en un evento del ciclo de vida; carga una skill en contexto para que Claude la aplique.

176>

177> | Aspecto | Hook | Skill |

178> | - | - | - |

179> | **Se ejecuta** | Un comando shell, solicitud HTTP, llamada a herramienta MCP, prompt LLM o subagent | Instrucciones que Claude lee y sigue |

180> | **Desencadenado por** | [Eventos del ciclo de vida](https://code.claude.com/docs/es/hooks.md#hook-events) como `PostToolUse` o `SessionStart` | Usted escribiendo `/<name>`, o Claude haciendo coincidir la descripción con su tarea |

181> | **Determinismo** | Se dispara en su evento sin que Claude lo decida | Claude interpreta las instrucciones; el resultado puede variar |

182> | **Costo de contexto** | Cero a menos que el hook devuelva salida | La descripción se carga cada sesión; el contenido completo se carga cuando se usa |

183> | **Mejor para** | Linting después de ediciones, bloquear comandos inseguros, logging, notificaciones | Flujos de trabajo que necesitan razonamiento, material de referencia, tareas de varios pasos |

184>

185> **Use un hook** cuando la acción debe suceder de la misma manera cada vez y no necesita que Claude piense. Por ejemplo: formatear al guardar, rechazar `rm -rf /`, publicar un mensaje de Slack cuando termina una sesión.

186>

187> **Use una skill** cuando Claude debe decidir cómo aplicar los pasos, o cuando el contenido es conocimiento en lugar de un script. Por ejemplo: una lista de verificación `/release`, su guía de estilo de API, un manual de depuración.

188>

189> **Ponga guardrails en hooks.** Una instrucción como "nunca edite `.env`" en CLAUDE.md o una skill es una solicitud, no una garantía. Un hook `PreToolUse` que bloquea la edición es cumplimiento. Si una regla debe mantenerse cada vez, hágala un hook en lugar de una instrucción de prompt.

190>

191> **La salida del hook aterriza en contexto.** Un hook `PostToolUse` que ejecuta su linter alimenta resultados de vuelta como texto que Claude lee; una skill `/fix-lint` le dice a Claude cómo resolverlos.

192 192 

193### Entender cómo se superponen las características193### Entender cómo se superponen las características

194 194 


238 238 

239![Carga de contexto: CLAUDE.md se carga al inicio de la sesión y permanece en cada solicitud. Los nombres de herramientas MCP se cargan al inicio y los esquemas completos se difieren hasta su uso. Los skills cargan las descripciones al inicio y el contenido completo al invocarse. Los subagentes obtienen un contexto aislado. Los hooks se ejecutan externamente.](https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/context-loading.svg?fit=max\&auto=format\&n=ikqp3_70mqIahteV\&q=85\&s=aab139e750494a237ae2e0c8f9139b0a)239![Carga de contexto: CLAUDE.md se carga al inicio de la sesión y permanece en cada solicitud. Los nombres de herramientas MCP se cargan al inicio y los esquemas completos se difieren hasta su uso. Los skills cargan las descripciones al inicio y el contenido completo al invocarse. Los subagentes obtienen un contexto aislado. Los hooks se ejecutan externamente.](https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/context-loading.svg?fit=max\&auto=format\&n=ikqp3_70mqIahteV\&q=85\&s=aab139e750494a237ae2e0c8f9139b0a)

240 240 

241**CLAUDE.md**241> [tab] CLAUDE.md

242 

243**Cuándo:** Inicio de sesión

244 

245**Qué se carga:** El contenido completo de cada archivo CLAUDE.md que se carga al inicio de la sesión (niveles administrado, de usuario y de proyecto).

246 

247**Herencia:** Claude lee los archivos CLAUDE.md desde tu directorio de trabajo hasta la raíz, y descubre los anidados en subdirectorios a medida que accede a esos archivos. Consulta [Cómo se cargan los archivos CLAUDE.md](https://code.claude.com/docs/es/memory.md#how-claude-md-files-load) para más detalles. Si un CLAUDE.md anidado supera su [límite de tamaño por archivo](https://code.claude.com/docs/es/memory.md#claude-ignores-the-end-of-my-subdirectory-claude-md), Claude recibe solo el inicio del archivo.

248 

249> [!TIP]

250>242>

251> Mantén CLAUDE.md por debajo de 200 líneas. Mueve el material de referencia a skills, que se cargan bajo demanda. Para obtener [propuestas de recorte para un CLAUDE.md incluido en el repositorio](https://code.claude.com/docs/es/memory.md#my-claude-md-is-too-large), ejecuta `/doctor`.243> **Cuándo:** Inicio de sesión

252 

253**Skills**

254 

255Los skills son capacidades adicionales en el kit de herramientas de Claude. Pueden ser material de referencia (como una guía de estilo de API) o flujos de trabajo invocables que activas con `/<name>` (como `/deploy`). Claude Code incluye [skills incluidos](https://code.claude.com/docs/es/commands.md) como `/code-review`, `/batch` y `/debug` que funcionan sin configuración. También puedes crear los tuyos.

256 

257**Cuándo:** Depende de la configuración del skill. De forma predeterminada, las descripciones se cargan al inicio de la sesión y el contenido completo se carga cuando se usa. Para los skills exclusivos del usuario (`disable-model-invocation: true`), no se carga nada hasta que los invocas.

258 

259**Qué se carga:** Para los skills que el modelo puede invocar, Claude ve los nombres y las descripciones en cada solicitud. Cuando invocas un skill con `/<name>` o Claude lo carga automáticamente, el contenido completo se carga en tu conversación.

260 

261**Cómo elige Claude los skills:** Claude compara tu tarea con las descripciones de los skills para decidir cuáles son relevantes. Si las descripciones son vagas o se superponen, Claude puede cargar el skill equivocado u omitir uno que ayudaría. Para indicarle a Claude que use un skill específico, invócalo con `/<name>`.

262 

263**Costo de contexto:** Bajo hasta que se usa. Los skills exclusivos del usuario tienen costo cero hasta que se invocan.

264 

265**En subagentes:** El contenido completo de los skills listados en el campo `skills` de un subagente [se carga en su contexto al iniciarse](https://code.claude.com/docs/es/sub-agents.md#preload-skills-into-subagents), en lugar de cargarse bajo demanda. Los subagentes aún pueden descubrir e invocar skills de proyecto, de usuario y de plugins no listados mediante la herramienta Skill.

266 

267> [!TIP]

268>244>

269> Usa `disable-model-invocation: true` para skills con efectos secundarios. Esto ahorra contexto y garantiza que solo se ejecuten cuando los invocas por su nombre.245> **Qué se carga:** El contenido completo de cada archivo CLAUDE.md que se carga al inicio de la sesión (niveles administrado, de usuario y de proyecto).

270 

271**Servidores MCP**

272 

273**Cuándo:** Inicio de sesión.

274 

275**Qué se carga:** Los nombres de herramientas y las instrucciones de los servidores conectados. Los esquemas JSON completos permanecen diferidos hasta que Claude necesita una herramienta específica.

276 

277**Costo de contexto:** La [búsqueda de herramientas](https://code.claude.com/docs/es/mcp.md#scale-with-mcp-tool-search) está activada de forma predeterminada, por lo que las herramientas MCP inactivas consumen un contexto mínimo.

278 

279> [!TIP]

280>246>

281> Ejecuta `/mcp` para ver el estado de conexión de cada servidor. Ejecuta `/context all` para ver cuántos tokens usa cada herramienta MCP cargada. Claude Code [se reconecta automáticamente a los servidores remotos](https://code.claude.com/docs/es/mcp.md#automatic-reconnection) si se desconectan, y puedes desconectar los servidores que no estés usando activamente.247> **Herencia:** Claude lee los archivos CLAUDE.md desde tu directorio de trabajo hasta la raíz, y descubre los anidados en subdirectorios a medida que accede a esos archivos. Consulta [Cómo se cargan los archivos CLAUDE.md](https://code.claude.com/docs/es/memory.md#how-claude-md-files-load) para más detalles. Si un CLAUDE.md anidado supera su [límite de tamaño por archivo](https://code.claude.com/docs/es/memory.md#claude-ignores-the-end-of-my-subdirectory-claude-md), Claude recibe solo el inicio del archivo.

282 

283**Inteligencia de código**

284 

285**Cuándo:** Después de editar archivos, y bajo demanda cuando Claude navega por el código.

286 

287**Qué se carga:** Errores de tipo y advertencias después de cada edición de archivo. Información de definiciones, referencias y tipos cuando Claude busca un símbolo.

288 

289**Costo de contexto:** Bajo. Las búsquedas de símbolos a menudo reemplazan lecturas amplias de archivos, por lo que el uso neto de contexto puede disminuir.

290 

291> [!TIP]

292>248>

293> La herramienta LSP está inactiva hasta que instalas un [plugin de inteligencia de código](https://code.claude.com/docs/es/plugins/code-intelligence.md) para tu lenguaje.249> > [!TIP]

294 250> >

295**Subagents**251> > Mantén CLAUDE.md por debajo de 200 líneas. Mueve el material de referencia a skills, que se cargan bajo demanda. Para obtener [propuestas de recorte para un CLAUDE.md incluido en el repositorio](https://code.claude.com/docs/es/memory.md#my-claude-md-is-too-large), ejecuta `/doctor`.

296 

297**Cuándo:** Bajo demanda, cuando tú o Claude generan uno para una tarea.

298 

299**Qué se carga:** Un contexto nuevo y aislado que contiene:

300 

301* El propio prompt del sistema del agente, no el prompt del sistema de Claude Code

302* El contenido completo de los skills listados en el campo `skills:` del agente

303* CLAUDE.md y el estado de git. Los agentes integrados Explore y Plan [no comienzan con ninguno de los dos](https://code.claude.com/docs/es/sub-agents.md#what-loads-at-startup), y un agente cuya definición establece [`omitClaudeMd`](https://code.claude.com/docs/es/sub-agents#supported-frontmatter-fields) comienza sin los archivos CLAUDE.md de usuario, de proyecto y locales.

304* Cualquier contexto que el agente principal pase en el prompt

305 

306En el caso de un [fork](https://code.claude.com/docs/es/sub-agents.md#fork-the-current-conversation), Claude Code carga en su lugar la conversación principal hasta ese momento, el prompt del sistema y las herramientas.

307 

308**Costo de contexto:** Aislado de la sesión principal.

309 252 

310> [!TIP]253> [tab] Skills

311>254>

312> Usa subagentes para trabajo que no necesita todo el contexto de tu conversación. Su aislamiento evita que tu sesión principal se sobrecargue.255> Los skills son capacidades adicionales en el kit de herramientas de Claude. Pueden ser material de referencia (como una guía de estilo de API) o flujos de trabajo invocables que activas con `/<name>` (como `/deploy`). Claude Code incluye [skills incluidos](https://code.claude.com/docs/es/commands.md) como `/code-review`, `/batch` y `/debug` que funcionan sin configuración. También puedes crear los tuyos.

313 256>

314**Hooks**257> **Cuándo:** Depende de la configuración del skill. De forma predeterminada, las descripciones se cargan al inicio de la sesión y el contenido completo se carga cuando se usa. Para los skills exclusivos del usuario (`disable-model-invocation: true`), no se carga nada hasta que los invocas.

258>

259> **Qué se carga:** Para los skills que el modelo puede invocar, Claude ve los nombres y las descripciones en cada solicitud. Cuando invocas un skill con `/<name>` o Claude lo carga automáticamente, el contenido completo se carga en tu conversación.

260>

261> **Cómo elige Claude los skills:** Claude compara tu tarea con las descripciones de los skills para decidir cuáles son relevantes. Si las descripciones son vagas o se superponen, Claude puede cargar el skill equivocado u omitir uno que ayudaría. Para indicarle a Claude que use un skill específico, invócalo con `/<name>`.

262>

263> **Costo de contexto:** Bajo hasta que se usa. Los skills exclusivos del usuario tienen costo cero hasta que se invocan.

264>

265> **En subagentes:** El contenido completo de los skills listados en el campo `skills` de un subagente [se carga en su contexto al iniciarse](https://code.claude.com/docs/es/sub-agents.md#preload-skills-into-subagents), en lugar de cargarse bajo demanda. Los subagentes aún pueden descubrir e invocar skills de proyecto, de usuario y de plugins no listados mediante la herramienta Skill.

266>

267> > [!TIP]

268> >

269> > Usa `disable-model-invocation: true` para skills con efectos secundarios. Esto ahorra contexto y garantiza que solo se ejecuten cuando los invocas por su nombre.

315 270 

316**Cuándo:** Al activarse. Claude Code ejecuta hooks en eventos específicos del ciclo de vida, como la ejecución de herramientas, los límites de sesión, el envío de prompts, las solicitudes de permiso y la compactación. Consulta [Hooks](https://code.claude.com/docs/es/hooks.md) para ver la lista completa.271> [tab] Servidores MCP

272>

273> **Cuándo:** Inicio de sesión.

274>

275> **Qué se carga:** Los nombres de herramientas y las instrucciones de los servidores conectados. Los esquemas JSON completos permanecen diferidos hasta que Claude necesita una herramienta específica.

276>

277> **Costo de contexto:** La [búsqueda de herramientas](https://code.claude.com/docs/es/mcp.md#scale-with-mcp-tool-search) está activada de forma predeterminada, por lo que las herramientas MCP inactivas consumen un contexto mínimo.

278>

279> > [!TIP]

280> >

281> > Ejecuta `/mcp` para ver el estado de conexión de cada servidor. Ejecuta `/context all` para ver cuántos tokens usa cada herramienta MCP cargada. Claude Code [se reconecta automáticamente a los servidores remotos](https://code.claude.com/docs/es/mcp.md#automatic-reconnection) si se desconectan, y puedes desconectar los servidores que no estés usando activamente.

317 282 

318**Qué se carga:** Nada de forma predeterminada. Los hooks se ejecutan fuera de la conversación principal.283> [tab] Inteligencia de código

284>

285> **Cuándo:** Después de editar archivos, y bajo demanda cuando Claude navega por el código.

286>

287> **Qué se carga:** Errores de tipo y advertencias después de cada edición de archivo. Información de definiciones, referencias y tipos cuando Claude busca un símbolo.

288>

289> **Costo de contexto:** Bajo. Las búsquedas de símbolos a menudo reemplazan lecturas amplias de archivos, por lo que el uso neto de contexto puede disminuir.

290>

291> > [!TIP]

292> >

293> > La herramienta LSP está inactiva hasta que instalas un [plugin de inteligencia de código](https://code.claude.com/docs/es/plugins/code-intelligence.md) para tu lenguaje.

319 294 

320**Costo de contexto:** Cero, a menos que el hook devuelva una salida que se agregue como mensajes a tu conversación.295> [tab] Subagents

296>

297> **Cuándo:** Bajo demanda, cuando tú o Claude generan uno para una tarea.

298>

299> **Qué se carga:** Un contexto nuevo y aislado que contiene:

300>

301> * El propio prompt del sistema del agente, no el prompt del sistema de Claude Code

302> * El contenido completo de los skills listados en el campo `skills:` del agente

303> * CLAUDE.md y el estado de git. Los agentes integrados Explore y Plan [no comienzan con ninguno de los dos](https://code.claude.com/docs/es/sub-agents.md#what-loads-at-startup), y un agente cuya definición establece [`omitClaudeMd`](https://code.claude.com/docs/es/sub-agents#supported-frontmatter-fields) comienza sin los archivos CLAUDE.md de usuario, de proyecto y locales.

304> * Cualquier contexto que el agente principal pase en el prompt

305>

306> En el caso de un [fork](https://code.claude.com/docs/es/sub-agents.md#fork-the-current-conversation), Claude Code carga en su lugar la conversación principal hasta ese momento, el prompt del sistema y las herramientas.

307>

308> **Costo de contexto:** Aislado de la sesión principal.

309>

310> > [!TIP]

311> >

312> > Usa subagentes para trabajo que no necesita todo el contexto de tu conversación. Su aislamiento evita que tu sesión principal se sobrecargue.

321 313 

322> [!TIP]314> [tab] Hooks

315>

316> **Cuándo:** Al activarse. Claude Code ejecuta hooks en eventos específicos del ciclo de vida, como la ejecución de herramientas, los límites de sesión, el envío de prompts, las solicitudes de permiso y la compactación. Consulta [Hooks](https://code.claude.com/docs/es/hooks.md) para ver la lista completa.

317>

318> **Qué se carga:** Nada de forma predeterminada. Los hooks se ejecutan fuera de la conversación principal.

319>

320> **Costo de contexto:** Cero, a menos que el hook devuelva una salida que se agregue como mensajes a tu conversación.

323>321>

324> Los hooks son ideales para efectos secundarios (linting, registro) que no necesitan afectar el contexto de Claude.322> > [!TIP]

323> >

324> > Los hooks son ideales para efectos secundarios (linting, registro) que no necesitan afectar el contexto de Claude.

325 325 

326## Aprender más326## Aprender más

327 327 

328Cada característica tiene su propia guía con instrucciones de configuración, ejemplos y opciones de configuración.328Cada característica tiene su propia guía con instrucciones de configuración, ejemplos y opciones de configuración.

329 329 

330> **[CLAUDE.md](https://code.claude.com/docs/es/memory.md)**330> [card] [CLAUDE.md](https://code.claude.com/docs/es/memory.md)

331>331>

332> Almacenar contexto de proyecto, convenciones e instrucciones332> Almacenar contexto de proyecto, convenciones e instrucciones

333 333 

334> **[Skills](https://code.claude.com/docs/es/skills.md)**334> [card] [Skills](https://code.claude.com/docs/es/skills.md)

335>335>

336> Dar a Claude experiencia de dominio y flujos de trabajo reutilizables336> Dar a Claude experiencia de dominio y flujos de trabajo reutilizables

337 337 

338> **[Subagents](https://code.claude.com/docs/es/sub-agents.md)**338> [card] [Subagents](https://code.claude.com/docs/es/sub-agents.md)

339>339>

340> Descargar trabajo a contexto aislado340> Descargar trabajo a contexto aislado

341 341 

342> **[Dynamic workflows](https://code.claude.com/docs/es/workflows.md)**342> [card] [Dynamic workflows](https://code.claude.com/docs/es/workflows.md)

343>343>

344> Ejecutar muchos subagentes desde un script344> Ejecutar muchos subagentes desde un script

345 345 

346> **[Cross-session messaging](https://code.claude.com/docs/es/cross-session-messaging.md)**346> [card] [Cross-session messaging](https://code.claude.com/docs/es/cross-session-messaging.md)

347>347>

348> Permitir que Claude envíe mensajes a sus otras sesiones348> Permitir que Claude envíe mensajes a sus otras sesiones

349 349 

350> **[MCP](https://code.claude.com/docs/es/mcp.md)**350> [card] [MCP](https://code.claude.com/docs/es/mcp.md)

351>351>

352> Conectar Claude a servicios externos352> Conectar Claude a servicios externos

353 353 

354> **[Hooks](https://code.claude.com/docs/es/hooks-guide.md)**354> [card] [Hooks](https://code.claude.com/docs/es/hooks-guide.md)

355>355>

356> Automatizar acciones con hooks356> Automatizar acciones con hooks

357 357 

358> **[Plugins](https://code.claude.com/docs/es/plugins/overview.md)**358> [card] [Plugins](https://code.claude.com/docs/es/plugins/overview.md)

359>359>

360> Empaquetar y compartir conjuntos de características360> Empaquetar y compartir conjuntos de características

361 361 

362> **[Marketplaces](https://code.claude.com/docs/es/plugins/create-marketplace.md)**362> [card] [Marketplaces](https://code.claude.com/docs/es/plugins/create-marketplace.md)

363>363>

364> Alojar y distribuir colecciones de plugins364> Alojar y distribuir colecciones de plugins

Details

74Agrega uno de los siguientes secretos a tu repositorio, según cómo te autentiques. Consulta la guía de GitHub sobre [cómo usar secretos en GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).74Agrega uno de los siguientes secretos a tu repositorio, según cómo te autentiques. Consulta la guía de GitHub sobre [cómo usar secretos en GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).

75 75 

76* `ANTHROPIC_API_KEY`: una clave de la Claude API de la [Claude Console](https://platform.claude.com)76* `ANTHROPIC_API_KEY`: una clave de la Claude API de la [Claude Console](https://platform.claude.com)

77* `CLAUDE_CODE_OAUTH_TOKEN`: un token de OAuth que se autentica con tu suscripción de Claude, disponible en los planes Pro, Max, Team y Enterprise. Genera uno ejecutando `claude setup-token` localmente. Consulta [Generar un token de larga duración](https://code.claude.com/docs/es/authentication.md#generate-a-long-lived-token)77* `CLAUDE_CODE_OAUTH_TOKEN`: un token de OAuth que se autentica con tu suscripción de Claude, disponible en los planes Pro, Max, Ultra, Team y Enterprise. Genera uno ejecutando `claude setup-token` localmente. Consulta [Generar un token de larga duración](https://code.claude.com/docs/es/authentication.md#generate-a-long-lived-token)

78 78 

79En los archivos de workflow, pasa el secreto a la entrada correspondiente: `anthropic_api_key` para una clave de API, o `claude_code_oauth_token` para un token de OAuth.79En los archivos de workflow, pasa el secreto a la entrada correspondiente: `anthropic_api_key` para una clave de API, o `claude_code_oauth_token` para un token de OAuth.

80 80 

Details

59 59 

60Configure su nube para confiar en el token OIDC que GitHub emite al flujo de trabajo, de modo que cada ejecución del flujo de trabajo obtenga credenciales en la nube de corta duración. Los puntos en cada pestaña resumen lo que debe crear, y cada pestaña vincula la guía del proveedor de nube para los pasos a nivel de consola.60Configure su nube para confiar en el token OIDC que GitHub emite al flujo de trabajo, de modo que cada ejecución del flujo de trabajo obtenga credenciales en la nube de corta duración. Los puntos en cada pestaña resumen lo que debe crear, y cada pestaña vincula la guía del proveedor de nube para los pasos a nivel de consola.

61 61 

62**Amazon Bedrock**62> [tab] Amazon Bedrock

63 63>

64Cree la configuración de confianza en su cuenta de AWS, siguiendo la [guía de AWS para crear proveedores de identidad OIDC](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html):64> Cree la configuración de confianza en su cuenta de AWS, siguiendo la [guía de AWS para crear proveedores de identidad OIDC](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html):

65 65>

66* Agregue un proveedor de identidad OIDC de GitHub con URL de proveedor `https://token.actions.githubusercontent.com` y audiencia `sts.amazonaws.com`66> * Agregue un proveedor de identidad OIDC de GitHub con URL de proveedor `https://token.actions.githubusercontent.com` y audiencia `sts.amazonaws.com`

67* Cree un rol de IAM confiado por ese proveedor como una identidad web, y adjunte la política de invocación con alcance de [Configuración de IAM](https://code.claude.com/docs/es/amazon-bedrock.md#iam-configuration), que otorga `bedrock:InvokeModel`, `bedrock:InvokeModelWithResponseStream`, `bedrock:ListInferenceProfiles` y `bedrock:GetInferenceProfile`, junto con dos acciones de suscripción `aws-marketplace`67> * Cree un rol de IAM confiado por ese proveedor como una identidad web, y adjunte la política de invocación con alcance de [Configuración de IAM](https://code.claude.com/docs/es/amazon-bedrock.md#iam-configuration), que otorga `bedrock:InvokeModel`, `bedrock:InvokeModelWithResponseStream`, `bedrock:ListInferenceProfiles` y `bedrock:GetInferenceProfile`, junto con dos acciones de suscripción `aws-marketplace`

68* Limite la política de confianza del rol a su repositorio con una condición de asunto como `repo:your-org/your-repo:*`. Consulte la [guía de endurecimiento de OIDC de GitHub](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect) para el formato de reclamación68> * Limite la política de confianza del rol a su repositorio con una condición de asunto como `repo:your-org/your-repo:*`. Consulte la [guía de endurecimiento de OIDC de GitHub](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect) para el formato de reclamación

69 69>

70Anote el ARN del rol. Lo agregará como secreto en el siguiente paso.70> Anote el ARN del rol. Lo agregará como secreto en el siguiente paso.

71 

72**Google Cloud's Agent Platform**

73 

74Cree los recursos de federación en su proyecto de Google Cloud, siguiendo la [documentación de Workload Identity Federation](https://cloud.google.com/iam/docs/workload-identity-federation):

75 

76* Habilite tres API: IAM Credentials, Security Token Service (STS) y la API de Agent Platform, cuyo nombre de servicio es `aiplatform.googleapis.com`

77* Cree un Workload Identity Pool con un proveedor OIDC de GitHub cuyo emisor sea `https://token.actions.githubusercontent.com`, y agregue una condición de atributo que limite el grupo a su repositorio

78* Cree una cuenta de servicio dedicada con solo el rol `Vertex AI User`, que es `roles/aiplatform.user`, y permita que el grupo la suplante

79 

80Anote el nombre de recurso completo del proveedor y la dirección de correo electrónico de la cuenta de servicio. Los agregará como secretos en el siguiente paso.

81 

82**Microsoft Foundry**

83 

84Cree una aplicación de Microsoft Entra con una credencial federada para su repositorio, siguiendo la [guía de Microsoft para autenticarse desde GitHub Actions](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect):

85 71 

86* Registre una aplicación de Microsoft Entra y agregue una credencial de identidad federada que confíe en los tokens que GitHub emite a su repositorio. Una identidad administrada asignada por el usuario funciona en lugar de una aplicación. Ambas tienen el ID de cliente que anota a continuación72> [tab] Google Cloud's Agent Platform

87* Asigne a la aplicación el rol `Azure AI User` en su recurso de Foundry. Consulte [Configuración de RBAC de Azure](https://code.claude.com/docs/es/microsoft-foundry.md#azure-rbac-configuration) para un rol personalizado más estrecho73>

74> Cree los recursos de federación en su proyecto de Google Cloud, siguiendo la [documentación de Workload Identity Federation](https://cloud.google.com/iam/docs/workload-identity-federation):

75>

76> * Habilite tres API: IAM Credentials, Security Token Service (STS) y la API de Agent Platform, cuyo nombre de servicio es `aiplatform.googleapis.com`

77> * Cree un Workload Identity Pool con un proveedor OIDC de GitHub cuyo emisor sea `https://token.actions.githubusercontent.com`, y agregue una condición de atributo que limite el grupo a su repositorio

78> * Cree una cuenta de servicio dedicada con solo el rol `Vertex AI User`, que es `roles/aiplatform.user`, y permita que el grupo la suplante

79>

80> Anote el nombre de recurso completo del proveedor y la dirección de correo electrónico de la cuenta de servicio. Los agregará como secretos en el siguiente paso.

88 81 

89Anote el ID de cliente de la aplicación, su ID de inquilino y su ID de suscripción. Los agregará como secretos en el siguiente paso.82> [tab] Microsoft Foundry

83>

84> Cree una aplicación de Microsoft Entra con una credencial federada para su repositorio, siguiendo la [guía de Microsoft para autenticarse desde GitHub Actions](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect):

85>

86> * Registre una aplicación de Microsoft Entra y agregue una credencial de identidad federada que confíe en los tokens que GitHub emite a su repositorio. Una identidad administrada asignada por el usuario funciona en lugar de una aplicación. Ambas tienen el ID de cliente que anota a continuación

87> * Asigne a la aplicación el rol `Azure AI User` en su recurso de Foundry. Consulte [Configuración de RBAC de Azure](https://code.claude.com/docs/es/microsoft-foundry.md#azure-rbac-configuration) para un rol personalizado más estrecho

88>

89> Anote el ID de cliente de la aplicación, su ID de inquilino y su ID de suscripción. Los agregará como secretos en el siguiente paso.

90 90 

91**3. Agregar secretos del repositorio**91**3. Agregar secretos del repositorio**

92 92 


116>116>

117> En repositorios públicos, un comentario que contenga la frase de activación de cualquier usuario inicia este flujo de trabajo. Los pasos de credenciales se ejecutan antes de que Claude Code GitHub Action verifique el acceso de escritura del comentarista, por lo que la acción rechaza a los usuarios no autorizados solo después de que el flujo de trabajo ha generado un token de aplicación e iniciado sesión en su proveedor en la nube, lo que deja entradas en el registro de auditoría y consume minutos de Actions. Para evitar esas ejecuciones, agregue un paso que verifique el acceso de escritura del comentarista antes de los pasos de credenciales.117> En repositorios públicos, un comentario que contenga la frase de activación de cualquier usuario inicia este flujo de trabajo. Los pasos de credenciales se ejecutan antes de que Claude Code GitHub Action verifique el acceso de escritura del comentarista, por lo que la acción rechaza a los usuarios no autorizados solo después de que el flujo de trabajo ha generado un token de aplicación e iniciado sesión en su proveedor en la nube, lo que deja entradas en el registro de auditoría y consume minutos de Actions. Para evitar esas ejecuciones, agregue un paso que verifique el acceso de escritura del comentarista antes de los pasos de credenciales.

118 118 

119**Amazon Bedrock**119> [tab] Amazon Bedrock

120 120>

121Reemplace el valor `aws-region` con el suyo. El paso de credenciales lo exporta como `AWS_REGION` para el resto del trabajo.121> Reemplace el valor `aws-region` con el suyo. El paso de credenciales lo exporta como `AWS_REGION` para el resto del trabajo.

122 122>

123```yaml theme={null}123> ```yaml theme={null}

124name: Claude PR Action124> name: Claude PR Action

125 125>

126permissions:126> permissions:

127 contents: write127> contents: write

128 pull-requests: write128> pull-requests: write

129 issues: write129> issues: write

130 id-token: write130> id-token: write

131 131>

132on:132> on:

133 issue_comment:133> issue_comment:

134 types: [created]134> types: [created]

135 pull_request_review_comment:135> pull_request_review_comment:

136 types: [created]136> types: [created]

137 issues:137> issues:

138 types: [opened]138> types: [opened]

139 139>

140jobs:140> jobs:

141 claude-pr:141> claude-pr:

142 if: |142> if: |

143 (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||143> (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||

144 (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||144> (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||

145 (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))145> (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))

146 runs-on: ubuntu-latest146> runs-on: ubuntu-latest

147 steps:147> steps:

148 - name: Checkout repository148> - name: Checkout repository

149 uses: actions/checkout@v6149> uses: actions/checkout@v6

150 150>

151 - name: Generate GitHub App token151> - name: Generate GitHub App token

152 id: app-token152> id: app-token

153 uses: actions/create-github-app-token@v2153> uses: actions/create-github-app-token@v2

154 with:154> with:

155 app-id: ${{ secrets.APP_ID }}155> app-id: ${{ secrets.APP_ID }}

156 private-key: ${{ secrets.APP_PRIVATE_KEY }}156> private-key: ${{ secrets.APP_PRIVATE_KEY }}

157 157>

158 - name: Configure AWS Credentials (OIDC)158> - name: Configure AWS Credentials (OIDC)

159 uses: aws-actions/configure-aws-credentials@v4159> uses: aws-actions/configure-aws-credentials@v4

160 with:160> with:

161 role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}161> role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}

162 aws-region: us-west-2162> aws-region: us-west-2

163 163>

164 - uses: anthropics/claude-code-action@v1164> - uses: anthropics/claude-code-action@v1

165 with:165> with:

166 github_token: ${{ steps.app-token.outputs.token }}166> github_token: ${{ steps.app-token.outputs.token }}

167 use_bedrock: "true"167> use_bedrock: "true"

168 claude_args: '--model us.anthropic.claude-sonnet-4-6'168> claude_args: '--model us.anthropic.claude-sonnet-4-6'

169```169> ```

170 170>

171> [!TIP]171> > [!TIP]

172>172> >

173> Los ID de modelo de Bedrock incluyen un prefijo de perfil de inferencia entre regiones como `us.`. Use el prefijo para el grupo de regiones donde otorgó acceso al modelo.173> > Los ID de modelo de Bedrock incluyen un prefijo de perfil de inferencia entre regiones como `us.`. Use el prefijo para el grupo de regiones donde otorgó acceso al modelo.

174 174 

175**Google Cloud's Agent Platform**175> [tab] Google Cloud's Agent Platform

176 176>

177Reemplace el valor `CLOUD_ML_REGION` con el suyo. No necesita codificar el ID del proyecto, porque el flujo de trabajo lo lee de la salida del paso `auth`.177> Reemplace el valor `CLOUD_ML_REGION` con el suyo. No necesita codificar el ID del proyecto, porque el flujo de trabajo lo lee de la salida del paso `auth`.

178 178>

179```yaml theme={null}179> ```yaml theme={null}

180name: Claude PR Action180> name: Claude PR Action

181 181>

182permissions:182> permissions:

183 contents: write183> contents: write

184 pull-requests: write184> pull-requests: write

185 issues: write185> issues: write

186 id-token: write186> id-token: write

187 187>

188on:188> on:

189 issue_comment:189> issue_comment:

190 types: [created]190> types: [created]

191 pull_request_review_comment:191> pull_request_review_comment:

192 types: [created]192> types: [created]

193 issues:193> issues:

194 types: [opened]194> types: [opened]

195 195>

196jobs:196> jobs:

197 claude-pr:197> claude-pr:

198 if: |198> if: |

199 (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||199> (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||

200 (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||200> (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||

201 (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))201> (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))

202 runs-on: ubuntu-latest202> runs-on: ubuntu-latest

203 steps:203> steps:

204 - name: Checkout repository204> - name: Checkout repository

205 uses: actions/checkout@v6205> uses: actions/checkout@v6

206 206>

207 - name: Generate GitHub App token207> - name: Generate GitHub App token

208 id: app-token208> id: app-token

209 uses: actions/create-github-app-token@v2209> uses: actions/create-github-app-token@v2

210 with:210> with:

211 app-id: ${{ secrets.APP_ID }}211> app-id: ${{ secrets.APP_ID }}

212 private-key: ${{ secrets.APP_PRIVATE_KEY }}212> private-key: ${{ secrets.APP_PRIVATE_KEY }}

213 213>

214 - name: Authenticate to Google Cloud214> - name: Authenticate to Google Cloud

215 id: auth215> id: auth

216 uses: google-github-actions/auth@v2216> uses: google-github-actions/auth@v2

217 with:217> with:

218 workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}218> workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}

219 service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}219> service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}

220 220>

221 - uses: anthropics/claude-code-action@v1221> - uses: anthropics/claude-code-action@v1

222 with:222> with:

223 github_token: ${{ steps.app-token.outputs.token }}223> github_token: ${{ steps.app-token.outputs.token }}

224 use_vertex: "true"224> use_vertex: "true"

225 claude_args: '--model claude-sonnet-5'225> claude_args: '--model claude-sonnet-5'

226 env:226> env:

227 ANTHROPIC_VERTEX_PROJECT_ID: ${{ steps.auth.outputs.project_id }}227> ANTHROPIC_VERTEX_PROJECT_ID: ${{ steps.auth.outputs.project_id }}

228 CLOUD_ML_REGION: us-east5228> CLOUD_ML_REGION: us-east5

229```229> ```

230 230 

231**Microsoft Foundry**231> [tab] Microsoft Foundry

232 232>

233Reemplace `your-resource-name` con el nombre de su recurso de Foundry. Claude Code construye la URL del punto de conexión a partir de él. El paso `azure/login` inicia sesión con el token OIDC del flujo de trabajo, y Claude Code recoge las credenciales a través de la [cadena de credenciales predeterminada](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview) de Azure.233> Reemplace `your-resource-name` con el nombre de su recurso de Foundry. Claude Code construye la URL del punto de conexión a partir de él. El paso `azure/login` inicia sesión con el token OIDC del flujo de trabajo, y Claude Code recoge las credenciales a través de la [cadena de credenciales predeterminada](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview) de Azure.

234 234>

235```yaml theme={null}235> ```yaml theme={null}

236name: Claude PR Action236> name: Claude PR Action

237 237>

238permissions:238> permissions:

239 contents: write239> contents: write

240 pull-requests: write240> pull-requests: write

241 issues: write241> issues: write

242 id-token: write242> id-token: write

243 243>

244on:244> on:

245 issue_comment:245> issue_comment:

246 types: [created]246> types: [created]

247 pull_request_review_comment:247> pull_request_review_comment:

248 types: [created]248> types: [created]

249 issues:249> issues:

250 types: [opened]250> types: [opened]

251 251>

252jobs:252> jobs:

253 claude-pr:253> claude-pr:

254 if: |254> if: |

255 (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||255> (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||

256 (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||256> (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||

257 (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))257> (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))

258 runs-on: ubuntu-latest258> runs-on: ubuntu-latest

259 steps:259> steps:

260 - name: Checkout repository260> - name: Checkout repository

261 uses: actions/checkout@v6261> uses: actions/checkout@v6

262 262>

263 - name: Generate GitHub App token263> - name: Generate GitHub App token

264 id: app-token264> id: app-token

265 uses: actions/create-github-app-token@v2265> uses: actions/create-github-app-token@v2

266 with:266> with:

267 app-id: ${{ secrets.APP_ID }}267> app-id: ${{ secrets.APP_ID }}

268 private-key: ${{ secrets.APP_PRIVATE_KEY }}268> private-key: ${{ secrets.APP_PRIVATE_KEY }}

269 269>

270 - name: Authenticate to Azure270> - name: Authenticate to Azure

271 uses: azure/login@v2271> uses: azure/login@v2

272 with:272> with:

273 client-id: ${{ secrets.AZURE_CLIENT_ID }}273> client-id: ${{ secrets.AZURE_CLIENT_ID }}

274 tenant-id: ${{ secrets.AZURE_TENANT_ID }}274> tenant-id: ${{ secrets.AZURE_TENANT_ID }}

275 subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}275> subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

276 276>

277 - uses: anthropics/claude-code-action@v1277> - uses: anthropics/claude-code-action@v1

278 with:278> with:

279 github_token: ${{ steps.app-token.outputs.token }}279> github_token: ${{ steps.app-token.outputs.token }}

280 use_foundry: "true"280> use_foundry: "true"

281 claude_args: '--model claude-sonnet-5'281> claude_args: '--model claude-sonnet-5'

282 env:282> env:

283 ANTHROPIC_FOUNDRY_RESOURCE: your-resource-name283> ANTHROPIC_FOUNDRY_RESOURCE: your-resource-name

284```284> ```

285 285>

286> [!TIP]286> > [!TIP]

287>287> >

288> Use un ID de modelo que coincida con una implementación de Claude en su recurso de Foundry. Consulte [Claude Code en Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md) para la configuración del modelo y el anclaje de versiones.288> > Use un ID de modelo que coincida con una implementación de Claude en su recurso de Foundry. Consulte [Claude Code en Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md) para la configuración del modelo y el anclaje de versiones.

289 289 

290Con cualquier proveedor, puede limitar la duración de la ejecución y el costo agregando `--max-turns` a `claude_args`. Consulte [Administrar costos](https://code.claude.com/docs/es/github-actions.md#manage-costs).290Con cualquier proveedor, puede limitar la duración de la ejecución y el costo agregando `--max-turns` a `claude_args`. Consulte [Administrar costos](https://code.claude.com/docs/es/github-actions.md#manage-costs).

291 291 

gitlab-ci-cd.md +52 −52

Details

158 158 

159Para entornos empresariales, puede ejecutar Claude Code completamente en su infraestructura en la nube con la misma experiencia de desarrollador.159Para entornos empresariales, puede ejecutar Claude Code completamente en su infraestructura en la nube con la misma experiencia de desarrollador.

160 160 

161**Amazon Bedrock**161> [tab] Amazon Bedrock

162 162>

163### Requisitos previos163> ### Requisitos previos

164 164>

165Antes de configurar Claude Code con Amazon Bedrock, necesita:165> Antes de configurar Claude Code con Amazon Bedrock, necesita:

166 166>

1671. Una cuenta de AWS con acceso a Amazon Bedrock para los modelos Claude deseados167> 1. Una cuenta de AWS con acceso a Amazon Bedrock para los modelos Claude deseados

1682. GitLab configurado como proveedor de identidad OIDC en AWS IAM168> 2. GitLab configurado como proveedor de identidad OIDC en AWS IAM

1693. Un rol de IAM con permisos de Amazon Bedrock y una política de confianza restringida a su proyecto/referencias de GitLab169> 3. Un rol de IAM con permisos de Amazon Bedrock y una política de confianza restringida a su proyecto/referencias de GitLab

1704. Variables de CI/CD de GitLab para la asunción de roles:170> 4. Variables de CI/CD de GitLab para la asunción de roles:

171 * `AWS_ROLE_TO_ASSUME` (ARN del rol)171> * `AWS_ROLE_TO_ASSUME` (ARN del rol)

172 * `AWS_REGION` (región de Amazon Bedrock)172> * `AWS_REGION` (región de Amazon Bedrock)

173 173>

174### Instrucciones de configuración174> ### Instrucciones de configuración

175 175>

176Configure AWS para permitir que los trabajos de CI de GitLab asuman un rol de IAM a través de OIDC (sin claves estáticas).176> Configure AWS para permitir que los trabajos de CI de GitLab asuman un rol de IAM a través de OIDC (sin claves estáticas).

177 177>

178**Configuración requerida:**178> **Configuración requerida:**

179 179>

1801. Habilite Amazon Bedrock y solicite acceso a sus modelos Claude objetivo180> 1. Habilite Amazon Bedrock y solicite acceso a sus modelos Claude objetivo

1812. Cree un proveedor OIDC de IAM para GitLab si aún no existe181> 2. Cree un proveedor OIDC de IAM para GitLab si aún no existe

1823. Cree un rol de IAM de confianza del proveedor OIDC de GitLab, restringido a su proyecto y referencias protegidas182> 3. Cree un rol de IAM de confianza del proveedor OIDC de GitLab, restringido a su proyecto y referencias protegidas

1834. Adjunte permisos de menor privilegio para las API de invocación de Amazon Bedrock183> 4. Adjunte permisos de menor privilegio para las API de invocación de Amazon Bedrock

184 184>

185Utilice el [ejemplo de trabajo de Amazon Bedrock](#configuration-examples) para intercambiar el token OIDC del trabajo por credenciales temporales de AWS en tiempo de ejecución.185> Utilice el [ejemplo de trabajo de Amazon Bedrock](#configuration-examples) para intercambiar el token OIDC del trabajo por credenciales temporales de AWS en tiempo de ejecución.

186 

187**Google Cloud's Agent Platform**

188 

189### Requisitos previos

190 

191Antes de configurar Claude Code con Google Cloud's Agent Platform, necesita:

192 

1931. Un proyecto de Google Cloud con:

194 * API de Google Cloud's Agent Platform habilitada

195 * Workload Identity Federation configurada para confiar en OIDC de GitLab

1962. Una cuenta de servicio dedicada solo con los roles requeridos de Google Cloud's Agent Platform

1973. Variables de CI/CD de GitLab:

198 * `GCP_WORKLOAD_IDENTITY_PROVIDER` (nombre del recurso del proveedor sin el prefijo `//iam.googleapis.com/`, como `projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider`)

199 * `GCP_SERVICE_ACCOUNT` (correo electrónico de la cuenta de servicio)

200 * `GCP_PROJECT_ID` (ID del proyecto de Google Cloud)

201 

202### Instrucciones de configuración

203 

204Configure Google Cloud para permitir que los trabajos de CI de GitLab suplanten una cuenta de servicio a través de Workload Identity Federation.

205 

206**Configuración requerida:**

207 

2081. Habilite la API de Credenciales de IAM, la API de STS y la API de Google Cloud's Agent Platform

2092. Cree un Workload Identity Pool y un proveedor para OIDC de GitLab

2103. Cree una cuenta de servicio dedicada con roles de Google Cloud's Agent Platform

2114. Otorgue al principal de WIF permiso para suplantar la cuenta de servicio

212 186 

213Utilice el [ejemplo de trabajo de Agent Platform](#configuration-examples) para autenticarse sin almacenar claves.187> [tab] Google Cloud's Agent Platform

188>

189> ### Requisitos previos

190>

191> Antes de configurar Claude Code con Google Cloud's Agent Platform, necesita:

192>

193> 1. Un proyecto de Google Cloud con:

194> * API de Google Cloud's Agent Platform habilitada

195> * Workload Identity Federation configurada para confiar en OIDC de GitLab

196> 2. Una cuenta de servicio dedicada solo con los roles requeridos de Google Cloud's Agent Platform

197> 3. Variables de CI/CD de GitLab:

198> * `GCP_WORKLOAD_IDENTITY_PROVIDER` (nombre del recurso del proveedor sin el prefijo `//iam.googleapis.com/`, como `projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider`)

199> * `GCP_SERVICE_ACCOUNT` (correo electrónico de la cuenta de servicio)

200> * `GCP_PROJECT_ID` (ID del proyecto de Google Cloud)

201>

202> ### Instrucciones de configuración

203>

204> Configure Google Cloud para permitir que los trabajos de CI de GitLab suplanten una cuenta de servicio a través de Workload Identity Federation.

205>

206> **Configuración requerida:**

207>

208> 1. Habilite la API de Credenciales de IAM, la API de STS y la API de Google Cloud's Agent Platform

209> 2. Cree un Workload Identity Pool y un proveedor para OIDC de GitLab

210> 3. Cree una cuenta de servicio dedicada con roles de Google Cloud's Agent Platform

211> 4. Otorgue al principal de WIF permiso para suplantar la cuenta de servicio

212>

213> Utilice el [ejemplo de trabajo de Agent Platform](#configuration-examples) para autenticarse sin almacenar claves.

214 214 

215## Ejemplos de configuración215## Ejemplos de configuración

216 216 

glossary.md +5 −2

Details

54 54 

55### Auto mode55### Auto mode

56 56 

57Un [permission mode](#permission-mode) donde un modelo clasificador separado revisa acciones en lugar de usted, por lo que Claude Code ejecuta la mayoría de ellas sin solicitarle. Claude Code aún le solicita antes de acciones que coincidan con sus reglas de solicitud explícita. Con Claude Code v2.1.283 o posterior, auto mode es el [permission mode de inicio integrado](https://code.claude.com/docs/es/permission-modes.md#which-mode-a-session-starts-in) para sesiones interactivas de terminal y VS Code, y en versiones anteriores solo en planes Pro, Max y Team. El clasificador bloquea la escalada de alcance, la infraestructura no confiable y la [prompt injection](#prompt-injection). Los resultados de herramientas se eliminan de lo que ve, por lo que el contenido hostil en un archivo o página web no puede manipularlo directamente.57Un [modo de permisos](#permission-mode) en el que un modelo clasificador independiente revisa las acciones en lugar de ti, de modo que Claude Code ejecuta la mayoría de ellas sin preguntarte. Claude Code sigue preguntándote antes de las acciones que coinciden con tus reglas explícitas de ask. El clasificador bloquea la escalada de alcance, la infraestructura no confiable y la [inyección de prompts](#prompt-injection). Los resultados de las herramientas se eliminan de lo que ve, por lo que el contenido hostil en un archivo o página web no puede manipularlo directamente.

58 

59* **Claude Code v2.1.283 o posterior**: el modo automático es el [modo de permisos de inicio integrado](https://code.claude.com/docs/es/permission-modes.md#which-mode-a-session-starts-in) para las sesiones interactivas de terminal y VS Code

60* **Versiones anteriores**: el modo automático es el modo de permisos de inicio integrado solo en los planes Pro, Max, Ultra y Team

58 61 

59Más información: [Eliminate prompts with auto mode](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode)62Más información: [Eliminate prompts with auto mode](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode)

60 63 


140 143 

141### Dispatch144### Dispatch

142 145 

143Un enrutador de tareas iniciado por teléfono que genera una sesión de Claude Code en la aplicación Desktop cuando envía una tarea de codificación desde la aplicación móvil de Claude. Su prompt se enruta a la herramienta correcta automáticamente. Disponible en planes Pro y Max.146Un enrutador de tareas iniciado por teléfono que genera una sesión de Claude Code en la aplicación Desktop cuando envías una tarea de codificación desde la aplicación móvil de Claude. Tu prompt se enruta a la herramienta correcta automáticamente. Disponible en los planes Pro, Max y Ultra.

144 147 

145Más información: [Sessions from Dispatch](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch)148Más información: [Sessions from Dispatch](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch)

146 149 

hooks.md +411 −411

Details

68 68 

69Para ver cómo encajan el evento, el matcher y el controlador, considere este hook `PreToolUse` que bloquea comandos de shell destructivos.69Para ver cómo encajan el evento, el matcher y el controlador, considere este hook `PreToolUse` que bloquea comandos de shell destructivos.

70 70 

71**macOS/Linux**71> [tab] macOS/Linux

72 72>

73El `matcher` se reduce a llamadas a herramientas Bash y la condición `if` se reduce aún más a subcomandos Bash que coinciden con `rm *`, por lo que `block-rm.sh` solo se genera cuando ambos filtros coinciden:73> El `matcher` se reduce a llamadas a herramientas Bash y la condición `if` se reduce aún más a subcomandos Bash que coinciden con `rm *`, por lo que `block-rm.sh` solo se genera cuando ambos filtros coinciden:

74 74>

75```json theme={null}75> ```json theme={null}

76{76> {

77 "hooks": {77> "hooks": {

78 "PreToolUse": [78> "PreToolUse": [

79 {79> {

80 "matcher": "Bash",80> "matcher": "Bash",

81 "hooks": [81> "hooks": [

82 {82> {

83 "type": "command",83> "type": "command",

84 "if": "Bash(rm *)",84> "if": "Bash(rm *)",

85 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh",85> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh",

86 "args": []86> "args": []

87 }87> }

88 ]88> ]

89 }89> }

90 ]90> ]

91 }91> }

92}92> }

93```93> ```

94 94>

95El script lee la entrada JSON desde stdin, extrae el comando y devuelve una `permissionDecision` de `"deny"` si contiene `rm -rf`. Guárdelo en `.claude/hooks/block-rm.sh` en su proyecto y hágalo ejecutable con `chmod +x .claude/hooks/block-rm.sh` para que Claude Code pueda ejecutarlo:95> El script lee la entrada JSON desde stdin, extrae el comando y devuelve una `permissionDecision` de `"deny"` si contiene `rm -rf`. Guárdelo en `.claude/hooks/block-rm.sh` en su proyecto y hágalo ejecutable con `chmod +x .claude/hooks/block-rm.sh` para que Claude Code pueda ejecutarlo:

96 96>

97```bash theme={null}97> ```bash theme={null}

98#!/bin/bash98> #!/bin/bash

99# .claude/hooks/block-rm.sh99> # .claude/hooks/block-rm.sh

100COMMAND=$(jq -r '.tool_input.command')100> COMMAND=$(jq -r '.tool_input.command')

101 101>

102if echo "$COMMAND" | grep -q 'rm -rf'; then102> if echo "$COMMAND" | grep -q 'rm -rf'; then

103 jq -n '{103> jq -n '{

104 hookSpecificOutput: {104> hookSpecificOutput: {

105 hookEventName: "PreToolUse",105> hookEventName: "PreToolUse",

106 permissionDecision: "deny",106> permissionDecision: "deny",

107 permissionDecisionReason: "Destructive command blocked by hook"107> permissionDecisionReason: "Destructive command blocked by hook"

108 }108> }

109 }'109> }'

110else110> else

111 exit 0 # no decision; normal permission flow applies111> exit 0 # no decision; normal permission flow applies

112fi112> fi

113```113> ```

114 114>

115Este script, como los otros ejemplos de Bash en esta página que analizan entrada JSON, utiliza `jq`, así que instale `jq` y asegúrese de que esté en su `PATH` antes de intentarlos.115> Este script, como los otros ejemplos de Bash en esta página que analizan entrada JSON, utiliza `jq`, así que instale `jq` y asegúrese de que esté en su `PATH` antes de intentarlos.

116 

117**Windows (PowerShell)**

118 

119El matcher `Bash|PowerShell` cubre la [herramienta PowerShell](#powershell) así como Bash. Una única regla `if` coincide solo con las llamadas de una herramienta, por lo que cada herramienta obtiene su propio controlador: el primero se reduce a subcomandos Bash que coinciden con `rm *`, el segundo a comandos PowerShell que coinciden con `Remove-Item *`. Ambos ejecutan el mismo script a través de `powershell.exe`:

120 

121```json theme={null}

122{

123 "hooks": {

124 "PreToolUse": [

125 {

126 "matcher": "Bash|PowerShell",

127 "hooks": [

128 {

129 "type": "command",

130 "if": "Bash(rm *)",

131 "command": "powershell.exe",

132 "args": [

133 "-NoProfile",

134 "-ExecutionPolicy",

135 "Bypass",

136 "-File",

137 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

138 ]

139 },

140 {

141 "type": "command",

142 "if": "PowerShell(Remove-Item *)",

143 "command": "powershell.exe",

144 "args": [

145 "-NoProfile",

146 "-ExecutionPolicy",

147 "Bypass",

148 "-File",

149 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

150 ]

151 }

152 ]

153 }

154 ]

155 }

156}

157```

158 

159La bandera `-NoProfile` omite cargar su perfil de PowerShell para que el hook se inicie rápidamente, y `-ExecutionPolicy Bypass` permite que PowerShell ejecute el archivo de script local.

160 

161El script lee la entrada JSON desde stdin, extrae el comando y devuelve una `permissionDecision` de `"deny"` si contiene `rm -rf` o `Remove-Item` seguido de `-Recurse`. Guárdelo en `.claude/hooks/block-rm.ps1` en su proyecto:

162 

163```powershell theme={null}

164# .claude/hooks/block-rm.ps1

165$callInput = [Console]::In.ReadToEnd() | ConvertFrom-Json

166$command = $callInput.tool_input.command

167 116 

168if ($command -match 'rm -rf|Remove-Item.*-Recurse') {117> [tab] Windows (PowerShell)

169 @{118>

170 hookSpecificOutput = @{119> El matcher `Bash|PowerShell` cubre la [herramienta PowerShell](#powershell) así como Bash. Una única regla `if` coincide solo con las llamadas de una herramienta, por lo que cada herramienta obtiene su propio controlador: el primero se reduce a subcomandos Bash que coinciden con `rm *`, el segundo a comandos PowerShell que coinciden con `Remove-Item *`. Ambos ejecutan el mismo script a través de `powershell.exe`:

171 hookEventName = "PreToolUse"120>

172 permissionDecision = "deny"121> ```json theme={null}

173 permissionDecisionReason = "Destructive command blocked by hook"122> {

174 }123> "hooks": {

175 } | ConvertTo-Json124> "PreToolUse": [

176} else {125> {

177 exit 0 # no decision; normal permission flow applies126> "matcher": "Bash|PowerShell",

178}127> "hooks": [

179```128> {

129> "type": "command",

130> "if": "Bash(rm *)",

131> "command": "powershell.exe",

132> "args": [

133> "-NoProfile",

134> "-ExecutionPolicy",

135> "Bypass",

136> "-File",

137> "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

138> ]

139> },

140> {

141> "type": "command",

142> "if": "PowerShell(Remove-Item *)",

143> "command": "powershell.exe",

144> "args": [

145> "-NoProfile",

146> "-ExecutionPolicy",

147> "Bypass",

148> "-File",

149> "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

150> ]

151> }

152> ]

153> }

154> ]

155> }

156> }

157> ```

158>

159> La bandera `-NoProfile` omite cargar su perfil de PowerShell para que el hook se inicie rápidamente, y `-ExecutionPolicy Bypass` permite que PowerShell ejecute el archivo de script local.

160>

161> El script lee la entrada JSON desde stdin, extrae el comando y devuelve una `permissionDecision` de `"deny"` si contiene `rm -rf` o `Remove-Item` seguido de `-Recurse`. Guárdelo en `.claude/hooks/block-rm.ps1` en su proyecto:

162>

163> ```powershell theme={null}

164> # .claude/hooks/block-rm.ps1

165> $callInput = [Console]::In.ReadToEnd() | ConvertFrom-Json

166> $command = $callInput.tool_input.command

167>

168> if ($command -match 'rm -rf|Remove-Item.*-Recurse') {

169> @{

170> hookSpecificOutput = @{

171> hookEventName = "PreToolUse"

172> permissionDecision = "deny"

173> permissionDecisionReason = "Destructive command blocked by hook"

174> }

175> } | ConvertTo-Json

176> } else {

177> exit 0 # no decision; normal permission flow applies

178> }

179> ```

180 180 

181Ahora suponga que Claude Code decide ejecutar `Bash "rm -rf /tmp/build"` contra la configuración de macOS/Linux. Esto es lo que sucede:181Ahora suponga que Claude Code decide ejecutar `Bash "rm -rf /tmp/build"` contra la configuración de macOS/Linux. Esto es lo que sucede:

182 182 


601 601 

602Prefiere [forma exec](#exec-form-and-shell-form) para cualquier hook que haga referencia a un marcador de posición de ruta. En forma shell, envuelve cada marcador de posición en comillas dobles.602Prefiere [forma exec](#exec-form-and-shell-form) para cualquier hook que haga referencia a un marcador de posición de ruta. En forma shell, envuelve cada marcador de posición en comillas dobles.

603 603 

604**Project scripts**604> [tab] Project scripts

605 605>

606Este ejemplo usa `${CLAUDE_PROJECT_DIR}` para ejecutar un verificador de estilo desde el directorio `.claude/hooks/` del proyecto después de cualquier llamada de herramienta `Write` o `Edit`:606> Este ejemplo usa `${CLAUDE_PROJECT_DIR}` para ejecutar un verificador de estilo desde el directorio `.claude/hooks/` del proyecto después de cualquier llamada de herramienta `Write` o `Edit`:

607 607>

608```json theme={null}608> ```json theme={null}

609{609> {

610 "hooks": {610> "hooks": {

611 "PostToolUse": [611> "PostToolUse": [

612 {612> {

613 "matcher": "Write|Edit",613> "matcher": "Write|Edit",

614 "hooks": [614> "hooks": [

615 {615> {

616 "type": "command",616> "type": "command",

617 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh",617> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh",

618 "args": []618> "args": []

619 }619> }

620 ]620> ]

621 }621> }

622 ]622> ]

623 }623> }

624}624> }

625```625> ```

626 626 

627**Plugin scripts**627> [tab] Plugin scripts

628 628>

629Define hooks de plugin en `hooks/hooks.json` con un campo `description` opcional de nivel superior. Cuando un plugin está habilitado, sus hooks se fusionan con tus hooks de usuario y proyecto.629> Define hooks de plugin en `hooks/hooks.json` con un campo `description` opcional de nivel superior. Cuando un plugin está habilitado, sus hooks se fusionan con tus hooks de usuario y proyecto.

630 630>

631Este ejemplo ejecuta un script de formato incluido con el plugin:631> Este ejemplo ejecuta un script de formato incluido con el plugin:

632 632>

633```json theme={null}633> ```json theme={null}

634{634> {

635 "description": "Automatic code formatting",635> "description": "Automatic code formatting",

636 "hooks": {636> "hooks": {

637 "PostToolUse": [637> "PostToolUse": [

638 {638> {

639 "matcher": "Write|Edit",639> "matcher": "Write|Edit",

640 "hooks": [640> "hooks": [

641 {641> {

642 "type": "command",642> "type": "command",

643 "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format.sh",643> "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format.sh",

644 "args": [],644> "args": [],

645 "timeout": 30645> "timeout": 30

646 }646> }

647 ]647> ]

648 }648> }

649 ]649> ]

650 }650> }

651}651> }

652```652> ```

653 653>

654Consulta la [referencia de componentes de plugin](https://code.claude.com/docs/es/plugins/components.md#hooks) para obtener detalles sobre cómo crear hooks de plugin.654> Consulta la [referencia de componentes de plugin](https://code.claude.com/docs/es/plugins/components.md#hooks) para obtener detalles sobre cómo crear hooks de plugin.

655 655 

656### Hooks en skills y agentes656### Hooks en skills y agentes

657 657 


1180 1180 

1181Aquí hay ejemplos de cada patrón en acción:1181Aquí hay ejemplos de cada patrón en acción:

1182 1182 

1183**Decisión de nivel superior**1183> [tab] Decisión de nivel superior

1184 1184>

1185El único valor para `decision` es `"block"`. Para permitir que la acción continúe, omite `decision` de tu JSON, o sal con 0 sin ningún JSON:1185> El único valor para `decision` es `"block"`. Para permitir que la acción continúe, omite `decision` de tu JSON, o sal con 0 sin ningún JSON:

1186 1186>

1187```json theme={null}1187> ```json theme={null}

1188{1188> {

1189 "decision": "block",1189> "decision": "block",

1190 "reason": "Test suite must pass before proceeding"1190> "reason": "Test suite must pass before proceeding"

1191}1191> }

1192```1192> ```

1193 1193 

1194**PreToolUse**1194> [tab] PreToolUse

1195 1195>

1196Usa `hookSpecificOutput` para un control más rico: permitir, denegar o escalar al usuario. También puedes modificar la entrada de la herramienta antes de que se ejecute o inyectar contexto adicional para Claude. Consulta [Control de decisión de PreToolUse](#pretooluse-decision-control) para ver el conjunto completo de opciones.1196> Usa `hookSpecificOutput` para un control más rico: permitir, denegar o escalar al usuario. También puedes modificar la entrada de la herramienta antes de que se ejecute o inyectar contexto adicional para Claude. Consulta [Control de decisión de PreToolUse](#pretooluse-decision-control) para ver el conjunto completo de opciones.

1197 1197>

1198```json theme={null}1198> ```json theme={null}

1199{1199> {

1200 "hookSpecificOutput": {1200> "hookSpecificOutput": {

1201 "hookEventName": "PreToolUse",1201> "hookEventName": "PreToolUse",

1202 "permissionDecision": "deny",1202> "permissionDecision": "deny",

1203 "permissionDecisionReason": "Database writes are not allowed"1203> "permissionDecisionReason": "Database writes are not allowed"

1204 }1204> }

1205}1205> }

1206```1206> ```

1207 1207 

1208**PermissionRequest**1208> [tab] PermissionRequest

1209 1209>

1210Usa `hookSpecificOutput` para permitir o denegar una solicitud de permiso en nombre del usuario. Al permitir, también puedes modificar la entrada de la herramienta o aplicar reglas de permisos para que no se le vuelva a preguntar al usuario. Consulta [Control de decisión de PermissionRequest](#permissionrequest-decision-control) para ver el conjunto completo de opciones.1210> Usa `hookSpecificOutput` para permitir o denegar una solicitud de permiso en nombre del usuario. Al permitir, también puedes modificar la entrada de la herramienta o aplicar reglas de permisos para que no se le vuelva a preguntar al usuario. Consulta [Control de decisión de PermissionRequest](#permissionrequest-decision-control) para ver el conjunto completo de opciones.

1211 1211>

1212```json theme={null}1212> ```json theme={null}

1213{1213> {

1214 "hookSpecificOutput": {1214> "hookSpecificOutput": {

1215 "hookEventName": "PermissionRequest",1215> "hookEventName": "PermissionRequest",

1216 "decision": {1216> "decision": {

1217 "behavior": "allow",1217> "behavior": "allow",

1218 "updatedInput": {1218> "updatedInput": {

1219 "command": "npm run lint"1219> "command": "npm run lint"

1220 }1220> }

1221 }1221> }

1222 }1222> }

1223}1223> }

1224```1224> ```

1225 1225 

1226Para ejemplos más extensos, incluidos la validación de comandos Bash, el filtrado de prompts y scripts de aprobación automática, consulta [Qué puedes automatizar](https://code.claude.com/docs/es/hooks-guide.md#what-you-can-automate) en la guía y la [implementación de referencia del validador de comandos Bash](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py).1226Para ejemplos más extensos, incluidos la validación de comandos Bash, el filtrado de prompts y scripts de aprobación automática, consulta [Qué puedes automatizar](https://code.claude.com/docs/es/hooks-guide.md#what-you-can-automate) en la guía y la [implementación de referencia del validador de comandos Bash](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py).

1227 1227 


1656 1656 

1657Este ejemplo quita el formato markdown de las respuestas de Claude para una visualización en texto plano. El script lee cada lote desde stdin, elimina los marcadores de negrita y los acentos graves del código en línea de `delta` y devuelve el resultado como `displayContent`.1657Este ejemplo quita el formato markdown de las respuestas de Claude para una visualización en texto plano. El script lee cada lote desde stdin, elimina los marcadores de negrita y los acentos graves del código en línea de `delta` y devuelve el resultado como `displayContent`.

1658 1658 

1659**macOS/Linux**1659> [tab] macOS/Linux

1660 1660>

1661Registra un hook de comando para el evento en tu archivo de configuración:1661> Registra un hook de comando para el evento en tu archivo de configuración:

1662 1662>

1663```json theme={null}1663> ```json theme={null}

1664{1664> {

1665 "hooks": {1665> "hooks": {

1666 "MessageDisplay": [1666> "MessageDisplay": [

1667 {1667> {

1668 "hooks": [1668> "hooks": [

1669 {1669> {

1670 "type": "command",1670> "type": "command",

1671 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/plain-display.sh",1671> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/plain-display.sh",

1672 "args": []1672> "args": []

1673 }1673> }

1674 ]1674> ]

1675 }1675> }

1676 ]1676> ]

1677 }1677> }

1678}1678> }

1679```1679> ```

1680 1680>

1681Guarda este script en `.claude/hooks/plain-display.sh` en tu proyecto y hazlo ejecutable con `chmod +x`:1681> Guarda este script en `.claude/hooks/plain-display.sh` en tu proyecto y hazlo ejecutable con `chmod +x`:

1682 1682>

1683```bash theme={null}1683> ```bash theme={null}

1684#!/bin/bash1684> #!/bin/bash

1685jq '{hookSpecificOutput: {hookEventName: "MessageDisplay", displayContent: (.delta | gsub("\\*\\*"; "") | gsub("`"; ""))}}'1685> jq '{hookSpecificOutput: {hookEventName: "MessageDisplay", displayContent: (.delta | gsub("\\*\\*"; "") | gsub("`"; ""))}}'

1686```1686> ```

1687 

1688**Windows (PowerShell)**

1689 

1690Registra un hook de comando que ejecute el script mediante PowerShell:

1691 

1692```json theme={null}

1693{

1694 "hooks": {

1695 "MessageDisplay": [

1696 {

1697 "hooks": [

1698 {

1699 "type": "command",

1700 "command": "powershell.exe",

1701 "args": [

1702 "-NoProfile",

1703 "-ExecutionPolicy",

1704 "Bypass",

1705 "-File",

1706 "${CLAUDE_PROJECT_DIR}/.claude/hooks/plain-display.ps1"

1707 ]

1708 }

1709 ]

1710 }

1711 ]

1712 }

1713}

1714```

1715 

1716El flag `-NoProfile` omite la carga de tu perfil de PowerShell para que el hook se inicie rápido, y `-ExecutionPolicy Bypass` permite que PowerShell ejecute el archivo de script local.

1717 

1718Guarda este script en `.claude/hooks/plain-display.ps1` en tu proyecto:

1719 1687 

1720```powershell theme={null}1688> [tab] Windows (PowerShell)

1721$batch = [Console]::In.ReadToEnd() | ConvertFrom-Json1689>

1722$text = $batch.delta -replace '\*\*', '' -replace '`', ''1690> Registra un hook de comando que ejecute el script mediante PowerShell:

1723@{1691>

1724 hookSpecificOutput = @{1692> ```json theme={null}

1725 hookEventName = "MessageDisplay"1693> {

1726 displayContent = $text1694> "hooks": {

1727 }1695> "MessageDisplay": [

1728} | ConvertTo-Json1696> {

1729```1697> "hooks": [

1698> {

1699> "type": "command",

1700> "command": "powershell.exe",

1701> "args": [

1702> "-NoProfile",

1703> "-ExecutionPolicy",

1704> "Bypass",

1705> "-File",

1706> "${CLAUDE_PROJECT_DIR}/.claude/hooks/plain-display.ps1"

1707> ]

1708> }

1709> ]

1710> }

1711> ]

1712> }

1713> }

1714> ```

1715>

1716> El flag `-NoProfile` omite la carga de tu perfil de PowerShell para que el hook se inicie rápido, y `-ExecutionPolicy Bypass` permite que PowerShell ejecute el archivo de script local.

1717>

1718> Guarda este script en `.claude/hooks/plain-display.ps1` en tu proyecto:

1719>

1720> ```powershell theme={null}

1721> $batch = [Console]::In.ReadToEnd() | ConvertFrom-Json

1722> $text = $batch.delta -replace '\*\*', '' -replace '`', ''

1723> @{

1724> hookSpecificOutput = @{

1725> hookEventName = "MessageDisplay"

1726> displayContent = $text

1727> }

1728> } | ConvertTo-Json

1729> ```

1730 1730 

1731Los lotes sin markdown pasan sin cambios. Si el script falla, por ejemplo porque falta `jq`, Claude Code muestra el texto original e indica el fallo solo en la [salida de depuración](#debug-hooks), no en la sesión.1731Los lotes sin markdown pasan sin cambios. Si el script falla, por ejemplo porque falta `jq`, Claude Code muestra el texto original e indica el fallo solo en la [salida de depuración](#debug-hooks), no en la sesión.

1732 1732 


3357 3357 

3358Escribe el matcher como un nombre exacto, una lista separada por `|` como `claude-opus-4-6|claude-opus-5`, o una expresión regular como `.*opus.*`. Este ejemplo usa un matcher de nombre exacto y además comprueba `to_model` en la entrada del hook, así que rechaza un cambio a Opus 4.6 terminando con el código 2 y deja pasar cualquier otro destino:3358Escribe el matcher como un nombre exacto, una lista separada por `|` como `claude-opus-4-6|claude-opus-5`, o una expresión regular como `.*opus.*`. Este ejemplo usa un matcher de nombre exacto y además comprueba `to_model` en la entrada del hook, así que rechaza un cambio a Opus 4.6 terminando con el código 2 y deja pasar cualquier otro destino:

3359 3359 

3360**macOS/Linux**3360> [tab] macOS/Linux

3361 3361>

3362El comando comprueba `to_model` con `jq`:3362> El comando comprueba `to_model` con `jq`:

3363 3363>

3364```json theme={null}3364> ```json theme={null}

3365{3365> {

3366 "hooks": {3366> "hooks": {

3367 "PreModelSwitch": [3367> "PreModelSwitch": [

3368 {3368> {

3369 "matcher": "claude-opus-4-6",3369> "matcher": "claude-opus-4-6",

3370 "hooks": [3370> "hooks": [

3371 {3371> {

3372 "type": "command",3372> "type": "command",

3373 "command": "jq -e '.to_model | test(\"opus-4-6\")' > /dev/null && { echo 'Opus 4.6 is retired for this project. Use a newer model.' >&2; exit 2; }; exit 0"3373> "command": "jq -e '.to_model | test(\"opus-4-6\")' > /dev/null && { echo 'Opus 4.6 is retired for this project. Use a newer model.' >&2; exit 2; }; exit 0"

3374 }3374> }

3375 ]3375> ]

3376 }3376> }

3377 ]3377> ]

3378 }3378> }

3379}3379> }

3380```3380> ```

3381 3381 

3382**Windows (PowerShell)**3382> [tab] Windows (PowerShell)

3383 3383>

3384Registra un hook de comando que ejecute un script mediante PowerShell:3384> Registra un hook de comando que ejecute un script mediante PowerShell:

3385 3385>

3386```json theme={null}3386> ```json theme={null}

3387{3387> {

3388 "hooks": {3388> "hooks": {

3389 "PreModelSwitch": [3389> "PreModelSwitch": [

3390 {3390> {

3391 "matcher": "claude-opus-4-6",3391> "matcher": "claude-opus-4-6",

3392 "hooks": [3392> "hooks": [

3393 {3393> {

3394 "type": "command",3394> "type": "command",

3395 "command": "powershell.exe",3395> "command": "powershell.exe",

3396 "args": [3396> "args": [

3397 "-NoProfile",3397> "-NoProfile",

3398 "-ExecutionPolicy",3398> "-ExecutionPolicy",

3399 "Bypass",3399> "Bypass",

3400 "-File",3400> "-File",

3401 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-opus-46.ps1"3401> "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-opus-46.ps1"

3402 ]3402> ]

3403 }3403> }

3404 ]3404> ]

3405 }3405> }

3406 ]3406> ]

3407 }3407> }

3408}3408> }

3409```3409> ```

3410 3410>

3411Guarda este script en `.claude/hooks/block-opus-46.ps1` en tu proyecto:3411> Guarda este script en `.claude/hooks/block-opus-46.ps1` en tu proyecto:

3412 3412>

3413```powershell theme={null}3413> ```powershell theme={null}

3414$hookInput = [Console]::In.ReadToEnd() | ConvertFrom-Json3414> $hookInput = [Console]::In.ReadToEnd() | ConvertFrom-Json

3415if ($hookInput.to_model -match 'opus-4-6') {3415> if ($hookInput.to_model -match 'opus-4-6') {

3416 [Console]::Error.WriteLine('Opus 4.6 is retired for this project. Use a newer model.')3416> [Console]::Error.WriteLine('Opus 4.6 is retired for this project. Use a newer model.')

3417 exit 23417> exit 2

3418}3418> }

3419exit 03419> exit 0

3420```3420> ```

3421 3421 

3422Para confirmar que el hook funciona, ejecuta `/model claude-opus-4-6` desde una sesión que use un modelo diferente. Claude Code mantiene el modelo actual e informa que un hook PreModelSwitch bloqueó el cambio, con tu mensaje como motivo.3422Para confirmar que el hook funciona, ejecuta `/model claude-opus-4-6` desde una sesión que use un modelo diferente. Claude Code mantiene el modelo actual e informa que un hook PreModelSwitch bloqueó el cambio, con tu mensaje como motivo.

3423 3423 


3705 3705 

3706Este ejemplo responde una pregunta recurrente en nombre del usuario. Un servidor MCP llamado `issue-tracker` pide una clave de proyecto en un formulario, y el hook completa `DOCS`. El script acepta cuando `project_key` es el único campo del formulario. Para cualquier otra solicitud no imprime nada, así que aparece el diálogo.3706Este ejemplo responde una pregunta recurrente en nombre del usuario. Un servidor MCP llamado `issue-tracker` pide una clave de proyecto en un formulario, y el hook completa `DOCS`. El script acepta cuando `project_key` es el único campo del formulario. Para cualquier otra solicitud no imprime nada, así que aparece el diálogo.

3707 3707 

3708**macOS/Linux**3708> [tab] macOS/Linux

3709 3709>

3710Registra un hook de comando para el evento en tu archivo de configuración, con el nombre del servidor como matcher:3710> Registra un hook de comando para el evento en tu archivo de configuración, con el nombre del servidor como matcher:

3711 3711>

3712```json theme={null}3712> ```json theme={null}

3713{3713> {

3714 "hooks": {3714> "hooks": {

3715 "Elicitation": [3715> "Elicitation": [

3716 {3716> {

3717 "matcher": "issue-tracker",3717> "matcher": "issue-tracker",

3718 "hooks": [3718> "hooks": [

3719 {3719> {

3720 "type": "command",3720> "type": "command",

3721 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/answer-project-key.sh",3721> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/answer-project-key.sh",

3722 "args": []3722> "args": []

3723 }3723> }

3724 ]3724> ]

3725 }3725> }

3726 ]3726> ]

3727 }3727> }

3728}3728> }

3729```3729> ```

3730 3730>

3731Guarda este script en `.claude/hooks/answer-project-key.sh` en tu proyecto y hazlo ejecutable con `chmod +x`:3731> Guarda este script en `.claude/hooks/answer-project-key.sh` en tu proyecto y hazlo ejecutable con `chmod +x`:

3732 3732>

3733```bash theme={null}3733> ```bash theme={null}

3734#!/bin/bash3734> #!/bin/bash

3735input=$(cat)3735> input=$(cat)

3736fields=$(jq -c '.requested_schema.properties // {} | keys' <<<"$input")3736> fields=$(jq -c '.requested_schema.properties // {} | keys' <<<"$input")

3737 3737>

3738if [ "$fields" = '["project_key"]' ]; then3738> if [ "$fields" = '["project_key"]' ]; then

3739 jq -n '{hookSpecificOutput: {hookEventName: "Elicitation", action: "accept", content: {project_key: "DOCS"}}}'3739> jq -n '{hookSpecificOutput: {hookEventName: "Elicitation", action: "accept", content: {project_key: "DOCS"}}}'

3740fi3740> fi

3741```3741> ```

3742 

3743**Windows (PowerShell)**

3744 

3745Registra un hook de comando que ejecute el script mediante PowerShell, con el nombre del servidor como matcher:

3746 

3747```json theme={null}

3748{

3749 "hooks": {

3750 "Elicitation": [

3751 {

3752 "matcher": "issue-tracker",

3753 "hooks": [

3754 {

3755 "type": "command",

3756 "command": "powershell.exe",

3757 "args": [

3758 "-NoProfile",

3759 "-ExecutionPolicy",

3760 "Bypass",

3761 "-File",

3762 "${CLAUDE_PROJECT_DIR}/.claude/hooks/answer-project-key.ps1"

3763 ]

3764 }

3765 ]

3766 }

3767 ]

3768 }

3769}

3770```

3771 

3772Guarda este script en `.claude/hooks/answer-project-key.ps1` en tu proyecto:

3773 

3774```powershell theme={null}

3775$request = [Console]::In.ReadToEnd() | ConvertFrom-Json

3776$fields = @($request.requested_schema.properties.PSObject.Properties.Name)

3777 3742 

3778if ($fields.Count -eq 1 -and $fields[0] -eq 'project_key') {3743> [tab] Windows (PowerShell)

3779 @{3744>

3780 hookSpecificOutput = @{3745> Registra un hook de comando que ejecute el script mediante PowerShell, con el nombre del servidor como matcher:

3781 hookEventName = "Elicitation"3746>

3782 action = "accept"3747> ```json theme={null}

3783 content = @{ project_key = "DOCS" }3748> {

3784 }3749> "hooks": {

3785 } | ConvertTo-Json -Depth 33750> "Elicitation": [

3786}3751> {

3787```3752> "matcher": "issue-tracker",

3753> "hooks": [

3754> {

3755> "type": "command",

3756> "command": "powershell.exe",

3757> "args": [

3758> "-NoProfile",

3759> "-ExecutionPolicy",

3760> "Bypass",

3761> "-File",

3762> "${CLAUDE_PROJECT_DIR}/.claude/hooks/answer-project-key.ps1"

3763> ]

3764> }

3765> ]

3766> }

3767> ]

3768> }

3769> }

3770> ```

3771>

3772> Guarda este script en `.claude/hooks/answer-project-key.ps1` en tu proyecto:

3773>

3774> ```powershell theme={null}

3775> $request = [Console]::In.ReadToEnd() | ConvertFrom-Json

3776> $fields = @($request.requested_schema.properties.PSObject.Properties.Name)

3777>

3778> if ($fields.Count -eq 1 -and $fields[0] -eq 'project_key') {

3779> @{

3780> hookSpecificOutput = @{

3781> hookEventName = "Elicitation"

3782> action = "accept"

3783> content = @{ project_key = "DOCS" }

3784> }

3785> } | ConvertTo-Json -Depth 3

3786> }

3787> ```

3788 3788 

3789Para confirmar que el hook funciona, inicia Claude Code con `claude --debug` y dale a Claude una tarea que haga que el servidor pida la clave del proyecto. No aparece ningún diálogo, y el [registro de depuración](#debug-hooks) tiene una línea que termina con `Elicitation resolved by hook: {"action":"accept","content":{"project_key":"DOCS"}}`.3789Para confirmar que el hook funciona, inicia Claude Code con `claude --debug` y dale a Claude una tarea que haga que el servidor pida la clave del proyecto. No aparece ningún diálogo, y el [registro de depuración](#debug-hooks) tiene una línea que termina con `Elicitation resolved by hook: {"action":"accept","content":{"project_key":"DOCS"}}`.

3790 3790 

hooks-guide.md +144 −144

Details

89 89 

90Cada pestaña a continuación usa el comando de notificación nativo de la plataforma. Agrega esto a `~/.claude/settings.json`:90Cada pestaña a continuación usa el comando de notificación nativo de la plataforma. Agrega esto a `~/.claude/settings.json`:

91 91 

92**macOS**92> [tab] macOS

93 

94```json theme={null}

95{

96 "hooks": {

97 "Notification": [

98 {

99 "matcher": "",

100 "hooks": [

101 {

102 "type": "command",

103 "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"

104 }

105 ]

106 }

107 ]

108 }

109}

110```

111 

112> **Si no aparece ninguna notificación**

113>

114> `osascript` envía las notificaciones a través de la app integrada Script Editor. Si Script Editor no tiene permiso para mostrar notificaciones, el comando falla en silencio y macOS no te pedirá que lo concedas.

115>93>

116> Ejecuta esto en Terminal una vez para que Script Editor aparezca en tu configuración de notificaciones:94> ```json theme={null}

117>95> {

118> ```bash theme={null}96> "hooks": {

119> osascript -e 'display notification "test"'97> "Notification": [

98> {

99> "matcher": "",

100> "hooks": [

101> {

102> "type": "command",

103> "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"

104> }

105> ]

106> }

107> ]

108> }

109> }

120> ```110> ```

121>111>

122> Todavía no aparecerá nada. Abre **System Settings > Notifications**, busca **Script Editor** en la lista y activa **Allow Notifications**. Ejecuta el comando de nuevo para confirmar que aparece la notificación de prueba.112> > [accordion] Si no aparece ninguna notificación

123 113> >

124**Linux**114> > `osascript` envía las notificaciones a través de la app integrada Script Editor. Si Script Editor no tiene permiso para mostrar notificaciones, el comando falla en silencio y macOS no te pedirá que lo concedas.

125 115> >

126```json theme={null}116> > Ejecuta esto en Terminal una vez para que Script Editor aparezca en tu configuración de notificaciones:

127{117> >

128 "hooks": {118> > ```bash theme={null}

129 "Notification": [119> > osascript -e 'display notification "test"'

130 {120> > ```

131 "matcher": "",121> >

132 "hooks": [122> > Todavía no aparecerá nada. Abre **System Settings > Notifications**, busca **Script Editor** en la lista y activa **Allow Notifications**. Ejecuta el comando de nuevo para confirmar que aparece la notificación de prueba.

133 {123 

134 "type": "command",124> [tab] Linux

135 "command": "notify-send 'Claude Code' 'Claude Code needs your attention'"

136 }

137 ]

138 }

139 ]

140 }

141}

142```

143 

144> **Si no aparece ninguna notificación**

145>

146> `notify-send` necesita un daemon de notificaciones de escritorio, que los servidores sin interfaz gráfica, las sesiones SSH y la mayoría de los contenedores no tienen. Primero prueba el comando directamente:

147>125>

148> ```bash theme={null}126> ```json theme={null}

149> notify-send 'Claude Code' 'test'127> {

128> "hooks": {

129> "Notification": [

130> {

131> "matcher": "",

132> "hooks": [

133> {

134> "type": "command",

135> "command": "notify-send 'Claude Code' 'Claude Code needs your attention'"

136> }

137> ]

138> }

139> ]

140> }

141> }

150> ```142> ```

151>143>

152> Si no se encuentra el comando, instala el paquete `libnotify-bin` en Debian y Ubuntu, o el equivalente de tu distribución.144> > [accordion] Si no aparece ninguna notificación

153 145> >

154**Windows (PowerShell)**146> > `notify-send` necesita un daemon de notificaciones de escritorio, que los servidores sin interfaz gráfica, las sesiones SSH y la mayoría de los contenedores no tienen. Primero prueba el comando directamente:

155 147> >

156```json theme={null}148> > ```bash theme={null}

157{149> > notify-send 'Claude Code' 'test'

158 "hooks": {150> > ```

159 "Notification": [151> >

160 {152> > Si no se encuentra el comando, instala el paquete `libnotify-bin` en Debian y Ubuntu, o el equivalente de tu distribución.

161 "matcher": "",153 

162 "hooks": [154> [tab] Windows (PowerShell)

163 {

164 "type": "command",

165 "command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""

166 }

167 ]

168 }

169 ]

170 }

171}

172```

173 

174> **Si no aparece ningún cuadro de diálogo**

175>155>

176> Este comando abre un cuadro de diálogo en lugar de una notificación en la esquina de tu pantalla, por lo que el cuadro de diálogo puede abrirse detrás de la ventana de tu terminal. Primero prueba el comando directamente en PowerShell.156> ```json theme={null}

157> {

158> "hooks": {

159> "Notification": [

160> {

161> "matcher": "",

162> "hooks": [

163> {

164> "type": "command",

165> "command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""

166> }

167> ]

168> }

169> ]

170> }

171> }

172> ```

177>173>

178> Si ejecutas Claude Code dentro de WSL, `powershell.exe` debe estar disponible en tu `PATH` mediante la interoperabilidad de Windows.174> > [accordion] Si no aparece ningún cuadro de diálogo

175> >

176> > Este comando abre un cuadro de diálogo en lugar de una notificación en la esquina de tu pantalla, por lo que el cuadro de diálogo puede abrirse detrás de la ventana de tu terminal. Primero prueba el comando directamente en PowerShell.

177> >

178> > Si ejecutas Claude Code dentro de WSL, `powershell.exe` debe estar disponible en tu `PATH` mediante la interoperabilidad de Windows.

179 179 

180El `matcher` vacío se dispara con todos los tipos de notificación. Para que se dispare solo con eventos específicos, establécelo en uno de estos valores:180El `matcher` vacío se dispara con todos los tipos de notificación. Para que se dispare solo con eventos específicos, establécelo en uno de estos valores:

181 181 


705 705 

706Las pestañas a continuación muestran algunos matchers más en diferentes tipos de eventos.706Las pestañas a continuación muestran algunos matchers más en diferentes tipos de eventos.

707 707 

708**Registra cada comando Bash**708> [tab] Registra cada comando Bash

709 709>

710Coincide solo con llamadas a herramienta `Bash` y registra cada comando en un archivo. El evento `PostToolUse` se activa después de que el comando se completa, por lo que `tool_input.command` contiene lo que se ejecutó. El hook recibe los datos del evento como JSON en stdin, y `jq -r '.tool_input.command'` extrae solo la cadena de comando, que `>>` añade al archivo de registro:710> Coincide solo con llamadas a herramienta `Bash` y registra cada comando en un archivo. El evento `PostToolUse` se activa después de que el comando se completa, por lo que `tool_input.command` contiene lo que se ejecutó. El hook recibe los datos del evento como JSON en stdin, y `jq -r '.tool_input.command'` extrae solo la cadena de comando, que `>>` añade al archivo de registro:

711 711>

712```json theme={null}712> ```json theme={null}

713{713> {

714 "hooks": {714> "hooks": {

715 "PostToolUse": [715> "PostToolUse": [

716 {716> {

717 "matcher": "Bash",717> "matcher": "Bash",

718 "hooks": [718> "hooks": [

719 {719> {

720 "type": "command",720> "type": "command",

721 "command": "jq -r '.tool_input.command' >> ~/.claude/command-log.txt"721> "command": "jq -r '.tool_input.command' >> ~/.claude/command-log.txt"

722 }722> }

723 ]723> ]

724 }724> }

725 ]725> ]

726 }726> }

727}727> }

728```728> ```

729 

730**Coincide con herramientas MCP**

731 

732Las herramientas MCP usan una convención de nombres diferente a las herramientas integradas: `mcp__<server>__<tool>`, donde `<server>` es el nombre del servidor MCP y `<tool>` es la herramienta que proporciona. Por ejemplo, `mcp__github__search_repositories` o `mcp__filesystem__read_file`. Las herramientas de un [servidor MCP proporcionado por plugin](https://code.claude.com/docs/es/mcp.md#plugin-provided-mcp-servers) usan un segmento de servidor con ámbito en su lugar, como `mcp__plugin_my-plugin_db__query`. Usa un matcher regex para dirigirse a todas las herramientas de un servidor específico, o coincide entre servidores con un patrón como `mcp__.*__write.*`. Consulta [Match MCP tools](https://code.claude.com/docs/es/hooks.md#match-mcp-tools) en la referencia para la lista completa de ejemplos.

733 

734El comando a continuación extrae el nombre de la herramienta de la entrada JSON del hook con `jq` y lo escribe en stderr. Escribir en stderr mantiene stdout limpio para salida JSON y envía el mensaje al [registro de depuración](https://code.claude.com/docs/es/hooks.md#debug-hooks):

735 

736```json theme={null}

737{

738 "hooks": {

739 "PreToolUse": [

740 {

741 "matcher": "mcp__github__.*",

742 "hooks": [

743 {

744 "type": "command",

745 "command": "echo \"GitHub tool called: $(jq -r '.tool_name')\" >&2"

746 }

747 ]

748 }

749 ]

750 }

751}

752```

753 

754**Limpia al final de la sesión**

755 729 

756El evento `SessionEnd` soporta matchers en la razón por la que terminó la sesión. Este hook solo se activa en `clear` (cuando ejecutas `/clear`), no en salidas normales:730> [tab] Coincide con herramientas MCP

731>

732> Las herramientas MCP usan una convención de nombres diferente a las herramientas integradas: `mcp__<server>__<tool>`, donde `<server>` es el nombre del servidor MCP y `<tool>` es la herramienta que proporciona. Por ejemplo, `mcp__github__search_repositories` o `mcp__filesystem__read_file`. Las herramientas de un [servidor MCP proporcionado por plugin](https://code.claude.com/docs/es/mcp.md#plugin-provided-mcp-servers) usan un segmento de servidor con ámbito en su lugar, como `mcp__plugin_my-plugin_db__query`. Usa un matcher regex para dirigirse a todas las herramientas de un servidor específico, o coincide entre servidores con un patrón como `mcp__.*__write.*`. Consulta [Match MCP tools](https://code.claude.com/docs/es/hooks.md#match-mcp-tools) en la referencia para la lista completa de ejemplos.

733>

734> El comando a continuación extrae el nombre de la herramienta de la entrada JSON del hook con `jq` y lo escribe en stderr. Escribir en stderr mantiene stdout limpio para salida JSON y envía el mensaje al [registro de depuración](https://code.claude.com/docs/es/hooks.md#debug-hooks):

735>

736> ```json theme={null}

737> {

738> "hooks": {

739> "PreToolUse": [

740> {

741> "matcher": "mcp__github__.*",

742> "hooks": [

743> {

744> "type": "command",

745> "command": "echo \"GitHub tool called: $(jq -r '.tool_name')\" >&2"

746> }

747> ]

748> }

749> ]

750> }

751> }

752> ```

757 753 

758```json theme={null}754> [tab] Limpia al final de la sesión

759{755>

760 "hooks": {756> El evento `SessionEnd` soporta matchers en la razón por la que terminó la sesión. Este hook solo se activa en `clear` (cuando ejecutas `/clear`), no en salidas normales:

761 "SessionEnd": [757>

762 {758> ```json theme={null}

763 "matcher": "clear",759> {

764 "hooks": [760> "hooks": {

765 {761> "SessionEnd": [

766 "type": "command",762> {

767 "command": "rm -f /tmp/claude-scratch-*.txt"763> "matcher": "clear",

768 }764> "hooks": [

769 ]765> {

770 }766> "type": "command",

771 ]767> "command": "rm -f /tmp/claude-scratch-*.txt"

772 }768> }

773}769> ]

774```770> }

771> ]

772> }

773> }

774> ```

775 775 

776#### Filtra por nombre de herramienta y argumentos con el campo `if`776#### Filtra por nombre de herramienta y argumentos con el campo `if`

777 777 

Details

163 163 

164Elija un modo de permiso para establecer qué puede hacer Claude sin preguntarle. Presione `Shift+Tab` para ciclar a través de los modos de permiso:164Elija un modo de permiso para establecer qué puede hacer Claude sin preguntarle. Presione `Shift+Tab` para ciclar a través de los modos de permiso:

165 165 

166* **Auto**: un clasificador revisa la mayoría de las acciones en segundo plano y bloquea las arriesgadas en lugar de preguntarle. Con Claude Code v2.1.283 o posterior, es el [modo de permiso inicial integrado](https://code.claude.com/docs/es/permission-modes.md#which-mode-a-session-starts-in) para sesiones interactivas de terminal y VS Code, y en versiones anteriores solo en planes Pro, Max y Team166* **Auto**: un clasificador revisa la mayoría de las acciones en segundo plano y bloquea las arriesgadas en lugar de preguntarte. Con Claude Code v2.1.283 o posterior, es el [modo de permisos inicial integrado](https://code.claude.com/docs/es/permission-modes.md#which-mode-a-session-starts-in) para sesiones interactivas de terminal y VS Code. En versiones anteriores, es el modo de permisos inicial integrado solo en los planes Pro, Max, Ultra y Team.

167* **Manual**: Claude pregunta antes de ediciones de archivo y comandos de shell167* **Manual**: Claude pregunta antes de ediciones de archivo y comandos de shell

168* **Accept edits**: Claude edita archivos y ejecuta comandos comunes del sistema de archivos como `mkdir` y `mv` sin preguntar, aún pregunta por otros comandos168* **Accept edits**: Claude edita archivos y ejecuta comandos comunes del sistema de archivos como `mkdir` y `mv` sin preguntar, aún pregunta por otros comandos

169* **Plan**: Claude explora y propone un plan sin editar sus archivos fuente169* **Plan**: Claude explora y propone un plan sin editar sus archivos fuente


223 223 

224## Qué sigue224## Qué sigue

225 225 

226> **[Extender con características](https://code.claude.com/docs/es/features-overview.md)**226> [card] [Extender con características](https://code.claude.com/docs/es/features-overview.md)

227>227>

228> Agregue skills y conexiones MCP228> Agregue skills y conexiones MCP

229 229 

230> **[Flujos de trabajo comunes](https://code.claude.com/docs/es/common-workflows.md)**230> [card] [Flujos de trabajo comunes](https://code.claude.com/docs/es/common-workflows.md)

231>231>

232> Guías paso a paso para tareas típicas232> Guías paso a paso para tareas típicas

Details

537 537 

538Claude Code lee la configuración [`spellcheck`](https://code.claude.com/docs/es/settings-reference#spellcheck) desde tres lugares e la ignora en el archivo `.claude/settings.json` y `.claude/settings.local.json` de un proyecto. Actívela desde el que utilice:538Claude Code lee la configuración [`spellcheck`](https://code.claude.com/docs/es/settings-reference#spellcheck) desde tres lugares e la ignora en el archivo `.claude/settings.json` y `.claude/settings.local.json` de un proyecto. Actívela desde el que utilice:

539 539 

540**Configuración de usuario**540> [tab] Configuración de usuario

541 541>

542Agregue `spellcheck` a `~/.claude/settings.json`. Se aplica en cada proyecto que abre, como el resto de su [configuración de usuario](https://code.claude.com/docs/es/settings.md#where-settings-live):542> Agregue `spellcheck` a `~/.claude/settings.json`. Se aplica en cada proyecto que abre, como el resto de su [configuración de usuario](https://code.claude.com/docs/es/settings.md#where-settings-live):

543 543>

544```json theme={null}544> ```json theme={null}

545{545> {

546 "spellcheck": { "enabled": true }546> "spellcheck": { "enabled": true }

547}547> }

548```548> ```

549 

550**Línea de comandos**

551 

552Guarde `spellcheck` en un archivo JSON, como `spellcheck.json`:

553 

554```json theme={null}

555{

556 "spellcheck": { "enabled": true }

557}

558```

559 

560Luego pase el archivo a `--settings`. Se aplica solo a esa sesión:

561 

562```bash theme={null}

563claude --settings spellcheck.json

564```

565 

566**Configuración administrada**

567 549 

568Agregue `spellcheck` a una de las [fuentes de configuración administrada](https://code.claude.com/docs/es/permissions.md#managed-settings) de su organización. Se aplica a cada usuario que recibe esa configuración, y no pueden desactivarla:550> [tab] Línea de comandos

551>

552> Guarde `spellcheck` en un archivo JSON, como `spellcheck.json`:

553>

554> ```json theme={null}

555> {

556> "spellcheck": { "enabled": true }

557> }

558> ```

559>

560> Luego pase el archivo a `--settings`. Se aplica solo a esa sesión:

561>

562> ```bash theme={null}

563> claude --settings spellcheck.json

564> ```

569 565 

570```json theme={null}566> [tab] Configuración administrada

571{567>

572 "spellcheck": { "enabled": true }568> Agregue `spellcheck` a una de las [fuentes de configuración administrada](https://code.claude.com/docs/es/permissions.md#managed-settings) de su organización. Se aplica a cada usuario que recibe esa configuración, y no pueden desactivarla:

573}569>

574```570> ```json theme={null}

571> {

572> "spellcheck": { "enabled": true }

573> }

574> ```

575 575 

576Para verificar que la verificación ortográfica está activada, escriba una palabra mal escrita y un espacio. Claude Code subraya la palabra. Si no lo hace, consulte [Cuando Claude Code no subraya nada](#when-claude-code-underlines-nothing). Para desactivar la verificación ortográfica nuevamente, establezca `enabled` en `false` en el mismo lugar, o elimine `spellcheck`.576Para verificar que la verificación ortográfica está activada, escriba una palabra mal escrita y un espacio. Claude Code subraya la palabra. Si no lo hace, consulte [Cuando Claude Code no subraya nada](#when-claude-code-underlines-nothing). Para desactivar la verificación ortográfica nuevamente, establezca `enabled` en `false` en el mismo lugar, o elimine `spellcheck`.

577 577 

jetbrains.md +1 −1

Details

41 41 

42Si `claude` está instalado en algún lugar que su IDE no puede encontrar, establezca la ruta completa en la [configuración del comando Claude](#general-settings) del plugin.42Si `claude` está instalado en algún lugar que su IDE no puede encontrar, establezca la ruta completa en la [configuración del comando Claude](#general-settings) del plugin.

43 43 

44Claude Code funciona con cualquier suscripción de Claude de pago (Pro, Max, Team o Enterprise) o una cuenta de Claude Console, y no se requiere ninguna clave API. Se le pedirá que [inicie sesión](https://code.claude.com/docs/es/authentication.md#log-in-to-claude-code) la primera vez que ejecute `claude`.44Claude Code funciona con cualquier suscripción de Claude de pago (Pro, Max, Ultra, Team o Enterprise) o una cuenta de Claude Console, y no se requiere ninguna clave de API. Se te pedirá que [inicies sesión](https://code.claude.com/docs/es/authentication.md#log-in-to-claude-code) la primera vez que ejecutes `claude`.

45 45 

46## Uso46## Uso

47 47 

Details

73 73 

74Reemplace los valores con los que su equipo de puerta de enlace le dio:74Reemplace los valores con los que su equipo de puerta de enlace le dio:

75 75 

76**Bash o Zsh**76> [tab] Bash o Zsh

77 77>

78```bash theme={null}78> ```bash theme={null}

79export ANTHROPIC_BASE_URL=https://llm-gateway.example.com79> export ANTHROPIC_BASE_URL=https://llm-gateway.example.com

80export ANTHROPIC_AUTH_TOKEN=sk-gateway-key80> export ANTHROPIC_AUTH_TOKEN=sk-gateway-key

81```81> ```

82 

83**PowerShell**

84 82 

85```powershell theme={null}83> [tab] PowerShell

86$env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"84>

87$env:ANTHROPIC_AUTH_TOKEN = "sk-gateway-key"85> ```powershell theme={null}

88```86> $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"

87> $env:ANTHROPIC_AUTH_TOKEN = "sk-gateway-key"

88> ```

89 89 

90Las exportaciones de shell se aplican solo a esa sesión de terminal y a los programas iniciados desde ella. Un editor lanzado desde el dock o el menú Inicio no las verá. Para que los valores persistan en nuevas terminales, agregue las mismas líneas a su perfil de shell, como `~/.zshrc`, `~/.bashrc`, o su `$PROFILE` de PowerShell.90Las exportaciones de shell se aplican solo a esa sesión de terminal y a los programas iniciados desde ella. Un editor lanzado desde el dock o el menú Inicio no las verá. Para que los valores persistan en nuevas terminales, agregue las mismas líneas a su perfil de shell, como `~/.zshrc`, `~/.bashrc`, o su `$PROFILE` de PowerShell.

91 91 


119 119 

120Con las variables exportadas en su shell, envíe una solicitud de un token a la puerta de enlace directamente. Esto confirma que la URL y la credencial funcionan antes de abrir Claude Code, por lo que una falla apunta a la puerta de enlace en lugar de su configuración. Los comandos a continuación leen las variables de shell, por lo que necesitan las [exportaciones de shell](#set-as-shell-environment-variables) incluso si también pone los valores en un archivo de configuración.120Con las variables exportadas en su shell, envíe una solicitud de un token a la puerta de enlace directamente. Esto confirma que la URL y la credencial funcionan antes de abrir Claude Code, por lo que una falla apunta a la puerta de enlace en lugar de su configuración. Los comandos a continuación leen las variables de shell, por lo que necesitan las [exportaciones de shell](#set-as-shell-environment-variables) incluso si también pone los valores en un archivo de configuración.

121 121 

122**Bash o Zsh**122> [tab] Bash o Zsh

123 123>

124```bash theme={null}124> ```bash theme={null}

125curl -sS -w '\n%{http_code}\n' -X POST "$ANTHROPIC_BASE_URL/v1/messages" \125> curl -sS -w '\n%{http_code}\n' -X POST "$ANTHROPIC_BASE_URL/v1/messages" \

126 -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \126> -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \

127 -H "anthropic-version: 2023-06-01" \127> -H "anthropic-version: 2023-06-01" \

128 -H "content-type: application/json" \128> -H "content-type: application/json" \

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

130```130> ```

131 131 

132**PowerShell**132> [tab] PowerShell

133 133>

134```powershell theme={null}134> ```powershell theme={null}

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

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

137 -ContentType "application/json" `137> -ContentType "application/json" `

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

139```139> ```

140 140 

141Si su puerta de enlace espera claves en el encabezado `x-api-key`, reemplace el encabezado `Authorization` con `x-api-key: $ANTHROPIC_API_KEY` en el comando Bash, o la entrada de tabla hash `"Authorization"` con `"x-api-key" = "$env:ANTHROPIC_API_KEY"` en el comando PowerShell.141Si su puerta de enlace espera claves en el encabezado `x-api-key`, reemplace el encabezado `Authorization` con `x-api-key: $ANTHROPIC_API_KEY` en el comando Bash, o la entrada de tabla hash `"Authorization"` con `"x-api-key" = "$env:ANTHROPIC_API_KEY"` en el comando PowerShell.

142 142 


274 274 

275Algunas puertas de enlace enrutan o etiquetan solicitudes usando un encabezado personalizado además de la credencial, por ejemplo un identificador de inquilino o una clave de enrutamiento. Para enviar uno, establezca [`ANTHROPIC_CUSTOM_HEADERS`](https://code.claude.com/docs/es/env-vars) con un par `Name: Value` por línea. El ejemplo a continuación agrega un encabezado de enrutamiento llamado `X-Org-Route`:275Algunas puertas de enlace enrutan o etiquetan solicitudes usando un encabezado personalizado además de la credencial, por ejemplo un identificador de inquilino o una clave de enrutamiento. Para enviar uno, establezca [`ANTHROPIC_CUSTOM_HEADERS`](https://code.claude.com/docs/es/env-vars) con un par `Name: Value` por línea. El ejemplo a continuación agrega un encabezado de enrutamiento llamado `X-Org-Route`:

276 276 

277**Bash o Zsh**277> [tab] Bash o Zsh

278 278>

279```bash theme={null}279> ```bash theme={null}

280export ANTHROPIC_CUSTOM_HEADERS="X-Org-Route: prod"280> export ANTHROPIC_CUSTOM_HEADERS="X-Org-Route: prod"

281```281> ```

282 

283**PowerShell**

284 282 

285```powershell theme={null}283> [tab] PowerShell

286$env:ANTHROPIC_CUSTOM_HEADERS = "X-Org-Route: prod"284>

287```285> ```powershell theme={null}

286> $env:ANTHROPIC_CUSTOM_HEADERS = "X-Org-Route: prod"

287> ```

288 288 

289También puede establecer `ANTHROPIC_CUSTOM_HEADERS` en el bloque `env` de un archivo de configuración. Use `\n` entre pares allí, ya que las cadenas JSON no pueden abarcar múltiples líneas:289También puede establecer `ANTHROPIC_CUSTOM_HEADERS` en el bloque `env` de un archivo de configuración. Use `\n` entre pares allí, ya que las cadenas JSON no pueden abarcar múltiples líneas:

290 290 


318 318 

319El asistente es cualquier comando de shell que imprime la credencial actual en stdout. Claude Code lo ejecuta a través de su shell del sistema, por lo que en Windows puede ser un ejecutable o una invocación de PowerShell. Haga que el comando no imprima nada más que la credencial. En Claude Code v2.1.227 o posterior, un encabezado o una línea de registro impresa junto a la clave hace que el [asistente falle](https://code.claude.com/docs/es/errors.md#your-apikeyhelper-script-is-failing). Escriba el script, hágalo ejecutable, y haga referencia a él desde `apiKeyHelper` en su [archivo de configuración](https://code.claude.com/docs/es/settings.md):319El asistente es cualquier comando de shell que imprime la credencial actual en stdout. Claude Code lo ejecuta a través de su shell del sistema, por lo que en Windows puede ser un ejecutable o una invocación de PowerShell. Haga que el comando no imprima nada más que la credencial. En Claude Code v2.1.227 o posterior, un encabezado o una línea de registro impresa junto a la clave hace que el [asistente falle](https://code.claude.com/docs/es/errors.md#your-apikeyhelper-script-is-failing). Escriba el script, hágalo ejecutable, y haga referencia a él desde `apiKeyHelper` en su [archivo de configuración](https://code.claude.com/docs/es/settings.md):

320 320 

321**Bash o Zsh**321> [tab] Bash o Zsh

322 322>

323Por ejemplo, un script que lee desde un almacén:323> Por ejemplo, un script que lee desde un almacén:

324 324>

325```bash theme={null}325> ```bash theme={null}

326#!/bin/bash326> #!/bin/bash

327vault kv get -field=api_key secret/llm-gateway/claude-code327> vault kv get -field=api_key secret/llm-gateway/claude-code

328```328> ```

329 329>

330Haga referencia a su ruta en `~/.claude/settings.json`:330> Haga referencia a su ruta en `~/.claude/settings.json`:

331 331>

332```json theme={null}332> ```json theme={null}

333{333> {

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

335}335> }

336```336> ```

337 

338**PowerShell**

339 

340Por ejemplo, un script que lee desde un almacén:

341 

342```powershell theme={null}

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

344```

345 

346Haga referencia a la invocación de PowerShell en `%USERPROFILE%\.claude\settings.json`, escapando las barras invertidas en la cadena JSON:

347 337 

348```json theme={null}338> [tab] PowerShell

349{339>

350 "apiKeyHelper": "powershell -NoProfile -File C:\\scripts\\get-gateway-key.ps1"340> Por ejemplo, un script que lee desde un almacén:

351}341>

352```342> ```powershell theme={null}

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

344> ```

345>

346> Haga referencia a la invocación de PowerShell en `%USERPROFILE%\.claude\settings.json`, escapando las barras invertidas en la cadena JSON:

347>

348> ```json theme={null}

349> {

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

351> }

352> ```

353 353 

354Claude Code almacena en caché la salida del asistente durante cinco minutos de forma predeterminada y re-ejecuta el asistente después de que vence la duración del caché. Para cambiar la duración, establezca `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` en milisegundos, por ejemplo `CLAUDE_CODE_API_KEY_HELPER_TTL_MS=900000` para 15 minutos.354Claude Code almacena en caché la salida del asistente durante cinco minutos de forma predeterminada y re-ejecuta el asistente después de que vence la duración del caché. Para cambiar la duración, establezca `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` en milisegundos, por ejemplo `CLAUDE_CODE_API_KEY_HELPER_TTL_MS=900000` para 15 minutos.

355 355 


363 363 

364Para desactivar ese tráfico, establezca `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` junto con las variables de puerta de enlace, en las mismas exportaciones de shell o bloque `env` del archivo de configuración:364Para desactivar ese tráfico, establezca `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` junto con las variables de puerta de enlace, en las mismas exportaciones de shell o bloque `env` del archivo de configuración:

365 365 

366**Bash o Zsh**366> [tab] Bash o Zsh

367 367>

368```bash theme={null}368> ```bash theme={null}

369export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1369> export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1

370```370> ```

371 

372**PowerShell**

373 371 

374```powershell theme={null}372> [tab] PowerShell

375$env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = "1"373>

376```374> ```powershell theme={null}

375> $env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = "1"

376> ```

377 377 

378Establecer la variable tiene estos efectos y limitaciones:378Establecer la variable tiene estos efectos y limitaciones:

379 379 


398 398 

399Deje `AWS_BEARER_TOKEN_BEDROCK` sin establecer cuando la puerta de enlace emite su propia credencial. Si lo establece, Claude Code envía esa [clave de API de Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md#2-configure-aws-credentials) como el encabezado `Authorization` en lugar de su token de puerta de enlace, incluso con `CLAUDE_CODE_SKIP_BEDROCK_AUTH` establecido.399Deje `AWS_BEARER_TOKEN_BEDROCK` sin establecer cuando la puerta de enlace emite su propia credencial. Si lo establece, Claude Code envía esa [clave de API de Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md#2-configure-aws-credentials) como el encabezado `Authorization` en lugar de su token de puerta de enlace, incluso con `CLAUDE_CODE_SKIP_BEDROCK_AUTH` establecido.

400 400 

401**Bash o Zsh**401> [tab] Bash o Zsh

402 402>

403```bash theme={null}403> ```bash theme={null}

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

405export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1405> export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1

406export CLAUDE_CODE_USE_BEDROCK=1406> export CLAUDE_CODE_USE_BEDROCK=1

407```407> ```

408 

409**PowerShell**

410 408 

411```powershell theme={null}409> [tab] PowerShell

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

413$env:CLAUDE_CODE_SKIP_BEDROCK_AUTH = "1"411> ```powershell theme={null}

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

415```413> $env:CLAUDE_CODE_SKIP_BEDROCK_AUTH = "1"

414> $env:CLAUDE_CODE_USE_BEDROCK = "1"

415> ```

416 416 

417#### Google Cloud's Agent Platform417#### Google Cloud's Agent Platform

418 418 

419Reemplace el ID del proyecto y la región con sus propios valores. Claude Code incluye ambos en la ruta de cada solicitud que envía a la puerta de enlace:419Reemplace el ID del proyecto y la región con sus propios valores. Claude Code incluye ambos en la ruta de cada solicitud que envía a la puerta de enlace:

420 420 

421**Bash o Zsh**421> [tab] Bash o Zsh

422 422>

423```bash theme={null}423> ```bash theme={null}

424export ANTHROPIC_VERTEX_BASE_URL=https://llm-gateway.example.com/vertex424> export ANTHROPIC_VERTEX_BASE_URL=https://llm-gateway.example.com/vertex

425export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id425> export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

426export CLAUDE_CODE_SKIP_VERTEX_AUTH=1426> export CLAUDE_CODE_SKIP_VERTEX_AUTH=1

427export CLAUDE_CODE_USE_VERTEX=1427> export CLAUDE_CODE_USE_VERTEX=1

428export CLOUD_ML_REGION=us-east5428> export CLOUD_ML_REGION=us-east5

429```429> ```

430 430 

431**PowerShell**431> [tab] PowerShell

432 432>

433```powershell theme={null}433> ```powershell theme={null}

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

435$env:ANTHROPIC_VERTEX_PROJECT_ID = "your-gcp-project-id"435> $env:ANTHROPIC_VERTEX_PROJECT_ID = "your-gcp-project-id"

436$env:CLAUDE_CODE_SKIP_VERTEX_AUTH = "1"436> $env:CLAUDE_CODE_SKIP_VERTEX_AUTH = "1"

437$env:CLAUDE_CODE_USE_VERTEX = "1"437> $env:CLAUDE_CODE_USE_VERTEX = "1"

438$env:CLOUD_ML_REGION = "us-east5"438> $env:CLOUD_ML_REGION = "us-east5"

439```439> ```

440 440 

441El bloque cubre enrutamiento y autenticación. Las anulaciones de región y fijaciones de modelo de la [configuración de Agent Platform](https://code.claude.com/docs/es/google-vertex-ai.md#4-configure-claude-code) se aplican a través de una puerta de enlace también:441El bloque cubre enrutamiento y autenticación. Las anulaciones de región y fijaciones de modelo de la [configuración de Agent Platform](https://code.claude.com/docs/es/google-vertex-ai.md#4-configure-claude-code) se aplican a través de una puerta de enlace también:

442 442 


450 450 

451Para un gateway que inyecta su propio encabezado `Authorization`, establece `CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1` y deja ambas variables de credencial sin establecer. Claude Code envía entonces las solicitudes sin una credencial de Azure y conserva el encabezado `Authorization` que proporciones, por ejemplo a través de `ANTHROPIC_CUSTOM_HEADERS`.451Para un gateway que inyecta su propio encabezado `Authorization`, establece `CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1` y deja ambas variables de credencial sin establecer. Claude Code envía entonces las solicitudes sin una credencial de Azure y conserva el encabezado `Authorization` que proporciones, por ejemplo a través de `ANTHROPIC_CUSTOM_HEADERS`.

452 452 

453**Bash o Zsh**453> [tab] Bash o Zsh

454 454>

455```bash theme={null}455> ```bash theme={null}

456export ANTHROPIC_FOUNDRY_BASE_URL=https://llm-gateway.example.com/foundry456> export ANTHROPIC_FOUNDRY_BASE_URL=https://llm-gateway.example.com/foundry

457export ANTHROPIC_FOUNDRY_API_KEY=sk-gateway-key457> export ANTHROPIC_FOUNDRY_API_KEY=sk-gateway-key

458export CLAUDE_CODE_USE_FOUNDRY=1458> export CLAUDE_CODE_USE_FOUNDRY=1

459```459> ```

460 

461**PowerShell**

462 460 

463```powershell theme={null}461> [tab] PowerShell

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

465$env:ANTHROPIC_FOUNDRY_API_KEY = "sk-gateway-key"463> ```powershell theme={null}

466$env:CLAUDE_CODE_USE_FOUNDRY = "1"464> $env:ANTHROPIC_FOUNDRY_BASE_URL = "https://llm-gateway.example.com/foundry"

467```465> $env:ANTHROPIC_FOUNDRY_API_KEY = "sk-gateway-key"

466> $env:CLAUDE_CODE_USE_FOUNDRY = "1"

467> ```

468 468 

469#### Claude Platform en AWS469#### Claude Platform en AWS

470 470 

471Consulte [Claude Platform en AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md) para el ID del espacio de trabajo.471Consulte [Claude Platform en AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md) para el ID del espacio de trabajo.

472 472 

473**Bash o Zsh**473> [tab] Bash o Zsh

474 474>

475```bash theme={null}475> ```bash theme={null}

476export ANTHROPIC_AWS_BASE_URL=https://llm-gateway.example.com/anthropic-aws476> export ANTHROPIC_AWS_BASE_URL=https://llm-gateway.example.com/anthropic-aws

477export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN477> export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

478export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1478> export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1

479export CLAUDE_CODE_USE_ANTHROPIC_AWS=1479> export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

480```480> ```

481 481 

482**PowerShell**482> [tab] PowerShell

483 483>

484```powershell theme={null}484> ```powershell theme={null}

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

486$env:ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN"486> $env:ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN"

487$env:CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH = "1"487> $env:CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH = "1"

488$env:CLAUDE_CODE_USE_ANTHROPIC_AWS = "1"488> $env:CLAUDE_CODE_USE_ANTHROPIC_AWS = "1"

489```489> ```

490 490 

491#### Confirmar la ruta del proveedor491#### Confirmar la ruta del proveedor

492 492 

Details

62* `<gateway-key>` es cualquier credencial que le permita llamar a la puerta de enlace en este momento: una clave administrativa, una clave de prueba, o su propia clave de desarrollador si ya ha emitido una. No todos los productos de puerta de enlace tienen una credencial de administrador separada; si el suyo no la tiene, emítase una clave de desarrollador en [Emitir credenciales de desarrollador](#issue-developer-credentials) primero62* `<gateway-key>` es cualquier credencial que le permita llamar a la puerta de enlace en este momento: una clave administrativa, una clave de prueba, o su propia clave de desarrollador si ya ha emitido una. No todos los productos de puerta de enlace tienen una credencial de administrador separada; si el suyo no la tiene, emítase una clave de desarrollador en [Emitir credenciales de desarrollador](#issue-developer-credentials) primero

63* `model` es un nombre de modelo Claude que su puerta de enlace está configurada para enrutar. El ejemplo usa `claude-sonnet-4-6`; sustituya un nombre que haya configurado63* `model` es un nombre de modelo Claude que su puerta de enlace está configurada para enrutar. El ejemplo usa `claude-sonnet-4-6`; sustituya un nombre que haya configurado

64 64 

65**Bash o Zsh**65> [tab] Bash o Zsh

66 66>

67```bash theme={null}67> ```bash theme={null}

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

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

70 -H "anthropic-version: 2023-06-01" \70> -H "anthropic-version: 2023-06-01" \

71 -H "content-type: application/json" \71> -H "content-type: application/json" \

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

73```73> ```

74 74 

75**PowerShell**75> [tab] PowerShell

76 76>

77```powershell theme={null}77> ```powershell theme={null}

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

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

80 -ContentType "application/json" `80> -ContentType "application/json" `

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

82```82> ```

83 83 

84**Punto de control**: un `200` con un campo `content` significa que la puerta de enlace alcanzó al proveedor con ese nombre de modelo. Un `404` significa que ese nombre no está enrutado en la puerta de enlace; un `401` del proveedor significa que la credencial de proveedor de la puerta de enlace es incorrecta.84**Punto de control**: un `200` con un campo `content` significa que la puerta de enlace alcanzó al proveedor con ese nombre de modelo. Un `404` significa que ese nombre no está enrutado en la puerta de enlace; un `401` del proveedor significa que la credencial de proveedor de la puerta de enlace es incorrecta.

85 85 


95 95 

96Confirme que una clave recién emitida funciona contra la puerta de enlace con la misma solicitud que [Confirmar que la puerta de enlace enruta sus modelos](#confirm-the-gateway-routes-your-models), reemplazando `<gateway-key>` con la nueva `<developer-key>`:96Confirme que una clave recién emitida funciona contra la puerta de enlace con la misma solicitud que [Confirmar que la puerta de enlace enruta sus modelos](#confirm-the-gateway-routes-your-models), reemplazando `<gateway-key>` con la nueva `<developer-key>`:

97 97 

98**Bash o Zsh**98> [tab] Bash o Zsh

99 99>

100```bash theme={null}100> ```bash theme={null}

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

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

103 -H "anthropic-version: 2023-06-01" \103> -H "anthropic-version: 2023-06-01" \

104 -H "content-type: application/json" \104> -H "content-type: application/json" \

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

106```106> ```

107 107 

108**PowerShell**108> [tab] PowerShell

109 109>

110```powershell theme={null}110> ```powershell theme={null}

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

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

113 -ContentType "application/json" `113> -ContentType "application/json" `

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

115```115> ```

116 116 

117**Punto de control**: un `200` con un campo `content` significa que la clave de desarrollador alcanza la puerta de enlace y la puerta de enlace la reenvía. Un `401` aquí, cuando [el paso anterior](#confirm-the-gateway-routes-your-models) tuvo éxito, significa que la clave de desarrollador es incorrecta o aún no ha surtido efecto en la puerta de enlace.117**Punto de control**: un `200` con un campo `content` significa que la clave de desarrollador alcanza la puerta de enlace y la puerta de enlace la reenvía. Un `401` aquí, cuando [el paso anterior](#confirm-the-gateway-routes-your-models) tuvo éxito, significa que la clave de desarrollador es incorrecta o aún no ha surtido efecto en la puerta de enlace.

118 118 


122 122 

123Ejecute Claude Code a través de la puerta de enlace usted mismo antes de distribuir nada, usando la misma configuración que la implementación entregará en toda la flota. Escriba estos directamente en una terminal, no en un archivo `.env` o de configuración; duran solo para esta sesión de terminal, así que cerrarla devuelve su máquina a su configuración normal. Use `ANTHROPIC_API_KEY` en lugar de `ANTHROPIC_AUTH_TOKEN` si su puerta de enlace lee el encabezado `x-api-key`:123Ejecute Claude Code a través de la puerta de enlace usted mismo antes de distribuir nada, usando la misma configuración que la implementación entregará en toda la flota. Escriba estos directamente en una terminal, no en un archivo `.env` o de configuración; duran solo para esta sesión de terminal, así que cerrarla devuelve su máquina a su configuración normal. Use `ANTHROPIC_API_KEY` en lugar de `ANTHROPIC_AUTH_TOKEN` si su puerta de enlace lee el encabezado `x-api-key`:

124 124 

125**Bash o Zsh**125> [tab] Bash o Zsh

126 126>

127```bash theme={null}127> ```bash theme={null}

128export ANTHROPIC_BASE_URL=https://llm-gateway.example.com128> export ANTHROPIC_BASE_URL=https://llm-gateway.example.com

129export ANTHROPIC_AUTH_TOKEN="<developer-key>"129> export ANTHROPIC_AUTH_TOKEN="<developer-key>"

130```130> ```

131 

132**PowerShell**

133 131 

134```powershell theme={null}132> [tab] PowerShell

135$env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"133>

136$env:ANTHROPIC_AUTH_TOKEN = "<developer-key>"134> ```powershell theme={null}

137```135> $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"

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

137> ```

138 138 

139Luego envíe un indicador de una sola vez a través de la puerta de enlace:139Luego envíe un indicador de una sola vez a través de la puerta de enlace:

140 140 


224 224 

225Confirme que todo funciona desde una máquina de desarrollador, no el host de la puerta de enlace, para que la prueba cubra la ruta de red que los desarrolladores usan. Envíe una solicitud de transmisión, que verifica el punto final, paso de transmisión y enrutamiento de modelos de una vez:225Confirme que todo funciona desde una máquina de desarrollador, no el host de la puerta de enlace, para que la prueba cubra la ruta de red que los desarrolladores usan. Envíe una solicitud de transmisión, que verifica el punto final, paso de transmisión y enrutamiento de modelos de una vez:

226 226 

227**Bash o Zsh**227> [tab] Bash o Zsh

228 228>

229```bash theme={null}229> ```bash theme={null}

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

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

232 -H "anthropic-version: 2023-06-01" \232> -H "anthropic-version: 2023-06-01" \

233 -H "content-type: application/json" \233> -H "content-type: application/json" \

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

235```235> ```

236 236 

237**PowerShell**237> [tab] PowerShell

238 238>

239```powershell theme={null}239> ```powershell theme={null}

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

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

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

243 -H "anthropic-version: 2023-06-01" `243> -H "anthropic-version: 2023-06-01" `

244 -H "content-type: application/json" `244> -H "content-type: application/json" `

245 --data-binary '@-'245> --data-binary '@-'

246```246> ```

247 247 

248Debería ver líneas `data:` llegar incrementalmente. La respuesta completa llegando de una vez después de una pausa significa que la puerta de enlace está almacenando en búfer, lo que detiene Claude Code; un `404` significa que el nombre del modelo no está enrutado. Repita por nombre de modelo.248Debería ver líneas `data:` llegar incrementalmente. La respuesta completa llegando de una vez después de una pausa significa que la puerta de enlace está almacenando en búfer, lo que detiene Claude Code; un `404` significa que el nombre del modelo no está enrutado. Repita por nombre de modelo.

249 249 

managed-mcp.md +5 −5

Details

403 403 

404Los acordeones a continuación recorren cómo se evalúa un servidor contra otras combinaciones de lista de permitidos y lista de bloqueados.404Los acordeones a continuación recorren cómo se evalúa un servidor contra otras combinaciones de lista de permitidos y lista de bloqueados.

405 405 

406> **Lista de permitidos solo de URL**406> [accordion] Lista de permitidos solo de URL

407>407>

408> ```json theme={null}408> ```json theme={null}

409> {409> {


421> | Servidor HTTP en `https://external.example.com/mcp` | Bloqueado: no coincide con ningún patrón de URL |421> | Servidor HTTP en `https://external.example.com/mcp` | Bloqueado: no coincide con ningún patrón de URL |

422> | Servidor stdio con cualquier comando | Bloqueado: sin entradas de nombre o comando para coincidir |422> | Servidor stdio con cualquier comando | Bloqueado: sin entradas de nombre o comando para coincidir |

423 423 

424> **Lista de permitidos solo de comando**424> [accordion] Lista de permitidos solo de comando

425>425>

426> ```json theme={null}426> ```json theme={null}

427> {427> {


437> | Servidor stdio con `["node", "server.js"]` | Bloqueado: no coincide con comando |437> | Servidor stdio con `["node", "server.js"]` | Bloqueado: no coincide con comando |

438> | Servidor HTTP llamado `my-api` | Bloqueado: sin entradas de nombre para coincidir |438> | Servidor HTTP llamado `my-api` | Bloqueado: sin entradas de nombre para coincidir |

439 439 

440> **Lista de permitidos mixta de nombre y comando**440> [accordion] Lista de permitidos mixta de nombre y comando

441>441>

442> ```json theme={null}442> ```json theme={null}

443> {443> {


456> | Servidor HTTP llamado `github` | Permitido: coincide con nombre |456> | Servidor HTTP llamado `github` | Permitido: coincide con nombre |

457> | Servidor HTTP llamado `other-api` | Bloqueado: el nombre no coincide |457> | Servidor HTTP llamado `other-api` | Bloqueado: el nombre no coincide |

458 458 

459> **Lista de permitidos solo de nombre**459> [accordion] Lista de permitidos solo de nombre

460>460>

461> ```json theme={null}461> ```json theme={null}

462> {462> {


474> | Servidor HTTP llamado `github` | Permitido: coincide con nombre |474> | Servidor HTTP llamado `github` | Permitido: coincide con nombre |

475> | Cualquier servidor llamado `other` | Bloqueado: el nombre no coincide |475> | Cualquier servidor llamado `other` | Bloqueado: el nombre no coincide |

476 476 

477> **Lista de permitidos con anulación de lista de bloqueados**477> [accordion] Lista de permitidos con anulación de lista de bloqueados

478>478>

479> ```json theme={null}479> ```json theme={null}

480> {480> {

mcp.md +35 −35

Details

1039 1039 

1040Las pestañas cubren ambos comandos: `claude mcp add` toma tu ID de cliente y puerto de devolución de llamada como flags, y `claude mcp add-json` los toma en un objeto `oauth`. Si registraste un URI de redirección, establece el puerto de devolución de llamada en el puerto de ese URI.1040Las pestañas cubren ambos comandos: `claude mcp add` toma tu ID de cliente y puerto de devolución de llamada como flags, y `claude mcp add-json` los toma en un objeto `oauth`. Si registraste un URI de redirección, establece el puerto de devolución de llamada en el puerto de ese URI.

1041 1041 

1042**claude mcp add**1042> [tab] claude mcp add

1043 1043>

1044Usa `--client-id` para pasar el ID de cliente de tu aplicación. El flag `--client-secret` solicita el secreto con entrada enmascarada:1044> Usa `--client-id` para pasar el ID de cliente de tu aplicación. El flag `--client-secret` solicita el secreto con entrada enmascarada:

1045 1045>

1046```bash theme={null}1046> ```bash theme={null}

1047claude mcp add --transport http \1047> claude mcp add --transport http \

1048 --client-id your-client-id --client-secret --callback-port 8080 \1048> --client-id your-client-id --client-secret --callback-port 8080 \

1049 my-server https://mcp.example.com/mcp1049> my-server https://mcp.example.com/mcp

1050```1050> ```

1051 

1052**claude mcp add-json**

1053 

1054Incluye el objeto `oauth` en la configuración JSON y pasa `--client-secret` como un flag separado:

1055 

1056```bash theme={null}

1057claude mcp add-json my-server \

1058 '{"type":"http","url":"https://mcp.example.com/mcp","oauth":{"clientId":"your-client-id","callbackPort":8080}}' \

1059 --client-secret

1060```

1061 

1062**claude mcp add-json (callback port only)**

1063 

1064Para fijar solo el puerto de devolución de llamada y dejar que Claude Code registre el cliente automáticamente, establece `callbackPort` por sí solo:

1065 

1066```bash theme={null}

1067claude mcp add-json my-server \

1068 '{"type":"http","url":"https://mcp.example.com/mcp","oauth":{"callbackPort":8080}}'

1069```

1070 1051 

1071**CI / env var**1052> [tab] claude mcp add-json

1053>

1054> Incluye el objeto `oauth` en la configuración JSON y pasa `--client-secret` como un flag separado:

1055>

1056> ```bash theme={null}

1057> claude mcp add-json my-server \

1058> '{"type":"http","url":"https://mcp.example.com/mcp","oauth":{"clientId":"your-client-id","callbackPort":8080}}' \

1059> --client-secret

1060> ```

1072 1061 

1073Establece el secreto a través de una variable de entorno para omitir la solicitud interactiva:1062> [tab] claude mcp add-json (callback port only)

1063>

1064> Para fijar solo el puerto de devolución de llamada y dejar que Claude Code registre el cliente automáticamente, establece `callbackPort` por sí solo:

1065>

1066> ```bash theme={null}

1067> claude mcp add-json my-server \

1068> '{"type":"http","url":"https://mcp.example.com/mcp","oauth":{"callbackPort":8080}}'

1069> ```

1074 1070 

1075```bash theme={null}1071> [tab] CI / env var

1076MCP_CLIENT_SECRET=your-secret claude mcp add --transport http \1072>

1077 --client-id your-client-id --client-secret --callback-port 8080 \1073> Establece el secreto a través de una variable de entorno para omitir la solicitud interactiva:

1078 my-server https://mcp.example.com/mcp1074>

1079```1075> ```bash theme={null}

1076> MCP_CLIENT_SECRET=your-secret claude mcp add --transport http \

1077> --client-id your-client-id --client-secret --callback-port 8080 \

1078> my-server https://mcp.example.com/mcp

1079> ```

1080 1080 

1081**3. Autentícate en Claude Code**1081**3. Autentícate en Claude Code**

1082 1082 

Details

286 286 

287Si un servidor no se conecta, revisa su estado con `/mcp` dentro de una sesión o con `claude mcp list` desde tu shell, y luego busca el síntoma correspondiente a continuación. El panel `/mcp` también te permite reconectar o autenticarte sin salir de la sesión.287Si un servidor no se conecta, revisa su estado con `/mcp` dentro de una sesión o con `claude mcp list` desde tu shell, y luego busca el síntoma correspondiente a continuación. El panel `/mcp` también te permite reconectar o autenticarte sin salir de la sesión.

288 288 

289> **/mcp muestra No MCP servers configured**289> [accordion] /mcp muestra No MCP servers configured

290>290>

291> Claude Code no encontró ningún servidor para el directorio actual. Las causas más comunes:291> Claude Code no encontró ningún servidor para el directorio actual. Las causas más comunes:

292>292>


294> * Editaste un archivo de configuración en la ruta equivocada. Los archivos correctos son `~/.claude.json` y `<project>/.mcp.json`. Claude Code no lee rutas como `~/.claude/.mcp.json`, `~/.claude/config/mcp.json`, `~/.claude/mcp.json` ni `%APPDATA%\Claude\mcp.json`. Para servidores con alcance de usuario, ejecuta `claude mcp add --scope user`, que escribe en la clave `mcpServers` de `~/.claude.json`; para servidores con alcance de proyecto, edita `.mcp.json` en la raíz del proyecto.294> * Editaste un archivo de configuración en la ruta equivocada. Los archivos correctos son `~/.claude.json` y `<project>/.mcp.json`. Claude Code no lee rutas como `~/.claude/.mcp.json`, `~/.claude/config/mcp.json`, `~/.claude/mcp.json` ni `%APPDATA%\Claude\mcp.json`. Para servidores con alcance de usuario, ejecuta `claude mcp add --scope user`, que escribe en la clave `mcpServers` de `~/.claude.json`; para servidores con alcance de proyecto, edita `.mcp.json` en la raíz del proyecto.

295> * Escribiste una entrada mal formada en `.mcp.json`. Claude Code omite esa entrada y aun así carga las demás. Ejecuta `claude mcp list` desde tu shell y busca la advertencia de análisis, que indica el campo problemático.295> * Escribiste una entrada mal formada en `.mcp.json`. Claude Code omite esa entrada y aun así carga las demás. Ejecuta `claude mcp list` desde tu shell y busca la advertencia de análisis, que indica el campo problemático.

296 296 

297> **El estado muestra Failed to connect o Connection error**297> [accordion] El estado muestra Failed to connect o Connection error

298>298>

299> Ambos estados significan que el servidor no se inició o que la URL no respondió. También pueden aparecer en servidores HTTP que rechazan el token que configuraste en `headers.Authorization`; un servidor que requiere un token que no has configurado muestra `! Needs authentication` en su lugar, lo cual se trata en [Conectar un servidor que requiere inicio de sesión](#connect-a-server-that-requires-sign-in).299> Ambos estados significan que el servidor no se inició o que la URL no respondió. También pueden aparecer en servidores HTTP que rechazan el token que configuraste en `headers.Authorization`; un servidor que requiere un token que no has configurado muestra `! Needs authentication` en su lugar, lo cual se trata en [Conectar un servidor que requiere inicio de sesión](#connect-a-server-that-requires-sign-in).

300>300>


334> Ejecuta `claude mcp get <name>` y confirma que el comando que aparece ahí coincide con el que acabas de ejecutar. Si el comando mostrado difiere del que escribiste, probablemente omitiste el separador `--` antes del comando del servidor. Elimina el servidor y vuelve a agregarlo con `--` en su lugar. Si escribiste `.mcp.json` a mano, revisa su sintaxis y ubicación. Antes de v2.1.285, `claude mcp get` no mostraba ninguna línea `Command` para una entrada stdio guardada sin un campo `type`, como una entrada de `.mcp.json` escrita a mano. En esas versiones, ejecuta `claude mcp list` en su lugar, que muestra la línea de comando en cualquier caso.334> Ejecuta `claude mcp get <name>` y confirma que el comando que aparece ahí coincide con el que acabas de ejecutar. Si el comando mostrado difiere del que escribiste, probablemente omitiste el separador `--` antes del comando del servidor. Elimina el servidor y vuelve a agregarlo con `--` en su lugar. Si escribiste `.mcp.json` a mano, revisa su sintaxis y ubicación. Antes de v2.1.285, `claude mcp get` no mostraba ninguna línea `Command` para una entrada stdio guardada sin un campo `type`, como una entrada de `.mcp.json` escrita a mano. En esas versiones, ejecuta `claude mcp list` en su lugar, que muestra la línea de comando en cualquier caso.

335> * El comando da error: el mensaje indica lo que falta, como Node.js o un navegador.335> * El comando da error: el mensaje indica lo que falta, como Node.js o un navegador.

336 336 

337> **Se agotó el tiempo de espera de la conexión al iniciar**337> [accordion] Se agotó el tiempo de espera de la conexión al iniciar

338>338>

339> El servidor tardó más que el tiempo de espera de inicio predeterminado de 30 segundos. La primera ejecución de un servidor stdio puede ser lenta mientras `npx` descarga el paquete. Aumenta el límite con la variable de entorno [`MCP_TIMEOUT`](https://code.claude.com/docs/es/env-vars), en milisegundos:339> El servidor tardó más que el tiempo de espera de inicio predeterminado de 30 segundos. La primera ejecución de un servidor stdio puede ser lenta mientras `npx` descarga el paquete. Aumenta el límite con la variable de entorno [`MCP_TIMEOUT`](https://code.claude.com/docs/es/env-vars), en milisegundos:

340>340>


350>350>

351> Antes de v2.1.299, a algunas conexiones a servidores HTTP que estaban activos se les agotaba el tiempo de espera al iniciar, sin importar `MCP_TIMEOUT`. Si usas una de esas versiones y a un servidor HTTP que está activo se le sigue agotando el tiempo de espera después de aumentar el límite, [actualiza Claude Code](https://code.claude.com/docs/es/setup.md#update-claude-code).351> Antes de v2.1.299, a algunas conexiones a servidores HTTP que estaban activos se les agotaba el tiempo de espera al iniciar, sin importar `MCP_TIMEOUT`. Si usas una de esas versiones y a un servidor HTTP que está activo se le sigue agotando el tiempo de espera después de aumentar el límite, [actualiza Claude Code](https://code.claude.com/docs/es/setup.md#update-claude-code).

352 352 

353> **El servidor ya existe**353> [accordion] El servidor ya existe

354>354>

355> Ya agregaste un servidor con ese nombre en el mismo alcance. Elimina primero la entrada existente o elige un nombre diferente:355> Ya agregaste un servidor con ese nombre en el mismo alcance. Elimina primero la entrada existente o elige un nombre diferente:

356>356>


360>360>

361> Si el nombre existe en más de un alcance, `remove` informa `exists in multiple scopes`. Pasa `--scope` para elegir qué copia eliminar, por ejemplo `claude mcp remove claude-code-docs --scope local`.361> Si el nombre existe en más de un alcance, `remove` informa `exists in multiple scopes`. Pasa `--scope` para elegir qué copia eliminar, por ejemplo `claude mcp remove claude-code-docs --scope local`.

362 362 

363> **El servidor se conecta pero no aparecen herramientas**363> [accordion] El servidor se conecta pero no aparecen herramientas

364>364>

365> Ejecuta `/mcp` dentro de una sesión y selecciona el servidor para ver su lista de herramientas. Si la lista está vacía, el servidor se inició pero no registró ninguna herramienta, lo que normalmente significa que le falta una variable de entorno obligatoria, como una clave de API.365> Ejecuta `/mcp` dentro de una sesión y selecciona el servidor para ver su lista de herramientas. Si la lista está vacía, el servidor se inició pero no registró ninguna herramienta, lo que normalmente significa que le falta una variable de entorno obligatoria, como una clave de API.

366>366>


368>368>

369> Antes de v2.1.302, `/mcp` mostraba el estado `tools fetch failed` para un servidor que usaba la [revisión del protocolo 2026-07-28](https://code.claude.com/docs/es/mcp.md#mcp-client-runtimes) y que omitía `resultType`, `ttlMs` o `cacheScope` en sus respuestas. Si usas una de esas versiones y un servidor muestra ese estado, [actualiza Claude Code](https://code.claude.com/docs/es/setup.md#update-claude-code).369> Antes de v2.1.302, `/mcp` mostraba el estado `tools fetch failed` para un servidor que usaba la [revisión del protocolo 2026-07-28](https://code.claude.com/docs/es/mcp.md#mcp-client-runtimes) y que omitía `resultType`, `ttlMs` o `cacheScope` en sus respuestas. Si usas una de esas versiones y un servidor muestra ese estado, [actualiza Claude Code](https://code.claude.com/docs/es/setup.md#update-claude-code).

370 370 

371> **Los cambios en .mcp.json no surten efecto**371> [accordion] Los cambios en .mcp.json no surten efecto

372>372>

373> Claude Code lee `.mcp.json` al inicio de la sesión. Sal y reinicia la sesión después de editar el archivo.373> Claude Code lee `.mcp.json` al inicio de la sesión. Sal y reinicia la sesión después de editar el archivo.

374>374>


380> claude mcp reset-project-choices380> claude mcp reset-project-choices

381> ```381> ```

382 382 

383> **El inicio de sesión con OAuth falla o el navegador no se abre**383> [accordion] El inicio de sesión con OAuth falla o el navegador no se abre

384>384>

385> Ejecuta `/mcp`, selecciona el servidor y elige `Authenticate` de nuevo. Si el navegador no se abre automáticamente, copia la URL que aparece en la terminal y ábrela manualmente. Consulta [Autenticarse con servidores MCP remotos](https://code.claude.com/docs/es/mcp.md#authenticate-with-remote-mcp-servers) para conocer los puertos de callback fijos y las credenciales preconfiguradas.385> Ejecuta `/mcp`, selecciona el servidor y elige `Authenticate` de nuevo. Si el navegador no se abre automáticamente, copia la URL que aparece en la terminal y ábrela manualmente. Consulta [Autenticarse con servidores MCP remotos](https://code.claude.com/docs/es/mcp.md#authenticate-with-remote-mcp-servers) para conocer los puertos de callback fijos y las credenciales preconfiguradas.

386 386 

mobile.md +2 −2

Details

39| [Cloud sessions](https://code.claude.com/docs/es/claude-code-on-the-web.md) | Una sesión en infraestructura en la nube, administrada por Anthropic de forma predeterminada | Su repositorio está en GitHub y la tarea debe continuar ejecutándose después de dejar su teléfono. Consulte el [inicio rápido en la nube](https://code.claude.com/docs/es/web-quickstart.md) para configurar. |39| [Cloud sessions](https://code.claude.com/docs/es/claude-code-on-the-web.md) | Una sesión en infraestructura en la nube, administrada por Anthropic de forma predeterminada | Su repositorio está en GitHub y la tarea debe continuar ejecutándose después de dejar su teléfono. Consulte el [inicio rápido en la nube](https://code.claude.com/docs/es/web-quickstart.md) para configurar. |

40| [Projects](https://code.claude.com/docs/es/claude-projects.md) | Una conversación donde Claude coordina hilos de trabajo paralelos e informa de los resultados | Tiene un flujo de trabajo relacionado en lugar de una tarea y desea ver qué hilos finalizaron o lo necesitan. |40| [Projects](https://code.claude.com/docs/es/claude-projects.md) | Una conversación donde Claude coordina hilos de trabajo paralelos e informa de los resultados | Tiene un flujo de trabajo relacionado en lugar de una tarea y desea ver qué hilos finalizaron o lo necesitan. |

41| [Remote Control](https://code.claude.com/docs/es/remote-control.md) | Una sesión de Claude Code que se ejecuta en su computadora | El trabajo necesita su sistema de archivos local, herramientas o servidores MCP. |41| [Remote Control](https://code.claude.com/docs/es/remote-control.md) | Una sesión de Claude Code que se ejecuta en su computadora | El trabajo necesita su sistema de archivos local, herramientas o servidores MCP. |

42| [Dispatch](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch) | La aplicación de Escritorio en su computadora | Desea enviar un mensaje con una tarea y dejar que Dispatch decida cómo ejecutarla. Requiere un plan Pro o Max. |42| [Dispatch](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch) | La aplicación de escritorio en tu computadora | Quieres enviar una tarea por mensaje y dejar que Dispatch decida cómo ejecutarla. Requiere un plan Pro, Max o Ultra. |

43 43 

44Si su computadora estará apagada, use cloud sessions o un proyecto, que se ejecutan en la nube y continúan con su portátil cerrado. Remote Control y Dispatch conducen su propia máquina, por lo que necesita mantenerse encendida con Claude Code o la aplicación de Escritorio en ejecución. Si su máquina entra en modo de suspensión durante una sesión de Remote Control, Claude Code se reconecta cuando la máquina vuelve a estar en línea.44Si su computadora estará apagada, use cloud sessions o un proyecto, que se ejecutan en la nube y continúan con su portátil cerrado. Remote Control y Dispatch conducen su propia máquina, por lo que necesita mantenerse encendida con Claude Code o la aplicación de Escritorio en ejecución. Si su máquina entra en modo de suspensión durante una sesión de Remote Control, Claude Code se reconecta cuando la máquina vuelve a estar en línea.

45 45 


76 76 

77* **Comandos solo locales**: comandos que solo se ejecutan en la interfaz de terminal, como `/plugin` y `/resume`, no funcionan desde la aplicación. Las [limitaciones de Control Remoto](https://code.claude.com/docs/es/remote-control.md#limitations) enumeran los comandos que funcionan desde dispositivos móviles y cómo difiere su comportamiento.77* **Comandos solo locales**: comandos que solo se ejecutan en la interfaz de terminal, como `/plugin` y `/resume`, no funcionan desde la aplicación. Las [limitaciones de Control Remoto](https://code.claude.com/docs/es/remote-control.md#limitations) enumeran los comandos que funcionan desde dispositivos móviles y cómo difiere su comportamiento.

78* **Modos de permisos**: las sesiones en la nube ofrecen Aceptar ediciones, Plan y Auto, y las sesiones de Remote Control ofrecen Manual, Aceptar ediciones, Plan y Auto. No puedes seleccionar Bypass permissions desde la aplicación en ninguno de los casos. Consulta [cambiar modos de permisos](https://code.claude.com/docs/es/permission-modes.md#switch-permission-modes) para saber cuándo está disponible Auto.78* **Modos de permisos**: las sesiones en la nube ofrecen Aceptar ediciones, Plan y Auto, y las sesiones de Remote Control ofrecen Manual, Aceptar ediciones, Plan y Auto. No puedes seleccionar Bypass permissions desde la aplicación en ninguno de los casos. Consulta [cambiar modos de permisos](https://code.claude.com/docs/es/permission-modes.md#switch-permission-modes) para saber cuándo está disponible Auto.

79* **Planes de Dispatch**: Dispatch requiere un plan Pro o Max y no está disponible en Team o Enterprise.79* **Planes de Dispatch**: Dispatch requiere un plan Pro, Max o Ultra y no está disponible en Team o Enterprise.

80 80 

81## Recursos relacionados81## Recursos relacionados

82 82 

model-config.md +4 −4

Details

455 455 

456El comportamiento de `default` depende de tu tipo de cuenta:456El comportamiento de `default` depende de tu tipo de cuenta:

457 457 

458* **Pro, Max, Team, Enterprise y Anthropic API**: usa Opus 5.5 de forma predeterminada458* **Pro, Max, Ultra, Team, Enterprise y Anthropic API**: usa Opus 5.5 de forma predeterminada

459* **Claude Platform on AWS, Amazon Bedrock y Google Cloud's Agent Platform**: usa Opus 5.5 de forma predeterminada459* **Claude Platform on AWS, Amazon Bedrock y Google Cloud's Agent Platform**: usa Opus 5.5 de forma predeterminada

460* **Microsoft Foundry**: usa Sonnet 4.5 de forma predeterminada460* **Microsoft Foundry**: usa Sonnet 4.5 de forma predeterminada

461 461 

462Antes de la v2.1.280, `default` se resolvía como Sonnet 5 en Pro y Team Standard, y como Opus 5 en Max, Team Premium, Enterprise, la Anthropic API, Claude Platform on AWS, Amazon Bedrock y Google Cloud's Agent Platform a partir de la v2.1.219. Antes de la v2.1.219, `default` se resolvía como Opus 4.8 en la Anthropic API, Max, Team Premium y Enterprise de pago por uso a partir de la v2.1.154, y en Claude Platform on AWS, Amazon Bedrock y Google Cloud's Agent Platform a partir de la v2.1.207. Antes de la v2.1.207, `default` se resolvía como Opus 4.7 en Claude Platform on AWS y como Sonnet 4.5 en Amazon Bedrock y Google Cloud's Agent Platform.462Antes de la v2.1.280, `default` se resolvía como Sonnet 5 en Pro y Team Standard, y como Opus 5 en Max, Ultra, Team Premium, Enterprise, la Anthropic API, Claude Platform on AWS, Amazon Bedrock y Google Cloud's Agent Platform a partir de la v2.1.219. Antes de la v2.1.219, `default` se resolvía como Opus 4.8 en la Anthropic API, Max, Ultra, Team Premium y Enterprise de pago por uso a partir de la v2.1.154, y en Claude Platform on AWS, Amazon Bedrock y Google Cloud's Agent Platform a partir de la v2.1.207. Antes de la v2.1.207, `default` se resolvía como Opus 4.7 en Claude Platform on AWS y como Sonnet 4.5 en Amazon Bedrock y Google Cloud's Agent Platform.

463 463 

464Cuando un administrador ha establecido un [modelo predeterminado de la organización](#organization-default-model), `default` se resuelve como ese modelo en lugar del predeterminado según el tipo de cuenta indicado arriba. Requiere Claude Code v2.1.196 o posterior. `default` también puede resolverse como el modelo que estableces con [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), en las condiciones indicadas en su sección, o como el modelo [registrado en tu cuenta](#setting-your-model).464Cuando un administrador ha establecido un [modelo predeterminado de la organización](#organization-default-model), `default` se resuelve como ese modelo en lugar del predeterminado según el tipo de cuenta indicado arriba. Requiere Claude Code v2.1.196 o posterior. `default` también puede resolverse como el modelo que estableces con [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), en las condiciones indicadas en su sección, o como el modelo [registrado en tu cuenta](#setting-your-model).

465 465 


758 758 

759Fable 5.1, Fable 5, Sonnet 5 y posteriores, Haiku 5.5, y Opus 4.7 y posteriores se ejecutan con la ventana de 1M de forma predeterminada, sin necesidad del sufijo `[1m]`. Eso incluye las sesiones en Amazon Bedrock, Google Cloud's Agent Platform y Microsoft Foundry, y las sesiones de [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway). Para ejecutarlos con una ventana de 200K, consulta [Desactivar el contexto de 1M](#turn-off-1m-context).759Fable 5.1, Fable 5, Sonnet 5 y posteriores, Haiku 5.5, y Opus 4.7 y posteriores se ejecutan con la ventana de 1M de forma predeterminada, sin necesidad del sufijo `[1m]`. Eso incluye las sesiones en Amazon Bedrock, Google Cloud's Agent Platform y Microsoft Foundry, y las sesiones de [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway). Para ejecutarlos con una ventana de 200K, consulta [Desactivar el contexto de 1M](#turn-off-1m-context).

760 760 

761Opus 4.6 y Sonnet 4.6 alcanzan 1M solo mediante su variante `[1m]`, y el acceso a esa variante depende de tu plan. En los planes Max, Team y Enterprise, incluidos los puestos Team Standard y Team Premium, Opus 4.6 con contexto de 1M está incluido en tu suscripción. Sonnet 4.6 con contexto de 1M requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) en todos los planes de suscripción, incluido Max.761Opus 4.6 y Sonnet 4.6 alcanzan 1M solo mediante su variante `[1m]`, y el acceso a esa variante depende de tu plan. En los planes Max, Ultra, Team y Enterprise, incluidos los puestos Team Standard y Team Premium, Opus 4.6 con contexto de 1M está incluido en tu suscripción. Sonnet 4.6 con contexto de 1M requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) en todos los planes de suscripción, incluidos Max y Ultra.

762 762 

763| Plan | Opus 4.6 con contexto de 1M | Sonnet 4.6 con contexto de 1M |763| Plan | Opus 4.6 con contexto de 1M | Sonnet 4.6 con contexto de 1M |

764| - | - | - |764| - | - | - |

765| Max, Team y Enterprise | Incluido en la suscripción | Requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |765| Max, Ultra, Team y Enterprise | Incluido en la suscripción | Requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

766| Pro | Requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |766| Pro | Requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

767| API y pago por uso | Acceso completo | Acceso completo |767| API y pago por uso | Acceso completo | Acceso completo |

768 768 

overview.md +119 −119

Details

12 12 

13Claude Code se ejecuta en varias superficies: la terminal, extensiones de IDE, una aplicación de escritorio y la web. Elige una de las pestañas a continuación para comenzar. La mayoría de las superficies requieren una [suscripción a Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_pricing) o una cuenta de [Anthropic Console](https://platform.claude.com/). La CLI de Terminal, VS Code y JetBrains también admiten [proveedores de terceros](https://code.claude.com/docs/es/third-party-integrations.md).13Claude Code se ejecuta en varias superficies: la terminal, extensiones de IDE, una aplicación de escritorio y la web. Elige una de las pestañas a continuación para comenzar. La mayoría de las superficies requieren una [suscripción a Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_pricing) o una cuenta de [Anthropic Console](https://platform.claude.com/). La CLI de Terminal, VS Code y JetBrains también admiten [proveedores de terceros](https://code.claude.com/docs/es/third-party-integrations.md).

14 14 

15**Terminal**15> [tab] Terminal

16 16>

17La CLI completa para trabajar con Claude Code directamente en tu terminal. Edita archivos, ejecuta comandos y gestiona tu proyecto completo desde la línea de comandos.17> La CLI completa para trabajar con Claude Code directamente en tu terminal. Edita archivos, ejecuta comandos y gestiona tu proyecto completo desde la línea de comandos.

18 18>

19Para instalar Claude Code, abra una terminal y ejecute el comando para su sistema. Si nunca ha utilizado una terminal antes, la [guía de terminal](https://code.claude.com/docs/es/terminal-guide) muestra cómo abrir una y pegar el comando.19> Para instalar Claude Code, abra una terminal y ejecute el comando para su sistema. Si nunca ha utilizado una terminal antes, la [guía de terminal](https://code.claude.com/docs/es/terminal-guide) muestra cómo abrir una y pegar el comando.

20 20>

21**Instalación nativa (recomendado)**21> > [tab] Instalación nativa (recomendado)

22 22> >

23**macOS, Linux, WSL:**23> > **macOS, Linux, WSL:**

24 24> >

25```bash theme={null}25> > ```bash theme={null}

26curl -fsSL https://claude.ai/install.sh | bash26> > curl -fsSL https://claude.ai/install.sh | bash

27```27> > ```

28 28> >

29En Windows, tu prompt muestra `PS C:\` cuando estás en PowerShell y `C:\` sin el `PS` cuando estás en CMD.29> > En Windows, tu prompt muestra `PS C:\` cuando estás en PowerShell y `C:\` sin el `PS` cuando estás en CMD.

30 30> >

31**Windows PowerShell:**31> > **Windows PowerShell:**

32 32> >

33```powershell theme={null}33> > ```powershell theme={null}

34irm https://claude.ai/install.ps1 | iex34> > irm https://claude.ai/install.ps1 | iex

35```35> > ```

36 36> >

37**Windows CMD:**37> > **Windows CMD:**

38 38> >

39```batch theme={null}39> > ```batch theme={null}

40curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd40> > curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

41```41> > ```

42 42> >

43El comando de instalación no muestra ningún progreso mientras descarga Claude Code. Cuando el instalador termine, abre una nueva ventana de terminal y ejecuta `claude --version`. Una instalación que funciona correctamente imprime un número de versión. Si tu shell dice que `claude` no se encuentra o no se reconoce, el directorio de instalación aún no está en tu PATH: consulta [Corrige tu PATH](https://code.claude.com/docs/es/troubleshoot-install.md#command-not-found-claude-after-installation).43> > El comando de instalación no muestra ningún progreso mientras descarga Claude Code. Cuando el instalador termine, abre una nueva ventana de terminal y ejecuta `claude --version`. Una instalación que funciona correctamente imprime un número de versión. Si tu shell dice que `claude` no se encuentra o no se reconoce, el directorio de instalación aún no está en tu PATH: consulta [Corrige tu PATH](https://code.claude.com/docs/es/troubleshoot-install.md#command-not-found-claude-after-installation).

44 44> >

45Si ves `The token '&&' is not a valid statement separator`, estás en PowerShell, no en CMD. Si ves `'irm' is not recognized as an internal or external command`, estás en CMD, no en PowerShell.45> > Si ves `The token '&&' is not a valid statement separator`, estás en PowerShell, no en CMD. Si ves `'irm' is not recognized as an internal or external command`, estás en CMD, no en PowerShell.

46 46> >

47Si el comando de instalación falla con `syntax error near unexpected token '<'`, un `403` o cualquier otro error, consulta [Solucionar problemas de instalación](https://code.claude.com/docs/es/troubleshoot-install.md#find-your-error) para hacer coincidir el error con una solución y para conocer métodos de instalación alternativos.47> > Si el comando de instalación falla con `syntax error near unexpected token '<'`, un `403` o cualquier otro error, consulta [Solucionar problemas de instalación](https://code.claude.com/docs/es/troubleshoot-install.md#find-your-error) para hacer coincidir el error con una solución y para conocer métodos de instalación alternativos.

48 48> >

49Se recomienda [Git for Windows](https://git-scm.com/downloads/win) en Windows nativo para que Claude Code pueda utilizar la herramienta Bash. Si Git for Windows no está instalado, Claude Code utiliza PowerShell como herramienta de shell en su lugar. Las configuraciones de WSL no necesitan Git for Windows.49> > Se recomienda [Git for Windows](https://git-scm.com/downloads/win) en Windows nativo para que Claude Code pueda utilizar la herramienta Bash. Si Git for Windows no está instalado, Claude Code utiliza PowerShell como herramienta de shell en su lugar. Las configuraciones de WSL no necesitan Git for Windows.

50 50> >

51> [!NOTE]51> > > [!NOTE]

52> > >

53> > > Las instalaciones nativas se actualizan automáticamente en segundo plano para mantenerlo en la versión más reciente.

54>

55> > [tab] Homebrew

56> >

57> > ```bash theme={null}

58> > brew install --cask claude-code

59> > ```

60> >

61> > Homebrew ofrece dos casks. `claude-code` rastrea el canal de versión estable, que típicamente está aproximadamente una semana atrás y omite versiones con regresiones importantes. `claude-code@latest` rastrea el canal más reciente y recibe nuevas versiones tan pronto como se lanzan.

62> >

63> > > [!NOTE]

64> > >

65> > > Las instalaciones de Homebrew no se actualizan automáticamente. Ejecute `brew upgrade claude-code` o `brew upgrade claude-code@latest`, dependiendo de cuál cask haya instalado, para obtener las características más recientes y correcciones de seguridad.

66>

67> > [tab] WinGet

68> >

69> > ```powershell theme={null}

70> > winget install Anthropic.ClaudeCode

71> > ```

72> >

73> > > [!NOTE]

74> > >

75> > > Las instalaciones de WinGet no se actualizan automáticamente. Ejecute `winget upgrade Anthropic.ClaudeCode` periódicamente para obtener las características más recientes y correcciones de seguridad.

76>

77> También puede instalar con [apt, dnf, o apk](https://code.claude.com/docs/es/setup.md#install-with-linux-package-managers) en Debian, Fedora, RHEL y Alpine.

78>

79> Luego inicia Claude Code en cualquier proyecto. Reemplaza `your-project` con la ruta a un directorio de proyecto en tu máquina:

52>80>

53> Las instalaciones nativas se actualizan automáticamente en segundo plano para mantenerlo en la versión más reciente.81> ```bash theme={null}

54 82> cd your-project

55**Homebrew**83> claude

56 84> ```

57```bash theme={null}

58brew install --cask claude-code

59```

60 

61Homebrew ofrece dos casks. `claude-code` rastrea el canal de versión estable, que típicamente está aproximadamente una semana atrás y omite versiones con regresiones importantes. `claude-code@latest` rastrea el canal más reciente y recibe nuevas versiones tan pronto como se lanzan.

62 

63> [!NOTE]

64>85>

65> Las instalaciones de Homebrew no se actualizan automáticamente. Ejecute `brew upgrade claude-code` o `brew upgrade claude-code@latest`, dependiendo de cuál cask haya instalado, para obtener las características más recientes y correcciones de seguridad.86> Claude Code te pide que inicies sesión en el primer uso. Si estableciste la variable de entorno `ANTHROPIC_API_KEY` y apruebas la clave cuando Claude Code te pregunta si quieres usarla, Claude Code omite la solicitud de inicio de sesión. [Continúa con la Guía de inicio rápido →](https://code.claude.com/docs/es/quickstart.md)

66 

67**WinGet**

68 

69```powershell theme={null}

70winget install Anthropic.ClaudeCode

71```

72 

73> [!NOTE]

74>87>

75> Las instalaciones de WinGet no se actualizan automáticamente. Ejecute `winget upgrade Anthropic.ClaudeCode` periódicamente para obtener las características más recientes y correcciones de seguridad.88> > [!TIP]

76 89> >

77También puede instalar con [apt, dnf, o apk](https://code.claude.com/docs/es/setup.md#install-with-linux-package-managers) en Debian, Fedora, RHEL y Alpine.90> > Consulta [configuración avanzada](https://code.claude.com/docs/es/setup.md) para opciones de instalación, actualizaciones manuales o instrucciones de desinstalación. Visita [solución de problemas de instalación](https://code.claude.com/docs/es/troubleshoot-install.md) si encuentras problemas.

78 

79Luego inicia Claude Code en cualquier proyecto. Reemplaza `your-project` con la ruta a un directorio de proyecto en tu máquina:

80 91 

81```bash theme={null}92> [tab] VS Code

82cd your-project

83claude

84```

85 

86Claude Code te pide que inicies sesión en el primer uso. Si estableciste la variable de entorno `ANTHROPIC_API_KEY` y apruebas la clave cuando Claude Code te pregunta si quieres usarla, Claude Code omite la solicitud de inicio de sesión. [Continúa con la Guía de inicio rápido →](https://code.claude.com/docs/es/quickstart.md)

87 

88> [!TIP]

89>93>

90> Consulta [configuración avanzada](https://code.claude.com/docs/es/setup.md) para opciones de instalación, actualizaciones manuales o instrucciones de desinstalación. Visita [solución de problemas de instalación](https://code.claude.com/docs/es/troubleshoot-install.md) si encuentras problemas.94> La extensión de VS Code proporciona diffs en línea, menciones @, revisión de planes e historial de conversación directamente en tu editor.

91 95>

92**VS Code**96> * [Instalar para VS Code](vscode:extension/anthropic.claude-code)

93 97> * [Instalar para Cursor](cursor:extension/anthropic.claude-code)

94La extensión de VS Code proporciona diffs en línea, menciones @, revisión de planes e historial de conversación directamente en tu editor.98>

95 99> O busca "Claude Code" en la vista de Extensiones (`Cmd+Shift+X` en Mac, `Ctrl+Shift+X` en Windows/Linux). Después de instalar, abre la Paleta de comandos (`Cmd+Shift+P` / `Ctrl+Shift+P`), escribe "Claude Code" y selecciona **Abrir en Nueva Pestaña**.

96* [Instalar para VS Code](vscode:extension/anthropic.claude-code)100>

97* [Instalar para Cursor](cursor:extension/anthropic.claude-code)101> [Comenzar con VS Code →](https://code.claude.com/docs/es/vs-code.md#get-started)

98 

99O busca "Claude Code" en la vista de Extensiones (`Cmd+Shift+X` en Mac, `Ctrl+Shift+X` en Windows/Linux). Después de instalar, abre la Paleta de comandos (`Cmd+Shift+P` / `Ctrl+Shift+P`), escribe "Claude Code" y selecciona **Abrir en Nueva Pestaña**.

100 

101[Comenzar con VS Code →](https://code.claude.com/docs/es/vs-code.md#get-started)

102 

103**Aplicación de escritorio**

104 

105Una aplicación independiente para ejecutar Claude Code fuera de tu IDE o terminal. Revisa diffs visualmente, ejecuta múltiples sesiones lado a lado, programa tareas recurrentes e inicia sesiones en la nube.

106 

107Descarga e instala:

108 

109* [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) (Intel y Apple Silicon)

110* [Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs) (x64)

111* [Windows ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)

112* En Ubuntu o Debian, donde la aplicación está en beta, instálala con apt siguiendo las [instrucciones de instalación de Linux](https://code.claude.com/docs/es/desktop-linux.md)

113 

114Después de instalar, lanza Claude, inicia sesión y haz clic en la pestaña **Code** para comenzar a codificar. La aplicación incluye Claude Code, por lo que no necesitas instalar la CLI por separado. Se requiere una [suscripción de pago](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_desktop_pricing).

115 

116[Obtén más información sobre la aplicación de escritorio →](https://code.claude.com/docs/es/desktop-quickstart.md)

117 

118**Web**

119 

120Ejecuta Claude Code en tu navegador sin configuración local. Inicia tareas de larga duración y vuelve cuando estén listas, trabaja en repositorios que no tienes localmente o ejecuta múltiples tareas en paralelo. Para un cuerpo de trabajo más largo, crea un [proyecto](https://code.claude.com/docs/es/claude-projects.md) y deja que Claude coordine las sesiones paralelas por ti. Disponible en navegadores de escritorio y [la aplicación Claude para iOS y Android](https://code.claude.com/docs/es/mobile.md).

121 

122Comienza a codificar en [claude.ai/code](https://claude.ai/code).

123 

124[Comenzar →](https://code.claude.com/docs/es/web-quickstart.md)

125 

126**JetBrains**

127 102 

128Un plugin para IntelliJ IDEA, PyCharm, WebStorm y otros IDEs de JetBrains con visualización de diff interactiva y compartición de contexto de selección.103> [tab] Aplicación de escritorio

104>

105> Una aplicación independiente para ejecutar Claude Code fuera de tu IDE o terminal. Revisa diffs visualmente, ejecuta múltiples sesiones lado a lado, programa tareas recurrentes e inicia sesiones en la nube.

106>

107> Descarga e instala:

108>

109> * [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) (Intel y Apple Silicon)

110> * [Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs) (x64)

111> * [Windows ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)

112> * En Ubuntu o Debian, donde la aplicación está en beta, instálala con apt siguiendo las [instrucciones de instalación de Linux](https://code.claude.com/docs/es/desktop-linux.md)

113>

114> Después de instalar, lanza Claude, inicia sesión y haz clic en la pestaña **Code** para comenzar a codificar. La aplicación incluye Claude Code, por lo que no necesitas instalar la CLI por separado. Se requiere una [suscripción de pago](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_desktop_pricing).

115>

116> [Obtén más información sobre la aplicación de escritorio →](https://code.claude.com/docs/es/desktop-quickstart.md)

129 117 

130Instala el [plugin Claude Code](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) desde el Marketplace de JetBrains y reinicia tu IDE. El plugin requiere la CLI de Claude Code, instalada por separado; consulta los [pasos de configuración de JetBrains](https://code.claude.com/docs/es/jetbrains.md#installation).118> [tab] Web

119>

120> Ejecuta Claude Code en tu navegador sin configuración local. Inicia tareas de larga duración y vuelve cuando estén listas, trabaja en repositorios que no tienes localmente o ejecuta múltiples tareas en paralelo. Para un cuerpo de trabajo más largo, crea un [proyecto](https://code.claude.com/docs/es/claude-projects.md) y deja que Claude coordine las sesiones paralelas por ti. Disponible en navegadores de escritorio y [la aplicación Claude para iOS y Android](https://code.claude.com/docs/es/mobile.md).

121>

122> Comienza a codificar en [claude.ai/code](https://claude.ai/code).

123>

124> [Comenzar →](https://code.claude.com/docs/es/web-quickstart.md)

131 125 

132[Comenzar con JetBrains →](https://code.claude.com/docs/es/jetbrains.md)126> [tab] JetBrains

127>

128> Un plugin para IntelliJ IDEA, PyCharm, WebStorm y otros IDEs de JetBrains con visualización de diff interactiva y compartición de contexto de selección.

129>

130> Instala el [plugin Claude Code](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) desde el Marketplace de JetBrains y reinicia tu IDE. El plugin requiere la CLI de Claude Code, instalada por separado; consulta los [pasos de configuración de JetBrains](https://code.claude.com/docs/es/jetbrains.md#installation).

131>

132> [Comenzar con JetBrains →](https://code.claude.com/docs/es/jetbrains.md)

133 133 

134## Lo que puedes hacer134## Lo que puedes hacer

135 135 

136Aquí hay algunas de las formas en que puedes usar Claude Code:136Aquí hay algunas de las formas en que puedes usar Claude Code:

137 137 

138> **Automatiza el trabajo que sigues posponiendo**138> [accordion] Automatiza el trabajo que sigues posponiendo

139>139>

140> Claude Code maneja las tareas tediosas que consumen tu día: escribir pruebas para código sin probar, corregir errores de lint en un proyecto, resolver conflictos de fusión, actualizar dependencias y escribir notas de lanzamiento.140> Claude Code maneja las tareas tediosas que consumen tu día: escribir pruebas para código sin probar, corregir errores de lint en un proyecto, resolver conflictos de fusión, actualizar dependencias y escribir notas de lanzamiento.

141>141>


143> claude "write tests for the auth module, run them, and fix any failures"143> claude "write tests for the auth module, run them, and fix any failures"

144> ```144> ```

145 145 

146> **Construye características y corrige errores**146> [accordion] Construye características y corrige errores

147>147>

148> Describe lo que quieres en lenguaje natural. Claude Code planifica el enfoque, escribe el código en múltiples archivos y verifica que funcione.148> Describe lo que quieres en lenguaje natural. Claude Code planifica el enfoque, escribe el código en múltiples archivos y verifica que funcione.

149>149>

150> Para errores, pega un mensaje de error o describe el síntoma. Claude Code rastrea el problema a través de tu base de código, identifica la causa raíz e implementa una corrección. Consulta [flujos de trabajo comunes](https://code.claude.com/docs/es/common-workflows.md) para más ejemplos.150> Para errores, pega un mensaje de error o describe el síntoma. Claude Code rastrea el problema a través de tu base de código, identifica la causa raíz e implementa una corrección. Consulta [flujos de trabajo comunes](https://code.claude.com/docs/es/common-workflows.md) para más ejemplos.

151 151 

152> **Crea commits y solicitudes de extracción**152> [accordion] Crea commits y solicitudes de extracción

153>153>

154> Claude Code funciona directamente con git. Prepara cambios, escribe mensajes de commit, crea ramas y abre solicitudes de extracción.154> Claude Code funciona directamente con git. Prepara cambios, escribe mensajes de commit, crea ramas y abre solicitudes de extracción.

155>155>


159>159>

160> En CI, puedes automatizar la revisión de código y la clasificación de problemas con [GitHub Actions](https://code.claude.com/docs/es/github-actions.md) o [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md).160> En CI, puedes automatizar la revisión de código y la clasificación de problemas con [GitHub Actions](https://code.claude.com/docs/es/github-actions.md) o [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md).

161 161 

162> **Conecta tus herramientas con MCP**162> [accordion] Conecta tus herramientas con MCP

163>163>

164> El [Model Context Protocol (MCP)](https://code.claude.com/docs/es/mcp.md) es un estándar abierto para conectar herramientas de IA a fuentes de datos externas. Con MCP, Claude Code puede leer tus documentos de diseño en Google Drive, actualizar tickets en Jira, extraer datos de Slack o usar tu propia herramienta personalizada. El [inicio rápido de MCP](https://code.claude.com/docs/es/mcp-quickstart.md) conecta tu primer servidor de extremo a extremo.164> El [Model Context Protocol (MCP)](https://code.claude.com/docs/es/mcp.md) es un estándar abierto para conectar herramientas de IA a fuentes de datos externas. Con MCP, Claude Code puede leer tus documentos de diseño en Google Drive, actualizar tickets en Jira, extraer datos de Slack o usar tu propia herramienta personalizada. El [inicio rápido de MCP](https://code.claude.com/docs/es/mcp-quickstart.md) conecta tu primer servidor de extremo a extremo.

165 165 

166> **Personaliza con instrucciones, skills y hooks**166> [accordion] Personaliza con instrucciones, skills y hooks

167>167>

168> [`CLAUDE.md`](https://code.claude.com/docs/es/memory) es un archivo markdown que añades a la raíz de tu proyecto que Claude Code lee al inicio de cada sesión. Úsalo para establecer estándares de codificación, decisiones de arquitectura, librerías preferidas y listas de verificación de revisión. Si tu repositorio ya tiene un `AGENTS.md` para otros agentes de codificación, Claude Code [puede leerlo](https://code.claude.com/docs/es/memory.md#agents-md) en lugar de un `CLAUDE.md`. Claude también crea [memoria automática](https://code.claude.com/docs/es/memory.md#auto-memory) mientras trabaja, guardando aprendizajes en sesiones sin que escribas nada.168> [`CLAUDE.md`](https://code.claude.com/docs/es/memory) es un archivo markdown que añades a la raíz de tu proyecto que Claude Code lee al inicio de cada sesión. Úsalo para establecer estándares de codificación, decisiones de arquitectura, librerías preferidas y listas de verificación de revisión. Si tu repositorio ya tiene un `AGENTS.md` para otros agentes de codificación, Claude Code [puede leerlo](https://code.claude.com/docs/es/memory.md#agents-md) en lugar de un `CLAUDE.md`. Claude también crea [memoria automática](https://code.claude.com/docs/es/memory.md#auto-memory) mientras trabaja, guardando aprendizajes en sesiones sin que escribas nada.

169>169>


171>171>

172> [Hooks](https://code.claude.com/docs/es/hooks.md) te permiten ejecutar comandos de shell antes o después de acciones de Claude Code, como formateo automático después de cada edición de archivo o ejecución de lint antes de un commit.172> [Hooks](https://code.claude.com/docs/es/hooks.md) te permiten ejecutar comandos de shell antes o después de acciones de Claude Code, como formateo automático después de cada edición de archivo o ejecución de lint antes de un commit.

173 173 

174> **Ejecuta agentes en paralelo y construye agentes personalizados**174> [accordion] Ejecuta agentes en paralelo y construye agentes personalizados

175>175>

176> Genera [múltiples agentes de Claude Code](https://code.claude.com/docs/es/sub-agents.md) que trabajen en diferentes partes de una tarea simultáneamente. Un agente líder coordina el trabajo, asigna subtareas y fusiona resultados.176> Genera [múltiples agentes de Claude Code](https://code.claude.com/docs/es/sub-agents.md) que trabajen en diferentes partes de una tarea simultáneamente. Un agente líder coordina el trabajo, asigna subtareas y fusiona resultados.

177>177>

178> Para ejecutar varias sesiones completas en paralelo y observarlas desde una pantalla, usa [agentes en segundo plano](https://code.claude.com/docs/es/agent-view.md). Para flujos de trabajo completamente personalizados, el [Agent SDK](https://code.claude.com/docs/es/agent-sdk/overview.md) te permite construir tus propios agentes impulsados por las herramientas y capacidades de Claude Code, con control total sobre orquestación, acceso a herramientas y permisos.178> Para ejecutar varias sesiones completas en paralelo y observarlas desde una pantalla, usa [agentes en segundo plano](https://code.claude.com/docs/es/agent-view.md). Para flujos de trabajo completamente personalizados, el [Agent SDK](https://code.claude.com/docs/es/agent-sdk/overview.md) te permite construir tus propios agentes impulsados por las herramientas y capacidades de Claude Code, con control total sobre orquestación, acceso a herramientas y permisos.

179 179 

180> **Canaliza, secuencia y automatiza con la CLI**180> [accordion] Canaliza, secuencia y automatiza con la CLI

181>181>

182> Claude Code es componible y sigue la filosofía de Unix. Canaliza registros en él, ejecútalo en CI o encadénalo con otras herramientas:182> Claude Code es componible y sigue la filosofía de Unix. Canaliza registros en él, ejecútalo en CI o encadénalo con otras herramientas:

183>183>


194>194>

195> Consulta la [referencia de CLI](https://code.claude.com/docs/es/cli-reference.md) para el conjunto completo de comandos y banderas.195> Consulta la [referencia de CLI](https://code.claude.com/docs/es/cli-reference.md) para el conjunto completo de comandos y banderas.

196 196 

197> **Programa tareas recurrentes**197> [accordion] Programa tareas recurrentes

198>198>

199> Ejecuta Claude en un horario para automatizar el trabajo que se repite: revisiones de PR matutinas, análisis de fallos de CI durante la noche, auditorías de dependencias semanales o sincronización de documentos después de que se fusionen los PR.199> Ejecuta Claude en un horario para automatizar el trabajo que se repite: revisiones de PR matutinas, análisis de fallos de CI durante la noche, auditorías de dependencias semanales o sincronización de documentos después de que se fusionen los PR.

200>200>


202> * [Tareas programadas de escritorio](https://code.claude.com/docs/es/desktop-scheduled-tasks.md) se ejecutan en tu máquina, con acceso directo a tus archivos y herramientas locales202> * [Tareas programadas de escritorio](https://code.claude.com/docs/es/desktop-scheduled-tasks.md) se ejecutan en tu máquina, con acceso directo a tus archivos y herramientas locales

203> * [`/loop`](https://code.claude.com/docs/es/scheduled-tasks) repite un prompt dentro de una sesión de CLI para sondeo rápido203> * [`/loop`](https://code.claude.com/docs/es/scheduled-tasks) repite un prompt dentro de una sesión de CLI para sondeo rápido

204 204 

205> **Trabaja desde cualquier lugar**205> [accordion] Trabaja desde cualquier lugar

206>206>

207> Las sesiones no están vinculadas a una única superficie. Mueve el trabajo entre ellas a medida que cambia tu contexto:207> Las sesiones no están vinculadas a una única superficie. Mueve el trabajo entre ellas a medida que cambia tu contexto:

208>208>

permission-modes.md +140 −135

Details

8 8 

9Un modo de permisos define qué acciones puede realizar Claude en una sesión sin preguntarte primero. En el modo Manual, Claude Code se detiene y te pregunta antes de la mayoría de las acciones que editan archivos, ejecutan comandos de shell o acceden a la red. En el [modo automático](#eliminate-prompts-with-auto-mode), un segundo modelo, el clasificador, revisa las acciones en tu lugar; [cómo evalúa las acciones el clasificador](#how-the-classifier-evaluates-actions) enumera qué acciones revisa y cuáles lo omiten.9Un modo de permisos define qué acciones puede realizar Claude en una sesión sin preguntarte primero. En el modo Manual, Claude Code se detiene y te pregunta antes de la mayoría de las acciones que editan archivos, ejecutan comandos de shell o acceden a la red. En el [modo automático](#eliminate-prompts-with-auto-mode), un segundo modelo, el clasificador, revisa las acciones en tu lugar; [cómo evalúa las acciones el clasificador](#how-the-classifier-evaluates-actions) enumera qué acciones revisa y cuáles lo omiten.

10 10 

11Con Claude Code v2.1.283 o posterior, el modo automático es el modo de permisos inicial integrado para las sesiones interactivas de la terminal y de VS Code. En versiones anteriores, es el modo de permisos inicial integrado solo en los planes Pro, Max y Team. [En qué modo se inicia una sesión](#which-mode-a-session-starts-in) explica las superficies y los ajustes que cambian el modo de permisos inicial. También puedes cambiar el modo de permisos de una sesión en curso en cualquier momento.11Con Claude Code v2.1.283 o posterior, el modo automático es el modo de permisos inicial integrado para las sesiones interactivas de la terminal y de VS Code. En versiones anteriores, es el modo de permisos inicial integrado solo en los planes Pro, Max, Ultra y Team. [En qué modo se inicia una sesión](#which-mode-a-session-starts-in) explica las superficies y los ajustes que cambian el modo de permisos inicial. También puedes cambiar el modo de permisos de una sesión en curso en cualquier momento.

12 12 

13## Modos disponibles13## Modos disponibles

14 14 


80| Cualquier archivo de configuración establece `disableAutoMode` en `"disable"` | `default` |80| Cualquier archivo de configuración establece `disableAutoMode` en `"disable"` | `default` |

81| `claude -p` o el [Agent SDK](https://code.claude.com/docs/es/agent-sdk/permissions.md#permission-modes) | `default` |81| `claude -p` o el [Agent SDK](https://code.claude.com/docs/es/agent-sdk/permissions.md#permission-modes) | `default` |

82| Tu organización tiene aplicada la [configuración HIPAA](#hipaa-configuration) y la sesión [cumple los requisitos para ella](https://code.claude.com/docs/es/hipaa-setup.md#check-how-developers-sign-in-and-connect) | `default` con Claude Code v2.1.285 o posterior; el modo automático sigue disponible para cambiar a él |82| Tu organización tiene aplicada la [configuración HIPAA](#hipaa-configuration) y la sesión [cumple los requisitos para ella](https://code.claude.com/docs/es/hipaa-setup.md#check-how-developers-sign-in-and-connect) | `default` con Claude Code v2.1.285 o posterior; el modo automático sigue disponible para cambiar a él |

83| En una terminal o a través de la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) | `auto` con Claude Code v2.1.283 o posterior; en versiones anteriores, `auto` en planes Pro, Max o Team en sesiones que [obtienen banderas de características](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), y `default` en caso contrario |83| En una terminal o a través de la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) | `auto` con Claude Code v2.1.283 o posterior; en versiones anteriores, `auto` en planes Pro, Max, Ultra o Team en sesiones que [obtienen banderas de características](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), y `default` en caso contrario |

84 84 

85Cuando la bandera, un archivo de configuración o el valor predeterminado integrado selecciona `auto` pero el modo automático no está disponible para la sesión, Claude Code inicia la sesión en Manual en su lugar. El modo automático no está disponible cuando la sesión no cumple con los [requisitos de disponibilidad](#eliminate-prompts-with-auto-mode), como un archivo de configuración desactivándolo o un modelo que no lo admite, o cuando Anthropic lo ha desactivado temporalmente del lado del servidor.85Cuando la bandera, un archivo de configuración o el valor predeterminado integrado selecciona `auto` pero el modo automático no está disponible para la sesión, Claude Code inicia la sesión en Manual en su lugar. El modo automático no está disponible cuando la sesión no cumple con los [requisitos de disponibilidad](#eliminate-prompts-with-auto-mode), como un archivo de configuración desactivándolo o un modelo que no lo admite, o cuando Anthropic lo ha desactivado temporalmente del lado del servidor.

86 86 


89* En una terminal, una vez, en la parte superior de la sesión89* En una terminal, una vez, en la parte superior de la sesión

90* En la extensión de VS Code, como una tarjeta en la pantalla de nueva conversación que permanece hasta que la descartes90* En la extensión de VS Code, como una tarjeta en la pantalla de nueva conversación que permanece hasta que la descartes

91 91 

92Si tu `~/.claude/settings.json` establece un `defaultMode` distinto de `auto` y ningún otro archivo de configuración establece uno, tus sesiones siguen iniciándose en ese modo. En planes Pro, Max y Team, y en sesiones que [no obtienen banderas de características](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), Claude Code pregunta una vez, en la terminal o en la extensión de VS Code, si deseas cambiar el ajuste a modo automático. Si rechazas, tu ajuste permanece como está.92Si tu `~/.claude/settings.json` establece un `defaultMode` distinto de `auto` y ningún otro archivo de configuración establece uno, tus sesiones siguen iniciándose en ese modo.

93 

94En planes Pro, Max, Ultra y Team, y en sesiones que [no obtienen banderas de características](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), Claude Code pregunta una vez si deseas cambiar el ajuste a modo automático. La pregunta aparece en la terminal o en la extensión de VS Code, y si rechazas, tu ajuste permanece como está.

93 95 

94### Llamadas a herramientas denegadas en ejecuciones de `claude -p` y del Agent SDK96### Llamadas a herramientas denegadas en ejecuciones de `claude -p` y del Agent SDK

95 97 


102 104 

103Estos ejemplos muestran la forma del modo automático para la CLI y cada SDK:105Estos ejemplos muestran la forma del modo automático para la CLI y cada SDK:

104 106 

105**CLI**107> [tab] CLI

106 108>

107```bash theme={null}109> ```bash theme={null}

108claude -p "Run the test suite and fix any failures" --permission-mode auto110> claude -p "Run the test suite and fix any failures" --permission-mode auto

109```111> ```

110 

111**TypeScript**

112 

113```typescript theme={null}

114const options = {

115 permissionMode: "auto"

116};

117```

118 

119**Python**

120 112 

121```python theme={null}113> [tab] TypeScript

122from claude_agent_sdk import ClaudeAgentOptions114>

115> ```typescript theme={null}

116> const options = {

117> permissionMode: "auto"

118> };

119> ```

123 120 

124options = ClaudeAgentOptions(permission_mode="auto")121> [tab] Python

125```122>

123> ```python theme={null}

124> from claude_agent_sdk import ClaudeAgentOptions

125>

126> options = ClaudeAgentOptions(permission_mode="auto")

127> ```

126 128 

127Antes de v2.1.302, estas ejecuciones podían comenzar en modo automático si no [obtenían banderas de características](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), por ejemplo en un [proveedor de terceros](https://code.claude.com/docs/es/third-party-integrations.md) o con `DISABLE_TELEMETRY`.129Antes de v2.1.302, estas ejecuciones podían comenzar en modo automático si no [obtenían banderas de características](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), por ejemplo en un [proveedor de terceros](https://code.claude.com/docs/es/third-party-integrations.md) o con `DISABLE_TELEMETRY`.

128 130 


166 168 

167Cada interfaz tiene su propio control para cambiar modos de permisos durante una sesión y su propia forma de elegir el modo de permisos que inician las nuevas sesiones. Seleccione su interfaz para ver sus controles.169Cada interfaz tiene su propio control para cambiar modos de permisos durante una sesión y su propia forma de elegir el modo de permisos que inician las nuevas sesiones. Seleccione su interfaz para ver sus controles.

168 170 

169**CLI**171> [tab] CLI

170 172>

171**Durante una sesión**: presiona `Shift+Tab` para alternar entre modos de permisos. Desde `auto`, la primera pulsación cambia a `default`, y luego el ciclo sigue `default` → `acceptEdits` → `plan`. Los modos opcionales se insertan después de `plan`. La barra de estado muestra el modo activo como un `⏸ manual mode on` gris para `default`, o como `⏵⏵ accept edits on`, `⏸ plan mode on`, `⏵⏵ auto mode on`, `⏵⏵ don't ask on` o `⏵⏵ bypass permissions on`.173> **Durante una sesión**: presiona `Shift+Tab` para alternar entre modos de permisos. Desde `auto`, la primera pulsación cambia a `default`, y luego el ciclo sigue `default` → `acceptEdits` → `plan`. Los modos opcionales se insertan después de `plan`. La barra de estado muestra el modo activo como un `⏸ manual mode on` gris para `default`, o como `⏵⏵ accept edits on`, `⏸ plan mode on`, `⏵⏵ auto mode on`, `⏵⏵ don't ask on` o `⏵⏵ bypass permissions on`.

172 174>

173Observa la barra de estado en este clip de una sesión que comenzó en modo automático. Cada vez que presionas `Shift+Tab`, cambia de `auto mode on` a `manual mode on`, `accept edits on`, `plan mode on` y de vuelta a `auto mode on`.175> Observa la barra de estado en este clip de una sesión que comenzó en modo automático. Cada vez que presionas `Shift+Tab`, cambia de `auto mode on` a `manual mode on`, `accept edits on`, `plan mode on` y de vuelta a `auto mode on`.

174 176>

175<video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/tA-x-5L2YsYSVdee/images/permission-modes-cycle-light.mp4?fit=max&auto=format&n=tA-x-5L2YsYSVdee&q=85&s=3927dd62d59b01efd81b3578f2a6f971" aria-label="La barra de estado debajo del prompt de Claude Code cambia con cada pulsación de Shift+Tab: auto mode on, manual mode on, accept edits on, plan mode on y luego auto mode on de nuevo." />177> <video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/tA-x-5L2YsYSVdee/images/permission-modes-cycle-light.mp4?fit=max&auto=format&n=tA-x-5L2YsYSVdee&q=85&s=3927dd62d59b01efd81b3578f2a6f971" aria-label="La barra de estado debajo del prompt de Claude Code cambia con cada pulsación de Shift+Tab: auto mode on, manual mode on, accept edits on, plan mode on y luego auto mode on de nuevo." />

176 178>

177No todos los modos están en el ciclo predeterminado:179> No todos los modos están en el ciclo predeterminado:

178 180>

179* `auto`: aparece cuando [modo automático está disponible](#eliminate-prompts-with-auto-mode); cambiar a él cambia modos de permisos sin un aviso de confirmación181> * `auto`: aparece cuando [modo automático está disponible](#eliminate-prompts-with-auto-mode); cambiar a él cambia modos de permisos sin un aviso de confirmación

180* `bypassPermissions`: aparece después de que inicia con `--permission-mode bypassPermissions`, `--dangerously-skip-permissions`, `--allow-dangerously-skip-permissions` o `permissions.defaultMode: "bypassPermissions"` en [configuración de usuario, `--settings` o administrada](https://code.claude.com/docs/es/settings-reference#permissions-defaultmode). La variante `--allow-` agrega el modo de permisos al ciclo sin activarlo182> * `bypassPermissions`: aparece después de que inicia con `--permission-mode bypassPermissions`, `--dangerously-skip-permissions`, `--allow-dangerously-skip-permissions` o `permissions.defaultMode: "bypassPermissions"` en [configuración de usuario, `--settings` o administrada](https://code.claude.com/docs/es/settings-reference#permissions-defaultmode). La variante `--allow-` agrega el modo de permisos al ciclo sin activarlo

181* `dontAsk`: nunca aparece en el ciclo; establézcalo con `--permission-mode dontAsk`183> * `dontAsk`: nunca aparece en el ciclo; establézcalo con `--permission-mode dontAsk`

182 184>

183Los modos opcionales habilitados se insertan después de `plan`, con `bypassPermissions` primero y `auto` último. Si tiene ambos habilitados, ciclará a través de `bypassPermissions` en el camino a `auto`.185> Los modos opcionales habilitados se insertan después de `plan`, con `bypassPermissions` primero y `auto` último. Si tiene ambos habilitados, ciclará a través de `bypassPermissions` en el camino a `auto`.

184 186>

185**Desde un aviso de permisos Bash**: en los modos de permisos Manual y `acceptEdits`, cuando [modo automático](#eliminate-prompts-with-auto-mode) está disponible, Claude Code agrega **Sí, y cambiar a modo automático** al aviso de permisos de un comando Bash. Selecciónelo para aprobar el comando y cambiar la sesión a modo automático. Los avisos de la [herramienta PowerShell](https://code.claude.com/docs/es/tools-reference.md#powershell-tool) no ofrecen la opción. Requiere Claude Code v2.1.247 o posterior.187> **Desde un aviso de permisos Bash**: en los modos de permisos Manual y `acceptEdits`, cuando [modo automático](#eliminate-prompts-with-auto-mode) está disponible, Claude Code agrega **Sí, y cambiar a modo automático** al aviso de permisos de un comando Bash. Selecciónelo para aprobar el comando y cambiar la sesión a modo automático. Los avisos de la [herramienta PowerShell](https://code.claude.com/docs/es/tools-reference.md#powershell-tool) no ofrecen la opción. Requiere Claude Code v2.1.247 o posterior.

186 188>

187Claude Code no agrega la opción a avisos forzados por una de sus [reglas `ask`](https://code.claude.com/docs/es/permissions#manage-permissions) o por un [hook](https://code.claude.com/docs/es/hooks.md#pretooluse-decision-control), porque el modo automático aún le muestra esos avisos, por lo que cambiar no los eliminaría.189> Claude Code no agrega la opción a avisos forzados por una de sus [reglas `ask`](https://code.claude.com/docs/es/permissions#manage-permissions) o por un [hook](https://code.claude.com/docs/es/hooks.md#pretooluse-decision-control), porque el modo automático aún le muestra esos avisos, por lo que cambiar no los eliminaría.

188 190>

189**Al inicio**: pase el modo de permisos como una bandera.191> **Al inicio**: pase el modo de permisos como una bandera.

190 192>

191```bash theme={null}193> ```bash theme={null}

192claude --permission-mode plan194> claude --permission-mode plan

193```195> ```

194 196>

195**Como predeterminado**: establezca `permissions.defaultMode` en el alcance que desee, como se describe en [Comience en un modo de permisos diferente](#start-in-a-different-mode).197> **Como predeterminado**: establezca `permissions.defaultMode` en el alcance que desee, como se describe en [Comience en un modo de permisos diferente](#start-in-a-different-mode).

196 198>

197La misma bandera `--permission-mode` funciona con `-p` para [ejecuciones no interactivas](https://code.claude.com/docs/es/headless.md).199> La misma bandera `--permission-mode` funciona con `-p` para [ejecuciones no interactivas](https://code.claude.com/docs/es/headless.md).

198 

199**VS Code**

200 

201**Durante una sesión**: haga clic en el indicador de modo en la parte inferior del cuadro de solicitud. Utiliza estas etiquetas para los modos en esta página:

202 

203| Etiqueta de interfaz | Modo |

204| :- | :- |

205| Manual | `default` |

206| Editar automáticamente | `acceptEdits` |

207| Plan | `plan` |

208| Auto | `auto` |

209| Omitir permisos | `bypassPermissions` |

210 

211**Como predeterminado**: para fijar el modo de permisos en el que comienzan las conversaciones, establezca `claudeCode.initialPermissionMode` en la configuración de usuario de VS Code en `default`, `manual`, `acceptEdits`, `plan` o `bypassPermissions`. La configuración no acepta `auto`; para comenzar en Auto, déjela sin establecer y seleccione **Auto** del indicador de modo una vez, como describe el elemento 2 a continuación. La extensión comienza cada nueva conversación en el primero de estos que se aplique:

212 

2131. `claudeCode.initialPermissionMode`

2142. El modo que seleccionó por última vez del indicador de modo, si fue Manual, Editar automáticamente o Auto. Seleccionar Plan u Omitir permisos se aplica solo a esa conversación

2153. `permissions.defaultMode` de [configuración administrada](https://code.claude.com/docs/es/managed-settings.md) o `~/.claude/settings.json`

2164. El [valor predeterminado integrado](#which-mode-a-session-starts-in) para su plan, proveedor y configuración de organización

217 

218La extensión nunca lee `.claude/settings.json` o `.claude/settings.local.json` de un proyecto para el modo de permisos inicial. Cuando `claudeCode.claudeProcessWrapper` está establecido, los elementos 3 y 4 tampoco se aplican: esas conversaciones comienzan en Manual a menos que el elemento 1 o el elemento 2 establezca un modo de permisos.

219 

220Antes de v2.1.283, el elemento 3 se aplicaba solo en planes Pro, Max y Team en sesiones que [obtienen banderas de características](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching).

221 

222Auto aparece en el indicador de modo cuando [modo automático está disponible](#eliminate-prompts-with-auto-mode).

223 

224Omitir permisos requiere el toggle **Allow dangerously skip permissions** en la configuración de la extensión. Sin él, el modo de permisos no aparece en el indicador, y un valor `bypassPermissions` del elemento 1 o elemento 3 comienza la conversación en Manual en su lugar. Auto de cualquier elemento asimismo comienza la conversación en Manual cuando el modo automático no está disponible.

225 

226Consulta la [guía de VS Code](https://code.claude.com/docs/es/vs-code.md) para obtener detalles específicos de la extensión.

227 

228**JetBrains**

229 

230El plugin de JetBrains ejecuta Claude Code en la terminal del IDE, por lo que cambiar modos de permisos funciona igual que en la CLI: presiona `Shift+Tab` para alternar, o pasa `--permission-mode` al iniciar.

231 

232**Desktop**

233 

234**Durante una sesión**: en la pestaña Code, usa el selector de modo en la fila debajo del cuadro de prompt. No todos los modos aparecen en el selector:

235 

236* **Auto**: aparece cuando [modo automático está disponible](#eliminate-prompts-with-auto-mode)

237* **Omitir permisos**: requiere el toggle **Allow bypass permissions mode** en la configuración de Desktop en planes Pro y Max; en planes Team y Enterprise, la política de la organización lo controla en su lugar

238 

239Cowork no utiliza estos modos. Tiene sus propios modos de permisos, habilitados por separado, y no muestra ningún selector de modo en absoluto hasta que se habilita para tu cuenta un modo distinto de su predeterminado. Consulta la [documentación de Cowork](https://claude.com/docs/cowork/overview).

240 

241Para detalles específicos de desktop, consulte [Elegir un modo de permisos](https://code.claude.com/docs/es/desktop.md#choose-a-permission-mode) en la guía de Desktop.

242 

243**Como predeterminado**: establezca `defaultMode` en [configuración](https://code.claude.com/docs/es/settings.md#where-settings-live). La aplicación de desktop lee los mismos archivos de configuración que la CLI y aplica el modo de permisos a nuevas sesiones locales.

244 

245Un modo que selecciona en el selector de modo se recuerda por carpeta y tiene prioridad sobre `defaultMode` para esa carpeta. Plan es la excepción: seleccionarlo se aplica solo a la sesión actual.

246 

247Para saber dónde va `defaultMode` en un archivo de configuración, consulta el ejemplo en [Comienza en un modo de permisos diferente](#start-in-a-different-mode).

248 

249**Web and mobile**

250 200 

251En [claude.ai/code](https://claude.ai/code), usa el menú desplegable de modo en la fila debajo del cuadro de prompt. En la aplicación móvil, toca el botón **+** en el cuadro de prompt y luego **Permission**. Las sesiones en la nube y las sesiones de Remote Control ofrecen modos de permisos diferentes:201> [tab] VS Code

202>

203> **Durante una sesión**: haga clic en el indicador de modo en la parte inferior del cuadro de solicitud. Utiliza estas etiquetas para los modos en esta página:

204>

205> | Etiqueta de interfaz | Modo |

206> | :- | :- |

207> | Manual | `default` |

208> | Editar automáticamente | `acceptEdits` |

209> | Plan | `plan` |

210> | Auto | `auto` |

211> | Omitir permisos | `bypassPermissions` |

212>

213> **Como predeterminado**: para fijar el modo de permisos en el que comienzan las conversaciones, establezca `claudeCode.initialPermissionMode` en la configuración de usuario de VS Code en `default`, `manual`, `acceptEdits`, `plan` o `bypassPermissions`. La configuración no acepta `auto`; para comenzar en Auto, déjela sin establecer y seleccione **Auto** del indicador de modo una vez, como describe el elemento 2 a continuación. La extensión comienza cada nueva conversación en el primero de estos que se aplique:

214>

215> 1. `claudeCode.initialPermissionMode`

216> 2. El modo que seleccionó por última vez del indicador de modo, si fue Manual, Editar automáticamente o Auto. Seleccionar Plan u Omitir permisos se aplica solo a esa conversación

217> 3. `permissions.defaultMode` de [configuración administrada](https://code.claude.com/docs/es/managed-settings.md) o `~/.claude/settings.json`

218> 4. El [valor predeterminado integrado](#which-mode-a-session-starts-in) para su plan, proveedor y configuración de organización

219>

220> La extensión nunca lee `.claude/settings.json` o `.claude/settings.local.json` de un proyecto para el modo de permisos inicial. Cuando `claudeCode.claudeProcessWrapper` está establecido, los elementos 3 y 4 tampoco se aplican: esas conversaciones comienzan en Manual a menos que el elemento 1 o el elemento 2 establezca un modo de permisos.

221>

222> Antes de v2.1.283, el elemento 3 se aplicaba solo en planes Pro, Max, Ultra y Team en sesiones que [obtienen banderas de características](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching).

223>

224> Auto aparece en el indicador de modo cuando [modo automático está disponible](#eliminate-prompts-with-auto-mode).

225>

226> Omitir permisos requiere el toggle **Allow dangerously skip permissions** en la configuración de la extensión. Sin él, el modo de permisos no aparece en el indicador, y un valor `bypassPermissions` del elemento 1 o elemento 3 comienza la conversación en Manual en su lugar. Auto de cualquier elemento asimismo comienza la conversación en Manual cuando el modo automático no está disponible.

227>

228> Consulta la [guía de VS Code](https://code.claude.com/docs/es/vs-code.md) para obtener detalles específicos de la extensión.

252 229 

253* **[Sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md)**: Aceptar ediciones, Plan y Auto. Aceptar ediciones corresponde al modo `default`: las sesiones en la nube aprueban previamente las ediciones de archivos independientemente del modo, por lo que el menú desplegable muestra Aceptar ediciones en lugar de Manual. Las sesiones en la nube aún respetan `defaultMode: "acceptEdits"` de la configuración. El modo Auto aparece solo cuando tu organización lo permite y el modelo seleccionado lo admite. Omitir permisos no está disponible.230> [tab] JetBrains

254* **Sesiones de [Remote Control](https://code.claude.com/docs/es/remote-control.md)** en tu máquina local: Manual, Aceptar ediciones, Plan y Auto para una sesión que iniciaste tú mismo, y no puedes seleccionar Omitir permisos desde la aplicación. Para usar Auto, la sesión tiene que cumplir los [requisitos de disponibilidad](#eliminate-prompts-with-auto-mode) del modo automático. Para un hilo de proyecto que se ejecuta en tu computadora, consulta [Ejecutar un hilo en tu propia computadora](https://code.claude.com/docs/es/claude-projects.md#run-a-thread-on-your-own-computer).231>

255 * Excepto por Omitir permisos, el menú desplegable muestra el modo de permisos en el que se encuentra la sesión local, incluido uno establecido desde la terminal. Se actualiza cuando el modo de permisos cambia en la aplicación o en la terminal.232> El plugin de JetBrains ejecuta Claude Code en la terminal del IDE, por lo que cambiar modos de permisos funciona igual que en la CLI: presiona `Shift+Tab` para alternar, o pasa `--permission-mode` al iniciar.

256 * Las sesiones alojadas por la [aplicación de desktop](https://code.claude.com/docs/es/desktop.md) o la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) informan los cambios de modo de permisos a claude.ai a medida que suceden, igual que las sesiones alojadas en una terminal.

257 233 

258Para Control Remoto, la máquina local que ejecuta la sesión debe estar conectada con su cuenta de claude.ai; las claves API no son compatibles. También puede establecer el modo de permisos inicial al iniciar esa sesión local:234> [tab] Desktop

235>

236> **Durante una sesión**: en la pestaña Code, usa el selector de modo en la fila debajo del cuadro de prompt. No todos los modos aparecen en el selector:

237>

238> * **Auto**: aparece cuando [el modo automático está disponible](#eliminate-prompts-with-auto-mode)

239> * **Omitir permisos**: requiere el toggle **Allow bypass permissions mode** en la configuración de Desktop en planes Pro, Max y Ultra; en planes Team y Enterprise, la política de la organización lo controla en su lugar

240>

241> Cowork no utiliza estos modos. Tiene sus propios modos de permisos, habilitados por separado, y no muestra ningún selector de modo en absoluto hasta que se habilita para tu cuenta un modo distinto de su predeterminado. Consulta la [documentación de Cowork](https://claude.com/docs/cowork/overview).

242>

243> Para detalles específicos de desktop, consulte [Elegir un modo de permisos](https://code.claude.com/docs/es/desktop.md#choose-a-permission-mode) en la guía de Desktop.

244>

245> **Como predeterminado**: establezca `defaultMode` en [configuración](https://code.claude.com/docs/es/settings.md#where-settings-live). La aplicación de desktop lee los mismos archivos de configuración que la CLI y aplica el modo de permisos a nuevas sesiones locales.

246>

247> Un modo que selecciona en el selector de modo se recuerda por carpeta y tiene prioridad sobre `defaultMode` para esa carpeta. Plan es la excepción: seleccionarlo se aplica solo a la sesión actual.

248>

249> Para saber dónde va `defaultMode` en un archivo de configuración, consulta el ejemplo en [Comienza en un modo de permisos diferente](#start-in-a-different-mode).

259 250 

260```bash theme={null}251> [tab] Web and mobile

261claude remote-control --permission-mode acceptEdits252>

262```253> En [claude.ai/code](https://claude.ai/code), usa el menú desplegable de modo en la fila debajo del cuadro de prompt. En la aplicación móvil, toca el botón **+** en el cuadro de prompt y luego **Permission**. Las sesiones en la nube y las sesiones de Remote Control ofrecen modos de permisos diferentes:

254>

255> * **[Sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md)**: Aceptar ediciones, Plan y Auto. Aceptar ediciones corresponde al modo `default`: las sesiones en la nube aprueban previamente las ediciones de archivos independientemente del modo, por lo que el menú desplegable muestra Aceptar ediciones en lugar de Manual. Las sesiones en la nube aún respetan `defaultMode: "acceptEdits"` de la configuración. El modo Auto aparece solo cuando tu organización lo permite y el modelo seleccionado lo admite. Omitir permisos no está disponible.

256> * **Sesiones de [Remote Control](https://code.claude.com/docs/es/remote-control.md)** en tu máquina local: Manual, Aceptar ediciones, Plan y Auto para una sesión que iniciaste tú mismo, y no puedes seleccionar Omitir permisos desde la aplicación. Para usar Auto, la sesión tiene que cumplir los [requisitos de disponibilidad](#eliminate-prompts-with-auto-mode) del modo automático. Para un hilo de proyecto que se ejecuta en tu computadora, consulta [Ejecutar un hilo en tu propia computadora](https://code.claude.com/docs/es/claude-projects.md#run-a-thread-on-your-own-computer).

257> * Excepto por Omitir permisos, el menú desplegable muestra el modo de permisos en el que se encuentra la sesión local, incluido uno establecido desde la terminal. Se actualiza cuando el modo de permisos cambia en la aplicación o en la terminal.

258> * Las sesiones alojadas por la [aplicación de desktop](https://code.claude.com/docs/es/desktop.md) o la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) informan los cambios de modo de permisos a claude.ai a medida que suceden, igual que las sesiones alojadas en una terminal.

259>

260> Para Control Remoto, la máquina local que ejecuta la sesión debe estar conectada con su cuenta de claude.ai; las claves API no son compatibles. También puede establecer el modo de permisos inicial al iniciar esa sesión local:

261>

262> ```bash theme={null}

263> claude remote-control --permission-mode acceptEdits

264> ```

263 265 

264## Aprobar automáticamente ediciones de archivos con modo acceptEdits266## Aprobar automáticamente ediciones de archivos con modo acceptEdits

265 267 


327 329 

328El modo automático permite que Claude ejecute acciones sin las solicitudes de permiso habituales. Un modelo clasificador independiente revisa las acciones antes de que se ejecuten y bloquea todo lo que vaya más allá de tu solicitud, apunte a infraestructura no reconocida o parezca estar motivado por contenido hostil que Claude haya leído. Las [reglas ask](https://code.claude.com/docs/es/permissions.md#manage-permissions) explícitas siguen forzando una solicitud de permiso.330El modo automático permite que Claude ejecute acciones sin las solicitudes de permiso habituales. Un modelo clasificador independiente revisa las acciones antes de que se ejecuten y bloquea todo lo que vaya más allá de tu solicitud, apunte a infraestructura no reconocida o parezca estar motivado por contenido hostil que Claude haya leído. Las [reglas ask](https://code.claude.com/docs/es/permissions.md#manage-permissions) explícitas siguen forzando una solicitud de permiso.

329 331 

330Con Claude Code v2.1.283 o posterior, el modo automático es el [modo de permisos inicial integrado](#which-mode-a-session-starts-in) para las sesiones interactivas de la terminal y de VS Code en todos los planes y proveedores. En versiones anteriores, es el modo de permisos inicial integrado solo en los planes Pro, Max y Team.332Con Claude Code v2.1.283 o posterior, el modo automático es el [modo de permisos inicial integrado](#which-mode-a-session-starts-in) para las sesiones interactivas de la terminal y de VS Code en todos los planes y proveedores. En versiones anteriores, es el modo de permisos inicial integrado solo en los planes Pro, Max, Ultra y Team.

331 333 

332El clasificador también revisa cada mensaje que Claude envía a otro agente con [`SendMessage`](https://code.claude.com/docs/es/tools-reference), ya sea texto plano o un mensaje estructurado de un [equipo de agentes](https://code.claude.com/docs/es/agent-teams.md), antes de que Claude Code lo entregue, tanto en el modo automático como en el [modo plan mientras el clasificador revisa los comandos](#analyze-before-you-edit-with-plan-mode); la revisión de envíos requiere Claude Code v2.1.222 o posterior.334El clasificador también revisa cada mensaje que Claude envía a otro agente con [`SendMessage`](https://code.claude.com/docs/es/tools-reference), ya sea texto plano o un mensaje estructurado de un [equipo de agentes](https://code.claude.com/docs/es/agent-teams.md), antes de que Claude Code lo entregue, tanto en el modo automático como en el [modo plan mientras el clasificador revisa los comandos](#analyze-before-you-edit-with-plan-mode); la revisión de envíos requiere Claude Code v2.1.222 o posterior.

333 335 


367 369 

368En el modo automático, Claude Code puede pedirle al servidor que revise las acciones que [el orden de decisión](#how-the-classifier-evaluates-actions) envía a revisión, como parte de las solicitudes al modelo de la sesión, en lugar de enviar sus propias solicitudes al clasificador. Estas sesiones se lo piden al servidor:370En el modo automático, Claude Code puede pedirle al servidor que revise las acciones que [el orden de decisión](#how-the-classifier-evaluates-actions) envía a revisión, como parte de las solicitudes al modelo de la sesión, en lugar de enviar sus propias solicitudes al clasificador. Estas sesiones se lo piden al servidor:

369 371 

370* **Una conexión directa a la API de Anthropic**: en sesiones interactivas de la terminal y en sesiones de `-p`, del Agent SDK, de la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) y de la [aplicación de escritorio](https://code.claude.com/docs/es/desktop.md), sea cual sea tu plan o tipo de cuenta, a medida que Anthropic lo implementa. En sesiones interactivas de la terminal, esto requiere Claude Code v2.1.271 o posterior en los planes Pro, Max y Team, y v2.1.278 o posterior en los planes Enterprise y las cuentas de la API de Claude. En sesiones de `-p`, del Agent SDK, de la extensión de VS Code y de la aplicación de escritorio, esto requiere Claude Code v2.1.281 o posterior. A partir de v2.1.282, una sesión que [no obtiene feature flags](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), por ejemplo porque desactivaste la telemetría, se lo pide al servidor de forma predeterminada en cualquier tipo de sesión.372* **Una conexión directa a la API de Anthropic**: en sesiones interactivas de la terminal y en sesiones de `-p`, del Agent SDK, de la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) y de la [aplicación de escritorio](https://code.claude.com/docs/es/desktop.md), sea cual sea tu plan o tipo de cuenta, a medida que Anthropic lo implementa. Comprueba tu tipo de sesión con estas versiones mínimas de Claude Code:

373 * En sesiones interactivas de la terminal, pedírselo al servidor requiere Claude Code v2.1.271 o posterior en los planes Pro, Max, Ultra y Team. En los planes Enterprise y las cuentas de la API de Claude, esas sesiones requieren v2.1.278 o posterior.

374 * En sesiones de `-p`, del Agent SDK, de la extensión de VS Code y de la aplicación de escritorio, pedírselo al servidor requiere Claude Code v2.1.281 o posterior

375 * A partir de v2.1.282, una sesión que [no obtiene feature flags](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), por ejemplo porque desactivaste la telemetría, se lo pide al servidor de forma predeterminada en cualquier tipo de sesión

371* **Un proveedor de nube, o un gateway o proxy de LLM**: en [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform y Microsoft Foundry, y siempre que apuntes `ANTHROPIC_BASE_URL` a un [gateway o proxy de LLM](https://code.claude.com/docs/es/llm-gateway), sea cual sea tu plan. Pedírselo al servidor de forma predeterminada requiere Claude Code v2.1.278 o posterior.376* **Un proveedor de nube, o un gateway o proxy de LLM**: en [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform y Microsoft Foundry, y siempre que apuntes `ANTHROPIC_BASE_URL` a un [gateway o proxy de LLM](https://code.claude.com/docs/es/llm-gateway), sea cual sea tu plan. Pedírselo al servidor de forma predeterminada requiere Claude Code v2.1.278 o posterior.

372* **Una sesión con sesión iniciada de [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway)**: requiere Claude Code v2.1.280 o posterior377* **Una sesión con sesión iniciada de [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway)**: requiere Claude Code v2.1.280 o posterior

373* **Una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) en un entorno alojado por Anthropic**: sea cual sea tu plan, cuando la inicias desde la web, la aplicación móvil o la aplicación de escritorio con **Cloud** seleccionado. Las sesiones iniciadas por una [tarea programada en la nube](https://code.claude.com/docs/es/routines.md) se lo piden al servidor a medida que Anthropic lo implementa.378* **Una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) en un entorno alojado por Anthropic**: sea cual sea tu plan, cuando la inicias desde la web, la aplicación móvil o la aplicación de escritorio con **Cloud** seleccionado. Las sesiones iniciadas por una [tarea programada en la nube](https://code.claude.com/docs/es/routines.md) se lo piden al servidor a medida que Anthropic lo implementa.


566 571 

567Las siguientes secciones explican el orden en que Claude Code evalúa una acción, cómo revisa el clasificador el trabajo de los subagentes y qué añaden las llamadas al clasificador en costo y latencia.572Las siguientes secciones explican el orden en que Claude Code evalúa una acción, cómo revisa el clasificador el trabajo de los subagentes y qué añaden las llamadas al clasificador en costo y latencia.

568 573 

569> **Cómo evalúa las acciones el clasificador**574> [accordion] Cómo evalúa las acciones el clasificador

570>575>

571> Cada acción pasa por un orden de decisión fijo. Gana el primer paso que coincide:576> Cada acción pasa por un orden de decisión fijo. Gana el primer paso que coincide:

572>577>


608>613>

609> Una sonda independiente del lado del servidor analiza los resultados entrantes de las herramientas y marca el contenido sospechoso antes de que Claude lo lea. Para obtener más información sobre cómo funcionan juntas estas capas, consulta el [anuncio del modo automático](https://claude.com/blog/auto-mode) y el [análisis técnico en profundidad](https://www.anthropic.com/engineering/claude-code-auto-mode).614> Una sonda independiente del lado del servidor analiza los resultados entrantes de las herramientas y marca el contenido sospechoso antes de que Claude lo lea. Para obtener más información sobre cómo funcionan juntas estas capas, consulta el [anuncio del modo automático](https://claude.com/blog/auto-mode) y el [análisis técnico en profundidad](https://www.anthropic.com/engineering/claude-code-auto-mode).

610 615 

611> **Cómo maneja el modo automático los subagentes**616> [accordion] Cómo maneja el modo automático los subagentes

612>617>

613> El clasificador revisa el trabajo de los [subagentes](https://code.claude.com/docs/es/sub-agents.md) en tres momentos:618> El clasificador revisa el trabajo de los [subagentes](https://code.claude.com/docs/es/sub-agents.md) en tres momentos:

614>619>


616> 2. Mientras se ejecuta el subagente, cada una de sus acciones pasa por el mismo [orden de decisión](#how-the-classifier-evaluates-actions) que en la sesión principal, con las mismas reglas de bloqueo y de permiso. Cualquier `permissionMode` en el frontmatter del subagente se ignora.621> 2. Mientras se ejecuta el subagente, cada una de sus acciones pasa por el mismo [orden de decisión](#how-the-classifier-evaluates-actions) que en la sesión principal, con las mismas reglas de bloqueo y de permiso. Cualquier `permissionMode` en el frontmatter del subagente se ignora.

617> 3. Cuando el subagente termina, el clasificador revisa su trabajo y su informe final antes de que la sesión principal lea el informe. Cuando el clasificador marca el trabajo o el informe del subagente, o una comprobación de seguridad independiente de la API rechaza la revisión, el informe se entrega igualmente, precedido de una advertencia de seguridad. Cuando el clasificador no está disponible para la revisión, el informe llega con una nota para verificar el trabajo del subagente antes de actuar en función de él.622> 3. Cuando el subagente termina, el clasificador revisa su trabajo y su informe final antes de que la sesión principal lea el informe. Cuando el clasificador marca el trabajo o el informe del subagente, o una comprobación de seguridad independiente de la API rechaza la revisión, el informe se entrega igualmente, precedido de una advertencia de seguridad. Cuando el clasificador no está disponible para la revisión, el informe llega con una nota para verificar el trabajo del subagente antes de actuar en función de él.

618 623 

619> **Costo y latencia**624> [accordion] Costo y latencia

620>625>

621> Las solicitudes al clasificador de Claude Code pueden ejecutarse en un modelo distinto de tu selección de `/model`. Consulta [en qué modelo se ejecutan](#default-classifier-model).626> Las solicitudes al clasificador de Claude Code pueden ejecutarse en un modelo distinto de tu selección de `/model`. Consulta [en qué modelo se ejecutan](#default-classifier-model).

622>627>


964 969 

965Para ejecutar sin solicitud de permiso los comandos Bash `rm` y `rmdir` que se dirigen a [rutas críticas](#critical-paths) en modo `bypassPermissions`, inicia Claude Code con [`CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1`](https://code.claude.com/docs/es/env-vars#variables) en su entorno. Esto requiere Claude Code v2.1.311 o posterior. Claude Code lee la variable solo del entorno de inicio y [la ignora en el bloque `env` de un archivo de configuración](https://code.claude.com/docs/es/settings-reference#variables-claude-code-ignores-in-env). Por ejemplo, establécela en [tu shell](https://code.claude.com/docs/es/env-vars.md#set-variables-in-your-shell) e inicia `claude` desde ahí:970Para ejecutar sin solicitud de permiso los comandos Bash `rm` y `rmdir` que se dirigen a [rutas críticas](#critical-paths) en modo `bypassPermissions`, inicia Claude Code con [`CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1`](https://code.claude.com/docs/es/env-vars#variables) en su entorno. Esto requiere Claude Code v2.1.311 o posterior. Claude Code lee la variable solo del entorno de inicio y [la ignora en el bloque `env` de un archivo de configuración](https://code.claude.com/docs/es/settings-reference#variables-claude-code-ignores-in-env). Por ejemplo, establécela en [tu shell](https://code.claude.com/docs/es/env-vars.md#set-variables-in-your-shell) e inicia `claude` desde ahí:

966 971 

967**macOS, Linux, WSL**972> [tab] macOS, Linux, WSL

968 973>

969```bash theme={null}974> ```bash theme={null}

970export CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1975> export CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1

971claude --permission-mode bypassPermissions976> claude --permission-mode bypassPermissions

972```977> ```

973 

974**Windows PowerShell**

975 

976```powershell theme={null}

977$env:CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS = "1"

978claude --permission-mode bypassPermissions

979```

980 978 

981**Windows CMD**979> [tab] Windows PowerShell

980>

981> ```powershell theme={null}

982> $env:CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS = "1"

983> claude --permission-mode bypassPermissions

984> ```

982 985 

983```batch theme={null}986> [tab] Windows CMD

984set CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1987>

985claude --permission-mode bypassPermissions988> ```batch theme={null}

986```989> set CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1

990> claude --permission-mode bypassPermissions

991> ```

987 992 

988> [!WARNING]993> [!WARNING]

989>994>

platforms.md +6 −6

Details

14 14 

15| Plataforma | Mejor para | Lo que obtiene |15| Plataforma | Mejor para | Lo que obtiene |

16| :- | :- | :- |16| :- | :- | :- |

17| [CLI](https://code.claude.com/docs/es/quickstart.md) | Flujos de trabajo de terminal, scripting, servidores remotos | Conjunto completo de características, [Agent SDK](https://code.claude.com/docs/es/headless.md), [uso de computadora](https://code.claude.com/docs/es/computer-use.md) en macOS (Pro y Max), proveedores de terceros |17| [CLI](https://code.claude.com/docs/es/quickstart.md) | Flujos de trabajo de terminal, scripting, servidores remotos | Conjunto completo de características, [Agent SDK](https://code.claude.com/docs/es/headless.md), [uso de computadora](https://code.claude.com/docs/es/computer-use.md) en macOS (Pro, Max y Ultra), proveedores de terceros |

18| [Desktop](https://code.claude.com/docs/es/desktop.md) | Revisión visual, sesiones paralelas, configuración administrada | Visor de diferencias, vista previa de aplicaciones, [uso de computadora](https://code.claude.com/docs/es/desktop.md#let-claude-use-your-computer) y [Dispatch](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch) en Pro y Max |18| [Desktop](https://code.claude.com/docs/es/desktop.md) | Revisión visual, sesiones paralelas, configuración administrada | Visor de diffs, vista previa de aplicaciones, [uso de computadora](https://code.claude.com/docs/es/desktop.md#let-claude-use-your-computer) y [Dispatch](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch) en Pro, Max y Ultra |

19| [VS Code](https://code.claude.com/docs/es/vs-code.md) | Trabajar dentro de VS Code sin cambiar a una terminal | Diferencias en línea, terminal integrada, contexto de archivo |19| [VS Code](https://code.claude.com/docs/es/vs-code.md) | Trabajar dentro de VS Code sin cambiar a una terminal | Diferencias en línea, terminal integrada, contexto de archivo |

20| [JetBrains](https://code.claude.com/docs/es/jetbrains.md) | Trabajar dentro de IntelliJ, PyCharm, WebStorm u otros IDE de JetBrains | Visor de diferencias, intercambio de selección, sesión de terminal |20| [JetBrains](https://code.claude.com/docs/es/jetbrains.md) | Trabajar dentro de IntelliJ, PyCharm, WebStorm u otros IDE de JetBrains | Visor de diferencias, intercambio de selección, sesión de terminal |

21| [Web](https://code.claude.com/docs/es/claude-code-on-the-web.md) | Tareas de larga duración que no necesitan mucha dirección, o trabajo que debe continuar cuando está desconectado | Nube, administrada por Anthropic de forma predeterminada; continúa después de desconectarse |21| [Web](https://code.claude.com/docs/es/claude-code-on-the-web.md) | Tareas de larga duración que no necesitan mucha dirección, o trabajo que debe continuar cuando está desconectado | Nube, administrada por Anthropic de forma predeterminada; continúa después de desconectarse |

22| [Móvil](https://code.claude.com/docs/es/mobile.md) | Iniciar y monitorear tareas mientras está lejos de su computadora | Sesiones en la nube desde la aplicación Claude para iOS y Android, [Remote Control](https://code.claude.com/docs/es/remote-control.md) para sesiones locales, [Dispatch](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch) a Desktop en Pro y Max |22| [Móvil](https://code.claude.com/docs/es/mobile.md) | Iniciar y monitorear tareas mientras estás lejos de tu computadora | Sesiones en la nube desde la aplicación Claude para iOS y Android, [Remote Control](https://code.claude.com/docs/es/remote-control.md) para sesiones locales, [Dispatch](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch) a Desktop en Pro, Max y Ultra |

23 23 

24La CLI es la superficie más completa para el trabajo nativo de terminal: scripting y el Agent SDK son solo CLI. Los proveedores de terceros también funcionan en [VS Code](https://code.claude.com/docs/es/vs-code.md#use-third-party-providers) y en [JetBrains](https://code.claude.com/docs/es/feature-availability.md#features-available-on-every-provider), que ejecuta la CLI en la terminal de su IDE. Las implementaciones empresariales de [Desktop](https://code.claude.com/docs/es/desktop.md) admiten Google Cloud's Agent Platform, y Desktop admite [proveedores de puerta de enlace](https://code.claude.com/docs/es/llm-gateway-connect.md#desktop-app); para Amazon Bedrock o Microsoft Foundry, use la CLI o una extensión de IDE, o [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview), que ejecuta la pestaña Code en esos proveedores. Desktop y las extensiones de IDE intercambian algunas características solo de CLI por revisión visual e integración más estrecha del editor. La web se ejecuta en la nube, por lo que las tareas continúan después de desconectarse. Móvil es un cliente delgado en esas mismas sesiones en la nube o en una sesión local a través de Remote Control, y puede enviar tareas a Desktop con Dispatch.24La CLI es la superficie más completa para el trabajo nativo de terminal: scripting y el Agent SDK son solo CLI. Los proveedores de terceros también funcionan en [VS Code](https://code.claude.com/docs/es/vs-code.md#use-third-party-providers) y en [JetBrains](https://code.claude.com/docs/es/feature-availability.md#features-available-on-every-provider), que ejecuta la CLI en la terminal de su IDE. Las implementaciones empresariales de [Desktop](https://code.claude.com/docs/es/desktop.md) admiten Google Cloud's Agent Platform, y Desktop admite [proveedores de puerta de enlace](https://code.claude.com/docs/es/llm-gateway-connect.md#desktop-app); para Amazon Bedrock o Microsoft Foundry, use la CLI o una extensión de IDE, o [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview), que ejecuta la pestaña Code en esos proveedores. Desktop y las extensiones de IDE intercambian algunas características solo de CLI por revisión visual e integración más estrecha del editor. La web se ejecuta en la nube, por lo que las tareas continúan después de desconectarse. Móvil es un cliente delgado en esas mismas sesiones en la nube o en una sesión local a través de Remote Control, y puede enviar tareas a Desktop con Dispatch.

25 25 


35| [GitHub Actions](https://code.claude.com/docs/es/github-actions.md) | Ejecuta Claude en su canalización de CI | Revisiones automáticas de PR, clasificación de problemas, mantenimiento programado |35| [GitHub Actions](https://code.claude.com/docs/es/github-actions.md) | Ejecuta Claude en su canalización de CI | Revisiones automáticas de PR, clasificación de problemas, mantenimiento programado |

36| [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md) | Lo mismo que GitHub Actions para GitLab | Automatización impulsada por CI en GitLab |36| [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md) | Lo mismo que GitHub Actions para GitLab | Automatización impulsada por CI en GitLab |

37| [Code Review](https://code.claude.com/docs/es/code-review.md) | Revisa automáticamente cada PR | Detectar errores antes de la revisión humana |37| [Code Review](https://code.claude.com/docs/es/code-review.md) | Revisa automáticamente cada PR | Detectar errores antes de la revisión humana |

38| [Slack](https://code.claude.com/docs/es/slack.md) | Responde a menciones de `@Claude` en tus canales, con tu propia cuenta | Convertir informes de errores en pull requests desde el chat del equipo en los planes Pro y Max |38| [Slack](https://code.claude.com/docs/es/slack.md) | Responde a menciones de `@Claude` en tus canales, con tu propia cuenta | Convertir informes de errores en pull requests desde el chat del equipo en los planes Pro, Max y Ultra |

39| [Claude Tag](https://claude.com/docs/claude-tag) | Ejecuta `@Claude` como la identidad compartida de su organización con acceso configurado por el administrador | Acceso compartido del equipo en planes Team y Enterprise, en lugar de sesiones de Slack por usuario |39| [Claude Tag](https://claude.com/docs/claude-tag) | Ejecuta `@Claude` como la identidad compartida de su organización con acceso configurado por el administrador | Acceso compartido del equipo en planes Team y Enterprise, en lugar de sesiones de Slack por usuario |

40 40 

41Para integraciones no listadas aquí, [servidores MCP](https://code.claude.com/docs/es/mcp.md) y [conectores](https://code.claude.com/docs/es/desktop.md#connect-external-tools) le permiten conectar casi cualquier cosa: Linear, Notion, Google Drive o sus propias API internas.41Para integraciones no listadas aquí, [servidores MCP](https://code.claude.com/docs/es/mcp.md) y [conectores](https://code.claude.com/docs/es/desktop.md#connect-external-tools) le permiten conectar casi cualquier cosa: Linear, Notion, Google Drive o sus propias API internas.


49| [Dispatch](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch) | Envíe un mensaje con una tarea desde la aplicación móvil de Claude | Su máquina (Desktop) | [Empareje la aplicación móvil con Desktop](https://support.claude.com/en/articles/13947068) | Delegar trabajo mientras está fuera, configuración mínima |49| [Dispatch](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch) | Envíe un mensaje con una tarea desde la aplicación móvil de Claude | Su máquina (Desktop) | [Empareje la aplicación móvil con Desktop](https://support.claude.com/en/articles/13947068) | Delegar trabajo mientras está fuera, configuración mínima |

50| [Remote Control](https://code.claude.com/docs/es/remote-control.md) | Controle una sesión en ejecución desde [claude.ai/code](https://claude.ai/code) o la aplicación móvil de Claude | Su máquina (CLI, Desktop o VS Code) | Ejecute [`claude remote-control` o `/remote-control`](https://code.claude.com/docs/es/remote-control#start-a-remote-control-session) | Dirigir el trabajo en progreso desde otro dispositivo |50| [Remote Control](https://code.claude.com/docs/es/remote-control.md) | Controle una sesión en ejecución desde [claude.ai/code](https://claude.ai/code) o la aplicación móvil de Claude | Su máquina (CLI, Desktop o VS Code) | Ejecute [`claude remote-control` o `/remote-control`](https://code.claude.com/docs/es/remote-control#start-a-remote-control-session) | Dirigir el trabajo en progreso desde otro dispositivo |

51| [Channels](https://code.claude.com/docs/es/channels.md) | Envíe eventos desde una aplicación de chat como Telegram o Discord, o su propio servidor | Su máquina (CLI) | [Instale un plugin de canal](https://code.claude.com/docs/es/channels.md#quickstart) o [cree el suyo propio](https://code.claude.com/docs/es/channels-reference.md) | Reaccionar a eventos externos como fallos de CI o mensajes de chat |51| [Channels](https://code.claude.com/docs/es/channels.md) | Envíe eventos desde una aplicación de chat como Telegram o Discord, o su propio servidor | Su máquina (CLI) | [Instale un plugin de canal](https://code.claude.com/docs/es/channels.md#quickstart) o [cree el suyo propio](https://code.claude.com/docs/es/channels-reference.md) | Reaccionar a eventos externos como fallos de CI o mensajes de chat |

52| [Slack](https://code.claude.com/docs/es/slack.md) | Menciona `@Claude` en un canal de equipo | Nube de Anthropic | [Instala la aplicación de Slack](https://code.claude.com/docs/es/slack.md#setting-up-claude-code-in-slack) con [Claude Code en la web](https://code.claude.com/docs/es/claude-code-on-the-web.md) habilitado, en planes Pro y Max | PRs y revisiones desde el chat del equipo |52| [Slack](https://code.claude.com/docs/es/slack.md) | Menciona `@Claude` en un canal de equipo | Nube de Anthropic | [Instala la aplicación de Slack](https://code.claude.com/docs/es/slack.md#setting-up-claude-code-in-slack) con [Claude Code en la web](https://code.claude.com/docs/es/claude-code-on-the-web.md) habilitado, en planes Pro, Max y Ultra | PRs y revisiones desde el chat del equipo |

53| [Entornos autohospedados](https://code.claude.com/docs/es/self-hosted-environments) | Inicie una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) y seleccione el entorno de su organización | La infraestructura de su organización | [Implemente ejecutores](https://code.claude.com/docs/es/self-hosted-environments-quickstart.md), en planes Team y Enterprise | Sesiones en la nube que deben ejecutarse dentro de su red |53| [Entornos autohospedados](https://code.claude.com/docs/es/self-hosted-environments) | Inicie una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) y seleccione el entorno de su organización | La infraestructura de su organización | [Implemente ejecutores](https://code.claude.com/docs/es/self-hosted-environments-quickstart.md), en planes Team y Enterprise | Sesiones en la nube que deben ejecutarse dentro de su red |

54| [Tareas programadas](https://code.claude.com/docs/es/scheduled-tasks.md) | Establezca una programación | [CLI](https://code.claude.com/docs/es/scheduled-tasks.md), [Desktop](https://code.claude.com/docs/es/desktop-scheduled-tasks.md), o [nube](https://code.claude.com/docs/es/routines.md) | Seleccione una frecuencia | Automatización recurrente como revisiones diarias |54| [Tareas programadas](https://code.claude.com/docs/es/scheduled-tasks.md) | Establezca una programación | [CLI](https://code.claude.com/docs/es/scheduled-tasks.md), [Desktop](https://code.claude.com/docs/es/desktop-scheduled-tasks.md), o [nube](https://code.claude.com/docs/es/routines.md) | Seleccione una frecuencia | Automatización recurrente como revisiones diarias |

55 55 


74* [GitHub Actions](https://code.claude.com/docs/es/github-actions.md): ejecute Claude en su canalización de CI74* [GitHub Actions](https://code.claude.com/docs/es/github-actions.md): ejecute Claude en su canalización de CI

75* [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md): lo mismo para GitLab75* [GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md): lo mismo para GitLab

76* [Code Review](https://code.claude.com/docs/es/code-review.md): revisión automática en cada solicitud de extracción76* [Code Review](https://code.claude.com/docs/es/code-review.md): revisión automática en cada solicitud de extracción

77* [Slack](https://code.claude.com/docs/es/slack.md): envía tareas desde el chat del equipo y recibe PR de vuelta, en los planes Pro y Max77* [Slack](https://code.claude.com/docs/es/slack.md): envía tareas desde el chat del equipo y recibe PR de vuelta, en los planes Pro, Max y Ultra

78* [Claude Tag](https://claude.com/docs/claude-tag): ejecute `@Claude` como la identidad compartida de su organización en planes Team y Enterprise78* [Claude Tag](https://claude.com/docs/claude-tag): ejecute `@Claude` como la identidad compartida de su organización en planes Team y Enterprise

79 79 

80### Acceso remoto80### Acceso remoto

plugins/install.md +96 −96

Details

27 27 

28Elija la pestaña para donde ejecuta Claude Code.28Elija la pestaña para donde ejecuta Claude Code.

29 29 

30**Terminal**30> [tab] Terminal

31 31>

32Inicie Claude Code con `claude` en su proyecto, luego:32> Inicie Claude Code con `claude` en su proyecto, luego:

33 33>

34**1. Abra los detalles del plugin con el comando de instalación**34> **1. Abra los detalles del plugin con el comando de instalación**

35 35>

36Ejecute `/plugin install` con el nombre del plugin y el marketplace. En una sesión, este comando no instala de inmediato: abre el panel `/plugin` en los detalles de ese plugin para que pueda revisarlo y elegir un alcance primero.36> Ejecute `/plugin install` con el nombre del plugin y el marketplace. En una sesión, este comando no instala de inmediato: abre el panel `/plugin` en los detalles de ese plugin para que pueda revisarlo y elegir un alcance primero.

37 37>

38```text theme={null}38> ```text theme={null}

39/plugin install commit-commands@claude-plugins-official39> /plugin install commit-commands@claude-plugins-official

40```40> ```

41 41>

42Para explorar en su lugar, ejecute `/plugin` sin nombre de plugin: el panel se abre en la pestaña **Discover**, que enumera los plugins de sus marketplaces, y puede escribir para buscar, luego presionar **Enter** en un plugin para abrir sus detalles.42> Para explorar en su lugar, ejecute `/plugin` sin nombre de plugin: el panel se abre en la pestaña **Discover**, que enumera los plugins de sus marketplaces, y puede escribir para buscar, luego presionar **Enter** en un plugin para abrir sus detalles.

43 43>

44**2. Revise lo que añade el plugin**44> **2. Revise lo que añade el plugin**

45 45>

46El panel de detalles muestra la descripción del plugin. También puede mostrar:46> El panel de detalles muestra la descripción del plugin. También puede mostrar:

47 47>

48* **Will install**: los comandos, agentes, skills, hooks y servidores MCP y LSP que añade el plugin.48> * **Will install**: los comandos, agentes, skills, hooks y servidores MCP y LSP que añade el plugin.

49* **Last updated**: se muestra para un plugin en el marketplace oficial de Anthropic.49> * **Last updated**: se muestra para un plugin en el marketplace oficial de Anthropic.

50* **Context cost**: para un plugin en el marketplace oficial de Anthropic, dos estimaciones de tokens. **Every turn** es lo que el plugin añade a cada mensaje que envía, y **When invoked** es lo que sus skills y agentes añaden una vez que Claude los carga. Las estimaciones aparecen cuando abre el plugin nombrando su marketplace, como hace el comando del paso 1, o desde la pestaña **Marketplaces**. El panel de detalles al que llega desde la lista **Discover** no las muestra.50> * **Context cost**: para un plugin en el marketplace oficial de Anthropic, dos estimaciones de tokens. **Every turn** es lo que el plugin añade a cada mensaje que envía, y **When invoked** es lo que sus skills y agentes añaden una vez que Claude los carga. Las estimaciones aparecen cuando abre el plugin nombrando su marketplace, como hace el comando del paso 1, o desde la pestaña **Marketplaces**. El panel de detalles al que llega desde la lista **Discover** no las muestra.

51 51>

52Los plugins de un marketplace local o personalizado pueden mostrar `Components will be discovered at installation` en su lugar.52> Los plugins de un marketplace local o personalizado pueden mostrar `Components will be discovered at installation` en su lugar.

53 53>

54Un plugin puede ejecutar hooks y servidores MCP, así que lea el panel antes de instalar. Consulte [Plugin security and trust](https://code.claude.com/docs/es/plugins/security.md).54> Un plugin puede ejecutar hooks y servidores MCP, así que lea el panel antes de instalar. Consulte [Plugin security and trust](https://code.claude.com/docs/es/plugins/security.md).

55 55>

56**3. Elija un alcance**56> **3. Elija un alcance**

57 57>

58Seleccione una de las tres opciones de instalación:58> Seleccione una de las tres opciones de instalación:

59 59>

60* **Install for you (user scope)**: obtiene el plugin en cada proyecto en esta máquina60> * **Install for you (user scope)**: obtiene el plugin en cada proyecto en esta máquina

61* **Install for all collaborators on this repository (project scope)**: está habilitado para todos los que trabajan en este repositorio61> * **Install for all collaborators on this repository (project scope)**: está habilitado para todos los que trabajan en este repositorio

62* **Install for you, in this repo only (local scope)**: lo obtiene en este repositorio solamente62> * **Install for you, in this repo only (local scope)**: lo obtiene en este repositorio solamente

63 63>

64[Choose an install scope](#choose-an-install-scope) dice qué archivo de configuración escribe cada uno y cuál se aplica cuando el mismo plugin se establece en más de uno.64> [Choose an install scope](#choose-an-install-scope) dice qué archivo de configuración escribe cada uno y cuál se aplica cuando el mismo plugin se establece en más de uno.

65 65>

66Después de seleccionar un alcance, Claude Code instala el plugin junto con cualquier dependencia que declare, luego imprime un resumen de instalación.66> Después de seleccionar un alcance, Claude Code instala el plugin junto con cualquier dependencia que declare, luego imprime un resumen de instalación.

67 67>

68**4. Lea el resumen de instalación**68> **4. Lea el resumen de instalación**

69 69>

70La última oración del resumen le dice si el plugin es utilizable en esta sesión aún:70> La última oración del resumen le dice si el plugin es utilizable en esta sesión aún:

71 71>

72* **Active now**: `Plugin is now active.` No se necesita recarga.72> * **Active now**: `Plugin is now active.` No se necesita recarga.

73* **Active, but a server needs setup**: `Plugin is now active.` va seguido de `Its bundled MCP server needs configuration before it can start`. El [servidor MCP empaquetado](https://code.claude.com/docs/es/plugins/components.md#include-a-packaged-mcpb-server) del plugin no puede iniciarse hasta que establezcas sus opciones. Selecciona el plugin en la pestaña **Installed** de `/plugin` y elige **Configure** para establecer las opciones del servidor.73> * **Active, but a server needs setup**: `Plugin is now active.` va seguido de `Its bundled MCP server needs configuration before it can start`. El [servidor MCP empaquetado](https://code.claude.com/docs/es/plugins/components.md#include-a-packaged-mcpb-server) del plugin no puede iniciarse hasta que establezcas sus opciones. Selecciona el plugin en la pestaña **Installed** de `/plugin` y elige **Configure** para establecer las opciones del servidor.

74* **Reload needed**: `Run /reload-plugins to apply.` El panel se cierra y Claude Code ejecuta esa recarga por ti. Si la recarga [invalidara la caché de prompts](https://code.claude.com/docs/es/prompt-caching.md#enabling-or-disabling-a-plugin), muestra una advertencia y deja el plugin pendiente en su lugar. Ejecuta `/reload-plugins --force` para activarlo de todas formas, lo que cuesta una solicitud sin caché.74> * **Reload needed**: `Run /reload-plugins to apply.` El panel se cierra y Claude Code ejecuta esa recarga por ti. Si la recarga [invalidara la caché de prompts](https://code.claude.com/docs/es/prompt-caching.md#enabling-or-disabling-a-plugin), muestra una advertencia y deja el plugin pendiente en su lugar. Ejecuta `/reload-plugins --force` para activarlo de todas formas, lo que cuesta una solicitud sin caché.

75* **Load failed**: `The plugin couldn't be loaded`. Abre la pestaña **Errors** de `/plugin` para ver el motivo y luego consulta [Después de instalar: el plugin no funciona](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugin-installed-but-not-working).75> * **Load failed**: `The plugin couldn't be loaded`. Abre la pestaña **Errors** de `/plugin` para ver el motivo y luego consulta [Después de instalar: el plugin no funciona](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugin-installed-but-not-working).

76 76>

77**5. Confirma que el plugin funciona**77> **5. Confirma que el plugin funciona**

78 78>

79Escribe `/` y busca los skills del plugin bajo su nombre, con la forma `/<plugin>:<skill>`. Para `commit-commands`, aparece `/commit-commands:commit`. Otros dos lugares también enumeran el plugin:79> Escribe `/` y busca los skills del plugin bajo su nombre, con la forma `/<plugin>:<skill>`. Para `commit-commands`, aparece `/commit-commands:commit`. Otros dos lugares también enumeran el plugin:

80 80>

81* Abra la pestaña **Installed** en `/plugin`, que enumera el plugin con su alcance.81> * Abra la pestaña **Installed** en `/plugin`, que enumera el plugin con su alcance.

82* En su shell, ejecute `claude plugin list`, que imprime la misma lista con líneas `Version`, `Scope` y `Status`.82> * En su shell, ejecute `claude plugin list`, que imprime la misma lista con líneas `Version`, `Scope` y `Status`.

83 83>

84Si `/commit-commands:commit` no aparece, consulte [After install: plugin not working](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugin-installed-but-not-working).84> Si `/commit-commands:commit` no aparece, consulte [After install: plugin not working](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugin-installed-but-not-working).

85 85>

86La instalación desde cualquier otro marketplace requiere un paso extra primero: [agregue el marketplace](#add-a-marketplace). Claude Code añade el marketplace oficial de Anthropic por usted la primera vez que inicia una sesión de terminal interactiva, por lo que el ejemplo omite ese paso. Si encontró un plugin en [claude.com/marketplace](https://claude.com/marketplace), su botón **Claude Code** copia el comando de instalación en su [forma de shell](#install-from-your-shell), `claude plugin install <name>@claude-plugins-official`.86> La instalación desde cualquier otro marketplace requiere un paso extra primero: [agregue el marketplace](#add-a-marketplace). Claude Code añade el marketplace oficial de Anthropic por usted la primera vez que inicia una sesión de terminal interactiva, por lo que el ejemplo omite ese paso. Si encontró un plugin en [claude.com/marketplace](https://claude.com/marketplace), su botón **Claude Code** copia el comando de instalación en su [forma de shell](#install-from-your-shell), `claude plugin install <name>@claude-plugins-official`.

87 

88**Desktop app**

89 

90En una sesión local o SSH en la pestaña **Code** de la aplicación de escritorio:

91 

92**1. Abre el navegador de plugins**

93 

94Haz clic en el botón **+** junto a la caja de prompt y selecciona **Add plugins**. Si el menú **+** muestra **Plugins** en lugar de **Add plugins**, selecciona **Plugins** y luego **Browse plugins**. Se abre el navegador de plugins con los plugins de tus marketplaces.

95 

96**2. Selecciona el plugin**

97 

98Encuentra `commit-commands` y selecciónalo.

99 

100**3. Elige un alcance**

101 

102Elige un [alcance](#choose-an-install-scope): tu cuenta de usuario, este proyecto o solo local.

103 

104Para habilitar, deshabilitar o desinstalar un plugin más tarde, consulta [Install plugins in the desktop app](https://code.claude.com/docs/es/desktop.md#install-plugins).

105 

106**VS Code**

107 

108En el panel de Claude Code en VS Code:

109 

110**1. Abra Manage plugins**

111 

112Escriba `/plugins` en la caja de prompt para abrir **Manage plugins**.

113 

114**2. Instale el plugin**

115 

116En la pestaña **Plugins**, busque `commit-commands` y haga clic en **Install**. Si la pestaña no enumera plugins, agregue primero `anthropics/claude-plugins-official` en la pestaña **Marketplaces**.

117 

118**3. Elija un alcance**

119 

120Elija un [alcance](#choose-an-install-scope): **Install for you**, **Install for this project** o **Install locally**.

121 

122Sus cambios se aplican a las sesiones abiertas sin reinicio. Consulte [Manage plugins in VS Code](https://code.claude.com/docs/es/vs-code.md#manage-plugins).

123 87 

124**Cloud session**88> [tab] Desktop app

89>

90> En una sesión local o SSH en la pestaña **Code** de la aplicación de escritorio:

91>

92> **1. Abre el navegador de plugins**

93>

94> Haz clic en el botón **+** junto a la caja de prompt y selecciona **Add plugins**. Si el menú **+** muestra **Plugins** en lugar de **Add plugins**, selecciona **Plugins** y luego **Browse plugins**. Se abre el navegador de plugins con los plugins de tus marketplaces.

95>

96> **2. Selecciona el plugin**

97>

98> Encuentra `commit-commands` y selecciónalo.

99>

100> **3. Elige un alcance**

101>

102> Elige un [alcance](#choose-an-install-scope): tu cuenta de usuario, este proyecto o solo local.

103>

104> Para habilitar, deshabilitar o desinstalar un plugin más tarde, consulta [Install plugins in the desktop app](https://code.claude.com/docs/es/desktop.md#install-plugins).

125 105 

126Una [sesión en la nube](https://code.claude.com/docs/es/cloud-environments.md), incluyendo [el navegador en claude.ai/code](https://code.claude.com/docs/es/claude-code-on-the-web.md), no tiene navegador de plugins y no carga los plugins que instaló en su propia máquina o los que el `.claude/settings.json` de su repositorio activa. Para plugins que su organización distribuye a través de configuración administrada, consulte [Manage plugins for your organization](https://code.claude.com/docs/es/plugins/org.md).106> [tab] VS Code

107>

108> En el panel de Claude Code en VS Code:

109>

110> **1. Abra Manage plugins**

111>

112> Escriba `/plugins` en la caja de prompt para abrir **Manage plugins**.

113>

114> **2. Instale el plugin**

115>

116> En la pestaña **Plugins**, busque `commit-commands` y haga clic en **Install**. Si la pestaña no enumera plugins, agregue primero `anthropics/claude-plugins-official` en la pestaña **Marketplaces**.

117>

118> **3. Elija un alcance**

119>

120> Elija un [alcance](#choose-an-install-scope): **Install for you**, **Install for this project** o **Install locally**.

121>

122> Sus cambios se aplican a las sesiones abiertas sin reinicio. Consulte [Manage plugins in VS Code](https://code.claude.com/docs/es/vs-code.md#manage-plugins).

127 123 

128Consulte [qué partes de su configuración también están disponibles en una sesión en la nube](https://code.claude.com/docs/es/cloud-environments.md#what-carries-over-from-your-setup) para el resto de su configuración.124> [tab] Cloud session

125>

126> Una [sesión en la nube](https://code.claude.com/docs/es/cloud-environments.md), incluyendo [el navegador en claude.ai/code](https://code.claude.com/docs/es/claude-code-on-the-web.md), no tiene navegador de plugins y no carga los plugins que instaló en su propia máquina o los que el `.claude/settings.json` de su repositorio activa. Para plugins que su organización distribuye a través de configuración administrada, consulte [Manage plugins for your organization](https://code.claude.com/docs/es/plugins/org.md).

127>

128> Consulte [qué partes de su configuración también están disponibles en una sesión en la nube](https://code.claude.com/docs/es/cloud-environments.md#what-carries-over-from-your-setup) para el resto de su configuración.

129 129 

130### Elija un alcance de instalación130### Elija un alcance de instalación

131 131 

Details

116 116 

117### Compartir uso en `/usage`117### Compartir uso en `/usage`

118 118 

119En un plan Pro, Max, Team o Enterprise, el desglose `/usage` atribuye el uso reciente a skills, subagentes, plugins y servidores MCP como una parte del total. Consulte [Using the `/usage` command](https://code.claude.com/docs/es/costs#using-the-/usage-command).119En un plan Pro, Max, Ultra, Team o Enterprise, el desglose `/usage` atribuye el uso reciente a skills, subagentes, plugins y servidores MCP como una parte del total. Consulta [Using the `/usage` command](https://code.claude.com/docs/es/costs#using-the-/usage-command).

120 120 

121## Medir en toda una flota121## Medir en toda una flota

122 122 

Details

92 92 

93Crea los dos directorios que contienen los archivos:93Crea los dos directorios que contienen los archivos:

94 94 

95**Bash o Zsh**95> [tab] Bash o Zsh

96 96>

97```bash theme={null}97> ```bash theme={null}

98mkdir -p first-mod/.claude-plugin first-mod/hooks98> mkdir -p first-mod/.claude-plugin first-mod/hooks

99```99> ```

100 

101**PowerShell**

102 100 

103```powershell theme={null}101> [tab] PowerShell

104New-Item -ItemType Directory -Force first-mod\.claude-plugin, first-mod\hooks102>

105```103> ```powershell theme={null}

104> New-Item -ItemType Directory -Force first-mod\.claude-plugin, first-mod\hooks

105> ```

106 106 

107**2. Escribe el manifiesto**107**2. Escribe el manifiesto**

108 108 

Details

181 181 

182El panel y la franja están vacíos hasta que un mod los llena. Selecciona una pestaña para ver qué es cada uno y cómo dibujar en él:182El panel y la franja están vacíos hasta que un mod los llena. Selecciona una pestaña para ver qué es cada uno y cómo dibujar en él:

183 183 

184**Panel**184> [tab] Panel

185 185>

186Un panel es una barra lateral junto a la transcripción en una terminal de pantalla completa ancha o, en caso contrario, una región enmarcada encima del prompt. Con varios paneles abiertos, cada uno tiene una pestaña que muestra su título.186> Un panel es una barra lateral junto a la transcripción en una terminal de pantalla completa ancha o, en caso contrario, una región enmarcada encima del prompt. Con varios paneles abiertos, cada uno tiene una pestaña que muestra su título.

187 187>

188Un panel aparece cuando tu mod llama a `$.ui.open` con un `id` que eliges, como en `$.ui.open({ id: 'hello-tabs' })`. [Abre un panel en el momento adecuado](#open-a-pane-at-the-right-time) describe los demás campos y cuándo un panel espera a que la terminal sea más ancha.188> Un panel aparece cuando tu mod llama a `$.ui.open` con un `id` que eliges, como en `$.ui.open({ id: 'hello-tabs' })`. [Abre un panel en el momento adecuado](#open-a-pane-at-the-right-time) describe los demás campos y cuándo un panel espera a que la terminal sea más ancha.

189 189>

190Para dibujar en tu panel, filtra por `{ component: 'Pane' }` y comprueba que `e.requestId` sea tu `id`.190> Para dibujar en tu panel, filtra por `{ component: 'Pane' }` y comprueba que `e.requestId` sea tu `id`.

191 

192**Franja encima del prompt**

193 

194La franja es una tira directamente encima de la entrada del prompt. Siempre está ahí y todos los mods la comparten.

195 

196Tu hook devuelve un árbol para mostrar algo en la franja, o `next(e)` para no mostrar nada. Un árbol reemplaza lo que los mods [posteriores al tuyo](https://code.claude.com/docs/es/plugins/mods/events.md#the-order-mods-run-in) dibujan ahí. Para conservar lo suyo, coloca el resultado de `await next(e)` entre los hijos de un [`Box`](#build-a-tree-from-elements) en tu árbol.

197 191 

198Para dibujar en la franja, filtra por `{ component: 'AbovePrompt' }`.192> [tab] Franja encima del prompt

193>

194> La franja es una tira directamente encima de la entrada del prompt. Siempre está ahí y todos los mods la comparten.

195>

196> Tu hook devuelve un árbol para mostrar algo en la franja, o `next(e)` para no mostrar nada. Un árbol reemplaza lo que los mods [posteriores al tuyo](https://code.claude.com/docs/es/plugins/mods/events.md#the-order-mods-run-in) dibujan ahí. Para conservar lo suyo, coloca el resultado de `await next(e)` entre los hijos de un [`Box`](#build-a-tree-from-elements) en tu árbol.

197>

198> Para dibujar en la franja, filtra por `{ component: 'AbovePrompt' }`.

199 199 

200### Cambia lo que Claude Code ya dibuja200### Cambia lo que Claude Code ya dibuja

201 201 


214 214 

215En un punto que Claude Code ya dibuja, tu hook puede cambiar un detalle, reemplazar el dibujo o dejarlo como está. Selecciona una pestaña para ver cada opción aplicada al spinner. Los ejemplos leen una variable `calls` que otro hook cuenta, como en el [mod del tutorial](https://code.claude.com/docs/es/plugins/mods/create.md#write-a-mod-yourself).215En un punto que Claude Code ya dibuja, tu hook puede cambiar un detalle, reemplazar el dibujo o dejarlo como está. Selecciona una pestaña para ver cada opción aplicada al spinner. Los ejemplos leen una variable `calls` que otro hook cuenta, como en el [mod del tutorial](https://code.claude.com/docs/es/plugins/mods/create.md#write-a-mod-yourself).

216 216 

217**Cambiar un detalle**217> [tab] Cambiar un detalle

218 218>

219Para conservar el dibujo de Claude Code y cambiar una parte, pasa a `next` una copia del evento con las `props` modificadas. Este hook cambia el texto que sigue a la palabra del spinner:219> Para conservar el dibujo de Claude Code y cambiar una parte, pasa a `next` una copia del evento con las `props` modificadas. Este hook cambia el texto que sigue a la palabra del spinner:

220 220>

221```javascript theme={null}221> ```javascript theme={null}

222on('ui.render', { component: 'Spinner' }, async ($, e, next) => {222> on('ui.render', { component: 'Spinner' }, async ($, e, next) => {

223 // Keep Claude Code's spinner, and change the text after its word223> // Keep Claude Code's spinner, and change the text after its word

224 return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })224> return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })

225})225> })

226```226> ```

227 227>

228El spinner conserva su animación y su palabra, y tu texto va después de la palabra:228> El spinner conserva su animación y su palabra, y tu texto va después de la palabra:

229 229>

230```text theme={null}230> ```text theme={null}

231Thinking · tool calls: 2…231> Thinking · tool calls: 2…

232```232> ```

233 

234**Reemplazar el dibujo**

235 

236Para dibujar algo propio en lugar del punto, devuelve un árbol y no llames a `next`. Este hook dibuja una línea de texto donde estaría el spinner:

237 

238```javascript theme={null}

239on('ui.render', { component: 'Spinner' }, async ($, e) => {

240 const { Text } = $.ui.resolve(e)

241 // No call to next, so this line is drawn in the spinner's place

242 return Text({ children: ['Claude has made ' + calls + ' tool calls'] })

243})

244```

245 

246Mientras Claude trabaja, se muestra tu línea y no el spinner de Claude Code:

247 

248```text theme={null}

249Claude has made 2 tool calls

250```

251 

252**Dejarlo como está**

253 

254Para dejar el punto tal como lo dibuja Claude Code, devuelve `next(e)`. Un hook suele hacerlo para algunos eventos y no para otros. Este hook deja el spinner como está hasta que haya una llamada que contar:

255 

256```javascript theme={null}

257on('ui.render', { component: 'Spinner' }, async ($, e, next) => {

258 // Nothing to show yet, so pass the event on unchanged

259 if (calls === 0) return next(e)

260 return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })

261})

262```

263 233 

264Antes de la primera llamada a herramienta, el spinner se ve igual que sin el mod:234> [tab] Reemplazar el dibujo

235>

236> Para dibujar algo propio en lugar del punto, devuelve un árbol y no llames a `next`. Este hook dibuja una línea de texto donde estaría el spinner:

237>

238> ```javascript theme={null}

239> on('ui.render', { component: 'Spinner' }, async ($, e) => {

240> const { Text } = $.ui.resolve(e)

241> // No call to next, so this line is drawn in the spinner's place

242> return Text({ children: ['Claude has made ' + calls + ' tool calls'] })

243> })

244> ```

245>

246> Mientras Claude trabaja, se muestra tu línea y no el spinner de Claude Code:

247>

248> ```text theme={null}

249> Claude has made 2 tool calls

250> ```

265 251 

266```text theme={null}252> [tab] Dejarlo como está

267Thinking…253>

268```254> Para dejar el punto tal como lo dibuja Claude Code, devuelve `next(e)`. Un hook suele hacerlo para algunos eventos y no para otros. Este hook deja el spinner como está hasta que haya una llamada que contar:

255>

256> ```javascript theme={null}

257> on('ui.render', { component: 'Spinner' }, async ($, e, next) => {

258> // Nothing to show yet, so pass the event on unchanged

259> if (calls === 0) return next(e)

260> return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })

261> })

262> ```

263>

264> Antes de la primera llamada a herramienta, el spinner se ve igual que sin el mod:

265>

266> ```text theme={null}

267> Thinking…

268> ```

269 269 

270En estos puntos, `next(e)` devuelve una referencia al dibujo de Claude Code, `{ type: 'engine', ref }`, a menos que un mod que se ejecuta después del tuyo haya devuelto un árbol propio. Para cambiar lo que hay en ese dibujo, pasa a `next` una copia del evento con props diferentes, como hace la pestaña **Cambiar un detalle**. Puedes devolver la referencia tal cual o colocarla en un `Box` junto a elementos propios:270En estos puntos, `next(e)` devuelve una referencia al dibujo de Claude Code, `{ type: 'engine', ref }`, a menos que un mod que se ejecuta después del tuyo haya devuelto un árbol propio. Para cambiar lo que hay en ese dibujo, pasa a `next` una copia del evento con props diferentes, como hace la pestaña **Cambiar un detalle**. Puedes devolver la referencia tal cual o colocarla en un `Box` junto a elementos propios:

271 271 


357 357 

358Selecciona una pestaña para ver cada uno de los elementos más comunes y cómo los dibuja la terminal:358Selecciona una pestaña para ver cada uno de los elementos más comunes y cómo los dibuja la terminal:

359 359 

360**Text**360> [tab] Text

361 361>

362`Text` dibuja una cadena, con estilos opcionales como `bold` y `color`:362> `Text` dibuja una cadena, con estilos opcionales como `bold` y `color`:

363 363>

364```javascript theme={null}364> ```javascript theme={null}

365Text({ children: ['This is the first tab.'] })365> Text({ children: ['This is the first tab.'] })

366```366> ```

367 367>

368```text theme={null}368> ```text theme={null}

369This is the first tab.369> This is the first tab.

370```370> ```

371 

372**Box**

373 

374`Box` organiza lo que contiene, en una fila o una columna. Este coloca un botón y una línea de texto uno al lado del otro, separados por dos columnas:

375 

376```javascript theme={null}

377Box({

378 flexDirection: 'row',

379 columnGap: 2,

380 children: [

381 Button({ key: 'more', label: 'Add one', onPress: addOne }),

382 Text({ children: ['Count: 0'] }),

383 ],

384})

385```

386 

387```text theme={null}

388[ Add one ] Count: 0

389```

390 

391**Button**

392 

393`Button` es un control que el usuario puede presionar. Ejecuta tu callback `onPress`. Con `plain: true` no tiene corchetes y muestra su tecla de acceso rápido:

394 

395```javascript theme={null}

396Button({ key: 'more', label: 'Add one', onPress: addOne })

397Button({ key: 'tab-one', label: 'One', hotkey: '1', plain: true, onPress: showTabOne })

398```

399 

400```text theme={null}

401[ Add one ]

4021: One

403```

404 

405**Input**

406 

407`Input` es un campo de texto. Ejecuta tu callback `onSubmit` con el texto cuando el usuario presiona Enter:

408 371 

409```javascript theme={null}372> [tab] Box

410Input({373>

411 key: 'new-note',374> `Box` organiza lo que contiene, en una fila o una columna. Este coloca un botón y una línea de texto uno al lado del otro, separados por dos columnas:

412 label: 'Note',375>

413 placeholder: 'Type a note and press Enter',376> ```javascript theme={null}

414 value: '',377> Box({

415 submitLabel: 'add',378> flexDirection: 'row',

416 onSubmit: addNote,379> columnGap: 2,

417})380> children: [

418```381> Button({ key: 'more', label: 'Add one', onPress: addOne }),

382> Text({ children: ['Count: 0'] }),

383> ],

384> })

385> ```

386>

387> ```text theme={null}

388> [ Add one ] Count: 0

389> ```

419 390 

420```text theme={null}391> [tab] Button

421Note: Type a note and press Enter392>

422```393> `Button` es un control que el usuario puede presionar. Ejecuta tu callback `onPress`. Con `plain: true` no tiene corchetes y muestra su tecla de acceso rápido:

394>

395> ```javascript theme={null}

396> Button({ key: 'more', label: 'Add one', onPress: addOne })

397> Button({ key: 'tab-one', label: 'One', hotkey: '1', plain: true, onPress: showTabOne })

398> ```

399>

400> ```text theme={null}

401> [ Add one ]

402> 1: One

403> ```

423 404 

424Establece `rows` en 2 o más para tener [un campo que admita varias líneas](https://code.claude.com/docs/es/plugins/mods/gallery.md#input).405> [tab] Input

406>

407> `Input` es un campo de texto. Ejecuta tu callback `onSubmit` con el texto cuando el usuario presiona Enter:

408>

409> ```javascript theme={null}

410> Input({

411> key: 'new-note',

412> label: 'Note',

413> placeholder: 'Type a note and press Enter',

414> value: '',

415> submitLabel: 'add',

416> onSubmit: addNote,

417> })

418> ```

419>

420> ```text theme={null}

421> Note: Type a note and press Enter

422> ```

423>

424> Establece `rows` en 2 o más para tener [un campo que admita varias líneas](https://code.claude.com/docs/es/plugins/mods/gallery.md#input).

425 425 

426La [galería de interfaces](https://code.claude.com/docs/es/plugins/mods/gallery.md) tiene ejemplos y capturas de pantalla de la mayoría de los elementos. Esta tabla enumera todos los elementos:426La [galería de interfaces](https://code.claude.com/docs/es/plugins/mods/gallery.md) tiene ejemplos y capturas de pantalla de la mayoría de los elementos. Esta tabla enumera todos los elementos:

427 427 

Details

132 132 

133**1. Confirma que puedes enviar**133**1. Confirma que puedes enviar**

134 134 

135El envío requiere un plan de claude.ai de pago. En Pro y Max envías desde tu propia cuenta. En Team y Enterprise, un Owner puede enviar, y en Enterprise un Owner también puede otorgar el permiso de **Directory** a otros miembros a través de un rol personalizado en **Organization settings > Roles**. Consulta [Confirm you can submit to the directory](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory).135El envío requiere un plan de claude.ai de pago. En Pro, Max y Ultra envías desde tu propia cuenta. En Team y Enterprise, un Owner puede enviar, y en Enterprise un Owner también puede otorgar el permiso de **Directory** a otros miembros a través de un rol personalizado en **Organization settings > Roles**. Consulta [Confirm you can submit to the directory](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory).

136 136 

137**2. Valida el plugin localmente**137**2. Valida el plugin localmente**

138 138 

Details

302 302 

303Clonar un mercado, y re-clonar uno para actualizarlo, obtiene 120 segundos por defecto. Para un repositorio grande o una conexión lenta, aumente el límite. El valor está en milisegundos:303Clonar un mercado, y re-clonar uno para actualizarlo, obtiene 120 segundos por defecto. Para un repositorio grande o una conexión lenta, aumente el límite. El valor está en milisegundos:

304 304 

305**Bash or Zsh**305> [tab] Bash or Zsh

306 306>

307```bash theme={null}307> ```bash theme={null}

308export CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS=300000308> export CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS=300000

309```309> ```

310 

311**PowerShell**

312 310 

313```powershell theme={null}311> [tab] PowerShell

314$env:CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS = "300000"312>

315```313> ```powershell theme={null}

314> $env:CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS = "300000"

315> ```

316 316 

317Luego reintente en el mismo shell.317Luego reintente en el mismo shell.

318 318 


328 328 

329Establezca esta variable para omitir el intento de re-clonación y mantener el uso del checkout existente cuando la verificación no puede alcanzar el host:329Establezca esta variable para omitir el intento de re-clonación y mantener el uso del checkout existente cuando la verificación no puede alcanzar el host:

330 330 

331**Bash or Zsh**331> [tab] Bash or Zsh

332 332>

333```bash theme={null}333> ```bash theme={null}

334export CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1334> export CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1

335```335> ```

336 

337**PowerShell**

338 336 

339```powershell theme={null}337> [tab] PowerShell

340$env:CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE = "1"338>

341```339> ```powershell theme={null}

340> $env:CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE = "1"

341> ```

342 342 

343Con la variable establecida, Claude Code omite la re-clonación solo para un checkout que ya contiene `.claude-plugin/marketplace.json`. Un mercado que nunca fue clonado o cuyo clonado se detuvo a mitad de camino aún obtiene el intento de clonación, así que agréguelo una vez mientras está en línea.343Con la variable establecida, Claude Code omite la re-clonación solo para un checkout que ya contiene `.claude-plugin/marketplace.json`. Un mercado que nunca fue clonado o cuyo clonado se detuvo a mitad de camino aún obtiene el intento de clonación, así que agréguelo una vez mientras está en línea.

344 344 

quickstart.md +56 −56

Details

14 14 

15* Una terminal o prompt de comandos abiertos15* Una terminal o prompt de comandos abiertos

16* Un proyecto de código con el que trabajar16* Un proyecto de código con el que trabajar

17* Una [suscripción a Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_prereq) (Pro, Max, Team o Enterprise), una cuenta de [Claude Console](https://platform.claude.com/), o acceso a través de un [proveedor de nube compatible](https://code.claude.com/docs/es/third-party-integrations.md)17* Una [suscripción a Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_prereq) (Pro, Max, Ultra, Team o Enterprise), una cuenta de [Claude Console](https://platform.claude.com/), o acceso a través de un [proveedor de nube compatible](https://code.claude.com/docs/es/third-party-integrations.md)

18 18 

19> [!NOTE]19> [!NOTE]

20>20>


27 27 

28Para instalar Claude Code, abra una terminal y ejecute el comando para su sistema. Si nunca ha utilizado una terminal antes, la [guía de terminal](https://code.claude.com/docs/es/terminal-guide) muestra cómo abrir una y pegar el comando.28Para instalar Claude Code, abra una terminal y ejecute el comando para su sistema. Si nunca ha utilizado una terminal antes, la [guía de terminal](https://code.claude.com/docs/es/terminal-guide) muestra cómo abrir una y pegar el comando.

29 29 

30**Instalación nativa (recomendado)**30> [tab] Instalación nativa (recomendado)

31 

32**macOS, Linux, WSL:**

33 

34```bash theme={null}

35curl -fsSL https://claude.ai/install.sh | bash

36```

37 

38En Windows, tu prompt muestra `PS C:\` cuando estás en PowerShell y `C:\` sin el `PS` cuando estás en CMD.

39 

40**Windows PowerShell:**

41 

42```powershell theme={null}

43irm https://claude.ai/install.ps1 | iex

44```

45 

46**Windows CMD:**

47 

48```batch theme={null}

49curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

50```

51 

52El comando de instalación no muestra ningún progreso mientras descarga Claude Code. Cuando el instalador termine, abre una nueva ventana de terminal y ejecuta `claude --version`. Una instalación que funciona correctamente imprime un número de versión. Si tu shell dice que `claude` no se encuentra o no se reconoce, el directorio de instalación aún no está en tu PATH: consulta [Corrige tu PATH](https://code.claude.com/docs/es/troubleshoot-install.md#command-not-found-claude-after-installation).

53 

54Si ves `The token '&&' is not a valid statement separator`, estás en PowerShell, no en CMD. Si ves `'irm' is not recognized as an internal or external command`, estás en CMD, no en PowerShell.

55 

56Si el comando de instalación falla con `syntax error near unexpected token '<'`, un `403` o cualquier otro error, consulta [Solucionar problemas de instalación](https://code.claude.com/docs/es/troubleshoot-install.md#find-your-error) para hacer coincidir el error con una solución y para conocer métodos de instalación alternativos.

57 

58Se recomienda [Git for Windows](https://git-scm.com/downloads/win) en Windows nativo para que Claude Code pueda utilizar la herramienta Bash. Si Git for Windows no está instalado, Claude Code utiliza PowerShell como herramienta de shell en su lugar. Las configuraciones de WSL no necesitan Git for Windows.

59 

60> [!NOTE]

61>31>

62> Las instalaciones nativas se actualizan automáticamente en segundo plano para mantenerlo en la versión más reciente.32> **macOS, Linux, WSL:**

63 

64**Homebrew**

65 

66```bash theme={null}

67brew install --cask claude-code

68```

69 

70Homebrew ofrece dos casks. `claude-code` rastrea el canal de versión estable, que típicamente está aproximadamente una semana atrás y omite versiones con regresiones importantes. `claude-code@latest` rastrea el canal más reciente y recibe nuevas versiones tan pronto como se lanzan.

71 

72> [!NOTE]

73>33>

74> Las instalaciones de Homebrew no se actualizan automáticamente. Ejecute `brew upgrade claude-code` o `brew upgrade claude-code@latest`, dependiendo de cuál cask haya instalado, para obtener las características más recientes y correcciones de seguridad.34> ```bash theme={null}

75 35> curl -fsSL https://claude.ai/install.sh | bash

76**WinGet**36> ```

37>

38> En Windows, tu prompt muestra `PS C:\` cuando estás en PowerShell y `C:\` sin el `PS` cuando estás en CMD.

39>

40> **Windows PowerShell:**

41>

42> ```powershell theme={null}

43> irm https://claude.ai/install.ps1 | iex

44> ```

45>

46> **Windows CMD:**

47>

48> ```batch theme={null}

49> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

50> ```

51>

52> El comando de instalación no muestra ningún progreso mientras descarga Claude Code. Cuando el instalador termine, abre una nueva ventana de terminal y ejecuta `claude --version`. Una instalación que funciona correctamente imprime un número de versión. Si tu shell dice que `claude` no se encuentra o no se reconoce, el directorio de instalación aún no está en tu PATH: consulta [Corrige tu PATH](https://code.claude.com/docs/es/troubleshoot-install.md#command-not-found-claude-after-installation).

53>

54> Si ves `The token '&&' is not a valid statement separator`, estás en PowerShell, no en CMD. Si ves `'irm' is not recognized as an internal or external command`, estás en CMD, no en PowerShell.

55>

56> Si el comando de instalación falla con `syntax error near unexpected token '<'`, un `403` o cualquier otro error, consulta [Solucionar problemas de instalación](https://code.claude.com/docs/es/troubleshoot-install.md#find-your-error) para hacer coincidir el error con una solución y para conocer métodos de instalación alternativos.

57>

58> Se recomienda [Git for Windows](https://git-scm.com/downloads/win) en Windows nativo para que Claude Code pueda utilizar la herramienta Bash. Si Git for Windows no está instalado, Claude Code utiliza PowerShell como herramienta de shell en su lugar. Las configuraciones de WSL no necesitan Git for Windows.

59>

60> > [!NOTE]

61> >

62> > Las instalaciones nativas se actualizan automáticamente en segundo plano para mantenerlo en la versión más reciente.

77 63 

78```powershell theme={null}64> [tab] Homebrew

79winget install Anthropic.ClaudeCode65>

80```66> ```bash theme={null}

67> brew install --cask claude-code

68> ```

69>

70> Homebrew ofrece dos casks. `claude-code` rastrea el canal de versión estable, que típicamente está aproximadamente una semana atrás y omite versiones con regresiones importantes. `claude-code@latest` rastrea el canal más reciente y recibe nuevas versiones tan pronto como se lanzan.

71>

72> > [!NOTE]

73> >

74> > Las instalaciones de Homebrew no se actualizan automáticamente. Ejecute `brew upgrade claude-code` o `brew upgrade claude-code@latest`, dependiendo de cuál cask haya instalado, para obtener las características más recientes y correcciones de seguridad.

81 75 

82> [!NOTE]76> [tab] WinGet

77>

78> ```powershell theme={null}

79> winget install Anthropic.ClaudeCode

80> ```

83>81>

84> Las instalaciones de WinGet no se actualizan automáticamente. Ejecute `winget upgrade Anthropic.ClaudeCode` periódicamente para obtener las características más recientes y correcciones de seguridad.82> > [!NOTE]

83> >

84> > Las instalaciones de WinGet no se actualizan automáticamente. Ejecute `winget upgrade Anthropic.ClaudeCode` periódicamente para obtener las características más recientes y correcciones de seguridad.

85 85 

86También puede instalar con [apt, dnf, o apk](https://code.claude.com/docs/es/setup.md#install-with-linux-package-managers) en Debian, Fedora, RHEL y Alpine.86También puede instalar con [apt, dnf, o apk](https://code.claude.com/docs/es/setup.md#install-with-linux-package-managers) en Debian, Fedora, RHEL y Alpine.

87 87 


108 108 

109Puedes iniciar sesión con cualquiera de estos tipos de cuenta:109Puedes iniciar sesión con cualquiera de estos tipos de cuenta:

110 110 

111* [Claude Pro, Max, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (recomendado)111* [Claude Pro, Max, Ultra, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (recomendado)

112* [Claude Console](https://platform.claude.com/) (acceso a la API con créditos prepagados). En el primer inicio de sesión, se crea automáticamente un espacio de trabajo "Claude Code" en Console para el seguimiento centralizado de costos.112* [Claude Console](https://platform.claude.com/) (acceso a la API con créditos prepagados). En el primer inicio de sesión, se crea automáticamente un espacio de trabajo "Claude Code" en Console para el seguimiento centralizado de costos.

113* [Amazon Bedrock, Agent Platform de Google Cloud o Microsoft Foundry](https://code.claude.com/docs/es/third-party-integrations.md) (proveedores de nube empresariales)113* [Amazon Bedrock, Agent Platform de Google Cloud o Microsoft Foundry](https://code.claude.com/docs/es/third-party-integrations.md) (proveedores de nube empresariales)

114* Un [gateway de aplicaciones de Claude](https://code.claude.com/docs/es/claude-apps-gateway) autoalojado, si tu organización ejecuta uno: tu administrador preconfigura la URL del gateway, y `/login` se abre directamente en la pantalla **Cloud gateway** para que inicies sesión con el SSO corporativo114* Un [gateway de aplicaciones de Claude](https://code.claude.com/docs/es/claude-apps-gateway) autoalojado, si tu organización ejecuta uno: tu administrador preconfigura la URL del gateway, y `/login` se abre directamente en la pantalla **Cloud gateway** para que inicies sesión con el SSO corporativo


267 267 

268Para más información, consulte [mejores prácticas](https://code.claude.com/docs/es/best-practices.md) y [flujos de trabajo comunes](https://code.claude.com/docs/es/common-workflows.md).268Para más información, consulte [mejores prácticas](https://code.claude.com/docs/es/best-practices.md) y [flujos de trabajo comunes](https://code.claude.com/docs/es/common-workflows.md).

269 269 

270> **Sea específico con sus solicitudes**270> [accordion] Sea específico con sus solicitudes

271>271>

272> En lugar de: "corrige el error"272> En lugar de: "corrige el error"

273>273>

274> Intente: "corrige el error de inicio de sesión donde los usuarios ven una pantalla en blanco después de ingresar credenciales incorrectas"274> Intente: "corrige el error de inicio de sesión donde los usuarios ven una pantalla en blanco después de ingresar credenciales incorrectas"

275 275 

276> **Utilice instrucciones paso a paso**276> [accordion] Utilice instrucciones paso a paso

277>277>

278> Divida tareas complejas en pasos:278> Divida tareas complejas en pasos:

279>279>


283> 3. construye una página web que permita a los usuarios ver y editar su información283> 3. construye una página web que permita a los usuarios ver y editar su información

284> ```284> ```

285 285 

286> **Deje que Claude explore primero**286> [accordion] Deje que Claude explore primero

287>287>

288> Antes de hacer cambios, deje que Claude entienda su código:288> Antes de hacer cambios, deje que Claude entienda su código:

289>289>


295> construye un panel que muestre los productos que nuestros clientes del Reino Unido devuelven con más frecuencia295> construye un panel que muestre los productos que nuestros clientes del Reino Unido devuelven con más frecuencia

296> ```296> ```

297 297 

298> **Ahorre tiempo con atajos de teclado**298> [accordion] Ahorre tiempo con atajos de teclado

299>299>

300> * Escriba `/` para ver todos los comandos y skills disponibles300> * Escriba `/` para ver todos los comandos y skills disponibles

301> * Utilice Tab para completar comandos301> * Utilice Tab para completar comandos

remote-control.md +97 −97

Details

25 25 

26Antes de usar Remote Control, confirme que su entorno cumple con estas condiciones:26Antes de usar Remote Control, confirme que su entorno cumple con estas condiciones:

27 27 

28* **Suscripción**: disponible en planes Pro, Max, Team y Enterprise. Las claves API no son compatibles. En Team y Enterprise, un propietario debe habilitar primero el botón de alternancia de Remote Control en [configuración de administración de Claude Code](https://claude.ai/admin-settings/claude-code).28* **Suscripción**: disponible en planes Pro, Max, Ultra, Team y Enterprise. Las claves de API no son compatibles. En Team y Enterprise, un propietario debe habilitar primero el botón de alternancia de Remote Control en [configuración de administración de Claude Code](https://claude.ai/admin-settings/claude-code).

29* **Roles personalizados**: si tu organización Enterprise administra tu acceso con [roles personalizados](https://support.claude.com/en/articles/13930452), tus roles deben otorgarte tanto el permiso de sesiones en la nube como el permiso **Claude Code remote control**. Si falta alguno de los dos, al iniciar Remote Control se muestra [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy). Pide a un propietario que revise tus roles y agregue lo que falta en [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).29* **Roles personalizados**: si tu organización Enterprise administra tu acceso con [roles personalizados](https://support.claude.com/en/articles/13930452), tus roles deben otorgarte tanto el permiso de sesiones en la nube como el permiso **Claude Code remote control**. Si falta alguno de los dos, al iniciar Remote Control se muestra [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy). Pide a un propietario que revise tus roles y agregue lo que falta en [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

30* **Autenticación**: ejecute `claude` y use `/login` para iniciar sesión a través de claude.ai si aún no lo ha hecho. Sin un inicio de sesión elegible, `claude remote-control` se cierra con un error, mientras que `claude --remote-control` aún inicia una sesión interactiva y muestra una notificación de fallo de Remote Control poco después del lanzamiento.30* **Autenticación**: ejecute `claude` y use `/login` para iniciar sesión a través de claude.ai si aún no lo ha hecho. Sin un inicio de sesión elegible, `claude remote-control` se cierra con un error, mientras que `claude --remote-control` aún inicia una sesión interactiva y muestra una notificación de fallo de Remote Control poco después del lanzamiento.

31* **Punto final de API**: no disponible en ninguna de estas configuraciones:31* **Punto final de API**: no disponible en ninguna de estas configuraciones:


41 41 

42Puede iniciar una sesión de Remote Control desde la CLI, la [aplicación Claude Desktop](https://code.claude.com/docs/es/desktop.md), o la extensión de VS Code. La CLI ofrece tres modos de invocación; la aplicación Desktop y VS Code usan el comando `/remote-control`.42Puede iniciar una sesión de Remote Control desde la CLI, la [aplicación Claude Desktop](https://code.claude.com/docs/es/desktop.md), o la extensión de VS Code. La CLI ofrece tres modos de invocación; la aplicación Desktop y VS Code usan el comando `/remote-control`.

43 43 

44**Modo servidor**44> [tab] Modo servidor

45 45>

46En su directorio de proyecto, ejecute:46> En su directorio de proyecto, ejecute:

47 47>

48```bash theme={null}48> ```bash theme={null}

49claude remote-control49> claude remote-control

50```50> ```

51 51>

52Hasta que acepte la confirmación única de Remote Control, `claude remote-control` explica qué hace y pregunta `Enable Remote Control? (y/n)` antes de iniciar el servidor. Responda `y` para aceptar e iniciar el servidor. Si rechaza, Claude Code sale sin iniciar el servidor y pregunta nuevamente la próxima vez que ejecute el comando.52> Hasta que acepte la confirmación única de Remote Control, `claude remote-control` explica qué hace y pregunta `Enable Remote Control? (y/n)` antes de iniciar el servidor. Responda `y` para aceptar e iniciar el servidor. Si rechaza, Claude Code sale sin iniciar el servidor y pregunta nuevamente la próxima vez que ejecute el comando.

53 53>

54El proceso sigue ejecutándose en su terminal en modo servidor, esperando conexiones remotas. Muestra una URL de sesión que puede usar para [conectarse desde otro dispositivo](#connect-from-another-device), y puede presionar la barra espaciadora para mostrar un código QR para acceso rápido desde su teléfono. Mientras una sesión remota está activa, la terminal muestra el estado de la conexión y la actividad de las herramientas.54> El proceso sigue ejecutándose en su terminal en modo servidor, esperando conexiones remotas. Muestra una URL de sesión que puede usar para [conectarse desde otro dispositivo](#connect-from-another-device), y puede presionar la barra espaciadora para mostrar un código QR para acceso rápido desde su teléfono. Mientras una sesión remota está activa, la terminal muestra el estado de la conexión y la actividad de las herramientas.

55 55>

56Pase cualquiera de estas banderas después de `remote-control`:56> Pase cualquiera de estas banderas después de `remote-control`:

57 57>

58| Bandera | Descripción |58> | Bandera | Descripción |

59| - | - |59> | - | - |

60| `--name "My Project"` | Establezca un título de sesión personalizado visible en la lista de sesiones en claude.ai/code. |60> | `--name "My Project"` | Establezca un título de sesión personalizado visible en la lista de sesiones en claude.ai/code. |

61| `--remote-control-session-name-prefix <prefix>` | Prefijo para nombres de sesión generados automáticamente cuando no se establece un nombre explícito. El valor predeterminado es el nombre de host de su máquina, produciendo nombres como `myhost-graceful-unicorn`. Establezca `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` para el mismo efecto. |61> | `--remote-control-session-name-prefix <prefix>` | Prefijo para nombres de sesión generados automáticamente cuando no se establece un nombre explícito. El valor predeterminado es el nombre de host de su máquina, produciendo nombres como `myhost-graceful-unicorn`. Establezca `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` para el mismo efecto. |

62| `-c`, `--continue` | Reanude la sesión que el último servidor en este directorio inició, en lugar de crear una nueva. Consulte [Reanude sesiones después de detener el servidor](#resume-sessions-after-stopping-the-server). No se puede combinar con `--session-id`, `--spawn`, `--capacity`, o `--create-session-in-dir`. Requiere Claude Code v2.1.200 o posterior. |62> | `-c`, `--continue` | Reanude la sesión que el último servidor en este directorio inició, en lugar de crear una nueva. Consulte [Reanude sesiones después de detener el servidor](#resume-sessions-after-stopping-the-server). No se puede combinar con `--session-id`, `--spawn`, `--capacity`, o `--create-session-in-dir`. Requiere Claude Code v2.1.200 o posterior. |

63| `--session-id <id>` | Reanude una sesión por su ID. Consulte [Reanude sesiones después de detener el servidor](#resume-sessions-after-stopping-the-server). No se puede combinar con `--continue`, `--spawn`, `--capacity`, o `--create-session-in-dir`. Requiere Claude Code v2.1.200 o posterior. |63> | `--session-id <id>` | Reanude una sesión por su ID. Consulte [Reanude sesiones después de detener el servidor](#resume-sessions-after-stopping-the-server). No se puede combinar con `--continue`, `--spawn`, `--capacity`, o `--create-session-in-dir`. Requiere Claude Code v2.1.200 o posterior. |

64| `--spawn <mode>` | Cómo el servidor crea sesiones. • `same-dir` (predeterminado cuando no hay ningún modo guardado): todas las sesiones comparten el directorio de trabajo actual, por lo que pueden entrar en conflicto si editan los mismos archivos. • `worktree`: cada sesión bajo demanda obtiene su propio [git worktree](https://code.claude.com/docs/es/worktrees.md). Requiere un repositorio git o un [hook `WorktreeCreate`](https://code.claude.com/docs/es/hooks#worktreecreate). • `session`: modo de sesión única. Sirve exactamente una sesión y rechaza conexiones adicionales. Se establece solo al inicio. Presiona `w` en tiempo de ejecución para alternar entre `same-dir` y `worktree`. El modo al que cambies se convierte en el [predeterminado para este proyecto](#set-the-default-spawn-mode-for-a-project). |64> | `--spawn <mode>` | Cómo el servidor crea sesiones. • `same-dir` (predeterminado cuando no hay ningún modo guardado): todas las sesiones comparten el directorio de trabajo actual, por lo que pueden entrar en conflicto si editan los mismos archivos. • `worktree`: cada sesión bajo demanda obtiene su propio [git worktree](https://code.claude.com/docs/es/worktrees.md). Requiere un repositorio git o un [hook `WorktreeCreate`](https://code.claude.com/docs/es/hooks#worktreecreate). • `session`: modo de sesión única. Sirve exactamente una sesión y rechaza conexiones adicionales. Se establece solo al inicio. Presiona `w` en tiempo de ejecución para alternar entre `same-dir` y `worktree`. El modo al que cambies se convierte en el [predeterminado para este proyecto](#set-the-default-spawn-mode-for-a-project). |

65| `--capacity <N>` | Número máximo de sesiones concurrentes. El valor predeterminado es 32. No se puede usar con `--spawn=session`. |65> | `--capacity <N>` | Número máximo de sesiones concurrentes. El valor predeterminado es 32. No se puede usar con `--spawn=session`. |

66| `--[no-]create-session-in-dir` | Pre-crear una sesión en el directorio actual cuando el servidor se inicia, para que tenga un lugar donde escribir inmediatamente. En modo `worktree` esta sesión permanece en el directorio actual mientras las sesiones bajo demanda obtienen worktrees aislados. Habilitado de forma predeterminada. Si pasa `--no-create-session-in-dir` para comenzar sin ninguno, Claude Code archiva las sesiones del servidor cuando lo detiene, por lo que no hay nada que [reanudar](#resume-sessions-after-stopping-the-server). |66> | `--[no-]create-session-in-dir` | Pre-crear una sesión en el directorio actual cuando el servidor se inicia, para que tenga un lugar donde escribir inmediatamente. En modo `worktree` esta sesión permanece en el directorio actual mientras las sesiones bajo demanda obtienen worktrees aislados. Habilitado de forma predeterminada. Si pasa `--no-create-session-in-dir` para comenzar sin ninguno, Claude Code archiva las sesiones del servidor cuando lo detiene, por lo que no hay nada que [reanudar](#resume-sessions-after-stopping-the-server). |

67| `--permission-mode <mode>` | Establezca el [modo de permiso](https://code.claude.com/docs/es/permission-modes.md) inicial para las sesiones del servidor, como `acceptEdits`. Acepta `manual` como alias para `default`; un modo no reconocido detiene el servidor al inicio y enumera los modos válidos. |67> | `--permission-mode <mode>` | Establezca el [modo de permiso](https://code.claude.com/docs/es/permission-modes.md) inicial para las sesiones del servidor, como `acceptEdits`. Acepta `manual` como alias para `default`; un modo no reconocido detiene el servidor al inicio y enumera los modos válidos. |

68| `--chrome` / `--no-chrome` | Active o desactive la [integración de Chrome](https://code.claude.com/docs/es/chrome.md) en las sesiones que crea el servidor, para que Claude pueda usar Chrome en su máquina mientras trabaja desde otro dispositivo. Sin ninguna bandera, la sesión que el servidor pre-crea y cualquier sesión que inicie usted mismo desde claude.ai/code o la aplicación Claude comienzan con Chrome desactivado, incluso si [habilitó Chrome de forma predeterminada](https://code.claude.com/docs/es/chrome.md#enable-chrome-by-default). Una sesión que el servidor inicia para uno de sus hilos de [proyecto](https://code.claude.com/docs/es/claude-projects.md) sigue esa configuración en su lugar, excepto en modo `bypassPermissions`. Requiere Claude Code v2.1.273 o posterior. |68> | `--chrome` / `--no-chrome` | Active o desactive la [integración de Chrome](https://code.claude.com/docs/es/chrome.md) en las sesiones que crea el servidor, para que Claude pueda usar Chrome en su máquina mientras trabaja desde otro dispositivo. Sin ninguna bandera, la sesión que el servidor pre-crea y cualquier sesión que inicie usted mismo desde claude.ai/code o la aplicación Claude comienzan con Chrome desactivado, incluso si [habilitó Chrome de forma predeterminada](https://code.claude.com/docs/es/chrome.md#enable-chrome-by-default). Una sesión que el servidor inicia para uno de sus hilos de [proyecto](https://code.claude.com/docs/es/claude-projects.md) sigue esa configuración en su lugar, excepto en modo `bypassPermissions`. Requiere Claude Code v2.1.273 o posterior. |

69| `-d`, `--debug[=<filter>]` | Active el registro de depuración para el servidor, opcionalmente filtrado por categoría. Pase un filtro solo en la forma `=`, como `--debug=api,hooks`. Requiere Claude Code v2.1.282 o posterior. |69> | `-d`, `--debug[=<filter>]` | Active el registro de depuración para el servidor, opcionalmente filtrado por categoría. Pase un filtro solo en la forma `=`, como `--debug=api,hooks`. Requiere Claude Code v2.1.282 o posterior. |

70| `--debug-file <path>` | Escriba registros de depuración en el archivo dado. |70> | `--debug-file <path>` | Escriba registros de depuración en el archivo dado. |

71| `--verbose` | Mostrar registros detallados de conexión y sesión. |71> | `--verbose` | Mostrar registros detallados de conexión y sesión. |

72| `--sandbox`, `--no-sandbox` | Eliminados en v2.1.300. Si pasas cualquiera de los dos flags, el servidor [sale con un error](https://code.claude.com/docs/es/errors.md#sandbox-is-not-supported-by-claude-remote-control) en lugar de iniciarse. |72> | `--sandbox`, `--no-sandbox` | Eliminados en v2.1.300. Si pasas cualquiera de los dos flags, el servidor [sale con un error](https://code.claude.com/docs/es/errors.md#sandbox-is-not-supported-by-claude-remote-control) en lugar de iniciarse. |

73 73>

74Si pasa una bandera global `claude` antes de `remote-control`, o un script contenedor agrega una, Claude Code no lleva la bandera a las sesiones que crea el servidor. Claude Code deja pasar la bandera solo cuando se sabe que dejarla no cambia lo que esas sesiones pueden hacer, como `--verbose` o `--model`. Para cualquier otra bandera, como `--settings`, Claude Code [se niega a iniciar](https://code.claude.com/docs/es/errors.md#not-carried-over-to-the-sessions-remote-control-starts) y nombra la bandera a eliminar.74> Si pasa una bandera global `claude` antes de `remote-control`, o un script contenedor agrega una, Claude Code no lleva la bandera a las sesiones que crea el servidor. Claude Code deja pasar la bandera solo cuando se sabe que dejarla no cambia lo que esas sesiones pueden hacer, como `--verbose` o `--model`. Para cualquier otra bandera, como `--settings`, Claude Code [se niega a iniciar](https://code.claude.com/docs/es/errors.md#not-carried-over-to-the-sessions-remote-control-starts) y nombra la bandera a eliminar.

75 75>

76Para sandboxear las sesiones que crea el servidor, active [sandboxing](https://code.claude.com/docs/es/sandboxing.md) en un archivo de configuración.76> Para sandboxear las sesiones que crea el servidor, active [sandboxing](https://code.claude.com/docs/es/sandboxing.md) en un archivo de configuración.

77 77>

78Para imprimir los flags de `remote-control` en tu terminal, ejecuta `claude remote-control --help`. Antes de v2.1.302, sin un inicio de sesión elegible, el comando devolvía en su lugar uno de los errores de [Solución de problemas](#troubleshooting).78> Para imprimir los flags de `remote-control` en tu terminal, ejecuta `claude remote-control --help`. Antes de v2.1.302, sin un inicio de sesión elegible, el comando devolvía en su lugar uno de los errores de [Solución de problemas](#troubleshooting).

79 

80**Sesión interactiva**

81 

82Para iniciar una sesión interactiva normal de Claude Code con Remote Control habilitado, usa el flag `--remote-control` (o `--rc`):

83 

84```bash theme={null}

85claude --remote-control

86```

87 

88Opcionalmente, pase un nombre para la sesión:

89 

90```bash theme={null}

91claude --remote-control "My Project"

92```

93 

94Esto le proporciona una sesión interactiva completa en su terminal que también puede controlar desde claude.ai o la aplicación Claude. A diferencia de `claude remote-control` (modo servidor), puede escribir mensajes localmente mientras la sesión también está disponible de forma remota.

95 

96**Desde una sesión existente**

97 

98Si ya está en una sesión de Claude Code y desea continuarla de forma remota, use el comando `/remote-control` (o `/rc`):

99 

100```text theme={null}

101/remote-control

102```

103 

104Pase un nombre como argumento para establecer un título de sesión personalizado:

105 

106```text theme={null}

107/remote-control My Project

108```

109 

110Esto inicia una sesión de Remote Control que lleva su historial de conversación actual.

111 

112Hasta que acepte la confirmación única de Remote Control, aparece un diálogo antes de que `/remote-control` se conecte. Seleccione **Enable Remote Control** para aceptar y conectarse. Si selecciona **Never mind** o presiona Esc, Claude Code no se conecta y pregunta nuevamente la próxima vez que ejecute `/remote-control`.

113 

114La bandera `--verbose` no está disponible con este comando.

115 

116**VS Code**

117 

118En la [extensión de VS Code de Claude Code](https://code.claude.com/docs/es/vs-code.md), escriba `/remote-control` o `/rc` en el cuadro de solicitud.

119 

120```text theme={null}

121/remote-control

122```

123 

124Mientras Remote Control está activado, Claude Code muestra un indicador **Remote Control** en el pie de página del cuadro de solicitud. Una vez que la sesión se conecta, haga clic en el indicador para ir directamente a la sesión, o encuéntrela en la lista de sesiones en [claude.ai/code](https://claude.ai/code). Claude Code también publica la URL de la sesión en la conversación. Para desconectarse, ejecute `/remote-control` nuevamente.

125 

126A diferencia de la CLI, el comando de VS Code no acepta un argumento de nombre ni muestra un código QR. El título de la sesión se deriva del historial de conversación o del primer mensaje.

127 

128**Aplicación de escritorio**

129 79 

130En una sesión local en la [pestaña Code de la aplicación Claude Desktop](https://code.claude.com/docs/es/desktop.md), escriba `/remote-control` o `/rc` en el cuadro de solicitud.80> [tab] Sesión interactiva

81>

82> Para iniciar una sesión interactiva normal de Claude Code con Remote Control habilitado, usa el flag `--remote-control` (o `--rc`):

83>

84> ```bash theme={null}

85> claude --remote-control

86> ```

87>

88> Opcionalmente, pase un nombre para la sesión:

89>

90> ```bash theme={null}

91> claude --remote-control "My Project"

92> ```

93>

94> Esto le proporciona una sesión interactiva completa en su terminal que también puede controlar desde claude.ai o la aplicación Claude. A diferencia de `claude remote-control` (modo servidor), puede escribir mensajes localmente mientras la sesión también está disponible de forma remota.

131 95 

132```text theme={null}96> [tab] Desde una sesión existente

133/remote-control97>

134```98> Si ya está en una sesión de Claude Code y desea continuarla de forma remota, use el comando `/remote-control` (o `/rc`):

99>

100> ```text theme={null}

101> /remote-control

102> ```

103>

104> Pase un nombre como argumento para establecer un título de sesión personalizado:

105>

106> ```text theme={null}

107> /remote-control My Project

108> ```

109>

110> Esto inicia una sesión de Remote Control que lleva su historial de conversación actual.

111>

112> Hasta que acepte la confirmación única de Remote Control, aparece un diálogo antes de que `/remote-control` se conecte. Seleccione **Enable Remote Control** para aceptar y conectarse. Si selecciona **Never mind** o presiona Esc, Claude Code no se conecta y pregunta nuevamente la próxima vez que ejecute `/remote-control`.

113>

114> La bandera `--verbose` no está disponible con este comando.

135 115 

136Una vez que la sesión se conecta, encuéntrela en la lista de sesiones en [claude.ai/code](https://claude.ai/code). Para desconectarse, ejecute `/remote-control` nuevamente.116> [tab] VS Code

117>

118> En la [extensión de VS Code de Claude Code](https://code.claude.com/docs/es/vs-code.md), escriba `/remote-control` o `/rc` en el cuadro de solicitud.

119>

120> ```text theme={null}

121> /remote-control

122> ```

123>

124> Mientras Remote Control está activado, Claude Code muestra un indicador **Remote Control** en el pie de página del cuadro de solicitud. Una vez que la sesión se conecta, haga clic en el indicador para ir directamente a la sesión, o encuéntrela en la lista de sesiones en [claude.ai/code](https://claude.ai/code). Claude Code también publica la URL de la sesión en la conversación. Para desconectarse, ejecute `/remote-control` nuevamente.

125>

126> A diferencia de la CLI, el comando de VS Code no acepta un argumento de nombre ni muestra un código QR. El título de la sesión se deriva del historial de conversación o del primer mensaje.

137 127 

138Para activar Remote Control para cada sesión de forma predeterminada, consulte [Habilite Remote Control para todas las sesiones](#enable-remote-control-for-all-sessions).128> [tab] Aplicación de escritorio

129>

130> En una sesión local en la [pestaña Code de la aplicación Claude Desktop](https://code.claude.com/docs/es/desktop.md), escriba `/remote-control` o `/rc` en el cuadro de solicitud.

131>

132> ```text theme={null}

133> /remote-control

134> ```

135>

136> Una vez que la sesión se conecta, encuéntrela en la lista de sesiones en [claude.ai/code](https://claude.ai/code). Para desconectarse, ejecute `/remote-control` nuevamente.

137>

138> Para activar Remote Control para cada sesión de forma predeterminada, consulte [Habilite Remote Control para todas las sesiones](#enable-remote-control-for-all-sessions).

139 139 

140### Verifique el estado de la conexión140### Verifique el estado de la conexión

141 141 


250>250>

251> Trusted Devices está actualmente en beta. Las características y funcionalidades pueden evolucionar a medida que se refina la experiencia.251> Trusted Devices está actualmente en beta. Las características y funcionalidades pueden evolucionar a medida que se refina la experiencia.

252>252>

253> Trusted Devices está disponible en planes Pro, Max, Team y Enterprise y está deshabilitado de forma predeterminada. En planes Team y Enterprise, un propietario lo habilita para la organización. En planes Pro y Max, usted habilita **Require trusted devices** en su configuración, en la página Cowork o Account.253> Trusted Devices está disponible en planes Pro, Max, Ultra, Team y Enterprise y está deshabilitado de forma predeterminada. En planes Team y Enterprise, un propietario lo habilita para la organización. En planes Pro, Max y Ultra, tú mismo activas **Require trusted devices** en tu configuración, en la página Cowork o Account.

254 254 

255Trusted Devices requiere que cada miembro de su organización, o usted solo en un plan Pro o Max, verifique su dispositivo antes de poder ver o controlar sesiones de Remote Control desde claude.ai, las aplicaciones móviles de Claude o Claude Desktop. Vincula el acceso a Remote Control a un dispositivo conocido y una autenticación reciente, no solo a una cuenta con sesión iniciada.255Trusted Devices requiere un dispositivo verificado antes de que puedas ver o controlar sesiones de Remote Control desde claude.ai, las aplicaciones móviles de Claude o Claude Desktop. El requisito se aplica a cada miembro de tu organización, o solo a ti en un plan Pro, Max o Ultra. Vincula el acceso a Remote Control a un dispositivo conocido y una autenticación reciente, no solo a una cuenta con sesión iniciada.

256 256 

257Cuando la configuración está activada, interactuar con una sesión de Remote Control requiere ambas de las siguientes:257Cuando la configuración está activada, interactuar con una sesión de Remote Control requiere ambas de las siguientes:

258 258 


310| [Dispatch](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch) | Envíe un mensaje con una tarea desde la aplicación móvil de Claude | Su máquina (Desktop) | [Empareje la aplicación móvil con Desktop](https://support.claude.com/en/articles/13947068) | Delegar trabajo mientras está fuera, configuración mínima |310| [Dispatch](https://code.claude.com/docs/es/desktop.md#sessions-from-dispatch) | Envíe un mensaje con una tarea desde la aplicación móvil de Claude | Su máquina (Desktop) | [Empareje la aplicación móvil con Desktop](https://support.claude.com/en/articles/13947068) | Delegar trabajo mientras está fuera, configuración mínima |

311| [Remote Control](https://code.claude.com/docs/es/remote-control.md) | Controle una sesión en ejecución desde [claude.ai/code](https://claude.ai/code) o la aplicación móvil de Claude | Su máquina (CLI, Desktop o VS Code) | Ejecute [`claude remote-control` o `/remote-control`](https://code.claude.com/docs/es/remote-control#start-a-remote-control-session) | Dirigir el trabajo en progreso desde otro dispositivo |311| [Remote Control](https://code.claude.com/docs/es/remote-control.md) | Controle una sesión en ejecución desde [claude.ai/code](https://claude.ai/code) o la aplicación móvil de Claude | Su máquina (CLI, Desktop o VS Code) | Ejecute [`claude remote-control` o `/remote-control`](https://code.claude.com/docs/es/remote-control#start-a-remote-control-session) | Dirigir el trabajo en progreso desde otro dispositivo |

312| [Channels](https://code.claude.com/docs/es/channels.md) | Envíe eventos desde una aplicación de chat como Telegram o Discord, o su propio servidor | Su máquina (CLI) | [Instale un plugin de canal](https://code.claude.com/docs/es/channels.md#quickstart) o [cree el suyo propio](https://code.claude.com/docs/es/channels-reference.md) | Reaccionar a eventos externos como fallos de CI o mensajes de chat |312| [Channels](https://code.claude.com/docs/es/channels.md) | Envíe eventos desde una aplicación de chat como Telegram o Discord, o su propio servidor | Su máquina (CLI) | [Instale un plugin de canal](https://code.claude.com/docs/es/channels.md#quickstart) o [cree el suyo propio](https://code.claude.com/docs/es/channels-reference.md) | Reaccionar a eventos externos como fallos de CI o mensajes de chat |

313| [Slack](https://code.claude.com/docs/es/slack.md) | Menciona `@Claude` en un canal de equipo | Nube de Anthropic | [Instala la aplicación de Slack](https://code.claude.com/docs/es/slack.md#setting-up-claude-code-in-slack) con [Claude Code en la web](https://code.claude.com/docs/es/claude-code-on-the-web.md) habilitado, en planes Pro y Max | PRs y revisiones desde el chat del equipo |313| [Slack](https://code.claude.com/docs/es/slack.md) | Menciona `@Claude` en un canal de equipo | Nube de Anthropic | [Instala la aplicación de Slack](https://code.claude.com/docs/es/slack.md#setting-up-claude-code-in-slack) con [Claude Code en la web](https://code.claude.com/docs/es/claude-code-on-the-web.md) habilitado, en planes Pro, Max y Ultra | PRs y revisiones desde el chat del equipo |

314| [Entornos autohospedados](https://code.claude.com/docs/es/self-hosted-environments) | Inicie una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) y seleccione el entorno de su organización | La infraestructura de su organización | [Implemente ejecutores](https://code.claude.com/docs/es/self-hosted-environments-quickstart.md), en planes Team y Enterprise | Sesiones en la nube que deben ejecutarse dentro de su red |314| [Entornos autohospedados](https://code.claude.com/docs/es/self-hosted-environments) | Inicie una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) y seleccione el entorno de su organización | La infraestructura de su organización | [Implemente ejecutores](https://code.claude.com/docs/es/self-hosted-environments-quickstart.md), en planes Team y Enterprise | Sesiones en la nube que deben ejecutarse dentro de su red |

315| [Tareas programadas](https://code.claude.com/docs/es/scheduled-tasks.md) | Establezca una programación | [CLI](https://code.claude.com/docs/es/scheduled-tasks.md), [Desktop](https://code.claude.com/docs/es/desktop-scheduled-tasks.md), o [nube](https://code.claude.com/docs/es/routines.md) | Seleccione una frecuencia | Automatización recurrente como revisiones diarias |315| [Tareas programadas](https://code.claude.com/docs/es/scheduled-tasks.md) | Establezca una programación | [CLI](https://code.claude.com/docs/es/scheduled-tasks.md), [Desktop](https://code.claude.com/docs/es/desktop-scheduled-tasks.md), o [nube](https://code.claude.com/docs/es/routines.md) | Seleccione una frecuencia | Automatización recurrente como revisiones diarias |

316 316 


444Una [variable de entorno](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching) que desactiva la evaluación de indicadores de características está configurada, y el mensaje completo menciona la variable que Claude Code encontró. En versiones anteriores a 2.1.154, la misma configuración produce "Remote Control is not yet enabled for your account" en su lugar. Lo que debes hacer depende de la variable que menciona el mensaje:444Una [variable de entorno](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching) que desactiva la evaluación de indicadores de características está configurada, y el mensaje completo menciona la variable que Claude Code encontró. En versiones anteriores a 2.1.154, la misma configuración produce "Remote Control is not yet enabled for your account" en su lugar. Lo que debes hacer depende de la variable que menciona el mensaje:

445 445 

446* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` o `DISABLE_GROWTHBOOK`**: desactiva la variable dondequiera que esté configurada, en tu entorno de shell o en el bloque `env` de un [archivo `settings.json`](https://code.claude.com/docs/es/settings-reference#all-settings).446* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` o `DISABLE_GROWTHBOOK`**: desactiva la variable dondequiera que esté configurada, en tu entorno de shell o en el bloque `env` de un [archivo `settings.json`](https://code.claude.com/docs/es/settings-reference#all-settings).

447* **`DISABLE_TELEMETRY` o `DO_NOT_TRACK`**: en un plan Pro, Max, Team o Enterprise con `DISABLE_GROWTHBOOK` desactivado, estas variables dejan Remote Control disponible a menos que tu organización requiera [Dispositivos de confianza](#trusted-devices). Si tu organización los requiere, desactiva la variable dondequiera que esté configurada para usar Remote Control. De v2.1.154 a v2.1.282, ves este mensaje con cualquiera de las variables configurada, por lo que actualiza Claude Code a una versión que cumpla el [requisito para estas variables](#requirements).447* **`DISABLE_TELEMETRY` o `DO_NOT_TRACK`**: en un plan Pro, Max, Ultra, Team o Enterprise con `DISABLE_GROWTHBOOK` desactivado, Remote Control sigue disponible con estas variables configuradas, a menos que tu organización requiera [Dispositivos de confianza](#trusted-devices). Si tu organización los requiere, desactiva la variable dondequiera que esté configurada para usar Remote Control. De v2.1.154 a v2.1.282, ves este mensaje con cualquiera de las variables configurada, por lo que actualiza Claude Code a una versión que cumpla el [requisito para estas variables](#requirements).

448 448 

449### "Remote Control is only available when using Claude via api.anthropic.com"449### "Remote Control is only available when using Claude via api.anthropic.com"

450 450 


457Una política bloquea Remote Control. Verifica estas causas en orden:457Una política bloquea Remote Control. Verifica estas causas en orden:

458 458 

459* **El error menciona `disableRemoteControl`**: tu administrador de TI ha deshabilitado Remote Control en este dispositivo a través de la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md), independientemente del conmutador de toda la organización y de cómo hayas iniciado sesión.459* **El error menciona `disableRemoteControl`**: tu administrador de TI ha deshabilitado Remote Control en este dispositivo a través de la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md), independientemente del conmutador de toda la organización y de cómo hayas iniciado sesión.

460* **Tu plan de claude.ai es Pro o Max**: Claude Code aún tiene la sesión iniciada bajo una organización de Team o Enterprise de un inicio de sesión anterior, por lo que verifica la política de Remote Control de esa organización. Ejecuta `/status` para ver qué plan y organización utiliza tu inicio de sesión. Ejecuta `claude auth logout` y luego `claude auth login` para iniciar sesión nuevamente bajo tu plan actual.460* **Tu plan de claude.ai es Pro, Max o Ultra**: Claude Code aún tiene la sesión iniciada bajo una organización de Team o Enterprise de un inicio de sesión anterior, por lo que verifica la política de Remote Control de esa organización. Ejecuta `/status` para ver qué plan y organización utiliza tu inicio de sesión. Ejecuta `claude auth logout` y luego `claude auth login` para iniciar sesión nuevamente bajo tu plan actual.

461* **El mensaje no dice que contactes al administrador de tu organización**: tu organización tiene aplicada la [configuración HIPAA](https://code.claude.com/docs/es/hipaa-setup.md), que desactiva Remote Control. Para confirmarlo, ejecuta `/status` y busca `HIPAA` en la línea `Organization configuration`. Un propietario ve el conmutador **Remote Control** atenuado en la [configuración de administración](https://claude.ai/admin-settings/claude-code) y no puede activarlo. Si tienes preguntas sobre la configuración, consulta a un propietario, quien puede ponerse en contacto con el equipo de cuenta de Anthropic de tu organización. Antes de v2.1.267, este caso mostraba "Remote Control isn't available for your organization due to its compliance policy" en su lugar.461* **El mensaje no dice que contactes al administrador de tu organización**: tu organización tiene aplicada la [configuración HIPAA](https://code.claude.com/docs/es/hipaa-setup.md), que desactiva Remote Control. Para confirmarlo, ejecuta `/status` y busca `HIPAA` en la línea `Organization configuration`. Un propietario ve el conmutador **Remote Control** atenuado en la [configuración de administración](https://claude.ai/admin-settings/claude-code) y no puede activarlo. Si tienes preguntas sobre la configuración, consulta a un propietario, quien puede ponerse en contacto con el equipo de cuenta de Anthropic de tu organización. Antes de v2.1.267, este caso mostraba "Remote Control isn't available for your organization due to its compliance policy" en su lugar.

462* **Remote Control funciona para otros miembros de tu organización pero no para ti**: si tu organización Enterprise administra tu acceso con [roles personalizados](https://support.claude.com/en/articles/13930452), tus roles pueden ser la causa. Remote Control necesita tanto el permiso de sesiones en la nube como el permiso **Claude Code remote control**. Pide a un propietario que verifique si tus roles incluyen ambos y que agregue lo que falte en [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).462* **Remote Control funciona para otros miembros de tu organización pero no para ti**: si tu organización Enterprise administra tu acceso con [roles personalizados](https://support.claude.com/en/articles/13930452), tus roles pueden ser la causa. Remote Control necesita tanto el permiso de sesiones en la nube como el permiso **Claude Code remote control**. Pide a un propietario que verifique si tus roles incluyen ambos y que agregue lo que falte en [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

463* **De lo contrario, un propietario no lo ha habilitado para tu organización**: Remote Control está desactivado de forma predeterminada en planes de Team y Enterprise. Un propietario puede habilitarlo en [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) activando el conmutador **Remote Control**. Este conmutador es un ajuste de organización del lado del servidor.463* **De lo contrario, un propietario no lo ha habilitado para tu organización**: Remote Control está desactivado de forma predeterminada en planes de Team y Enterprise. Un propietario puede habilitarlo en [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) activando el conmutador **Remote Control**. Este conmutador es un ajuste de organización del lado del servidor.

routines.md +11 −11

Details

25* Una tarea con solo un disparador de API se ejecuta cuando llamas a su endpoint.25* Una tarea con solo un disparador de API se ejecuta cuando llamas a su endpoint.

26* Una tarea con solo un disparador de GitHub se ejecuta cuando ocurre un evento coincidente en el repositorio.26* Una tarea con solo un disparador de GitHub se ejecuta cuando ocurre un evento coincidente en el repositorio.

27 27 

28Las tareas programadas están disponibles en los planes Pro, Max, Team y Enterprise. Créalas y adminístralas en [claude.ai/code/routines](https://claude.ai/code/routines), o desde la CLI con `/schedule`. El nombre anterior, rutinas, [todavía aparece](#where-the-name-routines-still-appears).28Las tareas programadas están disponibles en los planes Pro, Max, Ultra, Team y Enterprise. Créalas y adminístralas en [claude.ai/code/routines](https://claude.ai/code/routines), o desde la CLI con `/schedule`. El nombre anterior, rutinas, [todavía aparece](#where-the-name-routines-still-appears).

29 29 

30> [!NOTE]30> [!NOTE]

31>31>


85 85 

86En la fila **Trigger**, elige cómo se inicia la tarea. Para combinar varios disparadores, haz clic en **+** al final de la fila.86En la fila **Trigger**, elige cómo se inicia la tarea. Para combinar varios disparadores, haz clic en **+** al final de la fila.

87 87 

88**Schedule**88> [tab] Schedule

89 89>

90Elige una frecuencia preestablecida para una ejecución recurrente. Consulta [Agregar un disparador de horario](#add-a-schedule-trigger) para conocer el manejo de zonas horarias, los inicios con retraso, los intervalos cron personalizados y las ejecuciones únicas.90> Elige una frecuencia preestablecida para una ejecución recurrente. Consulta [Agregar un disparador de horario](#add-a-schedule-trigger) para conocer el manejo de zonas horarias, los inicios con retraso, los intervalos cron personalizados y las ejecuciones únicas.

91 

92**GitHub event**

93 

94Selecciona el repositorio, el evento al que reaccionar y filtros opcionales. Consulta [Agregar un disparador de GitHub](#add-a-github-trigger) para ver la lista completa de eventos admitidos y campos de filtro.

95 91 

96**API**92> [tab] GitHub event

93>

94> Selecciona el repositorio, el evento al que reaccionar y filtros opcionales. Consulta [Agregar un disparador de GitHub](#add-a-github-trigger) para ver la lista completa de eventos admitidos y campos de filtro.

97 95 

98Selecciona **API** aquí. Cuando hagas clic en **Create**, el diálogo **API token** muestra el token una sola vez, así que cópialo antes de cerrar el diálogo. Consulta [Agregar un disparador de API](#add-an-api-trigger) para copiar la URL o generar un nuevo token.96> [tab] API

97>

98> Selecciona **API** aquí. Cuando hagas clic en **Create**, el diálogo **API token** muestra el token una sola vez, así que cópialo antes de cerrar el diálogo. Consulta [Agregar un disparador de API](#add-an-api-trigger) para copiar la URL o generar un nuevo token.

99 99 

100**4. Seleccionar repositorios**100**4. Seleccionar repositorios**

101 101 


502* Un Owner [desactivó las tareas programadas](#routines-are-disabled-by-your-organizations-policy) para tu organización de Team o Enterprise. Antes de v2.1.227, el comando seguía apareciendo en este caso, y claude.ai rechazaba la tarea cuando Claude intentaba crearla o ejecutarla502* Un Owner [desactivó las tareas programadas](#routines-are-disabled-by-your-organizations-policy) para tu organización de Team o Enterprise. Antes de v2.1.227, el comando seguía apareciendo en este caso, y claude.ai rechazaba la tarea cuando Claude intentaba crearla o ejecutarla

503* Tu organización de Enterprise administra tu acceso con [roles personalizados](https://support.claude.com/en/articles/13930452), y ninguno de tus roles incluye el permiso de tareas programadas en **Remote sessions**. Pídele a un Owner que lo agregue a uno de tus roles503* Tu organización de Enterprise administra tu acceso con [roles personalizados](https://support.claude.com/en/articles/13930452), y ninguno de tus roles incluye el permiso de tareas programadas en **Remote sessions**. Pídele a un Owner que lo agregue a uno de tus roles

504 504 

505Si la causa es el inicio de sesión de tu CLI o estar dentro de una sesión en la nube, aún puedes crear y administrar tareas programadas en [claude.ai/code/routines](https://claude.ai/code/routines). Ahí necesitas una cuenta Pro, Max, Team o Enterprise. Si las tareas programadas o las sesiones en la nube están desactivadas para tu organización o no figuran en tus roles, tampoco puedes crearlas en la web.505Si la causa es el inicio de sesión de tu CLI o estar dentro de una sesión en la nube, aún puedes crear y administrar tareas programadas en [claude.ai/code/routines](https://claude.ai/code/routines). Ahí necesitas una cuenta Pro, Max, Ultra, Team o Enterprise. Si las tareas programadas o las sesiones en la nube están desactivadas para tu organización o no figuran en tus roles, tampoco puedes crearlas en la web.

506 506 

507### "Routines are disabled by your organization's policy"507### "Routines are disabled by your organization's policy"

508 508 

sandboxing.md +12 −12

Details

119 119 

120Instálalos con el gestor de paquetes de tu distribución:120Instálalos con el gestor de paquetes de tu distribución:

121 121 

122**Ubuntu/Debian**122> [tab] Ubuntu/Debian

123 123>

124```bash theme={null}124> ```bash theme={null}

125sudo apt-get install bubblewrap socat125> sudo apt-get install bubblewrap socat

126```126> ```

127 

128**Fedora**

129 127 

130```bash theme={null}128> [tab] Fedora

131sudo dnf install bubblewrap socat129>

132```130> ```bash theme={null}

131> sudo dnf install bubblewrap socat

132> ```

133 133 

134Cuando falta una dependencia, la pestaña Dependencies de `/sandbox` indica cuáles de `ripgrep`, `bubblewrap`, `socat` y el filtro seccomp le faltan a tu plataforma. Si no ves la pestaña después de instalarlos y reiniciar Claude Code, todas las dependencias están presentes.134Cuando falta una dependencia, la pestaña Dependencies de `/sandbox` indica cuáles de `ripgrep`, `bubblewrap`, `socat` y el filtro seccomp le faltan a tu plataforma. Si no ves la pestaña después de instalarlos y reiniciar Claude Code, todas las dependencias están presentes.

135 135 


137 137 

138Cuando falta una dependencia obligatoria, la pestaña Dependencies es la única que se muestra hasta que la instales. Cuando solo falta el filtro seccomp opcional, la pestaña Dependencies aparece junto con las demás pestañas. La comprobación de dependencias se ejecuta al iniciar, así que reinicia Claude Code después de instalar paquetes para que `/sandbox` los detecte.138Cuando falta una dependencia obligatoria, la pestaña Dependencies es la única que se muestra hasta que la instales. Cuando solo falta el filtro seccomp opcional, la pestaña Dependencies aparece junto con las demás pestañas. La comprobación de dependencias se ejecuta al iniciar, así que reinicia Claude Code después de instalar paquetes para que `/sandbox` los detecte.

139 139 

140> **Ubuntu 24.04 y posteriores: permitir que bubblewrap cree espacios de nombres de usuario**140> [accordion] Ubuntu 24.04 y posteriores: permitir que bubblewrap cree espacios de nombres de usuario

141>141>

142> En Ubuntu 24.04 y posteriores, la política predeterminada de AppArmor impide que bubblewrap cree los espacios de nombres de usuario que necesita para el aislamiento.142> En Ubuntu 24.04 y posteriores, la política predeterminada de AppArmor impide que bubblewrap cree los espacios de nombres de usuario que necesita para el aislamiento.

143>143>


161> sudo systemctl reload apparmor161> sudo systemctl reload apparmor

162> ```162> ```

163 163 

164> **Notas sobre WSL2**164> [accordion] Notas sobre WSL2

165>165>

166> Comprueba tu versión de WSL con `wsl -l -v` desde PowerShell. Si ves `Sandboxing requires WSL2`, tu distribución está ejecutando WSL1. Actualízala a WSL2 o ejecuta Claude Code sin sandboxing.166> Comprueba tu versión de WSL con `wsl -l -v` desde PowerShell. Si ves `Sandboxing requires WSL2`, tu distribución está ejecutando WSL1. Actualízala a WSL2 o ejecuta Claude Code sin sandboxing.

167>167>

security.md +1 −1

Details

53* Acceso restringido a datos de sesión del usuario53* Acceso restringido a datos de sesión del usuario

54* Control del usuario sobre preferencias de entrenamiento de datos. Los usuarios de consumidor pueden cambiar su [configuración de privacidad](https://claude.ai/settings/privacy) en cualquier momento.54* Control del usuario sobre preferencias de entrenamiento de datos. Los usuarios de consumidor pueden cambiar su [configuración de privacidad](https://claude.ai/settings/privacy) en cualquier momento.

55 55 

56Para obtener detalles completos, consulte nuestros [Términos de Servicio Comerciales](https://www.anthropic.com/legal/commercial-terms) (para usuarios de Team, Enterprise y API) o [Términos de Consumidor](https://www.anthropic.com/legal/consumer-terms) (para usuarios de Free, Pro y Max) y [Política de Privacidad](https://www.anthropic.com/legal/privacy).56Para obtener detalles completos, consulta nuestros [Términos de Servicio Comerciales](https://www.anthropic.com/legal/commercial-terms) (para usuarios de Team, Enterprise y API) o [Términos de Consumidor](https://www.anthropic.com/legal/consumer-terms) (para usuarios de Free, Pro, Max y Ultra) y [Política de Privacidad](https://www.anthropic.com/legal/privacy).

57 57 

58### Medidas de protección adicionales58### Medidas de protección adicionales

59 59 

Details

14 14 

15En un entorno autohospedado, esas mismas sesiones se ejecutan dentro de tu red. Por lo demás, la experiencia del desarrollador es la misma, salvo por las diferencias en [Disponibilidad y limitaciones](#availability-and-limitations) y los [problemas conocidos](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#known-issues-and-limitations) de la página de implementación.15En un entorno autohospedado, esas mismas sesiones se ejecutan dentro de tu red. Por lo demás, la experiencia del desarrollador es la misma, salvo por las diferencias en [Disponibilidad y limitaciones](#availability-and-limitations) y los [problemas conocidos](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#known-issues-and-limitations) de la página de implementación.

16 16 

17Si su equipo no utiliza sesiones en la nube, no hay nada que configurar aquí: las sesiones en una terminal o IDE siempre se ejecutan en la máquina del desarrollador. Si desea ejecutar Claude Code en su propia máquina siempre activa e impulsarla desde otros dispositivos, use [Control remoto](https://code.claude.com/docs/es/remote-control.md), que también está disponible en planes Pro y Max. Cuando esté listo para configurar, vaya directamente al [inicio rápido](https://code.claude.com/docs/es/self-hosted-environments-quickstart.md); para revisar primero la postura de seguridad, comience con [Implementar en producción](https://code.claude.com/docs/es/self-hosted-environments-deploy.md). El resto de esta página explica cómo funciona el autohospedaje y cuándo elegirlo.17* Si tu equipo no utiliza sesiones en la nube, no hay nada que configurar aquí: las sesiones en una terminal o IDE siempre se ejecutan en la propia máquina del desarrollador

18* Para ejecutar Claude Code en tu propia máquina siempre activa y controlarla desde otros dispositivos, usa [Remote Control](https://code.claude.com/docs/es/remote-control.md), que también está disponible en los planes Pro, Max y Ultra

19* Cuando estés listo para configurar, ve directamente al [inicio rápido](https://code.claude.com/docs/es/self-hosted-environments-quickstart.md); para revisar primero la postura de seguridad, comienza con [Implementar en producción](https://code.claude.com/docs/es/self-hosted-environments-deploy.md)

20 

21Para saber cómo funciona el autohospedaje y cuándo elegirlo, lee [Cómo funcionan los entornos autohospedados](#how-self-hosted-environments-work) y [Por qué autohospedar](#why-self-host).

18 22 

19## Cómo funcionan los entornos autohospedados23## Cómo funcionan los entornos autohospedados

20 24 

Details

531 531 

532Inicia estos runners con [`--confine-repo-settings enforce`](https://code.claude.com/docs/es/self-hosted-environments-deploy#harden-your-deployment). Este rechaza sesiones en repositorios cuya configuración confirmada marca, así que ejecuta primero en el modo predeterminado `warn` y resuelve lo que registra.532Inicia estos runners con [`--confine-repo-settings enforce`](https://code.claude.com/docs/es/self-hosted-environments-deploy#harden-your-deployment). Este rechaza sesiones en repositorios cuya configuración confirmada marca, así que ejecuta primero en el modo predeterminado `warn` y resuelve lo que registra.

533 533 

534**Amazon Bedrock**534> [tab] Amazon Bedrock

535 535>

536Reemplaza la región por la tuya:536> Reemplaza la región por la tuya:

537 537>

538```bash theme={null}538> ```bash theme={null}

539export CLAUDE_CODE_USE_BEDROCK=1539> export CLAUDE_CODE_USE_BEDROCK=1

540export AWS_REGION=us-east-1540> export AWS_REGION=us-east-1

541```541> ```

542 542>

543Para saber cómo resuelve Claude Code la región, consulta [Configurar Claude Code](https://code.claude.com/docs/es/amazon-bedrock.md#3-configure-claude-code). Para saber qué prefijo de perfil de inferencia usa Claude Code para tu región, consulta [Prefijos de perfiles de inferencia entre regiones](https://code.claude.com/docs/es/amazon-bedrock.md#cross-region-inference-profile-prefixes).543> Para saber cómo resuelve Claude Code la región, consulta [Configurar Claude Code](https://code.claude.com/docs/es/amazon-bedrock.md#3-configure-claude-code). Para saber qué prefijo de perfil de inferencia usa Claude Code para tu región, consulta [Prefijos de perfiles de inferencia entre regiones](https://code.claude.com/docs/es/amazon-bedrock.md#cross-region-inference-profile-prefixes).

544 

545**Agent Platform de Google Cloud**

546 

547Reemplaza la región y el ID del proyecto por los tuyos:

548 

549```bash theme={null}

550export CLAUDE_CODE_USE_VERTEX=1

551export CLOUD_ML_REGION=global

552export ANTHROPIC_VERTEX_PROJECT_ID=YOUR-PROJECT-ID

553```

554 544 

555Para elegir una región, consulta [Configuración de región](https://code.claude.com/docs/es/google-vertex-ai.md#region-configuration).545> [tab] Agent Platform de Google Cloud

546>

547> Reemplaza la región y el ID del proyecto por los tuyos:

548>

549> ```bash theme={null}

550> export CLAUDE_CODE_USE_VERTEX=1

551> export CLOUD_ML_REGION=global

552> export ANTHROPIC_VERTEX_PROJECT_ID=YOUR-PROJECT-ID

553> ```

554>

555> Para elegir una región, consulta [Configuración de región](https://code.claude.com/docs/es/google-vertex-ai.md#region-configuration).

556 556 

557**4. Comprueba que las variables llegaron a una sesión**557**4. Comprueba que las variables llegaron a una sesión**

558 558 

Details

90 90 

91Las comprobaciones se asignan directamente a bibliotecas JWT estándar. Los ejemplos a continuación implementan la secuencia completa en Node.js con [`jose`](https://www.npmjs.com/package/jose), que maneja la obtención de JWKS, almacenamiento en caché y selección de `kid`, y en Python con [`PyJWT`](https://pyjwt.readthedocs.io/) y su cliente JWKS integrado.91Las comprobaciones se asignan directamente a bibliotecas JWT estándar. Los ejemplos a continuación implementan la secuencia completa en Node.js con [`jose`](https://www.npmjs.com/package/jose), que maneja la obtención de JWKS, almacenamiento en caché y selección de `kid`, y en Python con [`PyJWT`](https://pyjwt.readthedocs.io/) y su cliente JWKS integrado.

92 92 

93**Node.js (jose)**93> [tab] Node.js (jose)

94 94>

95```typescript theme={null}95> ```typescript theme={null}

96import { createRemoteJWKSet, jwtVerify } from "jose";96> import { createRemoteJWKSet, jwtVerify } from "jose";

97 97>

98const JWKS = createRemoteJWKSet(98> const JWKS = createRemoteJWKSet(

99 new URL("https://api.anthropic.com/v1/code/.well-known/jwks.json")99> new URL("https://api.anthropic.com/v1/code/.well-known/jwks.json")

100);100> );

101 101>

102const PREFIX = "sk-ant-cc-";102> const PREFIX = "sk-ant-cc-";

103const EXPECTED_POOL_ID = "ccpool_...";103> const EXPECTED_POOL_ID = "ccpool_...";

104 104>

105export async function verifySessionToken(raw: string) {105> export async function verifySessionToken(raw: string) {

106 if (!raw.startsWith(PREFIX)) {106> if (!raw.startsWith(PREFIX)) {

107 throw new Error("not a self-hosted runner session token");107> throw new Error("not a self-hosted runner session token");

108 }108> }

109 const jwt = raw.slice(PREFIX.length);109> const jwt = raw.slice(PREFIX.length);

110 110>

111 const { payload } = await jwtVerify(jwt, JWKS, {111> const { payload } = await jwtVerify(jwt, JWKS, {

112 issuer: "ccr",112> issuer: "ccr",

113 audience: EXPECTED_POOL_ID,113> audience: EXPECTED_POOL_ID,

114 algorithms: ["ES256"],114> algorithms: ["ES256"],

115 });115> });

116 116>

117 if (payload["ccr:role"] !== "session_worker") {117> if (payload["ccr:role"] !== "session_worker") {

118 throw new Error("token is not a session_worker token");118> throw new Error("token is not a session_worker token");

119 }119> }

120 120>

121 const act = payload.act as { email?: string; sub?: string };121> const act = payload.act as { email?: string; sub?: string };

122 return {122> return {

123 sessionId: payload["ccr:session_id"] as string,123> sessionId: payload["ccr:session_id"] as string,

124 poolId: payload["ccr:pool_id"] as string,124> poolId: payload["ccr:pool_id"] as string,

125 orgId: payload["ccr:org_id"] as string,125> orgId: payload["ccr:org_id"] as string,

126 creatorEmail: act?.email,126> creatorEmail: act?.email,

127 creatorSub: act?.sub,127> creatorSub: act?.sub,

128 };128> };

129}129> }

130```130> ```

131 131 

132**Python (PyJWT)**132> [tab] Python (PyJWT)

133 133>

134```python theme={null}134> ```python theme={null}

135import jwt135> import jwt

136from jwt import PyJWKClient136> from jwt import PyJWKClient

137 137>

138JWKS_URL = "https://api.anthropic.com/v1/code/.well-known/jwks.json"138> JWKS_URL = "https://api.anthropic.com/v1/code/.well-known/jwks.json"

139PREFIX = "sk-ant-cc-"139> PREFIX = "sk-ant-cc-"

140EXPECTED_POOL_ID = "ccpool_..."140> EXPECTED_POOL_ID = "ccpool_..."

141 141>

142jwks = PyJWKClient(JWKS_URL)142> jwks = PyJWKClient(JWKS_URL)

143 143>

144 144>

145def verify_session_token(raw: str) -> dict:145> def verify_session_token(raw: str) -> dict:

146 if not raw.startswith(PREFIX):146> if not raw.startswith(PREFIX):

147 raise ValueError("not a self-hosted runner session token")147> raise ValueError("not a self-hosted runner session token")

148 token = raw.removeprefix(PREFIX)148> token = raw.removeprefix(PREFIX)

149 149>

150 signing_key = jwks.get_signing_key_from_jwt(token)150> signing_key = jwks.get_signing_key_from_jwt(token)

151 payload = jwt.decode(151> payload = jwt.decode(

152 token,152> token,

153 signing_key.key,153> signing_key.key,

154 algorithms=["ES256"],154> algorithms=["ES256"],

155 issuer="ccr",155> issuer="ccr",

156 audience=EXPECTED_POOL_ID,156> audience=EXPECTED_POOL_ID,

157 )157> )

158 158>

159 if payload.get("ccr:role") != "session_worker":159> if payload.get("ccr:role") != "session_worker":

160 raise ValueError("token is not a session_worker token")160> raise ValueError("token is not a session_worker token")

161 161>

162 act = payload.get("act") or {}162> act = payload.get("act") or {}

163 return {163> return {

164 "session_id": payload["ccr:session_id"],164> "session_id": payload["ccr:session_id"],

165 "pool_id": payload["ccr:pool_id"],165> "pool_id": payload["ccr:pool_id"],

166 "org_id": payload["ccr:org_id"],166> "org_id": payload["ccr:org_id"],

167 "creator_email": act.get("email"),167> "creator_email": act.get("email"),

168 "creator_sub": act.get("sub"),168> "creator_sub": act.get("sub"),

169 }169> }

170```170> ```

171 171 

172### Verificar el token dentro de la sesión172### Verificar el token dentro de la sesión

173 173 

sessions.md +1 −1

Details

95 95 

96Si ves el diálogo "Resume this conversation?" al reanudar una sesión, su estimación es la parte de tu límite de uso de 5 horas que usaría solo la conversación guardada. La estimación no cuenta lo que ya has usado.96Si ves el diálogo "Resume this conversation?" al reanudar una sesión, su estimación es la parte de tu límite de uso de 5 horas que usaría solo la conversación guardada. La estimación no cuenta lo que ya has usado.

97 97 

98En los planes Pro y Max, el diálogo puede aparecer cuando reanudas una conversación larga [después de una pausa prolongada](https://code.claude.com/docs/es/prompt-caching.md#resuming-a-session) o en un modelo diferente. El uso estimado se produce cuando envías tu primer mensaje después de **Resume**, no cuando lo seleccionas. Elige según si tu siguiente tarea aún necesita la conversación guardada:98En los planes Pro, Max y Ultra, el diálogo puede aparecer cuando reanudas una conversación larga [después de una pausa prolongada](https://code.claude.com/docs/es/prompt-caching.md#resuming-a-session) o en un modelo diferente. El uso estimado se produce cuando envías tu primer mensaje después de **Resume**, no cuando lo seleccionas. Elige según si tu siguiente tarea aún necesita la conversación guardada:

99 99 

100* **Resume**: sigue trabajando en la conversación guardada.100* **Resume**: sigue trabajando en la conversación guardada.

101* **Start a new conversation**: cambia a un trabajo que no necesita la conversación guardada. Para reabrirla más tarde, ejecuta [`/resume`](#use-the-session-picker) en el prompt. La estimación no se aplica a tu primer mensaje en la nueva conversación. Si la opción indica que Claude puede consultar esta conversación, aún puedes hacer referencia al trabajo anterior en la nueva conversación.101* **Start a new conversation**: cambia a un trabajo que no necesita la conversación guardada. Para reabrirla más tarde, ejecuta [`/resume`](#use-the-session-picker) en el prompt. La estimación no se aplica a tu primer mensaje en la nueva conversación. Si la opción indica que Claude puede consultar esta conversación, aún puedes hacer referencia al trabajo anterior en la nueva conversación.

settings-example.md +325 −325

Details

20 20 

21La configuración personal de un desarrollador. Elige un modelo y esfuerzo, ajusta la terminal y aprueba previamente un comando de solo lectura y una lectura de archivo. Todo lo que no aparece en la lista mantiene su valor predeterminado. Un archivo como este va en `~/.claude/settings.json`, donde se aplica a cada proyecto que abre.21La configuración personal de un desarrollador. Elige un modelo y esfuerzo, ajusta la terminal y aprueba previamente un comando de solo lectura y una lectura de archivo. Todo lo que no aparece en la lista mantiene su valor predeterminado. Un archivo como este va en `~/.claude/settings.json`, donde se aplica a cada proyecto que abre.

22 22 

23**Archivo de configuración copiable**23> [tab] Archivo de configuración copiable

24 24>

25Guarde esto como `~/.claude/settings.json`. Es JSON válido sin comentarios, así que puede pegarlo tal cual y eliminar las claves que no desee.25> Guarde esto como `~/.claude/settings.json`. Es JSON válido sin comentarios, así que puede pegarlo tal cual y eliminar las claves que no desee.

26 26>

27```json ~/.claude/settings.json theme={null}27> ```json ~/.claude/settings.json theme={null}

28{28> {

29 "model": "claude-sonnet-5",29> "model": "claude-sonnet-5",

30 "modelSettings": {30> "modelSettings": {

31 "claude-sonnet-5": { "effortLevel": "xhigh" }31> "claude-sonnet-5": { "effortLevel": "xhigh" }

32 },32> },

33 "editorMode": "vim",33> "editorMode": "vim",

34 "theme": "light-daltonized",34> "theme": "light-daltonized",

35 "statusLine": {35> "statusLine": {

36 "type": "command",36> "type": "command",

37 "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",37> "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",

38 "padding": 238> "padding": 2

39 },39> },

40 "spinnerTipsEnabled": false,40> "spinnerTipsEnabled": false,

41 "preferredNotifChannel": "terminal_bell",41> "preferredNotifChannel": "terminal_bell",

42 "permissions": {42> "permissions": {

43 "allow": [43> "allow": [

44 "Bash(git diff *)",44> "Bash(git diff *)",

45 "Read(~/.zshrc)"45> "Read(~/.zshrc)"

46 ]46> ]

47 },47> },

48 "autoUpdatesChannel": "stable",48> "autoUpdatesChannel": "stable",

49 "cleanupPeriodDays": 2049> "cleanupPeriodDays": 20

50}50> }

51```51> ```

52 52 

53**Lo que hace cada clave**53> [tab] Lo que hace cada clave

54 54>

55El mismo archivo con un comentario encima de cada clave. Léalo aquí; copie de la otra pestaña, porque Claude Code no acepta comentarios en un archivo de configuración.55> El mismo archivo con un comentario encima de cada clave. Léalo aquí; copie de la otra pestaña, porque Claude Code no acepta comentarios en un archivo de configuración.

56 56>

57```jsonc ~/.claude/settings.json theme={null}57> ```jsonc ~/.claude/settings.json theme={null}

58{58> {

59 // Inicie cada sesión en Sonnet 559> // Inicie cada sesión en Sonnet 5

60 "model": "claude-sonnet-5",60> "model": "claude-sonnet-5",

61 // Ejecute Sonnet 5 por encima de su nivel alto predeterminado; /effort guarda un nivel por modelo, y --effort establece uno para una sola sesión61> // Ejecute Sonnet 5 por encima de su nivel alto predeterminado; /effort guarda un nivel por modelo, y --effort establece uno para una sola sesión

62 "modelSettings": {62> "modelSettings": {

63 "claude-sonnet-5": { "effortLevel": "xhigh" }63> "claude-sonnet-5": { "effortLevel": "xhigh" }

64 },64> },

65 // Atajos de teclado Vim en el símbolo del sistema65> // Atajos de teclado Vim en el símbolo del sistema

66 "editorMode": "vim",66> "editorMode": "vim",

67 // El tema claro amigable para daltónicos67> // El tema claro amigable para daltónicos

68 "theme": "light-daltonized",68> "theme": "light-daltonized",

69 // Una línea de estado debajo del símbolo del sistema: nombre del modelo y contexto utilizado69> // Una línea de estado debajo del símbolo del sistema: nombre del modelo y contexto utilizado

70 "statusLine": {70> "statusLine": {

71 "type": "command",71> "type": "command",

72 "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",72> "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",

73 "padding": 273> "padding": 2

74 },74> },

75 // Oculte los consejos que rotan bajo el spinner75> // Oculte los consejos que rotan bajo el spinner

76 "spinnerTipsEnabled": false,76> "spinnerTipsEnabled": false,

77 // Suene la campana de la terminal para notificaciones, como una tarea finalizada o un aviso de permiso en espera77> // Suene la campana de la terminal para notificaciones, como una tarea finalizada o un aviso de permiso en espera

78 "preferredNotifChannel": "terminal_bell",78> "preferredNotifChannel": "terminal_bell",

79 // Permita que Claude Code ejecute git diff y lea su .zshrc sin preguntar79> // Permita que Claude Code ejecute git diff y lea su .zshrc sin preguntar

80 "permissions": {80> "permissions": {

81 "allow": [81> "allow": [

82 "Bash(git diff *)",82> "Bash(git diff *)",

83 "Read(~/.zshrc)"83> "Read(~/.zshrc)"

84 ]84> ]

85 },85> },

86 // Tome actualizaciones del canal estable86> // Tome actualizaciones del canal estable

87 "autoUpdatesChannel": "stable",87> "autoUpdatesChannel": "stable",

88 // Elimine transcripciones de sesión y otros datos de sesión local más antiguos que 20 días88> // Elimine transcripciones de sesión y otros datos de sesión local más antiguos que 20 días

89 "cleanupPeriodDays": 2089> "cleanupPeriodDays": 20

90}90> }

91```91> ```

92 92 

93## Configuración compartida de un equipo93## Configuración compartida de un equipo

94 94 


100* **El hook es un script en el repositorio.** El hook de este archivo ejecuta `.claude/hooks/block-rm.sh`; [Cómo se resuelve un hook](https://code.claude.com/docs/es/hooks.md#how-a-hook-resolves) explica cómo escribirlo.100* **El hook es un script en el repositorio.** El hook de este archivo ejecuta `.claude/hooks/block-rm.sh`; [Cómo se resuelve un hook](https://code.claude.com/docs/es/hooks.md#how-a-hook-resolves) explica cómo escribirlo.

101* **Las reglas coinciden con el comando y la ruta tal como se escriben.** `Bash(git push *)` no coincide con [`git -C . push`](https://code.claude.com/docs/es/permissions#bash-rule-limits). `Read(./.env)` por sí solo detiene las herramientas de archivo y los comandos que nombran el archivo, como `cat .env`, pero no [`grep -r` ejecutado sobre el directorio](https://code.claude.com/docs/es/permissions#read-and-edit); el bloque `sandbox` en este archivo cierra esa brecha, porque el sandbox [añade sus rutas de denegación de `Read`](https://code.claude.com/docs/es/settings-reference#sandbox-filesystem-denyread) a lo que ningún comando en sandbox puede leer.101* **Las reglas coinciden con el comando y la ruta tal como se escriben.** `Bash(git push *)` no coincide con [`git -C . push`](https://code.claude.com/docs/es/permissions#bash-rule-limits). `Read(./.env)` por sí solo detiene las herramientas de archivo y los comandos que nombran el archivo, como `cat .env`, pero no [`grep -r` ejecutado sobre el directorio](https://code.claude.com/docs/es/permissions#read-and-edit); el bloque `sandbox` en este archivo cierra esa brecha, porque el sandbox [añade sus rutas de denegación de `Read`](https://code.claude.com/docs/es/settings-reference#sandbox-filesystem-denyread) a lo que ningún comando en sandbox puede leer.

102 102 

103**Archivo de configuración copiable**103> [tab] Archivo de configuración copiable

104 104>

105Guarde esto como `.claude/settings.json` en la parte superior del repositorio y confírmelo. Es JSON válido sin comentarios, así que puede pegarlo tal cual y eliminar las claves que no desee.105> Guarde esto como `.claude/settings.json` en la parte superior del repositorio y confírmelo. Es JSON válido sin comentarios, así que puede pegarlo tal cual y eliminar las claves que no desee.

106 106>

107```json .claude/settings.json theme={null}107> ```json .claude/settings.json theme={null}

108{108> {

109 "permissions": {109> "permissions": {

110 "allow": [110> "allow": [

111 "Bash(npm run *)"111> "Bash(npm run *)"

112 ],112> ],

113 "ask": [113> "ask": [

114 "Bash(git push *)"114> "Bash(git push *)"

115 ],115> ],

116 "deny": [116> "deny": [

117 "Read(./.env)",117> "Read(./.env)",

118 "Read(./.env.*)",118> "Read(./.env.*)",

119 "Read(./secrets/**)"119> "Read(./secrets/**)"

120 ]120> ]

121 },121> },

122 "hooks": {122> "hooks": {

123 "PreToolUse": [123> "PreToolUse": [

124 {124> {

125 "matcher": "Bash",125> "matcher": "Bash",

126 "hooks": [126> "hooks": [

127 {127> {

128 "type": "command",128> "type": "command",

129 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"129> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"

130 }130> }

131 ]131> ]

132 }132> }

133 ]133> ]

134 },134> },

135 "extraKnownMarketplaces": {135> "extraKnownMarketplaces": {

136 "acme-tools": {136> "acme-tools": {

137 "source": {137> "source": {

138 "source": "github",138> "source": "github",

139 "repo": "acme-corp/claude-plugins"139> "repo": "acme-corp/claude-plugins"

140 }140> }

141 }141> }

142 },142> },

143 "enabledPlugins": {143> "enabledPlugins": {

144 "code-formatter@acme-tools": true144> "code-formatter@acme-tools": true

145 },145> },

146 "sandbox": {146> "sandbox": {

147 "enabled": true,147> "enabled": true,

148 "filesystem": {148> "filesystem": {

149 "allowWrite": [149> "allowWrite": [

150 "/tmp/build"150> "/tmp/build"

151 ]151> ]

152 },152> },

153 "network": {153> "network": {

154 "allowedDomains": [154> "allowedDomains": [

155 "registry.npmjs.org",155> "registry.npmjs.org",

156 "*.example.com"156> "*.example.com"

157 ]157> ]

158 }158> }

159 },159> },

160 "plansDirectory": "./plans"160> "plansDirectory": "./plans"

161}161> }

162```162> ```

163 163 

164**Lo que hace cada clave**164> [tab] Lo que hace cada clave

165 165>

166El mismo archivo con un comentario encima de cada clave. Léalo aquí; copie de la otra pestaña, porque Claude Code no acepta comentarios en un archivo de configuración.166> El mismo archivo con un comentario encima de cada clave. Léalo aquí; copie de la otra pestaña, porque Claude Code no acepta comentarios en un archivo de configuración.

167 167>

168```jsonc .claude/settings.json theme={null}168> ```jsonc .claude/settings.json theme={null}

169{169> {

170 "permissions": {170> "permissions": {

171 // Ejecuta scripts npm sin preguntar171> // Ejecuta scripts npm sin preguntar

172 "allow": [172> "allow": [

173 "Bash(npm run *)"173> "Bash(npm run *)"

174 ],174> ],

175 // Confirma antes de comandos git push175> // Confirma antes de comandos git push

176 "ask": [176> "ask": [

177 "Bash(git push *)"177> "Bash(git push *)"

178 ],178> ],

179 // Deniega lecturas de archivos env y la carpeta de secretos por las herramientas de archivo y comandos que leen archivos179> // Deniega lecturas de archivos env y la carpeta de secretos por las herramientas de archivo y comandos que leen archivos

180 "deny": [180> "deny": [

181 "Read(./.env)",181> "Read(./.env)",

182 "Read(./.env.*)",182> "Read(./.env.*)",

183 "Read(./secrets/**)"183> "Read(./secrets/**)"

184 ]184> ]

185 },185> },

186 // Antes de cada comando Bash, ejecuta un script en el repositorio que pueda bloquearlo186> // Antes de cada comando Bash, ejecuta un script en el repositorio que pueda bloquearlo

187 "hooks": {187> "hooks": {

188 "PreToolUse": [188> "PreToolUse": [

189 {189> {

190 "matcher": "Bash",190> "matcher": "Bash",

191 "hooks": [191> "hooks": [

192 {192> {

193 "type": "command",193> "type": "command",

194 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"194> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"

195 }195> }

196 ]196> ]

197 }197> }

198 ]198> ]

199 },199> },

200 // Registra el marketplace de plugins del equipo en cada clon200> // Registra el marketplace de plugins del equipo en cada clon

201 "extraKnownMarketplaces": {201> "extraKnownMarketplaces": {

202 "acme-tools": {202> "acme-tools": {

203 "source": {203> "source": {

204 "source": "github",204> "source": "github",

205 "repo": "acme-corp/claude-plugins"205> "repo": "acme-corp/claude-plugins"

206 }206> }

207 }207> }

208 },208> },

209 // Habilita un plugin de ese marketplace; un plugin de una fuente externa como un repositorio de GitHub aún necesita que cada persona lo instale una vez209> // Habilita un plugin de ese marketplace; un plugin de una fuente externa como un repositorio de GitHub aún necesita que cada persona lo instale una vez

210 "enabledPlugins": {210> "enabledPlugins": {

211 "code-formatter@acme-tools": true211> "code-formatter@acme-tools": true

212 },212> },

213 // Comandos de sandbox: directorio de compilación escribible; npm y example.com preaprobados213> // Comandos de sandbox: directorio de compilación escribible; npm y example.com preaprobados

214 "sandbox": {214> "sandbox": {

215 "enabled": true,215> "enabled": true,

216 "filesystem": {216> "filesystem": {

217 "allowWrite": [217> "allowWrite": [

218 "/tmp/build"218> "/tmp/build"

219 ]219> ]

220 },220> },

221 "network": {221> "network": {

222 "allowedDomains": [222> "allowedDomains": [

223 "registry.npmjs.org",223> "registry.npmjs.org",

224 "*.example.com"224> "*.example.com"

225 ]225> ]

226 }226> }

227 },227> },

228 // Mantén los archivos de plan dentro del repositorio228> // Mantén los archivos de plan dentro del repositorio

229 "plansDirectory": "./plans"229> "plansDirectory": "./plans"

230}230> }

231```231> ```

232 232 

233## Configuración administrada de una organización233## Configuración administrada de una organización

234 234 


247 247 

248Los administradores implementan un archivo como este como `managed-settings.json`, o el mismo JSON a través de MDM o [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md). Un archivo implementado se aplica a cada máquina o cuenta que alcanza. Para dar a un grupo valores diferentes, implemente un archivo o perfil diferente en ese grupo, ya que [la configuración administrada por servidor aún no admite política por grupo](https://code.claude.com/docs/es/server-managed-settings.md#current-limitations).248Los administradores implementan un archivo como este como `managed-settings.json`, o el mismo JSON a través de MDM o [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md). Un archivo implementado se aplica a cada máquina o cuenta que alcanza. Para dar a un grupo valores diferentes, implemente un archivo o perfil diferente en ese grupo, ya que [la configuración administrada por servidor aún no admite política por grupo](https://code.claude.com/docs/es/server-managed-settings.md#current-limitations).

249 249 

250**Archivo de configuración copiable**250> [tab] Archivo de configuración copiable

251 251>

252Implemente esto como `managed-settings.json`, o el mismo JSON a través de MDM o la consola de claude.ai. Es JSON válido sin comentarios; reemplace el UUID de organización de ejemplo, la URL del servidor y el marketplace con los suyos propios y elimine las claves que no desee.252> Implemente esto como `managed-settings.json`, o el mismo JSON a través de MDM o la consola de claude.ai. Es JSON válido sin comentarios; reemplace el UUID de organización de ejemplo, la URL del servidor y el marketplace con los suyos propios y elimine las claves que no desee.

253 253>

254```json managed-settings.json theme={null}254> ```json managed-settings.json theme={null}

255{255> {

256 "forceLoginMethod": "claudeai",256> "forceLoginMethod": "claudeai",

257 "forceLoginOrgUUID": [257> "forceLoginOrgUUID": [

258 "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"258> "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

259 ],259> ],

260 "availableModels": [260> "availableModels": [

261 "opus",261> "opus",

262 "sonnet"262> "sonnet"

263 ],263> ],

264 "enforceAvailableModels": true,264> "enforceAvailableModels": true,

265 "permissions": {265> "permissions": {

266 "deny": [266> "deny": [

267 "Bash(curl *)",267> "Bash(curl *)",

268 "Read(./.env)",268> "Read(./.env)",

269 "Read(./secrets/**)"269> "Read(./secrets/**)"

270 ],270> ],

271 "disableBypassPermissionsMode": "disable"271> "disableBypassPermissionsMode": "disable"

272 },272> },

273 "allowManagedPermissionRulesOnly": true,273> "allowManagedPermissionRulesOnly": true,

274 "allowedMcpServers": [274> "allowedMcpServers": [

275 {275> {

276 "serverUrl": "https://api.githubcopilot.com/*"276> "serverUrl": "https://api.githubcopilot.com/*"

277 }277> }

278 ],278> ],

279 "allowManagedMcpServersOnly": true,279> "allowManagedMcpServersOnly": true,

280 "strictKnownMarketplaces": [280> "strictKnownMarketplaces": [

281 {281> {

282 "source": "github",282> "source": "github",

283 "repo": "acme-corp/approved-plugins"283> "repo": "acme-corp/approved-plugins"

284 }284> }

285 ],285> ],

286 "sandbox": {286> "sandbox": {

287 "enabled": true,287> "enabled": true,

288 "failIfUnavailable": true,288> "failIfUnavailable": true,

289 "allowUnsandboxedCommands": false,289> "allowUnsandboxedCommands": false,

290 "network": {290> "network": {

291 "allowedDomains": [291> "allowedDomains": [

292 "registry.npmjs.org",292> "registry.npmjs.org",

293 "github.com"293> "github.com"

294 ],294> ],

295 "allowManagedDomainsOnly": true295> "allowManagedDomainsOnly": true

296 }296> }

297 },297> },

298 "requiredMinimumVersion": "2.1.150",298> "requiredMinimumVersion": "2.1.150",

299 "cleanupPeriodDays": 7,299> "cleanupPeriodDays": 7,

300 "companyAnnouncements": [300> "companyAnnouncements": [

301 "Welcome to Acme Corp! Review our code guidelines at docs.example.com"301> "Welcome to Acme Corp! Review our code guidelines at docs.example.com"

302 ]302> ]

303}303> }

304```304> ```

305 305 

306**Lo que hace cada clave**306> [tab] Lo que hace cada clave

307 307>

308El mismo archivo con un comentario encima de cada clave. Léalo aquí; copie de la otra pestaña, porque Claude Code no acepta comentarios en un archivo de configuración.308> El mismo archivo con un comentario encima de cada clave. Léalo aquí; copie de la otra pestaña, porque Claude Code no acepta comentarios en un archivo de configuración.

309 309>

310```jsonc managed-settings.json theme={null}310> ```jsonc managed-settings.json theme={null}

311{311> {

312 // Solo inicios de sesión de claude.ai, y solo en esta organización312> // Solo inicios de sesión de claude.ai, y solo en esta organización

313 "forceLoginMethod": "claudeai",313> "forceLoginMethod": "claudeai",

314 "forceLoginOrgUUID": [314> "forceLoginOrgUUID": [

315 "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"315> "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

316 ],316> ],

317 // Solo modelos Opus y Sonnet; con enforceAvailableModels, la opción Predeterminado también obedece la lista317> // Solo modelos Opus y Sonnet; con enforceAvailableModels, la opción Predeterminado también obedece la lista

318 "availableModels": [318> "availableModels": [

319 "opus",319> "opus",

320 "sonnet"320> "sonnet"

321 ],321> ],

322 "enforceAvailableModels": true,322> "enforceAvailableModels": true,

323 "permissions": {323> "permissions": {

324 // Bloquee curl, el archivo .env del proyecto y su carpeta de secretos en cada máquina324> // Bloquee curl, el archivo .env del proyecto y su carpeta de secretos en cada máquina

325 "deny": [325> "deny": [

326 "Bash(curl *)",326> "Bash(curl *)",

327 "Read(./.env)",327> "Read(./.env)",

328 "Read(./secrets/**)"328> "Read(./secrets/**)"

329 ],329> ],

330 // Elimine el modo de omisión de permisos de cada sesión330> // Elimine el modo de omisión de permisos de cada sesión

331 "disableBypassPermissionsMode": "disable"331> "disableBypassPermissionsMode": "disable"

332 },332> },

333 // Ignore las reglas de permiso de la configuración de usuario, proyecto y local333> // Ignore las reglas de permiso de la configuración de usuario, proyecto y local

334 "allowManagedPermissionRulesOnly": true,334> "allowManagedPermissionRulesOnly": true,

335 // Solo el servidor MCP de GitHub, coincidido por URL en lugar de por nombre, ya que un usuario puede335> // Solo el servidor MCP de GitHub, coincidido por URL en lugar de por nombre, ya que un usuario puede

336 // nombrar cualquier servidor "github". Los servidores que no coinciden no se cargan, lo que incluye cada336> // nombrar cualquier servidor "github". Los servidores que no coinciden no se cargan, lo que incluye cada

337 // servidor stdio cuando la lista tiene solo entradas de URL; el bloqueo a continuación hace que esta lista administrada337> // servidor stdio cuando la lista tiene solo entradas de URL; el bloqueo a continuación hace que esta lista administrada

338 // sea la única lista de permisos que cuenta338> // sea la única lista de permisos que cuenta

339 "allowedMcpServers": [339> "allowedMcpServers": [

340 {340> {

341 "serverUrl": "https://api.githubcopilot.com/*"341> "serverUrl": "https://api.githubcopilot.com/*"

342 }342> }

343 ],343> ],

344 "allowManagedMcpServersOnly": true,344> "allowManagedMcpServersOnly": true,

345 // Los plugins pueden provenir solo de este marketplace345> // Los plugins pueden provenir solo de este marketplace

346 "strictKnownMarketplaces": [346> "strictKnownMarketplaces": [

347 {347> {

348 "source": "github",348> "source": "github",

349 "repo": "acme-corp/approved-plugins"349> "repo": "acme-corp/approved-plugins"

350 }350> }

351 ],351> ],

352 // Coloque cada comando que ejecuta Claude en sandbox, rechace iniciar si el sandbox no puede352> // Coloque cada comando que ejecuta Claude en sandbox, rechace iniciar si el sandbox no puede

353 // configurarse, y nunca permita que un comando bloqueado se reintente fuera del sandbox; red353> // configurarse, y nunca permita que un comando bloqueado se reintente fuera del sandbox; red

354 // limitada a npm y GitHub, y los usuarios no pueden agregar dominios354> // limitada a npm y GitHub, y los usuarios no pueden agregar dominios

355 "sandbox": {355> "sandbox": {

356 "enabled": true,356> "enabled": true,

357 "failIfUnavailable": true,357> "failIfUnavailable": true,

358 "allowUnsandboxedCommands": false,358> "allowUnsandboxedCommands": false,

359 "network": {359> "network": {

360 "allowedDomains": [360> "allowedDomains": [

361 "registry.npmjs.org",361> "registry.npmjs.org",

362 "github.com"362> "github.com"

363 ],363> ],

364 "allowManagedDomainsOnly": true364> "allowManagedDomainsOnly": true

365 }365> }

366 },366> },

367 // Rechace iniciar en versiones anteriores a 2.1.150367> // Rechace iniciar en versiones anteriores a 2.1.150

368 "requiredMinimumVersion": "2.1.150",368> "requiredMinimumVersion": "2.1.150",

369 // Elimine transcripciones de sesión y otros datos de sesión local después de 7 días369> // Elimine transcripciones de sesión y otros datos de sesión local después de 7 días

370 "cleanupPeriodDays": 7,370> "cleanupPeriodDays": 7,

371 // Un mensaje que cada usuario ve al inicio371> // Un mensaje que cada usuario ve al inicio

372 "companyAnnouncements": [372> "companyAnnouncements": [

373 "Welcome to Acme Corp! Review our code guidelines at docs.example.com"373> "Welcome to Acme Corp! Review our code guidelines at docs.example.com"

374 ]374> ]

375}375> }

376```376> ```

Details

3865* **Type**: Boolean3865* **Type**: Boolean

3866 * `true`: Claude Code permite canales para su organización3866 * `true`: Claude Code permite canales para su organización

3867 * `false`: lo mismo que sin establecer; si los canales están bloqueados depende de su plan, como dice el Default3867 * `false`: lo mismo que sin establecer; si los canales están bloqueados depende de su plan, como dice el Default

3868* **Default**: sin establecer; los canales están bloqueados en planes de Team y Enterprise y en cuentas de Console con configuración administrada, y permitidos en planes Pro y Max y en cuentas de Console sin configuración administrada3868* **Default**: sin establecer; los canales están bloqueados en los planes Team y Enterprise y en las cuentas de Console con configuración administrada, y permitidos en los planes Pro, Max y Ultra y en las cuentas de Console sin configuración administrada

3869 3869 

3870```json managed-settings.json theme={null}3870```json managed-settings.json theme={null}

3871{3871{

setup.md +251 −251

Details

35 35 

36Para instalar Claude Code, abra una terminal y ejecute el comando para su sistema. Si nunca ha utilizado una terminal antes, la [guía de terminal](https://code.claude.com/docs/es/terminal-guide) muestra cómo abrir una y pegar el comando.36Para instalar Claude Code, abra una terminal y ejecute el comando para su sistema. Si nunca ha utilizado una terminal antes, la [guía de terminal](https://code.claude.com/docs/es/terminal-guide) muestra cómo abrir una y pegar el comando.

37 37 

38**Instalación nativa (recomendado)**38> [tab] Instalación nativa (recomendado)

39 

40**macOS, Linux, WSL:**

41 

42```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

43curl -fsSL https://claude.ai/install.sh | bash

44```

45 

46En Windows, tu prompt muestra `PS C:\` cuando estás en PowerShell y `C:\` sin el `PS` cuando estás en CMD.

47 

48**Windows PowerShell:**

49 

50```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

51irm https://claude.ai/install.ps1 | iex

52```

53 

54**Windows CMD:**

55 

56```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

57curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

58```

59 

60El comando de instalación no muestra ningún progreso mientras descarga Claude Code. Cuando el instalador termine, abre una nueva ventana de terminal y ejecuta `claude --version`. Una instalación que funciona correctamente imprime un número de versión. Si tu shell dice que `claude` no se encuentra o no se reconoce, el directorio de instalación aún no está en tu PATH: consulta [Corrige tu PATH](https://code.claude.com/docs/es/troubleshoot-install.md#command-not-found-claude-after-installation).

61 

62Si ves `The token '&&' is not a valid statement separator`, estás en PowerShell, no en CMD. Si ves `'irm' is not recognized as an internal or external command`, estás en CMD, no en PowerShell.

63 

64Si el comando de instalación falla con `syntax error near unexpected token '<'`, un `403` o cualquier otro error, consulta [Solucionar problemas de instalación](https://code.claude.com/docs/es/troubleshoot-install.md#find-your-error) para hacer coincidir el error con una solución y para conocer métodos de instalación alternativos.

65 

66Se recomienda [Git for Windows](https://git-scm.com/downloads/win) en Windows nativo para que Claude Code pueda utilizar la herramienta Bash. Si Git for Windows no está instalado, Claude Code utiliza PowerShell como herramienta de shell en su lugar. Las configuraciones de WSL no necesitan Git for Windows.

67 

68> [!NOTE]

69>39>

70> Las instalaciones nativas se actualizan automáticamente en segundo plano para mantenerlo en la versión más reciente.40> **macOS, Linux, WSL:**

71 

72**Homebrew**

73 

74```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

75brew install --cask claude-code

76```

77 

78Homebrew ofrece dos casks. `claude-code` rastrea el canal de versión estable, que típicamente está aproximadamente una semana atrás y omite versiones con regresiones importantes. `claude-code@latest` rastrea el canal más reciente y recibe nuevas versiones tan pronto como se lanzan.

79 

80> [!NOTE]

81>41>

82> Las instalaciones de Homebrew no se actualizan automáticamente. Ejecute `brew upgrade claude-code` o `brew upgrade claude-code@latest`, dependiendo de cuál cask haya instalado, para obtener las características más recientes y correcciones de seguridad.42> ```bash theme={null}

83 43> curl -fsSL https://claude.ai/install.sh | bash

84**WinGet**44> ```

45>

46> En Windows, tu prompt muestra `PS C:\` cuando estás en PowerShell y `C:\` sin el `PS` cuando estás en CMD.

47>

48> **Windows PowerShell:**

49>

50> ```powershell theme={null}

51> irm https://claude.ai/install.ps1 | iex

52> ```

53>

54> **Windows CMD:**

55>

56> ```batch theme={null}

57> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

58> ```

59>

60> El comando de instalación no muestra ningún progreso mientras descarga Claude Code. Cuando el instalador termine, abre una nueva ventana de terminal y ejecuta `claude --version`. Una instalación que funciona correctamente imprime un número de versión. Si tu shell dice que `claude` no se encuentra o no se reconoce, el directorio de instalación aún no está en tu PATH: consulta [Corrige tu PATH](https://code.claude.com/docs/es/troubleshoot-install.md#command-not-found-claude-after-installation).

61>

62> Si ves `The token '&&' is not a valid statement separator`, estás en PowerShell, no en CMD. Si ves `'irm' is not recognized as an internal or external command`, estás en CMD, no en PowerShell.

63>

64> Si el comando de instalación falla con `syntax error near unexpected token '<'`, un `403` o cualquier otro error, consulta [Solucionar problemas de instalación](https://code.claude.com/docs/es/troubleshoot-install.md#find-your-error) para hacer coincidir el error con una solución y para conocer métodos de instalación alternativos.

65>

66> Se recomienda [Git for Windows](https://git-scm.com/downloads/win) en Windows nativo para que Claude Code pueda utilizar la herramienta Bash. Si Git for Windows no está instalado, Claude Code utiliza PowerShell como herramienta de shell en su lugar. Las configuraciones de WSL no necesitan Git for Windows.

67>

68> > [!NOTE]

69> >

70> > Las instalaciones nativas se actualizan automáticamente en segundo plano para mantenerlo en la versión más reciente.

85 71 

86```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}72> [tab] Homebrew

87winget install Anthropic.ClaudeCode73>

88```74> ```bash theme={null}

75> brew install --cask claude-code

76> ```

77>

78> Homebrew ofrece dos casks. `claude-code` rastrea el canal de versión estable, que típicamente está aproximadamente una semana atrás y omite versiones con regresiones importantes. `claude-code@latest` rastrea el canal más reciente y recibe nuevas versiones tan pronto como se lanzan.

79>

80> > [!NOTE]

81> >

82> > Las instalaciones de Homebrew no se actualizan automáticamente. Ejecute `brew upgrade claude-code` o `brew upgrade claude-code@latest`, dependiendo de cuál cask haya instalado, para obtener las características más recientes y correcciones de seguridad.

89 83 

90> [!NOTE]84> [tab] WinGet

85>

86> ```powershell theme={null}

87> winget install Anthropic.ClaudeCode

88> ```

91>89>

92> Las instalaciones de WinGet no se actualizan automáticamente. Ejecute `winget upgrade Anthropic.ClaudeCode` periódicamente para obtener las características más recientes y correcciones de seguridad.90> > [!NOTE]

91> >

92> > Las instalaciones de WinGet no se actualizan automáticamente. Ejecute `winget upgrade Anthropic.ClaudeCode` periódicamente para obtener las características más recientes y correcciones de seguridad.

93 93 

94También puede instalar con [apt, dnf, o apk](https://code.claude.com/docs/es/setup.md#install-with-linux-package-managers) en Debian, Fedora, RHEL y Alpine.94También puede instalar con [apt, dnf, o apk](https://code.claude.com/docs/es/setup.md#install-with-linux-package-managers) en Debian, Fedora, RHEL y Alpine.

95 95 


188 188 

189## Autenticar189## Autenticar

190 190 

191Claude Code requiere una cuenta Pro, Max, Team, Enterprise o Console. El plan gratuito de Claude.ai no incluye acceso a Claude Code. También puede usar Claude Code con un proveedor de API de terceros como [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/es/google-vertex-ai.md) o [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md).191Claude Code requiere una cuenta Pro, Max, Ultra, Team, Enterprise o Console. El plan gratuito de claude.ai no incluye acceso a Claude Code. También puedes usar Claude Code con un proveedor de API de terceros como [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/es/google-vertex-ai.md) o [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md).

192 192 

193Después de instalar, inicia sesión ejecutando `claude` y siguiendo las instrucciones del navegador. Si configuraste la variable de entorno `ANTHROPIC_API_KEY` y apruebas la clave cuando Claude Code te pregunta si quieres usarla, Claude Code omite la solicitud de inicio de sesión. Consulta [Autenticación](https://code.claude.com/docs/es/authentication.md) para ver todos los tipos de cuenta y las opciones de configuración de equipo.193Después de instalar, inicia sesión ejecutando `claude` y siguiendo las instrucciones del navegador. Si configuraste la variable de entorno `ANTHROPIC_API_KEY` y apruebas la clave cuando Claude Code te pregunta si quieres usarla, Claude Code omite la solicitud de inicio de sesión. Consulta [Autenticación](https://code.claude.com/docs/es/authentication.md) para ver todos los tipos de cuenta y las opciones de configuración de equipo.

194 194 


300 300 

301Para instalar la versión más reciente (predeterminada):301Para instalar la versión más reciente (predeterminada):

302 302 

303**macOS, Linux, WSL**303> [tab] macOS, Linux, WSL

304 304>

305```bash theme={null}305> ```bash theme={null}

306curl -fsSL https://claude.ai/install.sh | bash306> curl -fsSL https://claude.ai/install.sh | bash

307```307> ```

308 

309**Windows PowerShell**

310 

311```powershell theme={null}

312irm https://claude.ai/install.ps1 | iex

313```

314 308 

315**Windows CMD**309> [tab] Windows PowerShell

310>

311> ```powershell theme={null}

312> irm https://claude.ai/install.ps1 | iex

313> ```

316 314 

317```batch theme={null}315> [tab] Windows CMD

318curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd316>

319```317> ```batch theme={null}

318> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

319> ```

320 320 

321Para instalar la versión estable:321Para instalar la versión estable:

322 322 

323**macOS, Linux, WSL**323> [tab] macOS, Linux, WSL

324 324>

325```bash theme={null}325> ```bash theme={null}

326curl -fsSL https://claude.ai/install.sh | bash -s stable326> curl -fsSL https://claude.ai/install.sh | bash -s stable

327```327> ```

328 

329**Windows PowerShell**

330 

331```powershell theme={null}

332& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable

333```

334 328 

335**Windows CMD**329> [tab] Windows PowerShell

330>

331> ```powershell theme={null}

332> & ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable

333> ```

336 334 

337```batch theme={null}335> [tab] Windows CMD

338curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd stable && del install.cmd336>

339```337> ```batch theme={null}

338> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd stable && del install.cmd

339> ```

340 340 

341Para instalar un número de versión específico:341Para instalar un número de versión específico:

342 342 

343**macOS, Linux, WSL**343> [tab] macOS, Linux, WSL

344 344>

345```bash theme={null}345> ```bash theme={null}

346curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89346> curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89

347```347> ```

348 

349**Windows PowerShell**

350 

351```powershell theme={null}

352& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89

353```

354 348 

355**Windows CMD**349> [tab] Windows PowerShell

350>

351> ```powershell theme={null}

352> & ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89

353> ```

356 354 

357```batch theme={null}355> [tab] Windows CMD

358curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd 2.1.89 && del install.cmd356>

359```357> ```batch theme={null}

358> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd 2.1.89 && del install.cmd

359> ```

360 360 

361Para confirmar qué versión se instaló, ejecute `claude --version`: el comando imprime la versión exacta que pasó, como `2.1.89 (Claude Code)`.361Para confirmar qué versión se instaló, ejecute `claude --version`: el comando imprime la versión exacta que pasó, como `2.1.89 (Claude Code)`.

362 362 


366 366 

367Todos los repositorios están firmados con la [clave de firma de lanzamiento de Claude Code](#binary-integrity-and-code-signing). Antes de confiar en la clave, verifíquela como se describe en cada pestaña.367Todos los repositorios están firmados con la [clave de firma de lanzamiento de Claude Code](#binary-integrity-and-code-signing). Antes de confiar en la clave, verifíquela como se describe en cada pestaña.

368 368 

369**apt**369> [tab] apt

370 370>

371Para Debian y Ubuntu. Los comandos de instalación a continuación descargan la clave de firma con `curl` y la verifican con `gpg`, que las instalaciones nuevas de Debian y Ubuntu pueden no incluir. Si alguno de los comandos reporta `command not found`, instale ambos primero:371> Para Debian y Ubuntu. Los comandos de instalación a continuación descargan la clave de firma con `curl` y la verifican con `gpg`, que las instalaciones nuevas de Debian y Ubuntu pueden no incluir. Si alguno de los comandos reporta `command not found`, instale ambos primero:

372 372>

373```bash theme={null}373> ```bash theme={null}

374sudo apt install curl gnupg374> sudo apt install curl gnupg

375```375> ```

376 376>

377Descargue la clave de firma:377> Descargue la clave de firma:

378 378>

379```bash theme={null}379> ```bash theme={null}

380sudo install -d -m 0755 /etc/apt/keyrings380> sudo install -d -m 0755 /etc/apt/keyrings

381sudo curl -fsSL https://downloads.claude.ai/keys/claude-code.asc \381> sudo curl -fsSL https://downloads.claude.ai/keys/claude-code.asc \

382 -o /etc/apt/keyrings/claude-code.asc382> -o /etc/apt/keyrings/claude-code.asc

383```383> ```

384 384>

385Si esta descarga falla, `apt update` más tarde falla con `NO_PUBKEY BAA929FF1A7ECACE`. Confirme que la clave se descargó y pertenece a Anthropic antes de continuar:385> Si esta descarga falla, `apt update` más tarde falla con `NO_PUBKEY BAA929FF1A7ECACE`. Confirme que la clave se descargó y pertenece a Anthropic antes de continuar:

386 386>

387```bash theme={null}387> ```bash theme={null}

388gpg --show-keys /etc/apt/keyrings/claude-code.asc388> gpg --show-keys /etc/apt/keyrings/claude-code.asc

389```389> ```

390 390>

391La huella digital que gpg imprime debe ser `31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE`. Si gpg reporta que el archivo no se puede abrir o no contiene datos OpenPGP válidos, la descarga falló o devolvió contenido incorrecto: confirme que su red puede alcanzar `downloads.claude.ai`, luego vuelva a ejecutar el comando de descarga.391> La huella digital que gpg imprime debe ser `31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE`. Si gpg reporta que el archivo no se puede abrir o no contiene datos OpenPGP válidos, la descarga falló o devolvió contenido incorrecto: confirme que su red puede alcanzar `downloads.claude.ai`, luego vuelva a ejecutar el comando de descarga.

392 392>

393Registre el repositorio en el canal `stable` e instale:393> Registre el repositorio en el canal `stable` e instale:

394 394>

395```bash theme={null}395> ```bash theme={null}

396echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/stable stable main" \396> echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/stable stable main" \

397 | sudo tee /etc/apt/sources.list.d/claude-code.list397> | sudo tee /etc/apt/sources.list.d/claude-code.list

398sudo apt update398> sudo apt update

399sudo apt install claude-code399> sudo apt install claude-code

400```400> ```

401 401>

402Para usar el canal `latest` en su lugar, tanto la ruta de URL como el nombre de la suite cambian. Use esta línea `deb`:402> Para usar el canal `latest` en su lugar, tanto la ruta de URL como el nombre de la suite cambian. Use esta línea `deb`:

403 403>

404```bash theme={null}404> ```bash theme={null}

405echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/latest latest main" \405> echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/latest latest main" \

406 | sudo tee /etc/apt/sources.list.d/claude-code.list406> | sudo tee /etc/apt/sources.list.d/claude-code.list

407```407> ```

408 408>

409Para actualizar más tarde, ejecute `sudo apt update && sudo apt upgrade claude-code`.409> Para actualizar más tarde, ejecute `sudo apt update && sudo apt upgrade claude-code`.

410 

411**dnf**

412 

413Para Fedora y RHEL. Los siguientes comandos configuran el canal `stable`:

414 

415```bash theme={null}

416sudo tee /etc/yum.repos.d/claude-code.repo <<'EOF'

417[claude-code]

418name=Claude Code

419baseurl=https://downloads.claude.ai/claude-code/rpm/stable

420enabled=1

421gpgcheck=1

422gpgkey=https://downloads.claude.ai/keys/claude-code.asc

423EOF

424sudo dnf install claude-code

425```

426 

427Para usar el canal `latest` en su lugar, establezca `baseurl` en el repositorio `latest`:

428 

429```ini theme={null}

430baseurl=https://downloads.claude.ai/claude-code/rpm/latest

431```

432 

433dnf descarga la clave en la primera instalación y le solicita que confirme la huella digital. Verifique que coincida con `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` antes de aceptar.

434 

435Para actualizar más tarde, ejecute `sudo dnf upgrade claude-code`.

436 

437**apk**

438 

439Para Alpine Linux. Los siguientes comandos configuran el canal `stable`:

440 

441```sh theme={null}

442wget -O /etc/apk/keys/claude-code.rsa.pub \

443 https://downloads.claude.ai/keys/claude-code.rsa.pub

444echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories

445apk add claude-code

446```

447 

448Para cambiar al canal `latest`, elimine la línea del repositorio `stable` y agregue el repositorio `latest`:

449 

450```sh theme={null}

451sed -i '\|downloads.claude.ai/claude-code/apk/stable|d' /etc/apk/repositories

452echo "https://downloads.claude.ai/claude-code/apk/latest" >> /etc/apk/repositories

453```

454 410 

455Verifique la clave descargada con `sha256sum /etc/apk/keys/claude-code.rsa.pub`, que debe reportar `395759c1f7449ef4cdef305a42e820f3c766d6090d142634ebdb049f113168b6`.411> [tab] dnf

412>

413> Para Fedora y RHEL. Los siguientes comandos configuran el canal `stable`:

414>

415> ```bash theme={null}

416> sudo tee /etc/yum.repos.d/claude-code.repo <<'EOF'

417> [claude-code]

418> name=Claude Code

419> baseurl=https://downloads.claude.ai/claude-code/rpm/stable

420> enabled=1

421> gpgcheck=1

422> gpgkey=https://downloads.claude.ai/keys/claude-code.asc

423> EOF

424> sudo dnf install claude-code

425> ```

426>

427> Para usar el canal `latest` en su lugar, establezca `baseurl` en el repositorio `latest`:

428>

429> ```ini theme={null}

430> baseurl=https://downloads.claude.ai/claude-code/rpm/latest

431> ```

432>

433> dnf descarga la clave en la primera instalación y le solicita que confirme la huella digital. Verifique que coincida con `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` antes de aceptar.

434>

435> Para actualizar más tarde, ejecute `sudo dnf upgrade claude-code`.

456 436 

457Para actualizar más tarde, ejecute `apk update && apk upgrade claude-code`.437> [tab] apk

438>

439> Para Alpine Linux. Los siguientes comandos configuran el canal `stable`:

440>

441> ```sh theme={null}

442> wget -O /etc/apk/keys/claude-code.rsa.pub \

443> https://downloads.claude.ai/keys/claude-code.rsa.pub

444> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories

445> apk add claude-code

446> ```

447>

448> Para cambiar al canal `latest`, elimine la línea del repositorio `stable` y agregue el repositorio `latest`:

449>

450> ```sh theme={null}

451> sed -i '\|downloads.claude.ai/claude-code/apk/stable|d' /etc/apk/repositories

452> echo "https://downloads.claude.ai/claude-code/apk/latest" >> /etc/apk/repositories

453> ```

454>

455> Verifique la clave descargada con `sha256sum /etc/apk/keys/claude-code.rsa.pub`, que debe reportar `395759c1f7449ef4cdef305a42e820f3c766d6090d142634ebdb049f113168b6`.

456>

457> Para actualizar más tarde, ejecute `apk update && apk upgrade claude-code`.

458 458 

459### Instalar con npm459### Instalar con npm

460 460 


546 546 

547Compare la suma de verificación SHA256 del binario con el valor listado bajo `platforms.<platform>.checksum` en `manifest.json`. Los comandos a continuación asumen un binario `claude` en el directorio actual. Para verificar un binario nativo instalado en su lugar, ejecute el comando contra `~/.local/share/claude/versions/VERSION`, reemplazando VERSION con el lanzamiento que estableció en el Paso 2.547Compare la suma de verificación SHA256 del binario con el valor listado bajo `platforms.<platform>.checksum` en `manifest.json`. Los comandos a continuación asumen un binario `claude` en el directorio actual. Para verificar un binario nativo instalado en su lugar, ejecute el comando contra `~/.local/share/claude/versions/VERSION`, reemplazando VERSION con el lanzamiento que estableció en el Paso 2.

548 548 

549**Linux**549> [tab] Linux

550 550>

551```bash theme={null}551> ```bash theme={null}

552sha256sum claude552> sha256sum claude

553```553> ```

554 

555**macOS**

556 

557```bash theme={null}

558shasum -a 256 claude

559```

560 554 

561**Windows PowerShell**555> [tab] macOS

556>

557> ```bash theme={null}

558> shasum -a 256 claude

559> ```

562 560 

563```powershell theme={null}561> [tab] Windows PowerShell

564(Get-FileHash claude.exe -Algorithm SHA256).Hash.ToLower()562>

565```563> ```powershell theme={null}

564> (Get-FileHash claude.exe -Algorithm SHA256).Hash.ToLower()

565> ```

566 566 

567> [!NOTE]567> [!NOTE]

568>568>


584 584 

585Elimine el binario de Claude Code y los archivos de versión:585Elimine el binario de Claude Code y los archivos de versión:

586 586 

587**macOS, Linux, WSL**587> [tab] macOS, Linux, WSL

588 588>

589```bash theme={null}589> ```bash theme={null}

590rm -f ~/.local/bin/claude590> rm -f ~/.local/bin/claude

591rm -rf ~/.local/share/claude591> rm -rf ~/.local/share/claude

592```592> ```

593 

594**Windows PowerShell**

595 593 

596```powershell theme={null}594> [tab] Windows PowerShell

597Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force595>

598Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force596> ```powershell theme={null}

599```597> Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force

598> Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force

599> ```

600 600 

601### Desinstalar con Homebrew601### Desinstalar con Homebrew

602 602 


624 624 

625Elimine el paquete y la configuración del repositorio:625Elimine el paquete y la configuración del repositorio:

626 626 

627**apt**627> [tab] apt

628 628>

629```bash theme={null}629> ```bash theme={null}

630sudo apt remove claude-code630> sudo apt remove claude-code

631sudo rm /etc/apt/sources.list.d/claude-code.list /etc/apt/keyrings/claude-code.asc631> sudo rm /etc/apt/sources.list.d/claude-code.list /etc/apt/keyrings/claude-code.asc

632```632> ```

633 

634**dnf**

635 

636```bash theme={null}

637sudo dnf remove claude-code

638sudo rm /etc/yum.repos.d/claude-code.repo

639```

640 633 

641**apk**634> [tab] dnf

635>

636> ```bash theme={null}

637> sudo dnf remove claude-code

638> sudo rm /etc/yum.repos.d/claude-code.repo

639> ```

642 640 

643```sh theme={null}641> [tab] apk

644apk del claude-code642>

645sed -i '\|downloads.claude.ai/claude-code/apk|d' /etc/apk/repositories643> ```sh theme={null}

646rm /etc/apk/keys/claude-code.rsa.pub644> apk del claude-code

647```645> sed -i '\|downloads.claude.ai/claude-code/apk|d' /etc/apk/repositories

646> rm /etc/apk/keys/claude-code.rsa.pub

647> ```

648 648 

649### Desinstalar con npm649### Desinstalar con npm

650 650 


664 664 

665Para eliminar la configuración y datos en caché de Claude Code:665Para eliminar la configuración y datos en caché de Claude Code:

666 666 

667**macOS, Linux, WSL**667> [tab] macOS, Linux, WSL

668 668>

669```bash theme={null}669> ```bash theme={null}

670# Eliminar configuración de usuario y estado670> # Eliminar configuración de usuario y estado

671rm -rf ~/.claude671> rm -rf ~/.claude

672rm ~/.claude.json672> rm ~/.claude.json

673 673>

674# Eliminar configuración específica del proyecto (ejecutar desde su directorio de proyecto)674> # Eliminar configuración específica del proyecto (ejecutar desde su directorio de proyecto)

675rm -rf .claude675> rm -rf .claude

676rm -f .mcp.json676> rm -f .mcp.json

677```677> ```

678 

679**Windows PowerShell**

680 

681```powershell theme={null}

682# Eliminar configuración de usuario y estado

683Remove-Item -Path "$env:USERPROFILE\.claude" -Recurse -Force

684Remove-Item -Path "$env:USERPROFILE\.claude.json" -Force

685 678 

686# Eliminar configuración específica del proyecto (ejecutar desde su directorio de proyecto)679> [tab] Windows PowerShell

687Remove-Item -Path ".claude" -Recurse -Force680>

688Remove-Item -Path ".mcp.json" -Force681> ```powershell theme={null}

689```682> # Eliminar configuración de usuario y estado

683> Remove-Item -Path "$env:USERPROFILE\.claude" -Recurse -Force

684> Remove-Item -Path "$env:USERPROFILE\.claude.json" -Force

685>

686> # Eliminar configuración específica del proyecto (ejecutar desde su directorio de proyecto)

687> Remove-Item -Path ".claude" -Recurse -Force

688> Remove-Item -Path ".mcp.json" -Force

689> ```

skills.md +1 −1

Details

42* **Extensiones**: skills, servidores MCP y plugins sin usar comparados con su costo de contexto, y [hooks](https://code.claude.com/docs/es/hooks.md) lentos42* **Extensiones**: skills, servidores MCP y plugins sin usar comparados con su costo de contexto, y [hooks](https://code.claude.com/docs/es/hooks.md) lentos

43* **Archivos `CLAUDE.md`**: archivos `CLAUDE.md` locales que duplican los que están en el repositorio, [contenido de `CLAUDE.md` en el repositorio que Claude podría derivar de la base de código](https://code.claude.com/docs/es/memory#my-claude-md-is-too-large), y la guía que siempre se carga y que queda, que Claude ofrece migrar a skills y a archivos `CLAUDE.md` anidados que se cargan bajo demanda43* **Archivos `CLAUDE.md`**: archivos `CLAUDE.md` locales que duplican los que están en el repositorio, [contenido de `CLAUDE.md` en el repositorio que Claude podría derivar de la base de código](https://code.claude.com/docs/es/memory#my-claude-md-is-too-large), y la guía que siempre se carga y que queda, que Claude ofrece migrar a skills y a archivos `CLAUDE.md` anidados que se cargan bajo demanda

44* **Permisos**: una oferta para hacer del [modo automático](https://code.claude.com/docs/es/permissions.md#permission-modes) tu modo de permisos predeterminado y para [aprobar previamente](https://code.claude.com/docs/es/permissions.md) comandos de solo lectura que deniegas con frecuencia44* **Permisos**: una oferta para hacer del [modo automático](https://code.claude.com/docs/es/permissions.md#permission-modes) tu modo de permisos predeterminado y para [aprobar previamente](https://code.claude.com/docs/es/permissions.md) comandos de solo lectura que deniegas con frecuencia

45* **Uso**: en un plan Pro, Max, Team o Enterprise, los [cambios que recomienda `/usage`](https://code.claude.com/docs/es/costs#plan-usage-breakdown) para reducir el uso de tu plan, medido durante los últimos 7 días. Claude propone los cambios que puede hacer por sí mismo e informa el resto como consejos, por ejemplo un comando para que lo ejecutes. La comprobación de uso requiere Claude Code v2.1.305 o posterior, y `/doctor` la omite mientras [Remote Control](https://code.claude.com/docs/es/remote-control.md) está conectado.45* **Uso**: en un plan Pro, Max, Ultra, Team o Enterprise, los [cambios que recomienda `/usage`](https://code.claude.com/docs/es/costs#plan-usage-breakdown) para reducir el uso de tu plan, medido durante los últimos 7 días. Claude propone los cambios que puede hacer por sí mismo e informa el resto como consejos, por ejemplo un comando para que lo ejecutes. La comprobación de uso requiere Claude Code v2.1.305 o posterior, y `/doctor` la omite mientras [Remote Control](https://code.claude.com/docs/es/remote-control.md) está conectado.

46 46 

47Para obtener diagnósticos de instalación de solo lectura sin iniciar una sesión, ejecuta `claude doctor` en tu terminal.47Para obtener diagnósticos de instalación de solo lectura sin iniciar una sesión, ejecuta `claude doctor` en tu terminal.

48 48 

slack.md +11 −11

Details

4 4 

5# Claude Code en Slack5# Claude Code en Slack

6 6 

7> Delega tareas de codificación desde Slack. Esta versión anterior responde a menciones en canales solo de cuentas Pro y Max en espacios de trabajo no conectados a Claude Tag.7> Delega tareas de codificación desde Slack. Esta versión anterior responde a menciones solo de cuentas Pro, Max y Ultra en espacios de trabajo no conectados a Claude Tag.

8 8 

9> [!WARNING]9> [!WARNING]

10>10>

11> Esta página documenta la versión anterior de Claude Code en Slack, que ejecuta cada sesión bajo la cuenta de un usuario individual. Responde a las @menciones en canales solo de cuentas Pro y Max, y solo en un espacio de trabajo de Slack que ninguna organización haya conectado a [Claude Tag](https://claude.com/product/tag). Claude Tag ejecuta @Claude como la identidad compartida de tu organización con acceso configurado por el administrador.11> Esta versión anterior de Claude Code en Slack responde a las @menciones en canales solo de cuentas Pro, Max y Ultra, y solo en un espacio de trabajo de Slack que ninguna organización haya conectado a [Claude Tag](https://claude.com/product/tag). Cada sesión se ejecuta bajo la cuenta de un usuario individual. Claude Tag ejecuta @Claude como la identidad compartida de tu organización con acceso configurado por el administrador.

12>12>

13> * **Planes Pro y Max:** Claude Tag no está disponible en planes individuales, por lo que esta página permanece como la ruta de configuración en un espacio de trabajo que no esté conectado a Claude Tag.13> * **Planes Pro, Max y Ultra:** Claude Tag no está disponible en planes individuales, por lo que debes [configurar esta versión](#setting-up-claude-code-in-slack) en un espacio de trabajo que no esté conectado a Claude Tag.

14> * **Planes Team y Enterprise:** tu aplicación de Slack existente y tu identificador @Claude se mantienen. [Configura Claude Tag](https://claude.com/docs/claude-tag/overview) para un nuevo espacio de trabajo; para mover uno que ya usa esta versión, consulta [Migrar desde el Claude anterior en Slack](https://claude.com/docs/claude-tag/admins/migrate-from-earlier).14> * **Planes Team y Enterprise:** tu aplicación de Slack existente y tu identificador @Claude se mantienen. [Configura Claude Tag](https://claude.com/docs/claude-tag/overview) para un nuevo espacio de trabajo; para mover uno que ya usa esta versión, consulta [Migrar desde el Claude anterior en Slack](https://claude.com/docs/claude-tag/admins/migrate-from-earlier).

15> * **Un aviso en lugar de una respuesta:** busca el [aviso de configuración](#this-workspace-isnt-set-up-for-claude-tag-yet) o el [aviso de retiro](#the-legacy-claude-in-slack-bot-is-retired) con el que respondió @Claude.15> * **Un aviso en lugar de una respuesta:** busca el [aviso de configuración](#this-workspace-isnt-set-up-for-claude-tag-yet) o el [aviso de retiro](#the-legacy-claude-in-slack-bot-is-retired) con el que respondió @Claude.

16 16 


31 31 

32| Requisito | Detalles |32| Requisito | Detalles |

33| :- | :- |33| :- | :- |

34| Plan de Claude | Pro o Max |34| Plan de Claude | Pro, Max o Ultra |

35| Espacio de trabajo de Slack | No conectado a [Claude Tag](https://claude.com/docs/claude-tag/overview) por ninguna organización. Si @Claude responde con el [aviso de retiro](#the-legacy-claude-in-slack-bot-is-retired), el espacio de trabajo está conectado |35| Espacio de trabajo de Slack | No conectado a [Claude Tag](https://claude.com/docs/claude-tag/overview) por ninguna organización. Si @Claude responde con el [aviso de retiro](#the-legacy-claude-in-slack-bot-is-retired), el espacio de trabajo está conectado |

36| Sesiones en la nube | Las [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) están habilitadas para tu cuenta |36| Sesiones en la nube | Las [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) están habilitadas para tu cuenta |

37| Cuenta de GitHub | Conectada en [claude.ai/code](https://claude.ai/code) con al menos un repositorio autenticado |37| Cuenta de GitHub | Conectada en [claude.ai/code](https://claude.ai/code) con al menos un repositorio autenticado |


180@Claude responde en el hilo con este aviso en lugar de una respuesta cuando se cumplen ambas condiciones:180@Claude responde en el hilo con este aviso en lugar de una respuesta cuando se cumplen ambas condiciones:

181 181 

182* Ninguna organización ha conectado tu espacio de trabajo de Slack a [Claude Tag](https://claude.com/docs/claude-tag/overview).182* Ninguna organización ha conectado tu espacio de trabajo de Slack a [Claude Tag](https://claude.com/docs/claude-tag/overview).

183* La cuenta de Claude que vinculaste en Slack no tiene un plan Pro o Max.183* La cuenta de Claude que vinculaste en Slack no tiene un plan Pro, Max o Ultra.

184 184 

185Claude Tag está disponible en los planes Team y Enterprise. Para conectar el espacio de trabajo, comienza con el comando `@Claude connect` que menciona el aviso y luego sigue [Configurar Claude Tag](https://claude.com/docs/claude-tag/overview).185Claude Tag está disponible en los planes Team y Enterprise. Para conectar el espacio de trabajo, comienza con el comando `@Claude connect` que menciona el aviso y luego sigue [Configurar Claude Tag](https://claude.com/docs/claude-tag/overview).

186 186 

187### "The legacy Claude in Slack bot is retired"187### "The legacy Claude in Slack bot is retired"

188 188 

189El aviso comienza con `The legacy Claude in Slack bot is retired effective October 5, 2026 and no longer responds in channels.` Tu espacio de trabajo de Slack está conectado a una organización de Claude, y la versión anterior sigue seleccionada para el canal, el espacio de trabajo o el valor predeterminado de la organización en la configuración de Claude Tag de esa organización. El aviso no depende de tu propio plan, por lo que las cuentas Pro y Max también lo reciben.189El aviso comienza con `The legacy Claude in Slack bot is retired effective October 5, 2026 and no longer responds in channels.` Tu espacio de trabajo de Slack está conectado a una organización de Claude. La versión anterior sigue seleccionada para el canal, el espacio de trabajo o el valor predeterminado de la organización en la configuración de Claude Tag de esa organización. El aviso no depende de tu propio plan, por lo que las cuentas Pro, Max y Ultra también lo reciben.

190 190 

191Si eres Propietario de esa organización, abre la [configuración de administrador de Claude](https://claude.ai/admin-settings/claude-tag) y activa Claude Tag para el canal. Para corregir todos los canales que heredan el ajuste, cámbialo en el espacio de trabajo o en el valor predeterminado de la organización. Para la migración completa, consulta [Migrar desde la versión anterior de Claude in Slack](https://claude.com/docs/claude-tag/admins/migrate-from-earlier). Si no eres Propietario, envía esta entrada a uno.191Si eres Propietario de esa organización, abre la [configuración de administrador de Claude](https://claude.ai/admin-settings/claude-tag) y activa Claude Tag para el canal. Para corregir todos los canales que heredan el ajuste, cámbialo en el espacio de trabajo o en el valor predeterminado de la organización. Para la migración completa, consulta [Migrar desde la versión anterior de Claude in Slack](https://claude.com/docs/claude-tag/admins/migrate-from-earlier). Si no eres Propietario, envía esta entrada a uno.

192 192 


237 237 

238## Recursos relacionados238## Recursos relacionados

239 239 

240> **[Claude Code en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md)**240> [card] [Claude Code en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md)

241>241>

242> Obtén más información sobre sesiones en la nube242> Obtén más información sobre sesiones en la nube

243 243 

244> **[Claude para Slack](https://claude.com/claude-and-slack)**244> [card] [Claude para Slack](https://claude.com/claude-and-slack)

245>245>

246> Documentación general de Claude para Slack246> Documentación general de Claude para Slack

247 247 

248> **[Claude Tag](https://claude.com/docs/claude-tag/overview)**248> [card] [Claude Tag](https://claude.com/docs/claude-tag/overview)

249>249>

250> @Claude administrado por la organización en Slack con acceso configurado por el administrador250> @Claude administrado por la organización en Slack con acceso configurado por el administrador

251 251 

252> **[Slack App Marketplace](https://slack.com/marketplace/A08SF47R6P4)**252> [card] [Slack App Marketplace](https://slack.com/marketplace/A08SF47R6P4)

253>253>

254> Instala la aplicación Claude desde el Slack Marketplace254> Instala la aplicación Claude desde el Slack Marketplace

255 255 

256> **[Centro de ayuda de Claude](https://support.claude.com)**256> [card] [Centro de ayuda de Claude](https://support.claude.com)

257>257>

258> Obtén soporte adicional258> Obtén soporte adicional

statusline.md +4 −4

Details

212| `worktree.original_cwd` | El directorio en el que estaba Claude antes de entrar en el worktree |212| `worktree.original_cwd` | El directorio en el que estaba Claude antes de entrar en el worktree |

213| `worktree.original_branch` | Rama de Git extraída antes de entrar en el worktree. Ausente para worktrees basados en hooks |213| `worktree.original_branch` | Rama de Git extraída antes de entrar en el worktree. Ausente para worktrees basados en hooks |

214 214 

215> **Esquema JSON completo**215> [accordion] Esquema JSON completo

216>216>

217> Tu comando de línea de estado recibe esta estructura JSON a través de stdin:217> Tu comando de línea de estado recibe esta estructura JSON a través de stdin:

218>218>


341> * `agent`: aparece solo cuando se ejecuta con la bandera `--agent` o configuración de agente configurada341> * `agent`: aparece solo cuando se ejecuta con la bandera `--agent` o configuración de agente configurada

342> * `pr`: aparece solo mientras se encuentra una PR abierta o una solicitud de fusión de GitLab para la rama actual, y se elimina una vez que se fusiona o se cierra. `pr.review_state` y `pr.kind` pueden estar independientemente ausentes342> * `pr`: aparece solo mientras se encuentra una PR abierta o una solicitud de fusión de GitLab para la rama actual, y se elimina una vez que se fusiona o se cierra. `pr.review_state` y `pr.kind` pueden estar independientemente ausentes

343> * `worktree`: aparece solo mientras la sesión está en una [sesión de worktree](https://code.claude.com/docs/es/worktrees.md). Cuando está presente, `branch` y `original_branch` también pueden estar ausentes para worktrees basados en hooks343> * `worktree`: aparece solo mientras la sesión está en una [sesión de worktree](https://code.claude.com/docs/es/worktrees.md). Cuando está presente, `branch` y `original_branch` también pueden estar ausentes para worktrees basados en hooks

344> * `rate_limits`: aparece solo para suscriptores de Claude.ai Pro y Max, o detrás de una puerta de aplicaciones Claude que establece un límite de gasto para ti, y solo después de la primera respuesta de API en la sesión. Cada ventana (`five_hour`, `seven_day`, `spend_limit`) puede estar independientemente ausente, y Claude Code elimina una ventana una vez que pasa su tiempo `resets_at`. Usa `jq -r '.rate_limits.five_hour.used_percentage // empty'` para manejar la ausencia con elegancia.344> * `rate_limits`: aparece solo para suscriptores de claude.ai Pro, Max y Ultra, o detrás de un gateway de aplicaciones Claude que establece un límite de gasto para ti. Incluso entonces, aparece solo después de la primera respuesta de API en la sesión. Cada ventana (`five_hour`, `seven_day`, `spend_limit`) puede estar independientemente ausente, y Claude Code elimina una ventana una vez que pasa su tiempo `resets_at`. Usa `jq -r '.rate_limits.five_hour.used_percentage // empty'` para manejar la ausencia con elegancia.

345> * `prompt_cache`: aparece después de la primera respuesta de API de la conversación principal. Consulta [campos de prompt cache](#prompt-cache-fields)345> * `prompt_cache`: aparece después de la primera respuesta de API de la conversación principal. Consulta [campos de prompt cache](#prompt-cache-fields)

346>346>

347> **Campos que pueden ser `null`**:347> **Campos que pueden ser `null`**:


819 819 

820### Uso de límite de velocidad820### Uso de límite de velocidad

821 821 

822Muestra en la línea de estado el uso del rate limit de tu suscripción de claude.ai, o tu gasto frente al límite de gasto de un gateway de aplicaciones Claude. Para los suscriptores, el objeto `rate_limits` contiene una ventana móvil `five_hour` y una ventana semanal `seven_day`. Cada ventana proporciona `used_percentage`, de 0 a 100, y `resets_at`, los segundos de época Unix cuando se reinicia la ventana. Detrás de un gateway, lee el objeto `spend_limit`, descrito en [campos del límite de gasto](#spend-limit-fields).822Muestra en la línea de estado el uso del rate limit de tu suscripción de claude.ai, o tu gasto frente al límite de gasto de un gateway de aplicaciones Claude. Para los suscriptores, el objeto `rate_limits` puede contener una ventana móvil `five_hour` y una ventana semanal `seven_day`. Cada ventana proporciona `used_percentage`, de 0 a 100, y `resets_at`, los segundos de época Unix cuando se reinicia la ventana. Detrás de un gateway, lee el objeto `spend_limit`, descrito en [campos del límite de gasto](#spend-limit-fields).

823 823 

824El objeto `rate_limits` solo está presente para suscriptores de claude.ai Pro y Max, o detrás de un gateway de aplicaciones Claude con límites de gasto, y solo después de la primera respuesta de API. Cada script maneja con elegancia los campos ausentes y, detrás de un gateway, imprime `spend: $314.12 / $500`, o `spend: 63%` mientras los campos en dólares estén ausentes:824El objeto `rate_limits` solo está presente para suscriptores de claude.ai Pro, Max y Ultra, o detrás de un gateway de aplicaciones Claude con límites de gasto, y solo después de la primera respuesta de API. Cada script maneja con elegancia los campos ausentes y, detrás de un gateway, imprime `spend: $314.12 / $500`, o `spend: 63%` mientras los campos en dólares estén ausentes:

825 825 

826```bash Bash theme={null}826```bash Bash theme={null}

827#!/bin/bash827#!/bin/bash

sub-agents.md +77 −77

Details

32 32 

33Explore y Plan se inician sin tus archivos CLAUDE.md ni la instantánea del estado de git para mantener la investigación rápida y económica. Los demás subagentes integrados y los [subagentes personalizados](#configure-subagents) cargan ambos, a menos que establezcas [`omitClaudeMd`](#supported-frontmatter-fields) en la definición de un subagente personalizado para iniciarlo sin los archivos CLAUDE.md del usuario, del proyecto y locales. Para obtener el desglose completo de lo que llega a un subagente, consulta [qué se carga al iniciar](#what-loads-at-startup).33Explore y Plan se inician sin tus archivos CLAUDE.md ni la instantánea del estado de git para mantener la investigación rápida y económica. Los demás subagentes integrados y los [subagentes personalizados](#configure-subagents) cargan ambos, a menos que establezcas [`omitClaudeMd`](#supported-frontmatter-fields) en la definición de un subagente personalizado para iniciarlo sin los archivos CLAUDE.md del usuario, del proyecto y locales. Para obtener el desglose completo de lo que llega a un subagente, consulta [qué se carga al iniciar](#what-loads-at-startup).

34 34 

35**Explore**35> [tab] Explore

36 36>

37Un agente rápido y de solo lectura optimizado para buscar y analizar bases de código.37> Un agente rápido y de solo lectura optimizado para buscar y analizar bases de código.

38 38>

39* **Modelo**: el modelo de la conversación principal. Cuando la conversación principal ejecuta Fable, el modelo de Explore depende de cómo te conectes:39> * **Modelo**: el modelo de la conversación principal. Cuando la conversación principal ejecuta Fable, el modelo de Explore depende de cómo te conectes:

40 * Con una suscripción a Claude, una cuenta de Anthropic Console o un [gateway de LLM](https://code.claude.com/docs/es/llm-gateway) al que accedes mediante `ANTHROPIC_BASE_URL`, Explore se ejecuta en el modelo Opus al que se resuelve el [alias `opus`](https://code.claude.com/docs/es/model-config#model-aliases).40> * Con una suscripción a Claude, una cuenta de Anthropic Console o un [gateway de LLM](https://code.claude.com/docs/es/llm-gateway) al que accedes mediante `ANTHROPIC_BASE_URL`, Explore se ejecuta en el modelo Opus al que se resuelve el [alias `opus`](https://code.claude.com/docs/es/model-config#model-aliases).

41 * En Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md) o un [gateway de Claude apps](https://code.claude.com/docs/es/claude-apps-gateway), Explore se mantiene en el modelo de la conversación principal.41> * En Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md) o un [gateway de Claude apps](https://code.claude.com/docs/es/claude-apps-gateway), Explore se mantiene en el modelo de la conversación principal.

42* **Herramientas**: herramientas de solo lectura; Write y Edit están denegadas42> * **Herramientas**: herramientas de solo lectura; Write y Edit están denegadas

43* **Propósito**: descubrimiento de archivos, búsqueda de código, exploración de base de código43> * **Propósito**: descubrimiento de archivos, búsqueda de código, exploración de base de código

44 44>

45Un subagente de [usuario o proyecto](#choose-the-subagent-scope) llamado `Explore` sobrescribe el integrado y mantiene su propio campo `model`, así que define uno con `model: haiku` para ejecutar la exploración en un modelo de menor costo. Para forzar un mismo modelo en todos los subagentes, Explore incluido, consulta [Run every subagent on one model](#run-every-subagent-on-one-model).45> Un subagente de [usuario o proyecto](#choose-the-subagent-scope) llamado `Explore` sobrescribe el integrado y mantiene su propio campo `model`, así que define uno con `model: haiku` para ejecutar la exploración en un modelo de menor costo. Para forzar un mismo modelo en todos los subagentes, Explore incluido, consulta [Run every subagent on one model](#run-every-subagent-on-one-model).

46 46>

47Claude delega en Explore cuando necesita buscar o entender una base de código sin hacer cambios. Esto mantiene los resultados de exploración fuera del contexto de su conversación principal.47> Claude delega en Explore cuando necesita buscar o entender una base de código sin hacer cambios. Esto mantiene los resultados de exploración fuera del contexto de su conversación principal.

48 48>

49Al invocar Explore, Claude especifica un nivel de minuciosidad: **quick** para búsquedas dirigidas, **medium** para exploración equilibrada, o **very thorough** para análisis exhaustivo.49> Al invocar Explore, Claude especifica un nivel de minuciosidad: **quick** para búsquedas dirigidas, **medium** para exploración equilibrada, o **very thorough** para análisis exhaustivo.

50 

51**Plan**

52 

53Un agente de investigación utilizado durante el [modo plan](https://code.claude.com/docs/es/permission-modes.md#analyze-before-you-edit-with-plan-mode) para recopilar contexto antes de presentar un plan.

54 

55* **Modelo**: hereda de la conversación principal, a menos que establezca `CLAUDE_CODE_SUBAGENT_MODEL` y [lo fuerce en todos los subagentes](#run-every-subagent-on-one-model)

56* **Herramientas**: herramientas de solo lectura; Write y Edit están denegadas

57* **Propósito**: investigación de base de código para planificación

58 

59Cuando está en modo plan y Claude necesita entender su base de código, delega la investigación al subagente Plan para que la salida de exploración permanezca en una ventana de contexto separada mientras la conversación principal permanece en solo lectura.

60 

61**General-purpose**

62 

63Un agente capaz para tareas complejas y de múltiples pasos que requieren tanto exploración como acción.

64 

65* **Modelo**: el modelo [`CLAUDE_CODE_SUBAGENT_MODEL`](#choose-a-model) si establece uno y nada asigna un modelo de otra manera, de lo contrario el modelo de la conversación principal; [Choose a model](#choose-a-model) establece el orden completo, y [Run every subagent on one model](#run-every-subagent-on-one-model) muestra cómo hacer que la variable anule esas fuentes

66* **Herramientas**: todas las herramientas [disponibles para subagentes](#available-tools)

67* **Propósito**: investigación compleja, operaciones de múltiples pasos, modificaciones de código

68 

69Claude delega a general-purpose cuando la tarea requiere tanto exploración como modificación, razonamiento complejo para interpretar resultados, o múltiples pasos dependientes.

70 50 

71**Other**51> [tab] Plan

52>

53> Un agente de investigación utilizado durante el [modo plan](https://code.claude.com/docs/es/permission-modes.md#analyze-before-you-edit-with-plan-mode) para recopilar contexto antes de presentar un plan.

54>

55> * **Modelo**: hereda de la conversación principal, a menos que establezca `CLAUDE_CODE_SUBAGENT_MODEL` y [lo fuerce en todos los subagentes](#run-every-subagent-on-one-model)

56> * **Herramientas**: herramientas de solo lectura; Write y Edit están denegadas

57> * **Propósito**: investigación de base de código para planificación

58>

59> Cuando está en modo plan y Claude necesita entender su base de código, delega la investigación al subagente Plan para que la salida de exploración permanezca en una ventana de contexto separada mientras la conversación principal permanece en solo lectura.

72 60 

73Claude Code incluye agentes auxiliares adicionales para tareas específicas. Estos se invocan típicamente automáticamente, por lo que no necesita usarlos directamente.61> [tab] General-purpose

62>

63> Un agente capaz para tareas complejas y de múltiples pasos que requieren tanto exploración como acción.

64>

65> * **Modelo**: el modelo [`CLAUDE_CODE_SUBAGENT_MODEL`](#choose-a-model) si establece uno y nada asigna un modelo de otra manera, de lo contrario el modelo de la conversación principal; [Choose a model](#choose-a-model) establece el orden completo, y [Run every subagent on one model](#run-every-subagent-on-one-model) muestra cómo hacer que la variable anule esas fuentes

66> * **Herramientas**: todas las herramientas [disponibles para subagentes](#available-tools)

67> * **Propósito**: investigación compleja, operaciones de múltiples pasos, modificaciones de código

68>

69> Claude delega a general-purpose cuando la tarea requiere tanto exploración como modificación, razonamiento complejo para interpretar resultados, o múltiples pasos dependientes.

74 70 

75| Agente | Modelo | Cuándo Claude lo utiliza |71> [tab] Other

76| :- | :- | :- |72>

77| claude | Ninguno propio; sigue el [orden de modelo](#choose-a-model) cuando Claude lo genera como subagente | Cuando una tarea no se ajusta a un agente más especializado. Un comodín con todas las herramientas [disponibles para subagentes](#available-tools). También el agente predeterminado para una [sesión de fondo](https://code.claude.com/docs/es/agent-view.md) despachada; [qué modo de permiso inicia](https://code.claude.com/docs/es/agent-view.md#permission-mode-model-and-effort) depende de cómo se inició la sesión |73> Claude Code incluye agentes auxiliares adicionales para tareas específicas. Estos se invocan típicamente automáticamente, por lo que no necesita usarlos directamente.

78| statusline-setup | Sonnet | Cuando ejecuta `/statusline` para configurar su línea de estado |74>

79| claude-code-guide | Haiku | Cuando hace preguntas sobre características de Claude Code |75> | Agente | Modelo | Cuándo Claude lo utiliza |

76> | :- | :- | :- |

77> | claude | Ninguno propio; sigue el [orden de modelo](#choose-a-model) cuando Claude lo genera como subagente | Cuando una tarea no se ajusta a un agente más especializado. Un comodín con todas las herramientas [disponibles para subagentes](#available-tools). También el agente predeterminado para una [sesión de fondo](https://code.claude.com/docs/es/agent-view.md) despachada; [qué modo de permiso inicia](https://code.claude.com/docs/es/agent-view.md#permission-mode-model-and-effort) depende de cómo se inició la sesión |

78> | statusline-setup | Sonnet | Cuando ejecuta `/statusline` para configurar su línea de estado |

79> | claude-code-guide | Haiku | Cuando hace preguntas sobre características de Claude Code |

80 80 

81Los subagentes integrados se registran de forma predeterminada en sesiones interactivas. Para restringirlos:81Los subagentes integrados se registran de forma predeterminada en sesiones interactivas. Para restringirlos:

82 82 


179 179 

180**Los subagentes definidos por CLI** se pasan como JSON al lanzar Claude Code. Existen solo para esa sesión y no se guardan en disco, lo que los hace útiles para pruebas rápidas o scripts de automatización. Puede definir múltiples subagentes en una única llamada `--agents`:180**Los subagentes definidos por CLI** se pasan como JSON al lanzar Claude Code. Existen solo para esa sesión y no se guardan en disco, lo que los hace útiles para pruebas rápidas o scripts de automatización. Puede definir múltiples subagentes en una única llamada `--agents`:

181 181 

182**macOS, Linux, WSL**182> [tab] macOS, Linux, WSL

183 183>

184```bash theme={null}184> ```bash theme={null}

185claude --agents '{185> claude --agents '{

186 "code-reviewer": {186> "code-reviewer": {

187 "description": "Expert code reviewer. Use proactively after code changes.",187> "description": "Expert code reviewer. Use proactively after code changes.",

188 "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",188> "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",

189 "tools": ["Read", "Grep", "Glob", "Bash"],189> "tools": ["Read", "Grep", "Glob", "Bash"],

190 "model": "sonnet"190> "model": "sonnet"

191 },191> },

192 "debugger": {192> "debugger": {

193 "description": "Debugging specialist for errors and test failures.",193> "description": "Debugging specialist for errors and test failures.",

194 "prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes."194> "prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes."

195 }195> }

196}'196> }'

197```197> ```

198 198 

199**Windows PowerShell**199> [tab] Windows PowerShell

200 200>

201```powershell theme={null}201> ```powershell theme={null}

202claude --agents @'202> claude --agents @'

203{203> {

204 "code-reviewer": {204> "code-reviewer": {

205 "description": "Expert code reviewer. Use proactively after code changes.",205> "description": "Expert code reviewer. Use proactively after code changes.",

206 "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",206> "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",

207 "tools": ["Read", "Grep", "Glob", "Bash"],207> "tools": ["Read", "Grep", "Glob", "Bash"],

208 "model": "sonnet"208> "model": "sonnet"

209 },209> },

210 "debugger": {210> "debugger": {

211 "description": "Debugging specialist for errors and test failures.",211> "description": "Debugging specialist for errors and test failures.",

212 "prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes."212> "prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes."

213 }213> }

214}214> }

215'@215> '@

216```216> ```

217 217 

218En [modo no interactivo](https://code.claude.com/docs/es/headless.md), `--agents` también acepta la ruta a un archivo JSON que contiene el mismo objeto, para definiciones demasiado grandes para pasar en la línea de comandos. Por ejemplo, `claude -p --agents ./agents.json "Review my changes"` lee las definiciones de ese archivo. En una sesión interactiva, Claude Code rechaza una ruta de archivo. La forma de archivo requiere Claude Code v2.1.281 o posterior.218En [modo no interactivo](https://code.claude.com/docs/es/headless.md), `--agents` también acepta la ruta a un archivo JSON que contiene el mismo objeto, para definiciones demasiado grandes para pasar en la línea de comandos. Por ejemplo, `claude -p --agents ./agents.json "Review my changes"` lee las definiciones de ese archivo. En una sesión interactiva, Claude Code rechaza una ruta de archivo. La forma de archivo requiere Claude Code v2.1.281 o posterior.

219 219 

terminal-config.md +16 −16

Details

48 48 

49Algunos atajos de Claude Code usan la tecla Option, como Option+Enter para una nueva línea u Option+P para cambiar de modelo. En macOS, la mayoría de las terminales no envían Option como modificador de forma predeterminada, así que estos atajos no hacen nada hasta que lo habilites. El ajuste de la terminal para esto suele llamarse "Use Option as Meta Key"; Meta es el nombre histórico en Unix de la tecla que ahora se etiqueta como Option o Alt.49Algunos atajos de Claude Code usan la tecla Option, como Option+Enter para una nueva línea u Option+P para cambiar de modelo. En macOS, la mayoría de las terminales no envían Option como modificador de forma predeterminada, así que estos atajos no hacen nada hasta que lo habilites. El ajuste de la terminal para esto suele llamarse "Use Option as Meta Key"; Meta es el nombre histórico en Unix de la tecla que ahora se etiqueta como Option o Alt.

50 50 

51**Apple Terminal**51> [tab] Apple Terminal

52 52>

53Abre Settings → Profiles → Keyboard y marca "Use Option as Meta Key".53> Abre Settings → Profiles → Keyboard y marca "Use Option as Meta Key".

54 54>

55Si aceptaste el prompt de configuración de la terminal que Claude Code muestra la primera vez que se ejecuta, esto ya está hecho. Ese prompt ejecuta `/terminal-setup` por ti, lo que habilita Option como Meta y desactiva la campana audible en tu perfil de Apple Terminal.55> Si aceptaste el prompt de configuración de la terminal que Claude Code muestra la primera vez que se ejecuta, esto ya está hecho. Ese prompt ejecuta `/terminal-setup` por ti, lo que habilita Option como Meta y desactiva la campana audible en tu perfil de Apple Terminal.

56 56>

57En el [modo de lector de pantalla](https://code.claude.com/docs/es/accessibility.md), `/terminal-setup` deja sin cambios el ajuste de la campana para que la campana de la terminal siga siendo audible. Si una ejecución anterior desactivó la campana, vuelve a activarla en Settings → Profiles → Advanced → "Audible bell".57> En el [modo de lector de pantalla](https://code.claude.com/docs/es/accessibility.md), `/terminal-setup` deja sin cambios el ajuste de la campana para que la campana de la terminal siga siendo audible. Si una ejecución anterior desactivó la campana, vuelve a activarla en Settings → Profiles → Advanced → "Audible bell".

58 

59**iTerm2**

60 

61Abre Settings → Profiles → Keys → General y establece Left Option key y Right Option key en "Esc+".

62 

63Ejecutar `/terminal-setup` en iTerm2 habilita "Applications in terminal may access clipboard" en Settings → General → Selection para que el comando `/copy` pueda escribir en el portapapeles del sistema. El comando detecta iTerm2 incluso cuando se ejecuta dentro de tmux. Reinicia iTerm2 para que el cambio surta efecto.

64 58 

65**VS Code**59> [tab] iTerm2

60>

61> Abre Settings → Profiles → Keys → General y establece Left Option key y Right Option key en "Esc+".

62>

63> Ejecutar `/terminal-setup` en iTerm2 habilita "Applications in terminal may access clipboard" en Settings → General → Selection para que el comando `/copy` pueda escribir en el portapapeles del sistema. El comando detecta iTerm2 incluso cuando se ejecuta dentro de tmux. Reinicia iTerm2 para que el cambio surta efecto.

66 64 

67Agrega `"terminal.integrated.macOptionIsMeta": true` a tu configuración de VS Code.65> [tab] VS Code

66>

67> Agrega `"terminal.integrated.macOptionIsMeta": true` a tu configuración de VS Code.

68 68 

69Para Ghostty, Kitty y otras terminales, busca un ajuste Option-as-Alt u Option-as-Meta en el archivo de configuración de la terminal.69Para Ghostty, Kitty y otras terminales, busca un ajuste Option-as-Alt u Option-as-Meta en el archivo de configuración de la terminal.

70 70 


188 188 

189La referencia siguiente cubre los tokens que puedes configurar en `overrides`. El editor interactivo de `/theme` muestra los mismos tokens con una vista previa en vivo, además de algunos acentos de uso específico, como los colores de la pantalla de incorporación, que se omiten aquí.189La referencia siguiente cubre los tokens que puedes configurar en `overrides`. El editor interactivo de `/theme` muestra los mismos tokens con una vista previa en vivo, además de algunos acentos de uso específico, como los colores de la pantalla de incorporación, que se omiten aquí.

190 190 

191> **Referencia de tokens de color**191> [accordion] Referencia de tokens de color

192>192>

193> El siguiente ejemplo combina tokens de varios de los grupos siguientes: el acento de marca, el borde del modo plan, los fondos del diff y el fondo de los mensajes.193> El siguiente ejemplo combina tokens de varios de los grupos siguientes: el acento de marca, el borde del modo plan, los fondos del diff y el fondo de los mensajes.

194>194>

Details

19| Herramienta | Descripción | Permiso requerido |19| Herramienta | Descripción | Permiso requerido |

20| :- | :- | :- |20| :- | :- | :- |

21| `Agent` | Genera un [subagente](https://code.claude.com/docs/es/sub-agents.md) con su propia ventana de contexto para manejar una tarea. Con [equipos de agentes](https://code.claude.com/docs/es/agent-teams.md) habilitados, una llamada que lleve un `name` puede lanzar un [compañero de equipo](https://code.claude.com/docs/es/agent-teams.md#how-claude-starts-agent-teams) en su lugar. Consulta [Comportamiento de la herramienta Agent](#agent-tool-behavior) | No |21| `Agent` | Genera un [subagente](https://code.claude.com/docs/es/sub-agents.md) con su propia ventana de contexto para manejar una tarea. Con [equipos de agentes](https://code.claude.com/docs/es/agent-teams.md) habilitados, una llamada que lleve un `name` puede lanzar un [compañero de equipo](https://code.claude.com/docs/es/agent-teams.md#how-claude-starts-agent-teams) en su lugar. Consulta [Comportamiento de la herramienta Agent](#agent-tool-behavior) | No |

22| `Artifact` | Publica un archivo HTML o Markdown como un [artefacto](https://code.claude.com/docs/es/artifacts.md): una página privada e interactiva en claude.ai. Puedes compartirlo con un enlace público, o dentro de tu organización en los planes Team y Enterprise, donde el uso compartido público requiere que un Propietario lo [habilite](https://code.claude.com/docs/es/artifacts.md#control-public-sharing). Requiere un plan Pro, Max, Team o Enterprise y autenticación `/login`; consulta [Disponibilidad](https://code.claude.com/docs/es/artifacts.md#availability) | Sí |22| `Artifact` | Publica un archivo HTML o Markdown en claude.ai como un [artefacto](https://code.claude.com/docs/es/artifacts.md): una página privada e interactiva. Puedes compartirlo con un enlace público, o dentro de tu organización en los planes Team y Enterprise, donde el uso compartido público requiere que un Propietario lo [habilite](https://code.claude.com/docs/es/artifacts.md#control-public-sharing). Requiere un plan Pro, Max, Ultra, Team o Enterprise y autenticación `/login`; consulta [Disponibilidad](https://code.claude.com/docs/es/artifacts.md#availability) | Sí |

23| `AskUserQuestion` | Hace preguntas de opción múltiple para recopilar requisitos o aclarar ambigüedades. Las preguntas permanecen abiertas hasta que las respondas de forma predeterminada. Consulta [Comportamiento de la herramienta AskUserQuestion](#askuserquestion-tool-behavior) | No |23| `AskUserQuestion` | Hace preguntas de opción múltiple para recopilar requisitos o aclarar ambigüedades. Las preguntas permanecen abiertas hasta que las respondas de forma predeterminada. Consulta [Comportamiento de la herramienta AskUserQuestion](#askuserquestion-tool-behavior) | No |

24| `Bash` | Ejecuta comandos de shell en tu entorno. Consulta [Comportamiento de la herramienta Bash](#bash-tool-behavior) | Sí |24| `Bash` | Ejecuta comandos de shell en tu entorno. Consulta [Comportamiento de la herramienta Bash](#bash-tool-behavior) | Sí |

25| `CronCreate` | Programa un prompt recurrente o de una sola vez dentro de la sesión actual. Las tareas tienen alcance de sesión y se restauran en `--resume` o `--continue` si no han expirado. Consulta [tareas programadas con alcance de sesión](https://code.claude.com/docs/es/scheduled-tasks.md) | No |25| `CronCreate` | Programa un prompt recurrente o de una sola vez dentro de la sesión actual. Las tareas tienen alcance de sesión y se restauran en `--resume` o `--continue` si no han expirado. Consulta [tareas programadas con alcance de sesión](https://code.claude.com/docs/es/scheduled-tasks.md) | No |


42| `PushNotification` | Envía una notificación de escritorio, y un push telefónico cuando [Remote Control](https://code.claude.com/docs/es/remote-control.md) está conectado, para que una tarea de larga duración o [tarea programada con alcance de sesión](https://code.claude.com/docs/es/scheduled-tasks.md) pueda alcanzarte cuando te alejes. La entrega de push se ejecuta a través de infraestructura alojada por Anthropic, que no es accesible desde Amazon Bedrock, Claude Platform en AWS, Agent Platform de Google Cloud, o Microsoft Foundry | No |42| `PushNotification` | Envía una notificación de escritorio, y un push telefónico cuando [Remote Control](https://code.claude.com/docs/es/remote-control.md) está conectado, para que una tarea de larga duración o [tarea programada con alcance de sesión](https://code.claude.com/docs/es/scheduled-tasks.md) pueda alcanzarte cuando te alejes. La entrega de push se ejecuta a través de infraestructura alojada por Anthropic, que no es accesible desde Amazon Bedrock, Claude Platform en AWS, Agent Platform de Google Cloud, o Microsoft Foundry | No |

43| `Read` | Lee el contenido de archivos. Consulta [Comportamiento de la herramienta Read](#read-tool-behavior) | No |43| `Read` | Lee el contenido de archivos. Consulta [Comportamiento de la herramienta Read](#read-tool-behavior) | No |

44| `ReadMcpResourceTool` | Lee un recurso MCP específico por URI | No |44| `ReadMcpResourceTool` | Lee un recurso MCP específico por URI | No |

45| `RemoteTrigger` | Crea, actualiza, ejecuta y lista [tareas programadas en la nube](https://code.claude.com/docs/es/routines.md), antes llamadas rutinas, en claude.ai. Respalda el comando `/schedule`. La [referencia de entrada de `RemoteTrigger`](https://code.claude.com/docs/es/agent-sdk/typescript#remotetrigger) documenta cada acción y las políticas de organización que eliminan la herramienta. Las tareas programadas en la nube viven en claude.ai y requieren un plan Pro, Max, Team o Enterprise. Por lo tanto, esta herramienta no es accesible desde Amazon Bedrock, Claude Platform en AWS, Agent Platform de Google Cloud, o Microsoft Foundry | No |45| `RemoteTrigger` | Crea, actualiza, ejecuta y lista [tareas programadas en la nube](https://code.claude.com/docs/es/routines.md), antes llamadas rutinas, en claude.ai. Respalda el comando `/schedule`. La [referencia de entrada de `RemoteTrigger`](https://code.claude.com/docs/es/agent-sdk/typescript#remotetrigger) documenta cada acción y las políticas de organización que eliminan la herramienta. Las tareas programadas en la nube viven en claude.ai y requieren un plan Pro, Max, Ultra, Team o Enterprise. Por lo tanto, esta herramienta no es accesible desde Amazon Bedrock, Claude Platform en AWS, Agent Platform de Google Cloud, o Microsoft Foundry | No |

46| `ReportFindings` | Reporta hallazgos de revisión de código como una lista estructurada, con un archivo, resumen y escenario de fallo por hallazgo, para que Claude Code pueda renderizarlos en lugar de imprimirlos como texto. Claude lo llama cuando las instrucciones activas de revisión de código le indican que lo haga. Un hallazgo también puede llevar un slug `category` opcional, como `correctness` o `test-coverage`, mostrado junto a la ubicación del archivo en la lista renderizada | No |46| `ReportFindings` | Reporta hallazgos de revisión de código como una lista estructurada, con un archivo, resumen y escenario de fallo por hallazgo, para que Claude Code pueda renderizarlos en lugar de imprimirlos como texto. Claude lo llama cuando las instrucciones activas de revisión de código le indican que lo haga. Un hallazgo también puede llevar un slug `category` opcional, como `correctness` o `test-coverage`, mostrado junto a la ubicación del archivo en la lista renderizada | No |

47| `ScheduleWakeup` | Reprograma la siguiente iteración de un [`/loop` autónomo](https://code.claude.com/docs/es/scheduled-tasks#let-claude-choose-the-interval). Claude lo llama al final de cada iteración para elegir cuándo se ejecuta la siguiente, entre un minuto y una hora después; no lo llamas directamente. Para terminar el bucle en su lugar, Claude lo llama con `stop: true`, que cancela el wakeup pendiente. El wakeup pendiente aparece en `session_crons` en [Entrada de Stop hook](https://code.claude.com/docs/es/hooks.md#stop-input) | No |47| `ScheduleWakeup` | Reprograma la siguiente iteración de un [`/loop` autónomo](https://code.claude.com/docs/es/scheduled-tasks#let-claude-choose-the-interval). Claude lo llama al final de cada iteración para elegir cuándo se ejecuta la siguiente, entre un minuto y una hora después; no lo llamas directamente. Para terminar el bucle en su lugar, Claude lo llama con `stop: true`, que cancela el wakeup pendiente. El wakeup pendiente aparece en `session_crons` en [Entrada de Stop hook](https://code.claude.com/docs/es/hooks.md#stop-input) | No |

48| `SendFeedback` | Redacta un informe de retroalimentación sobre Claude Code, cubriendo un problema del producto o el comportamiento de Claude en la sesión, y lo pone en cola en tu máquina para que lo revises. Claude Code no envía nada hasta que elijas enviar el borrador. Consulta [Comportamiento de la herramienta SendFeedback](#sendfeedback-tool-behavior). Requiere Claude Code v2.1.238 o posterior | No |48| `SendFeedback` | Redacta un informe de retroalimentación sobre Claude Code, cubriendo un problema del producto o el comportamiento de Claude en la sesión, y lo pone en cola en tu máquina para que lo revises. Claude Code no envía nada hasta que elijas enviar el borrador. Consulta [Comportamiento de la herramienta SendFeedback](#sendfeedback-tool-behavior). Requiere Claude Code v2.1.238 o posterior | No |

Details

75 75 

76El instalador descarga desde `downloads.claude.ai`. Verifica que puedas alcanzarlo:76El instalador descarga desde `downloads.claude.ai`. Verifica que puedas alcanzarlo:

77 77 

78**macOS/Linux**78> [tab] macOS/Linux

79 79>

80```bash theme={null}80> ```bash theme={null}

81curl -sI https://downloads.claude.ai/claude-code-releases/latest81> curl -sI https://downloads.claude.ai/claude-code-releases/latest

82```82> ```

83 

84**Windows PowerShell**

85 

86```powershell theme={null}

87curl.exe -sI https://downloads.claude.ai/claude-code-releases/latest

88```

89 83 

90PowerShell crea un alias de `curl` a `Invoke-WebRequest`, que rechaza los flags `-sI`, así que llama a `curl.exe` explícitamente.84> [tab] Windows PowerShell

85>

86> ```powershell theme={null}

87> curl.exe -sI https://downloads.claude.ai/claude-code-releases/latest

88> ```

89>

90> PowerShell crea un alias de `curl` a `Invoke-WebRequest`, que rechaza los flags `-sI`, así que llama a `curl.exe` explícitamente.

91 91 

92Alcanzaste el servidor si la primera línea muestra un estado `200`. Verás `HTTP/2 200` en macOS y Linux, y `HTTP/1.1 200 OK` desde el `curl.exe` incluido con Windows. Otros resultados apuntan a la causa:92Alcanzaste el servidor si la primera línea muestra un estado `200`. Verás `HTTP/2 200` en macOS y Linux, y `HTTP/1.1 200 OK` desde el `curl.exe` incluido con Windows. Otros resultados apuntan a la causa:

93 93 


104 104 

105Este ejemplo establece ambas variables de proxy y luego ejecuta el instalador a través de tu proxy:105Este ejemplo establece ambas variables de proxy y luego ejecuta el instalador a través de tu proxy:

106 106 

107**macOS/Linux**107> [tab] macOS/Linux

108 108>

109```bash theme={null}109> ```bash theme={null}

110export HTTP_PROXY=http://proxy.example.com:8080110> export HTTP_PROXY=http://proxy.example.com:8080

111export HTTPS_PROXY=http://proxy.example.com:8080111> export HTTPS_PROXY=http://proxy.example.com:8080

112curl -fsSL https://claude.ai/install.sh | bash112> curl -fsSL https://claude.ai/install.sh | bash

113```113> ```

114 

115**Windows PowerShell**

116 114 

117```powershell theme={null}115> [tab] Windows PowerShell

118$env:HTTP_PROXY = 'http://proxy.example.com:8080'116>

119$env:HTTPS_PROXY = 'http://proxy.example.com:8080'117> ```powershell theme={null}

120irm https://claude.ai/install.ps1 | iex118> $env:HTTP_PROXY = 'http://proxy.example.com:8080'

121```119> $env:HTTPS_PROXY = 'http://proxy.example.com:8080'

120> irm https://claude.ai/install.ps1 | iex

121> ```

122 122 

123### Verifica tu PATH123### Verifica tu PATH

124 124 


132 132 

133Primero verifica que el programa esté ahí, y luego verifica si su carpeta está en tu PATH. La corrección del PATH es permanente, así que la aplicas una sola vez. Elige la pestaña de tu plataforma y ejecuta sus comandos allí: en tu terminal en macOS y Linux, o en PowerShell o el Símbolo del sistema en Windows.133Primero verifica que el programa esté ahí, y luego verifica si su carpeta está en tu PATH. La corrección del PATH es permanente, así que la aplicas una sola vez. Elige la pestaña de tu plataforma y ejecuta sus comandos allí: en tu terminal en macOS y Linux, o en PowerShell o el Símbolo del sistema en Windows.

134 134 

135**macOS/Linux**135> [tab] macOS/Linux

136 136>

137Verifica que el instalador haya colocado el programa:137> Verifica que el instalador haya colocado el programa:

138 138>

139```bash theme={null}139> ```bash theme={null}

140ls -la ~/.local/bin/claude140> ls -la ~/.local/bin/claude

141```141> ```

142 142>

143* **`No such file or directory`**: no hay una instalación nativa. Si no has instalado Claude Code de otra manera, como con npm, Homebrew o un gestor de paquetes de Linux, [instala Claude Code](https://code.claude.com/docs/es/setup.md#install-claude-code). Si lo instalaste de otra manera, consulta [Verifica instalaciones conflictivas](#check-for-conflicting-installations).143> * **`No such file or directory`**: no hay una instalación nativa. Si no has instalado Claude Code de otra manera, como con npm, Homebrew o un gestor de paquetes de Linux, [instala Claude Code](https://code.claude.com/docs/es/setup.md#install-claude-code). Si lo instalaste de otra manera, consulta [Verifica instalaciones conflictivas](#check-for-conflicting-installations).

144* **Un listado del archivo**: el programa está ahí. Verifica tu PATH a continuación.144> * **Un listado del archivo**: el programa está ahí. Verifica tu PATH a continuación.

145 145>

146Lista tus entradas de PATH y filtra por la carpeta de instalación:146> Lista tus entradas de PATH y filtra por la carpeta de instalación:

147 147>

148```bash theme={null}148> ```bash theme={null}

149echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"149> echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"

150```150> ```

151 151>

152Si esto imprime `/Users/you/.local/bin` o `/home/you/.local/bin`, el directorio está en tu PATH y puedes saltar a [Verifica instalaciones conflictivas](#check-for-conflicting-installations). Si no hay salida, agrégalo a la configuración de tu shell con los dos comandos correspondientes a tu shell. El comando `echo` guarda el ajuste para cada terminal nueva, y `source` lo aplica a la ventana en la que estás. El comando `echo` no imprime nada cuando tiene éxito.152> Si esto imprime `/Users/you/.local/bin` o `/home/you/.local/bin`, el directorio está en tu PATH y puedes saltar a [Verifica instalaciones conflictivas](#check-for-conflicting-installations). Si no hay salida, agrégalo a la configuración de tu shell con los dos comandos correspondientes a tu shell. El comando `echo` guarda el ajuste para cada terminal nueva, y `source` lo aplica a la ventana en la que estás. El comando `echo` no imprime nada cuando tiene éxito.

153 153>

154Para Zsh, el predeterminado en macOS:154> Para Zsh, el predeterminado en macOS:

155 155>

156```bash theme={null}156> ```bash theme={null}

157echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc157> echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc

158source ~/.zshrc158> source ~/.zshrc

159```159> ```

160 160>

161Para Bash en Linux, donde es el predeterminado en la mayoría de las distribuciones:161> Para Bash en Linux, donde es el predeterminado en la mayoría de las distribuciones:

162 162>

163```bash theme={null}163> ```bash theme={null}

164echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc164> echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

165source ~/.bashrc165> source ~/.bashrc

166```166> ```

167 167>

168Para Bash en macOS, agrega la línea a `~/.bash_profile` en su lugar. Terminal en macOS inicia Bash como un shell de inicio de sesión, que ignora `~/.bashrc` y lee solo el primero que exista de `~/.bash_profile`, `~/.bash_login` o `~/.profile`. Si ya tienes un `~/.bash_login` o `~/.profile` y ningún `~/.bash_profile`, pon la línea en ese archivo en lugar de crear `~/.bash_profile`:168> Para Bash en macOS, agrega la línea a `~/.bash_profile` en su lugar. Terminal en macOS inicia Bash como un shell de inicio de sesión, que ignora `~/.bashrc` y lee solo el primero que exista de `~/.bash_profile`, `~/.bash_login` o `~/.profile`. Si ya tienes un `~/.bash_login` o `~/.profile` y ningún `~/.bash_profile`, pon la línea en ese archivo en lugar de crear `~/.bash_profile`:

169 169>

170```bash theme={null}170> ```bash theme={null}

171echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile171> echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile

172source ~/.bash_profile172> source ~/.bash_profile

173```173> ```

174 174>

175Alternativamente, cierra y vuelve a abrir tu terminal.175> Alternativamente, cierra y vuelve a abrir tu terminal.

176 176>

177Si el comando `echo` imprime `permission denied`, consulta [`permission denied` al agregar a tu PATH](#permission-denied-when-adding-to-your-path).177> Si el comando `echo` imprime `permission denied`, consulta [`permission denied` al agregar a tu PATH](#permission-denied-when-adding-to-your-path).

178 178>

179Para otros shells como fish o Nushell, agrega `~/.local/bin` a tu PATH usando la sintaxis de configuración propia de tu shell y luego reinicia tu terminal.179> Para otros shells como fish o Nushell, agrega `~/.local/bin` a tu PATH usando la sintaxis de configuración propia de tu shell y luego reinicia tu terminal.

180 180>

181Verifica que la corrección funcionó:181> Verifica que la corrección funcionó:

182 182>

183```bash theme={null}183> ```bash theme={null}

184claude --version184> claude --version

185```185> ```

186 186>

187Si todavía no se encuentra `claude`, revisa estas causas:187> Si todavía no se encuentra `claude`, revisa estas causas:

188 188>

189* **La terminal es anterior al cambio**: una ventana que ya estaba abierta conserva su PATH anterior, y una terminal dentro de un editor toma su PATH del editor. Abre una ventana nueva, o cierra y vuelve a abrir el editor.189> * **La terminal es anterior al cambio**: una ventana que ya estaba abierta conserva su PATH anterior, y una terminal dentro de un editor toma su PATH del editor. Abre una ventana nueva, o cierra y vuelve a abrir el editor.

190* **La línea no se guardó**: ejecuta `grep -n '.local/bin' ~/.zshrc`, usando el nombre de archivo de tu shell. Imprime la línea con su número de línea cuando la línea está ahí. Si no imprime nada, ejecuta de nuevo los dos comandos de PATH.190> * **La línea no se guardó**: ejecuta `grep -n '.local/bin' ~/.zshrc`, usando el nombre de archivo de tu shell. Imprime la línea con su número de línea cuando la línea está ahí. Si no imprime nada, ejecuta de nuevo los dos comandos de PATH.

191* **La línea fue al archivo de otro shell**: ejecuta `echo $0` para ver tu shell y luego ejecuta los dos comandos de PATH para ese shell.191> * **La línea fue al archivo de otro shell**: ejecuta `echo $0` para ver tu shell y luego ejecuta los dos comandos de PATH para ese shell.

192 

193**Windows PowerShell**

194 

195Verifica que el instalador haya colocado el programa:

196 

197```powershell theme={null}

198Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

199```

200 

201* **`False`**: no hay una instalación nativa. Si no has instalado Claude Code de otra manera, como con npm o WinGet, [instala Claude Code](https://code.claude.com/docs/es/setup.md#install-claude-code). Si lo instalaste de otra manera, consulta [Verifica instalaciones conflictivas](#check-for-conflicting-installations).

202* **`True`**: el programa está ahí. Verifica tu PATH a continuación.

203 

204Lista tus entradas de PATH y filtra por la carpeta de instalación:

205 

206```powershell theme={null}

207$env:PATH -split ';' | Select-String '\.local\\bin'

208```

209 

210Si esto imprime `C:\Users\you\.local\bin`, el directorio está en tu PATH y puedes saltar a [Verifica instalaciones conflictivas](#check-for-conflicting-installations). Si no hay salida, agrega el directorio de instalación a tu PATH de usuario:

211 

212```powershell theme={null}

213$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')

214[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')

215```

216 

217Reinicia tu terminal para que el cambio surta efecto.

218 

219Verifica que la corrección funcionó:

220 

221```powershell theme={null}

222claude --version

223```

224 

225Si todavía no se encuentra `claude` en una terminal nueva, revisa estas causas:

226 

227* **La terminal se ejecuta dentro de un editor**: toma su PATH del editor, así que cierra y vuelve a abrir el editor.

228* **El cambio no se guardó**: ejecuta `[Environment]::GetEnvironmentVariable('PATH', 'User')` y busca `.local\bin` en el PATH que imprime. Si falta, ejecuta de nuevo los dos comandos.

229 

230**Windows CMD**

231 

232Verifica que el instalador haya colocado el programa:

233 

234```batch theme={null}

235dir "%USERPROFILE%\.local\bin\claude.exe"

236```

237 

238* **`File Not Found` o `The system cannot find the path specified.`**: no hay una instalación nativa. Si no has instalado Claude Code de otra manera, como con npm o WinGet, [instala Claude Code](https://code.claude.com/docs/es/setup.md#install-claude-code). Si lo instalaste de otra manera, consulta [Verifica instalaciones conflictivas](#check-for-conflicting-installations).

239* **Un listado de `claude.exe`**: el programa está ahí. Verifica tu PATH a continuación.

240 

241Lista tus entradas de PATH y filtra por la carpeta de instalación:

242 

243```batch theme={null}

244echo %PATH% | findstr /i "local\bin"

245```

246 

247Si no hay salida, abre Configuración del sistema, ve a Variables de entorno y agrega `%USERPROFILE%\.local\bin` a tu variable PATH de usuario. Reinicia tu terminal.

248 

249Verifica que la corrección funcionó:

250 192 

251```batch theme={null}193> [tab] Windows PowerShell

252claude --version194>

253```195> Verifica que el instalador haya colocado el programa:

196>

197> ```powershell theme={null}

198> Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

199> ```

200>

201> * **`False`**: no hay una instalación nativa. Si no has instalado Claude Code de otra manera, como con npm o WinGet, [instala Claude Code](https://code.claude.com/docs/es/setup.md#install-claude-code). Si lo instalaste de otra manera, consulta [Verifica instalaciones conflictivas](#check-for-conflicting-installations).

202> * **`True`**: el programa está ahí. Verifica tu PATH a continuación.

203>

204> Lista tus entradas de PATH y filtra por la carpeta de instalación:

205>

206> ```powershell theme={null}

207> $env:PATH -split ';' | Select-String '\.local\\bin'

208> ```

209>

210> Si esto imprime `C:\Users\you\.local\bin`, el directorio está en tu PATH y puedes saltar a [Verifica instalaciones conflictivas](#check-for-conflicting-installations). Si no hay salida, agrega el directorio de instalación a tu PATH de usuario:

211>

212> ```powershell theme={null}

213> $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')

214> [Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')

215> ```

216>

217> Reinicia tu terminal para que el cambio surta efecto.

218>

219> Verifica que la corrección funcionó:

220>

221> ```powershell theme={null}

222> claude --version

223> ```

224>

225> Si todavía no se encuentra `claude` en una terminal nueva, revisa estas causas:

226>

227> * **La terminal se ejecuta dentro de un editor**: toma su PATH del editor, así que cierra y vuelve a abrir el editor.

228> * **El cambio no se guardó**: ejecuta `[Environment]::GetEnvironmentVariable('PATH', 'User')` y busca `.local\bin` en el PATH que imprime. Si falta, ejecuta de nuevo los dos comandos.

254 229 

255Si todavía no se encuentra `claude` en una terminal nueva, ten en cuenta que una terminal dentro de un editor toma su PATH del editor, así que cierra y vuelve a abrir también el editor.230> [tab] Windows CMD

231>

232> Verifica que el instalador haya colocado el programa:

233>

234> ```batch theme={null}

235> dir "%USERPROFILE%\.local\bin\claude.exe"

236> ```

237>

238> * **`File Not Found` o `The system cannot find the path specified.`**: no hay una instalación nativa. Si no has instalado Claude Code de otra manera, como con npm o WinGet, [instala Claude Code](https://code.claude.com/docs/es/setup.md#install-claude-code). Si lo instalaste de otra manera, consulta [Verifica instalaciones conflictivas](#check-for-conflicting-installations).

239> * **Un listado de `claude.exe`**: el programa está ahí. Verifica tu PATH a continuación.

240>

241> Lista tus entradas de PATH y filtra por la carpeta de instalación:

242>

243> ```batch theme={null}

244> echo %PATH% | findstr /i "local\bin"

245> ```

246>

247> Si no hay salida, abre Configuración del sistema, ve a Variables de entorno y agrega `%USERPROFILE%\.local\bin` a tu variable PATH de usuario. Reinicia tu terminal.

248>

249> Verifica que la corrección funcionó:

250>

251> ```batch theme={null}

252> claude --version

253> ```

254>

255> Si todavía no se encuentra `claude` en una terminal nueva, ten en cuenta que una terminal dentro de un editor toma su PATH del editor, así que cierra y vuelve a abrir también el editor.

256 256 

257### Verifica instalaciones conflictivas257### Verifica instalaciones conflictivas

258 258 

259Múltiples instalaciones de Claude Code pueden causar desajustes de versión o comportamiento inesperado. Verifica qué está instalado:259Múltiples instalaciones de Claude Code pueden causar desajustes de versión o comportamiento inesperado. Verifica qué está instalado:

260 260 

261**macOS/Linux**261> [tab] macOS/Linux

262 262>

263Lista todos los binarios `claude` encontrados en tu PATH:263> Lista todos los binarios `claude` encontrados en tu PATH:

264 264>

265```bash theme={null}265> ```bash theme={null}

266which -a claude266> which -a claude

267```267> ```

268 268>

269Si esto imprime `claude not found`, una línea `no claude in`, o nada, no hay ningún `claude` en tu PATH. Las siguientes verificaciones muestran si hay alguno instalado.269> Si esto imprime `claude not found`, una línea `no claude in`, o nada, no hay ningún `claude` en tu PATH. Las siguientes verificaciones muestran si hay alguno instalado.

270 270>

271Verifica las tres ubicaciones de donde puede venir un binario `claude`. `~/.local/bin/claude` es el instalador nativo, `~/.claude/local/` es una instalación npm local heredada creada por versiones anteriores de Claude Code, y la lista npm global muestra una instalación `-g`:271> Verifica las tres ubicaciones de donde puede venir un binario `claude`. `~/.local/bin/claude` es el instalador nativo, `~/.claude/local/` es una instalación npm local heredada creada por versiones anteriores de Claude Code, y la lista npm global muestra una instalación `-g`:

272 272>

273```bash theme={null}273> ```bash theme={null}

274ls -la ~/.local/bin/claude274> ls -la ~/.local/bin/claude

275```275> ```

276 276>

277Una instalación nativa muestra un enlace simbólico en `~/.local/share/claude/versions/`. Un script o un enlace simbólico que creaste tú mismo en esta ruta es un iniciador personalizado, que [la actualización automática deja en su lugar](https://code.claude.com/docs/es/setup.md#auto-updates).277> Una instalación nativa muestra un enlace simbólico en `~/.local/share/claude/versions/`. Un script o un enlace simbólico que creaste tú mismo en esta ruta es un iniciador personalizado, que [la actualización automática deja en su lugar](https://code.claude.com/docs/es/setup.md#auto-updates).

278 278>

279Si algún comando `ls` imprime `No such file or directory`, eso no es un error. Significa que no hay nada instalado en esa ubicación, así que continúa con la siguiente verificación.279> Si algún comando `ls` imprime `No such file or directory`, eso no es un error. Significa que no hay nada instalado en esa ubicación, así que continúa con la siguiente verificación.

280 280>

281```bash theme={null}281> ```bash theme={null}

282ls -la ~/.claude/local/282> ls -la ~/.claude/local/

283```283> ```

284 284>

285```bash theme={null}285> ```bash theme={null}

286npm -g ls @anthropic-ai/claude-code 2>/dev/null286> npm -g ls @anthropic-ai/claude-code 2>/dev/null

287```287> ```

288 288>

289Si `ls -la ~/.local/bin/claude` imprimió `No such file or directory`, no hay una instalación nativa. Si no has instalado Claude Code de otra manera, como con npm, Homebrew o un gestor de paquetes de Linux, [instala Claude Code](https://code.claude.com/docs/es/setup.md#install-claude-code). Si `~/.local/bin/claude` existe pero `which -a claude` no lo listó, la carpeta no está en tu PATH: consulta [Verifica tu PATH](#verify-your-path).289> Si `ls -la ~/.local/bin/claude` imprimió `No such file or directory`, no hay una instalación nativa. Si no has instalado Claude Code de otra manera, como con npm, Homebrew o un gestor de paquetes de Linux, [instala Claude Code](https://code.claude.com/docs/es/setup.md#install-claude-code). Si `~/.local/bin/claude` existe pero `which -a claude` no lo listó, la carpeta no está en tu PATH: consulta [Verifica tu PATH](#verify-your-path).

290 

291**Windows PowerShell**

292 

293Lista todos los binarios `claude` encontrados en tu PATH:

294 

295```powershell theme={null}

296where.exe claude

297```

298 

299Si esto imprime `INFO: Could not find files for the given pattern(s).`, no hay ningún `claude` en tu PATH.

300 

301Verifica si el instalador nativo colocó un binario:

302 

303```powershell theme={null}

304Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

305```

306 290 

307* **`True`**: la instalación nativa está ahí. Si `where.exe` no encontró nada, su carpeta no está en tu PATH: consulta [Verifica tu PATH](#verify-your-path).291> [tab] Windows PowerShell

308* **`False`**: no hay una instalación nativa. Si no has instalado Claude Code de otra manera, como con npm o WinGet, [instala Claude Code](https://code.claude.com/docs/es/setup.md#install-claude-code).292>

293> Lista todos los binarios `claude` encontrados en tu PATH:

294>

295> ```powershell theme={null}

296> where.exe claude

297> ```

298>

299> Si esto imprime `INFO: Could not find files for the given pattern(s).`, no hay ningún `claude` en tu PATH.

300>

301> Verifica si el instalador nativo colocó un binario:

302>

303> ```powershell theme={null}

304> Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

305> ```

306>

307> * **`True`**: la instalación nativa está ahí. Si `where.exe` no encontró nada, su carpeta no está en tu PATH: consulta [Verifica tu PATH](#verify-your-path).

308> * **`False`**: no hay una instalación nativa. Si no has instalado Claude Code de otra manera, como con npm o WinGet, [instala Claude Code](https://code.claude.com/docs/es/setup.md#install-claude-code).

309 309 

310Si encuentras múltiples instalaciones, mantén solo una. Se recomienda la instalación nativa en `~/.local/bin/claude` en macOS/Linux o `%USERPROFILE%\.local\bin\claude.exe` en Windows. Elimina las adicionales:310Si encuentras múltiples instalaciones, mantén solo una. Se recomienda la instalación nativa en `~/.local/bin/claude` en macOS/Linux o `%USERPROFILE%\.local\bin\claude.exe` en Windows. Elimina las adicionales:

311 311 


317 317 

318Elimina la instalación npm local heredada:318Elimina la instalación npm local heredada:

319 319 

320**macOS/Linux**320> [tab] macOS/Linux

321 321>

322```bash theme={null}322> ```bash theme={null}

323rm -rf ~/.claude/local323> rm -rf ~/.claude/local

324```324> ```

325 

326**Windows PowerShell**

327 325 

328```powershell theme={null}326> [tab] Windows PowerShell

329Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\local"327>

330```328> ```powershell theme={null}

329> Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\local"

330> ```

331 331 

332Elimina una instalación de Homebrew en macOS. Si instalaste el cask `claude-code@latest`, sustituye ese nombre:332Elimina una instalación de Homebrew en macOS. Si instalaste el cask `claude-code@latest`, sustituye ese nombre:

333 333 


376 376 

377Confirma que el binario existe y es ejecutable:377Confirma que el binario existe y es ejecutable:

378 378 

379**macOS/Linux**379> [tab] macOS/Linux

380 380>

381```bash theme={null}381> ```bash theme={null}

382ls -la "$(command -v claude)"382> ls -la "$(command -v claude)"

383```383> ```

384 

385**Windows PowerShell**

386 384 

387```powershell theme={null}385> [tab] Windows PowerShell

388Get-Command claude | Select-Object Source386>

389```387> ```powershell theme={null}

388> Get-Command claude | Select-Object Source

389> ```

390 390 

391En Linux, verifica si faltan bibliotecas compartidas. Si `ldd` muestra bibliotecas faltantes, es posible que debas instalar paquetes del sistema. En Alpine Linux y otras distribuciones basadas en musl, consulta [Configuración de Alpine Linux](https://code.claude.com/docs/es/setup.md#alpine-linux-and-musl-based-distributions).391En Linux, verifica si faltan bibliotecas compartidas. Si `ldd` muestra bibliotecas faltantes, es posible que debas instalar paquetes del sistema. En Alpine Linux y otras distribuciones basadas en musl, consulta [Configuración de Alpine Linux](https://code.claude.com/docs/es/setup.md#alpine-linux-and-musl-based-distributions).

392 392 


568 568 

5693. **Verifica si hay interferencia de un proxy o firewall**: los proxies corporativos que realizan inspección TLS pueden causar estos errores, incluidos `unable to get local issuer certificate` y `SELF_SIGNED_CERT_IN_CHAIN`. Para el paso de instalación, haz que la descarga de instalación confíe en la CA de tu proxy corporativo:5693. **Verifica si hay interferencia de un proxy o firewall**: los proxies corporativos que realizan inspección TLS pueden causar estos errores, incluidos `unable to get local issuer certificate` y `SELF_SIGNED_CERT_IN_CHAIN`. Para el paso de instalación, haz que la descarga de instalación confíe en la CA de tu proxy corporativo:

570 570 

571 **macOS/Linux**571 > [tab] macOS/Linux

572 >

573 > ```bash theme={null}

574 > curl --cacert /path/to/corporate-ca.pem -fsSL https://claude.ai/install.sh | bash

575 > ```

572 576 

573 ```bash theme={null}577 > [tab] Windows PowerShell

574 curl --cacert /path/to/corporate-ca.pem -fsSL https://claude.ai/install.sh | bash578 >

575 ```579 > El instalador de PowerShell descarga a través de .NET, que valida TLS contra el almacén de certificados de Windows. Pide a tu equipo de TI que agregue el certificado CA del proxy al almacén de Windows si aún no está allí, y luego ejecuta el instalador:

576 580 >

577 **Windows PowerShell**581 > ```powershell theme={null}

578 582 > irm https://claude.ai/install.ps1 | iex

579 El instalador de PowerShell descarga a través de .NET, que valida TLS contra el almacén de certificados de Windows. Pide a tu equipo de TI que agregue el certificado CA del proxy al almacén de Windows si aún no está allí, y luego ejecuta el instalador:583 > ```

580 

581 ```powershell theme={null}

582 irm https://claude.ai/install.ps1 | iex

583 ```

584 584 

585 Para Claude Code en sí una vez instalado, establece `NODE_EXTRA_CA_CERTS` para que las solicitudes de API confíen en el mismo paquete:585 Para Claude Code en sí una vez instalado, establece `NODE_EXTRA_CA_CERTS` para que las solicitudes de API confíen en el mismo paquete:

586 586 

587 **macOS/Linux**587 > [tab] macOS/Linux

588 588 >

589 ```bash theme={null}589 > ```bash theme={null}

590 export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem590 > export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem

591 ```591 > ```

592 

593 **Windows PowerShell**

594 592 

595 ```powershell theme={null}593 > [tab] Windows PowerShell

596 $env:NODE_EXTRA_CA_CERTS = 'C:\path\to\corporate-ca.pem'594 >

597 ```595 > ```powershell theme={null}

596 > $env:NODE_EXTRA_CA_CERTS = 'C:\path\to\corporate-ca.pem'

597 > ```

598 598 

599 Pide a tu equipo de TI el archivo de certificado si no lo tienes. También puedes intentar en una conexión directa para confirmar que el proxy es la causa.599 Pide a tu equipo de TI el archivo de certificado si no lo tienes. También puedes intentar en una conexión directa para confirmar que el proxy es la causa.

600 600 


827 827 

828En todas las demás configuraciones, volver a ejecutar el instalador supera este error, porque el script ejecuta el comando `install` de la versión más reciente incluso cuando le pides que instale una versión anterior. Vuelve a ejecutar el comando para tu plataforma:828En todas las demás configuraciones, volver a ejecutar el instalador supera este error, porque el script ejecuta el comando `install` de la versión más reciente incluso cuando le pides que instale una versión anterior. Vuelve a ejecutar el comando para tu plataforma:

829 829 

830**macOS/Linux**830> [tab] macOS/Linux

831 831>

832```bash theme={null}832> ```bash theme={null}

833curl -fsSL https://claude.ai/install.sh | bash833> curl -fsSL https://claude.ai/install.sh | bash

834```834> ```

835 

836**Windows PowerShell**

837 835 

838```powershell theme={null}836> [tab] Windows PowerShell

839irm https://claude.ai/install.ps1 | iex837>

840```838> ```powershell theme={null}

839> irm https://claude.ai/install.ps1 | iex

840> ```

841 841 

842`claude --version` imprime la versión que instaló la nueva ejecución.842`claude --version` imprime la versión que instaló la nueva ejecución.

843 843 


1108 1108 

1109La línea `npm error path` nombra el directorio que npm no pudo mover. Elimina ese directorio y cualquier directorio `.claude-code-*` sobrante junto a él, que ejecuciones interrumpidas anteriores pueden dejar. Los comandos a continuación encuentran tu directorio global de paquetes con `npm root -g`; si el directorio que nombra la línea `npm error path` no está dentro del directorio que imprime `npm root -g`, por ejemplo porque cambiaste de versión de Node con nvm, elimina en su lugar los directorios que nombra el error:1109La línea `npm error path` nombra el directorio que npm no pudo mover. Elimina ese directorio y cualquier directorio `.claude-code-*` sobrante junto a él, que ejecuciones interrumpidas anteriores pueden dejar. Los comandos a continuación encuentran tu directorio global de paquetes con `npm root -g`; si el directorio que nombra la línea `npm error path` no está dentro del directorio que imprime `npm root -g`, por ejemplo porque cambiaste de versión de Node con nvm, elimina en su lugar los directorios que nombra el error:

1110 1110 

1111**macOS/Linux**1111> [tab] macOS/Linux

1112 1112>

1113```bash theme={null}1113> ```bash theme={null}

1114rm -rf "$(npm root -g)/@anthropic-ai/claude-code"1114> rm -rf "$(npm root -g)/@anthropic-ai/claude-code"

1115```1115> ```

1116 1116>

1117Luego elimina cualquier directorio temporal sobrante. Si Zsh imprime `no matches found`, no había ninguno que eliminar:1117> Luego elimina cualquier directorio temporal sobrante. Si Zsh imprime `no matches found`, no había ninguno que eliminar:

1118 1118>

1119```bash theme={null}1119> ```bash theme={null}

1120rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*1120> rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*

1121```1121> ```

1122 

1123**Windows PowerShell**

1124 1122 

1125```powershell theme={null}1123> [tab] Windows PowerShell

1126Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*"1124>

1127```1125> ```powershell theme={null}

1126> Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*"

1127> ```

1128 1128 

1129Luego reinstala. En npm 12, sigue [Corregir una instalación con npm 12](#fix-an-npm-12-install). De lo contrario, ejecuta:1129Luego reinstala. En npm 12, sigue [Corregir una instalación con npm 12](#fix-an-npm-12-install). De lo contrario, ejecuta:

1130 1130 


1162 1162 

1163Si ves `API Error: 403 Request not allowed` después de iniciar sesión:1163Si ves `API Error: 403 Request not allowed` después de iniciar sesión:

1164 1164 

1165* **Usuarios de Claude Pro/Max**: verifica que tu suscripción esté activa en [claude.ai/settings](https://claude.ai/settings)1165* **Usuarios de Claude Pro/Max/Ultra**: verifica que tu suscripción esté activa en [claude.ai/settings](https://claude.ai/settings)

1166* **Usuarios de Anthropic Console**: confirma que tu cuenta tenga el rol "Claude Code" o "Developer". Los administradores lo asignan en la página Members de la Console en [platform.claude.com/settings/members](https://platform.claude.com/settings/members).1166* **Usuarios de Anthropic Console**: confirma que tu cuenta tenga el rol "Claude Code" o "Developer". Los administradores lo asignan en la página Members de la Console en [platform.claude.com/settings/members](https://platform.claude.com/settings/members).

1167* **Detrás de un proxy**: los proxies corporativos pueden interferir con las solicitudes a la API. Consulta [configuración de red](https://code.claude.com/docs/es/network-config.md) para configurar el proxy.1167* **Detrás de un proxy**: los proxies corporativos pueden interferir con las solicitudes a la API. Consulta [configuración de red](https://code.claude.com/docs/es/network-config.md) para configurar el proxy.

1168 1168 


1183 1183 

1184Para usar tu suscripción en su lugar, elimina la variable de entorno y quítala del perfil de tu shell:1184Para usar tu suscripción en su lugar, elimina la variable de entorno y quítala del perfil de tu shell:

1185 1185 

1186**macOS/Linux**1186> [tab] macOS/Linux

1187 1187>

1188```bash theme={null}1188> ```bash theme={null}

1189unset ANTHROPIC_API_KEY1189> unset ANTHROPIC_API_KEY

1190claude1190> claude

1191```1191> ```

1192 

1193**Windows PowerShell**

1194 1192 

1195```powershell theme={null}1193> [tab] Windows PowerShell

1196Remove-Item Env:ANTHROPIC_API_KEY1194>

1197claude1195> ```powershell theme={null}

1198```1196> Remove-Item Env:ANTHROPIC_API_KEY

1197> claude

1198> ```

1199 1199 

1200Revisa `~/.zshrc`, `~/.bashrc` o `~/.profile` en busca de líneas `export ANTHROPIC_API_KEY=...` y elimínalas para que el cambio sea permanente. En Windows, revisa tu perfil de PowerShell en `$PROFILE` y tus variables de entorno de usuario en busca de `ANTHROPIC_API_KEY`. Ejecuta `/status` dentro de Claude Code para confirmar qué método de autenticación está activo.1200Revisa `~/.zshrc`, `~/.bashrc` o `~/.profile` en busca de líneas `export ANTHROPIC_API_KEY=...` y elimínalas para que el cambio sea permanente. En Windows, revisa tu perfil de PowerShell en `$PROFILE` y tus variables de entorno de usuario en busca de `ANTHROPIC_API_KEY`. Ejecuta `/status` dentro de Claude Code para confirmar qué método de autenticación está activo.

1201 1201 

troubleshooting.md +27 −27

Details

134 134 

135Si la herramienta Search, menciones `@file`, agentes personalizados, o skills personalizados no encuentran archivos, el binario `ripgrep` incluido puede no ejecutarse en su sistema. Instale el paquete `ripgrep` de su plataforma e indique a Claude Code que lo use en su lugar:135Si la herramienta Search, menciones `@file`, agentes personalizados, o skills personalizados no encuentran archivos, el binario `ripgrep` incluido puede no ejecutarse en su sistema. Instale el paquete `ripgrep` de su plataforma e indique a Claude Code que lo use en su lugar:

136 136 

137**macOS**137> [tab] macOS

138 138>

139```bash theme={null}139> ```bash theme={null}

140brew install ripgrep140> brew install ripgrep

141```141> ```

142 

143**Ubuntu/Debian**

144 

145```bash theme={null}

146sudo apt install ripgrep

147```

148 

149**Alpine**

150 

151```bash theme={null}

152apk add ripgrep

153```

154 

155`ripgrep` está en el repositorio de comunidad de Alpine. Si `apk` informa que el paquete falta, consulte [Configuración de Alpine Linux](https://code.claude.com/docs/es/setup.md#alpine-linux-and-musl-based-distributions).

156 142 

157**Arch**143> [tab] Ubuntu/Debian

144>

145> ```bash theme={null}

146> sudo apt install ripgrep

147> ```

158 148 

159```bash theme={null}149> [tab] Alpine

160pacman -S ripgrep150>

161```151> ```bash theme={null}

152> apk add ripgrep

153> ```

154>

155> `ripgrep` está en el repositorio de comunidad de Alpine. Si `apk` informa que el paquete falta, consulte [Configuración de Alpine Linux](https://code.claude.com/docs/es/setup.md#alpine-linux-and-musl-based-distributions).

162 156 

163**Windows**157> [tab] Arch

158>

159> ```bash theme={null}

160> pacman -S ripgrep

161> ```

164 162 

165```powershell theme={null}163> [tab] Windows

166winget install BurntSushi.ripgrep.MSVC164>

167```165> ```powershell theme={null}

166> winget install BurntSushi.ripgrep.MSVC

167> ```

168 168 

169Luego establezca `USE_BUILTIN_RIPGREP` a `0`, ya sea en su [entorno](https://code.claude.com/docs/es/env-vars.md) de shell o en el bloque `env` de su [`settings.json`](https://code.claude.com/docs/es/settings-reference#all-settings):169Luego establezca `USE_BUILTIN_RIPGREP` a `0`, ya sea en su [entorno](https://code.claude.com/docs/es/env-vars.md) de shell o en el bloque `env` de su [`settings.json`](https://code.claude.com/docs/es/settings-reference#all-settings):

170 170 

ultrareview.md +2 −1

Details

120| - | - | - |120| - | - | - |

121| Pro | 3 ejecuciones gratuitas | facturado como [créditos de uso](https://support.claude.com/es/articles/12429409-extra-usage-for-paid-claude-plans) |121| Pro | 3 ejecuciones gratuitas | facturado como [créditos de uso](https://support.claude.com/es/articles/12429409-extra-usage-for-paid-claude-plans) |

122| Max | 3 ejecuciones gratuitas | facturado como [créditos de uso](https://support.claude.com/es/articles/12429409-extra-usage-for-paid-claude-plans) |122| Max | 3 ejecuciones gratuitas | facturado como [créditos de uso](https://support.claude.com/es/articles/12429409-extra-usage-for-paid-claude-plans) |

123| Ultra | 3 ejecuciones gratuitas | facturado como [créditos de uso](https://support.claude.com/es/articles/12429409-extra-usage-for-paid-claude-plans) |

123 124 

124* **Ejecuciones gratuitas**: las tres ejecuciones de Pro y Max son una asignación única por cuenta y no se renuevan.125* **Ejecuciones gratuitas**: las tres ejecuciones de Pro, Max y Ultra son una asignación única por cuenta y no se renuevan.

125* **Costo por revisión**: después de usar las ejecuciones gratuitas, típicamente entre $5 y $25 en créditos de uso dependiendo del tamaño del cambio, coincidiendo con la estimación que muestra el diálogo de lanzamiento antes de cada ejecución.126* **Costo por revisión**: después de usar las ejecuciones gratuitas, típicamente entre $5 y $25 en créditos de uso dependiendo del tamaño del cambio, coincidiendo con la estimación que muestra el diálogo de lanzamiento antes de cada ejecución.

126* **Cuándo se cuenta una ejecución**: una vez que la sesión en la nube comienza. Una revisión que detenga temprano o que no se complete correctamente sigue utilizando una ejecución gratuita; una revisión pagada se factura solo por la porción que se ejecutó.127* **Cuándo se cuenta una ejecución**: una vez que la sesión en la nube comienza. Una revisión que detenga temprano o que no se complete correctamente sigue utilizando una ejecución gratuita; una revisión pagada se factura solo por la porción que se ejecutó.

127 128 

Details

105 105 

106El dictado de voz utiliza la misma [configuración de `language`](https://code.claude.com/docs/es/settings-reference#language) que controla el idioma de respuesta de Claude. Si esa configuración está vacía, el dictado predeterminado es inglés. En la extensión de VS Code, si `language` está vacío, el dictado utiliza la configuración `accessibility.voice.speechLanguage` de VS Code antes de predeterminar al inglés.106El dictado de voz utiliza la misma [configuración de `language`](https://code.claude.com/docs/es/settings-reference#language) que controla el idioma de respuesta de Claude. Si esa configuración está vacía, el dictado predeterminado es inglés. En la extensión de VS Code, si `language` está vacío, el dictado utiliza la configuración `accessibility.voice.speechLanguage` de VS Code antes de predeterminar al inglés.

107 107 

108> **Idiomas de dictado admitidos**108> [accordion] Idiomas de dictado admitidos

109>109>

110> | Idioma | Código |110> | Idioma | Código |

111> | :- | :- |111> | :- | :- |

vs-code.md +34 −30

Details

23Antes de instalar, asegúrate de tener:23Antes de instalar, asegúrate de tener:

24 24 

25* VS Code 1.94.0 o superior25* VS Code 1.94.0 o superior

26* Una cuenta de Anthropic: cualquier suscripción pagada de Claude (Pro, Max, Team o Enterprise) o una cuenta de Claude Console funciona, y no se requiere clave API. Iniciarás sesión [con esta cuenta](https://code.claude.com/docs/es/authentication.md#log-in-to-claude-code) cuando abras la extensión por primera vez. Si accedes a Claude a través de un proveedor de terceros como Amazon Bedrock o Google Cloud's Agent Platform, consulta [Usar proveedores de terceros](#use-third-party-providers) para obtener instrucciones de configuración.26* Una cuenta de Anthropic: cualquier suscripción pagada de Claude (Pro, Max, Ultra, Team o Enterprise) o una cuenta de Claude Console funciona, y no se requiere clave de API. [Iniciarás sesión](https://code.claude.com/docs/es/authentication.md#log-in-to-claude-code) con esta cuenta cuando abras la extensión por primera vez. Si accedes a Claude a través de un proveedor de terceros como Amazon Bedrock o Google Cloud's Agent Platform, consulta [Usar proveedores de terceros](#use-third-party-providers) para obtener instrucciones de configuración.

27 27 

28> [!TIP]28> [!TIP]

29>29>


38 38 

39O bien, en VS Code, presiona `Cmd+Shift+X` (Mac) o `Ctrl+Shift+X` (Windows/Linux) para abrir la vista de Extensiones, busca "Claude Code" y haz clic en **Install**.39O bien, en VS Code, presiona `Cmd+Shift+X` (Mac) o `Ctrl+Shift+X` (Windows/Linux) para abrir la vista de Extensiones, busca "Claude Code" y haz clic en **Install**.

40 40 

41> [!NOTE]

42>

43> Los marketplaces de extensiones son software de terceros que Anthropic no respalda, mantiene ni audita. Anthropic envía extensiones para su publicación en Visual Studio Marketplace y Open VSX Registry.

44 

41El número de versión de la extensión es la versión de Claude Code que incluye. Por ejemplo, una función que requiere Claude Code v2.1.286 o posterior necesita la versión 2.1.286 o posterior de la extensión, que se muestra en la vista de Extensiones.45El número de versión de la extensión es la versión de Claude Code que incluye. Por ejemplo, una función que requiere Claude Code v2.1.286 o posterior necesita la versión 2.1.286 o posterior de la extensión, que se muestra en la vista de Extensiones.

42 46 

43Claude Code también se ejecuta en otros editores y contenedores:47Claude Code también se ejecuta en otros editores y contenedores:

44 48 

45* **Otros forks de VS Code**: la extensión también se instala en forks como Devin Desktop o Kiro. Busca "Claude Code" en la vista de Extensiones del editor, o instálala desde el [registro de Open VSX](https://open-vsx.org/extension/Anthropic/claude-code).49* **Otros forks de VS Code**: la extensión también se instala en forks como Devin Desktop o Kiro. Busca "Claude Code" en la vista de Extensiones del editor, o instálala desde el [Open VSX Registry](https://open-vsx.org/extension/Anthropic/claude-code).

46* **Editores que no pueden instalar la extensión**: [instala la CLI](https://code.claude.com/docs/es/quickstart.md) y ejecuta `claude` en la terminal integrada del editor. La CLI funciona en cualquier terminal.50* **Editores que no pueden instalar la extensión**: [instala la CLI](https://code.claude.com/docs/es/quickstart.md) y ejecuta `claude` en la terminal integrada del editor. La CLI funciona en cualquier terminal.

47* **Dev containers**: para ejecutar Claude Code dentro de un dev container, consulta [Contenedores de desarrollo](https://code.claude.com/docs/es/devcontainer.md).51* **Dev containers**: para ejecutar Claude Code dentro de un dev container, consulta [Contenedores de desarrollo](https://code.claude.com/docs/es/devcontainer.md).

48 52 


117 121 

118El cuadro de prompt admite varias funciones:122El cuadro de prompt admite varias funciones:

119 123 

120* **Modos de permisos**: haz clic en el indicador de modo en la parte inferior del cuadro de prompt para cambiar de modo de permisos. Con Claude Code v2.1.283 o posterior, Auto es el modo de permisos inicial integrado; en versiones anteriores, solo lo es en los planes Pro, Max y Team. Consulta [cómo elige la extensión el modo de permisos inicial](https://code.claude.com/docs/es/permission-modes.md#switch-permission-modes) para saber qué lo cambia y conocer todos los modos de permisos que ofrece el indicador.124* **Modos de permisos**: haz clic en el indicador de modo en la parte inferior del cuadro de prompt para cambiar de modo de permisos. Con Claude Code v2.1.283 o posterior, Auto es el modo de permisos inicial integrado; en versiones anteriores, solo lo es en los planes Pro, Max, Ultra y Team. Consulta [cómo elige la extensión el modo de permisos inicial](https://code.claude.com/docs/es/permission-modes.md#switch-permission-modes) para saber qué lo cambia y conocer todos los modos de permisos que ofrece el indicador.

121 * **Auto**: un clasificador revisa la mayoría de las acciones en lugar de preguntarte. Consulta [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode) para saber qué revisa y qué bloquea.125 * **Auto**: un clasificador revisa la mayoría de las acciones en lugar de preguntarte. Consulta [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode) para saber qué revisa y qué bloquea.

122 * **Manual**: Claude pide permiso antes de editar archivos y de ejecutar la mayoría de los comandos de shell.126 * **Manual**: Claude pide permiso antes de editar archivos y de ejecutar la mayoría de los comandos de shell.

123 * **Plan**: Claude describe lo que hará y espera tu aprobación antes de hacer cambios. VS Code abre automáticamente el plan como un documento Markdown completo donde puedes agregar comentarios en línea para dar retroalimentación antes de que Claude comience.127 * **Plan**: Claude describe lo que hará y espera tu aprobación antes de hacer cambios. VS Code abre automáticamente el plan como un documento Markdown completo donde puedes agregar comentarios en línea para dar retroalimentación antes de que Claude comience.


656 660 

657Invoca el controlador con el programa para abrir URL de tu sistema operativo.661Invoca el controlador con el programa para abrir URL de tu sistema operativo.

658 662 

659**macOS**663> [tab] macOS

660 664>

661```bash theme={null}665> ```bash theme={null}

662open "vscode://anthropic.claude-code/open"666> open "vscode://anthropic.claude-code/open"

663```667> ```

664 

665**Linux**

666 

667```bash theme={null}

668xdg-open "vscode://anthropic.claude-code/open"

669```

670 

671El comando `xdg-open` proviene del paquete `xdg-utils`. Si el shell informa que no se encuentra, consulta [xdg-open no se encuentra en Linux](https://code.claude.com/docs/es/deep-links.md#xdg-open-is-not-found-on-linux).

672 

673**Windows**

674 

675En PowerShell:

676 

677```powershell theme={null}

678Start-Process "vscode://anthropic.claude-code/open"

679```

680 668 

681En `cmd.exe`, `start` trata su primer argumento entre comillas como el título de la ventana, así que pasa un título vacío antes de la URL:669> [tab] Linux

670>

671> ```bash theme={null}

672> xdg-open "vscode://anthropic.claude-code/open"

673> ```

674>

675> El comando `xdg-open` proviene del paquete `xdg-utils`. Si el shell informa que no se encuentra, consulta [xdg-open no se encuentra en Linux](https://code.claude.com/docs/es/deep-links.md#xdg-open-is-not-found-on-linux).

682 676 

683```cmd theme={null}677> [tab] Windows

684start "" "vscode://anthropic.claude-code/open"678>

685```679> En PowerShell:

680>

681> ```powershell theme={null}

682> Start-Process "vscode://anthropic.claude-code/open"

683> ```

684>

685> En `cmd.exe`, `start` trata su primer argumento entre comillas como el título de la ventana, así que pasa un título vacío antes de la URL:

686>

687> ```cmd theme={null}

688> start "" "vscode://anthropic.claude-code/open"

689> ```

686 690 

687El controlador acepta dos parámetros de consulta opcionales:691El controlador acepta dos parámetros de consulta opcionales:

688 692 


704Configuras la extensión en dos lugares: los ajustes de la extensión en VS Code y el archivo de configuración de Claude Code:708Configuras la extensión en dos lugares: los ajustes de la extensión en VS Code y el archivo de configuración de Claude Code:

705 709 

706* **Ajustes de la extensión** en VS Code: controlan el comportamiento de la extensión dentro de VS Code. Ábrelos con `Cmd+,` (Mac) o `Ctrl+,` (Windows/Linux) y luego ve a **Extensions > Claude Code**. También puedes escribir `/` y seleccionar **General config…** para abrir la configuración.710* **Ajustes de la extensión** en VS Code: controlan el comportamiento de la extensión dentro de VS Code. Ábrelos con `Cmd+,` (Mac) o `Ctrl+,` (Windows/Linux) y luego ve a **Extensions > Claude Code**. También puedes escribir `/` y seleccionar **General config…** para abrir la configuración.

707* **Configuración de Claude Code** en `~/.claude/settings.json`: compartida entre la extensión y la CLI. Úsala para comandos permitidos, variables de entorno, hooks y servidores MCP. Con Claude Code v2.1.283 o posterior, también es uno de los factores que determinan el modo de permisos con el que empiezan las conversaciones; en versiones anteriores, solo en los planes Pro, Max y Team. [Cambiar modos de permisos](https://code.claude.com/docs/es/permission-modes.md#switch-permission-modes) indica el orden. Consulta [Configuración](https://code.claude.com/docs/es/settings.md) para más detalles.711* **Configuración de Claude Code** en `~/.claude/settings.json`: compartida entre la extensión y la CLI. Úsala para comandos permitidos, variables de entorno, hooks y servidores MCP. Con Claude Code v2.1.283 o posterior, también puedes usarla como uno de los factores que determinan el modo de permisos con el que empiezan las conversaciones. En versiones anteriores, solo puedes hacerlo en los planes Pro, Max, Ultra y Team. [Cambiar modos de permisos](https://code.claude.com/docs/es/permission-modes.md#switch-permission-modes) indica el orden. Consulta [Configuración](https://code.claude.com/docs/es/settings.md) para más detalles.

708 712 

709> [!TIP]713> [!TIP]

710>714>


933 937 

934* Asegúrate de tener una versión compatible de VS Code (1.94.0 o posterior)938* Asegúrate de tener una versión compatible de VS Code (1.94.0 o posterior)

935* Verifica que VS Code tenga permiso para instalar extensiones939* Verifica que VS Code tenga permiso para instalar extensiones

936* Intenta instalarla directamente desde el [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code)940* Intenta instalarla directamente desde el [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code)

937 941 

938### El ícono Spark no es visible942### El ícono Spark no es visible

939 943 

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Las sesiones en la nube están disponibles en los planes Pro, Max y Team, y para usuarios Enterprise con asientos premium o asientos de Chat + Claude Code.11> Las sesiones en la nube están disponibles en los planes Pro, Max, Ultra y Team, y para usuarios Enterprise con asientos premium o asientos de Chat + Claude Code.

12 12 

13Una sesión en la nube ejecuta Claude Code en la infraestructura en la nube en lugar de en tu máquina, administrada por Anthropic de forma predeterminada. Este inicio rápido inicia una desde [claude.ai/code](https://claude.ai/code) en tu navegador. También puedes iniciar una desde la aplicación móvil de Claude, la aplicación de Desktop, o tu terminal con `claude --cloud`.13Una sesión en la nube ejecuta Claude Code en la infraestructura en la nube en lugar de en tu máquina, administrada por Anthropic de forma predeterminada. Este inicio rápido inicia una desde [claude.ai/code](https://claude.ai/code) en tu navegador. También puedes iniciar una desde la aplicación móvil de Claude, la aplicación de Desktop, o tu terminal con `claude --cloud`.

14 14 


77 77 

78Un [entorno en la nube](https://code.claude.com/docs/es/cloud-environments.md) es la configuración guardada que controla qué acceso a la red tiene Claude durante las sesiones y qué se ejecuta cuando se inicia una sesión. Lo que sucede después de conectar GitHub depende de tu plan:78Un [entorno en la nube](https://code.claude.com/docs/es/cloud-environments.md) es la configuración guardada que controla qué acceso a la red tiene Claude durante las sesiones y qué se ejecuta cuando se inicia una sesión. Lo que sucede después de conectar GitHub depende de tu plan:

79 79 

80* **Pro y Max**: la incorporación crea un entorno llamado **Default** para ti.80* **Pro, Max y Ultra**: obtienes automáticamente un entorno llamado **Default**.

81* **Team y Enterprise**: la incorporación muestra un formulario **Crea tu primer entorno en la nube**. Deja el nombre rellenado previamente y el acceso a la red sin cambios y haz clic en **Crear y finalizar** para crear el entorno **Default**. Si un Propietario ha activado [Configuración rápida](https://code.claude.com/docs/es/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise), la incorporación crea **Default** para ti en su lugar.81* **Team y Enterprise**: la incorporación muestra un formulario **Crea tu primer entorno en la nube**. Deja el nombre rellenado previamente y el acceso a la red sin cambios y haz clic en **Crear y finalizar** para crear el entorno **Default**. Si un Propietario ha activado [Configuración rápida](https://code.claude.com/docs/es/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise), la incorporación crea **Default** para ti en su lugar.

82 82 

83**Default** utiliza [acceso a red `Trusted`](https://code.claude.com/docs/es/cloud-environments#access-levels): las sesiones alcanzan [registros de paquetes comunes](https://code.claude.com/docs/es/cloud-environments.md#default-allowed-domains) y otros dominios en la lista blanca, y nada más a través de la red de la sesión. Consulta [Herramientas instaladas](https://code.claude.com/docs/es/cloud-environments.md#installed-tools) para ver qué está disponible sin ninguna configuración.83**Default** utiliza [acceso a red `Trusted`](https://code.claude.com/docs/es/cloud-environments#access-levels): las sesiones alcanzan [registros de paquetes comunes](https://code.claude.com/docs/es/cloud-environments.md#default-allowed-domains) y otros dominios en la lista blanca, y nada más a través de la red de la sesión. Consulta [Herramientas instaladas](https://code.claude.com/docs/es/cloud-environments.md#installed-tools) para ver qué está disponible sin ninguna configuración.