4 4
5# Usar Claude Code en la web5# Usar Claude Code en la web
6 6
7> Configura entornos en la nube, scripts de configuración, acceso a la red y Docker en el sandbox de Anthropic. Mueve sesiones entre web y terminal con `--cloud` y `--teleport`.7> Mueve sesiones entre web y terminal con `--cloud` y `--teleport`, administra y comparte sesiones, y corrige automáticamente solicitudes de extracción desde la nube.
8 8
9<Note>9<Note>
10 Claude Code en la web está en vista previa de investigación para usuarios Pro, Max y Team, y para usuarios Enterprise con asientos premium o asientos Chat + Claude Code.10 Claude Code en la web está en vista previa de investigación para usuarios Pro, Max y Team, y para usuarios Enterprise con asientos premium o asientos Chat + Claude Code.
11</Note>11</Note>
12 12
13Claude Code en la web ejecuta tareas en infraestructura en la nube administrada por Anthropic en [claude.ai/code](https://claude.ai/code). Las sesiones persisten incluso si cierra su navegador, y puede monitorearlas desde la aplicación móvil Claude.13Claude Code en la web ejecuta tareas en infraestructura en la nube administrada por Anthropic en [claude.ai/code](https://claude.ai/code), o en el [entorno autohospedado](/docs/es/self-hosted-environments) de su organización cuando se enruta allí. Las sesiones persisten incluso si cierra su navegador, y puede monitorearlas desde la aplicación móvil Claude.
14 14
15<Tip>15<Tip>
16 ¿Nuevo en Claude Code en la web? Comience con [Primeros pasos](/docs/es/web-quickstart) para conectar su cuenta de GitHub y enviar su primera tarea.16 ¿Nuevo en Claude Code en la web? Comience con [Primeros pasos](/docs/es/web-quickstart) para conectar su cuenta de GitHub y enviar su primera tarea.
17</Tip>17</Tip>
18 18
19Esta página cubre:19Esta página cubre el producto web en sí:
20 20
21* [Entornos en la nube](#cloud-environments): dónde se ejecutan las sesiones y dónde configurar eso
21* [Opciones de autenticación de GitHub](#github-authentication-options): dos formas de conectar GitHub22* [Opciones de autenticación de GitHub](#github-authentication-options): dos formas de conectar GitHub
22* [El entorno en la nube](#the-cloud-environment): qué configuración se transfiere, qué herramientas están instaladas y cómo configurar entornos
23* [Scripts de configuración](#setup-scripts) y gestión de dependencias
24* [Acceso a la red](#network-access): niveles, proxies y la lista de permitidos predeterminada
25* [Mover tareas entre web y terminal](#move-tasks-between-web-and-terminal) con `--cloud` y `--teleport`23* [Mover tareas entre web y terminal](#move-tasks-between-web-and-terminal) con `--cloud` y `--teleport`
26* [Trabajar con sesiones](#work-with-sessions): revisar, compartir, archivar, eliminar24* [Trabajar con sesiones](#work-with-sessions): modos de permisos, revisión, uso compartido, archivo, eliminación
27* [Correcciones automáticas de solicitudes de extracción](#auto-fix-pull-requests): responder automáticamente a fallos de CI y comentarios de revisión25* [Correcciones automáticas de solicitudes de extracción](#auto-fix-pull-requests): responder automáticamente a fallos de CI y comentarios de revisión
28* [Seguridad y aislamiento](#security-and-isolation): cómo se aíslan las sesiones26* [Seguridad y aislamiento](#security-and-isolation): cómo se aíslan las sesiones
29* [Limitaciones](#limitations): límites de velocidad y restricciones de plataforma27* [Limitaciones](#limitations): límites de velocidad y restricciones de plataforma
30 28
31<h2 id="github-authentication-options">29<h2 id="cloud-environments">
32 Opciones de autenticación de GitHub30 Entornos en la nube
33</h2>
34
35Las sesiones en la nube necesitan acceso a sus repositorios de GitHub para clonar código e insertar ramas. Puede otorgar acceso de dos formas:
36
37| Método | Cómo funciona | Mejor para |
38| :--------------- | :-------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |
39| **GitHub App** | Autorice la aplicación Claude GitHub durante la [incorporación web](/docs/es/web-quickstart). | Incorporación en navegador; equipos que desean [Correcciones automáticas](#auto-fix-pull-requests) |
40| **`/web-setup`** | Ejecute `/web-setup` en su terminal para sincronizar su token local de CLI `gh` a su cuenta Claude. | Desarrolladores individuales que ya usan `gh` |
41
42<Note>
43 Con cualquiera de los dos métodos, una sesión en la nube puede acceder a cualquier repositorio que la cuenta de GitHub conectada pueda ver, no solo los repositorios en los que está instalada la aplicación Claude GitHub. La instalación de la aplicación habilita webhooks de PR para [Correcciones automáticas](#auto-fix-pull-requests); no es un control de acceso a nivel de sesión. Para restringir qué repositorios puede alcanzar su equipo desde sesiones en la nube, restrinja el acceso en GitHub mismo, por ejemplo limitando la membresía de equipo o repositorio para las cuentas de GitHub conectadas.
44</Note>
45
46Cualquiera de los dos métodos funciona. [`/schedule`](/docs/es/routines) verifica cualquiera de las dos formas de acceso y le solicita que ejecute `/web-setup` si ninguna está configurada. Consulte [Conectar desde su terminal](/docs/es/web-quickstart#connect-from-your-terminal) para el tutorial de `/web-setup`.
47
48La aplicación GitHub es necesaria para [Correcciones automáticas](#auto-fix-pull-requests), que usa la aplicación para recibir webhooks de PR. Si se conecta con `/web-setup` y luego desea correcciones automáticas, instale la aplicación en esos repositorios.
49
50Los administradores de Team y Enterprise pueden deshabilitar `/web-setup` con el interruptor de configuración web rápida en [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).
51
52<Note>
53 Las organizaciones con [Retención de datos cero](/docs/es/zero-data-retention) habilitada no pueden usar `/web-setup` u otras características de sesión en la nube.
54</Note>
55
56<h2 id="the-cloud-environment">
57 El entorno en la nube
58</h2>31</h2>
59 32
60Cada sesión se ejecuta en una VM nueva administrada por Anthropic con su repositorio clonado. Esta sección cubre qué está disponible cuando comienza una sesión y cómo personalizarlo.33Cada sesión en la nube se ejecuta en un [entorno en la nube](/docs/es/cloud-environments), la configuración guardada que controla el acceso a la red, las variables de entorno y los scripts de configuración. Si aún no tiene un entorno, la incorporación configura un entorno **Predeterminado** con [acceso a la red **Confiable**](/docs/es/cloud-environments#access-levels), ya sea creándolo para usted o pidiéndole que lo cree. Consulte [El entorno predeterminado](/docs/es/cloud-environments#the-default-environment) para ver cuál de esos sucede en su plan y cómo las sesiones eligen un entorno cuando tiene más de uno.
61
62<h3 id="what’s-available-in-cloud-sessions">
63 Qué está disponible en sesiones en la nube
64</h3>
65
66Las sesiones en la nube comienzan desde un clon nuevo de su repositorio. Cualquier cosa comprometida con el repositorio está disponible. Cualquier cosa que haya instalado o configurado solo en su propia máquina no está disponible en la sesión. La política de su organización llega por separado a través de [configuración administrada por el servidor](/docs/es/server-managed-settings).
67
68| | Disponible en sesiones en la nube | Por qué |
69| :---------------------------------------------------------------------------------------------- | :-------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
70| Su `CLAUDE.md` del repositorio | Sí | Parte del clon |
71| Sus hooks `.claude/settings.json` del repositorio | Sí | Parte del clon |
72| Sus servidores MCP `.mcp.json` del repositorio | Sí | Parte del clon |
73| Su `.claude/rules/` del repositorio | Sí | Parte del clon |
74| Su `.claude/skills/`, `.claude/agents/`, `.claude/commands/` del repositorio | Sí | Parte del clon |
75| Plugins declarados en `.claude/settings.json` | Sí | Instalados al inicio de la sesión desde el [marketplace](/docs/es/plugin-marketplaces) que declaró. Requiere acceso a la red para llegar a la fuente del marketplace |
76| Su [configuración administrada por el servidor](/docs/es/server-managed-settings) de la organización | Sí | Se obtiene de los servidores de Anthropic cuando comienza la sesión. Consulte [Cobertura de superficie](/docs/es/model-config#surface-coverage) para ver cómo se aplica `availableModels` en sesiones en la nube. La configuración implementada en su dispositivo a través de MDM o archivos de configuración administrada no se aplica, porque la sesión se ejecuta en una VM administrada por Anthropic |
77| Su `~/.claude/CLAUDE.md` de usuario | No | Vive en su máquina, no en el repositorio |
78| Su `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` de usuario | No | Viven en su máquina, no en el repositorio. Comprométalos en el directorio `.claude/` del repositorio en su lugar. Las skills que habilita en claude.ai se cargan automáticamente en sesiones en la nube |
79| Plugins habilitados solo en su configuración de usuario | No | El `enabledPlugins` con alcance de usuario vive en `~/.claude/settings.json`. Declárelos en el `.claude/settings.json` del repositorio en su lugar |
80| Servidores MCP que agregó con `claude mcp add` | No | Esos escriben en su configuración de usuario local, no en el repositorio. Declare el servidor en [`.mcp.json`](/docs/es/mcp#project-scope) en su lugar |
81| Tokens de API estáticos y credenciales | No | Aún no existe un almacén de secretos dedicado. Vea a continuación |
82| Autenticación interactiva como AWS SSO | No | No compatible. SSO requiere inicio de sesión basado en navegador que no puede ejecutarse en una sesión en la nube |
83
84Para que su configuración esté disponible en sesiones en la nube, comprométala en el repositorio; la política de su organización llega por separado a través de [configuración administrada por el servidor](/docs/es/server-managed-settings).
85
86Un almacén de secretos dedicado aún no está disponible. Tanto las variables de entorno como los scripts de configuración se almacenan en la configuración del entorno, visible para cualquiera que pueda editar ese entorno. Si necesita secretos en una sesión en la nube, agréguelos como variables de entorno con esa visibilidad en mente.
87
88<h3 id="installed-tools">
89 Herramientas instaladas
90</h3>
91
92Las sesiones en la nube vienen con tiempos de ejecución de lenguaje comunes, herramientas de compilación y bases de datos preinstaladas. La tabla a continuación resume lo que se incluye por categoría.
93
94| Categoría | Incluido |
95| :----------------- | :----------------------------------------------------------------------------- |
96| **Python** | Python 3.x con pip, poetry, uv, black, mypy, pytest, ruff |
97| **Node.js** | 20, 21 y 22 vía nvm, con npm, yarn, pnpm, bun¹, eslint, prettier, chromedriver |
98| **Ruby** | 3.1, 3.2, 3.3 con gem, bundler, rbenv |
99| **PHP** | 8.4 con Composer |
100| **Java** | OpenJDK 21 con Maven y Gradle |
101| **Go** | última versión estable con soporte de módulos |
102| **Rust** | rustc y cargo |
103| **C/C++** | GCC, Clang, cmake, ninja, conan |
104| **Docker** | docker, dockerd, docker compose |
105| **Bases de datos** | PostgreSQL 16, Redis 7.0 |
106| **Utilidades** | git, jq, yq, ripgrep, tmux, vim, nano |
107
108¹ Bun está instalado pero tiene [problemas de compatibilidad de proxy](#install-dependencies-with-a-sessionstart-hook) conocidos para obtención de paquetes.
109
110Para versiones exactas, pida a Claude que ejecute `check-tools` en una sesión en la nube. Este comando solo existe en sesiones en la nube.
111
112<h3 id="work-with-github-issues-and-pull-requests">
113 Trabajar con problemas y solicitudes de extracción de GitHub
114</h3>
115
116Las sesiones en la nube incluyen herramientas de GitHub integradas que permiten a Claude leer problemas, listar solicitudes de extracción, obtener diffs y publicar comentarios sin ninguna configuración. Estas herramientas se autentican a través del [proxy de GitHub](#github-proxy) usando cualquier método que configuró en [Opciones de autenticación de GitHub](#github-authentication-options), por lo que su token nunca entra en el contenedor.
117
118Puede establecer `GH_TOKEN` o `GITHUB_TOKEN` usted mismo en [configuración de entorno](#configure-your-environment), o dejar ambos sin establecer y dejar que el [proxy de GitHub](#github-proxy) se autentique por usted:
119
120* Si establece un token, se pasa al contenedor sin cambios, por lo que `gh` y sus scripts lo usan directamente.
121* Si no establece ninguno, el contenedor establece ambas variables en la cadena de marcador de posición `proxy-injected` y el proxy sustituye sus credenciales reales en solicitudes salientes de GitHub. `gh` funciona sin un token propio, pero un script que lee `GITHUB_TOKEN` directamente obtiene el marcador de posición, no un token utilizable.
122
123Para verificar cuál es el caso en su sesión, pida a Claude que ejecute `echo $GH_TOKEN`.
124
125La CLI `gh` no está preinstalada. Si necesita un comando `gh` que las herramientas integradas no cubran, como `gh release` o `gh workflow run`, instálelo y auténtiquese usted mismo:
126
127<Steps>
128 <Step title="Instale gh en su script de configuración">
129 Agregue `apt update && apt install -y gh` a su [script de configuración](#setup-scripts).
130 </Step>
131
132 <Step title="Proporcione un token si el proxy no está manejando la autenticación">
133 Si `echo $GH_TOKEN` imprime `proxy-injected`, el [proxy de GitHub](#github-proxy) autentica `gh` para usted y este paso es innecesario. De lo contrario, agregue una variable de entorno `GH_TOKEN` a su [configuración de entorno](#configure-your-environment) con un token de acceso personal de GitHub. `gh` lee `GH_TOKEN` automáticamente, por lo que no se necesita un paso `gh auth login`.
134 </Step>
135</Steps>
136
137<h3 id="link-output-back-to-the-session">
138 Vincule la salida de vuelta a la sesión
139</h3>
140
141Cada sesión en la nube tiene una URL de transcripción en claude.ai, y la sesión puede leer su propio ID desde la variable de entorno `CLAUDE_CODE_REMOTE_SESSION_ID`. Use esto para poner un enlace rastreable en cuerpos de PR, mensajes de confirmación, publicaciones de Slack o informes generados para que un revisor pueda abrir la ejecución que los produjo.
142
143A partir de v2.1.179, los commits que Claude crea en una sesión web incluyen un trailer de git `Claude-Session: <url>`, y los cuerpos de PR incluyen la URL de la sesión en su propia línea. Desde v2.1.182, establezca [`attribution.sessionUrl`](/docs/es/settings#attribution-settings) en `false` para omitir el trailer y el enlace del cuerpo de PR.
144
145Para incluir el enlace de sesión en algo que no sea un commit o PR, como un mensaje de Slack que Claude publica o un archivo de informe que escribe, haga que Claude ejecute el siguiente comando y use su salida. El comando convierte el prefijo `cse_` en el valor de la variable de entorno al prefijo `session_` que la URL de transcripción espera:
146
147```bash theme={null}
148echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"
149```
150
151<h3 id="run-tests-start-services-and-add-packages">
152 Ejecute pruebas, inicie servicios y agregue paquetes
153</h3>
154 34
155Claude ejecuta pruebas como parte del trabajo en una tarea. Pídalo en su solicitud, como "corregir las pruebas fallidas en `tests/`" o "ejecutar pytest después de cada cambio". Los ejecutores de pruebas como pytest, jest y cargo test están preinstalados y funcionan sin configuración adicional.35Los mismos entornos se aplican dondequiera que inicie una sesión en la nube: la web, la terminal, [Claude Tag](https://claude.com/docs/claude-tag/overview), [rutinas](/docs/es/routines) y las aplicaciones móvil y de escritorio. Las sesiones de canales de Claude Tag utilizan solo entornos a nivel de organización, ya sean [entornos compartidos](/docs/es/cloud-environments#organization-shared-environments) o [entornos autohospedados](/docs/es/self-hosted-environments).
156 36
157PostgreSQL y Redis están preinstalados pero no se ejecutan de forma predeterminada. Pida a Claude que inicie cada uno durante la sesión:37Consulte [Configurar entornos en la nube](/docs/es/cloud-environments) para cambiar lo que permite un entorno, establecer variables o agregar un script de configuración, y [Herramientas instaladas](/docs/es/cloud-environments#installed-tools) para ver qué incluyen las sesiones sin ninguna configuración.
158 38
159```bash theme={null}39<h2 id="github-authentication-options">
160service postgresql start40 Opciones de autenticación de GitHub
161```
162
163```bash theme={null}
164service redis-server start
165```
166
167Docker está disponible para ejecutar servicios en contenedores. Pida a Claude que ejecute `docker compose up` para iniciar los servicios de su proyecto. El acceso a la red para extraer imágenes sigue el [nivel de acceso](#access-levels) de su entorno, y los [Valores predeterminados confiables](#default-allowed-domains) incluyen Docker Hub y otros registros comunes.
168
169Si sus imágenes son grandes o lentas de extraer, agregue `docker compose pull` o `docker compose build` a su [script de configuración](#setup-scripts). Las imágenes extraídas se guardan en el [entorno en caché](#environment-caching), por lo que cada nueva sesión las tiene en el disco. El caché almacena solo archivos, no procesos en ejecución, por lo que Claude aún inicia los contenedores cada sesión.
170
171Para agregar paquetes que no están preinstalados, use un [script de configuración](#setup-scripts). La salida del script se [almacena en caché](#environment-caching), por lo que los paquetes que instale allí están disponibles al inicio de cada sesión sin reinstalar cada vez. También puede pedir a Claude que instale paquetes durante la sesión, pero esas instalaciones no persisten entre sesiones.
172
173<h3 id="resource-limits">
174 Límites de recursos
175</h3>
176
177Las sesiones en la nube se ejecutan con límites de recursos aproximados que pueden cambiar con el tiempo:
178
179* 4 vCPUs
180* 16 GB de RAM
181* 30 GB de disco
182
183Las tareas que requieren significativamente más memoria, como trabajos de compilación grandes o pruebas que consumen mucha memoria, pueden fallar o ser terminadas. Para cargas de trabajo más allá de estos límites, use [Control Remoto](/docs/es/remote-control) para ejecutar Claude Code en su propio hardware.
184
185<h3 id="configure-your-environment">
186 Configure su entorno
187</h3>
188
189Los entornos controlan [acceso a la red](#network-access), variables de entorno y el [script de configuración](#setup-scripts) que se ejecuta antes de que comience una sesión. Consulte [Herramientas instaladas](#installed-tools) para ver qué está disponible sin ninguna configuración. Puede administrar entornos desde la interfaz web o desde la terminal:
190
191| Acción | Cómo |
192| :----------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
193| Agregar un entorno | Seleccione el entorno actual para abrir el selector, luego seleccione **Agregar entorno**. El diálogo incluye nombre, nivel de acceso a la red, variables de entorno y script de configuración. |
194| Editar un entorno | Seleccione el icono de nube que muestra el nombre del entorno actual para abrir el selector, pase el cursor sobre un entorno y haga clic en el icono de configuración que aparece a la derecha. |
195| Archivar un entorno | Abra el entorno para editar y seleccione **Archivar**. Los entornos archivados se ocultan del selector pero las sesiones existentes continúan ejecutándose. |
196| Establecer el predeterminado para sesiones en la nube de CLI | Ejecute `/remote-env` en su terminal. Si tiene un único entorno, este comando muestra su configuración actual. `/remote-env` solo selecciona el predeterminado; agregue, edite y archive entornos desde la interfaz web. |
197
198Las variables de entorno usan formato `.env` con un par `KEY=value` por línea. No envuelva valores entre comillas, ya que las comillas se almacenan como parte del valor. Este ejemplo define tres variables:
199
200```text theme={null}
201NODE_ENV=development
202LOG_LEVEL=debug
203DATABASE_URL=postgres://localhost:5432/myapp
204```
205
206<h3 id="organization-shared-environments">
207 Entornos compartidos por la organización
208</h3>
209
210Los propietarios y administradores en planes Team y Enterprise pueden crear entornos en la nube que se comparten con cada miembro de la organización. Los entornos compartidos aparecen en el selector de entorno de cada miembro junto con los suyos personales, por lo que un equipo puede estandarizar en una configuración en lugar de que cada miembro la recree.
211
212Administre entornos compartidos desde la página **Entornos en la nube** en [configuración de administrador](https://claude.ai/admin-settings). Desde allí puede:
213
214* Crear, editar y archivar entornos compartidos. Cada uno tiene los mismos campos que un entorno personal: un nombre, un [nivel de acceso a la red](#access-levels), [variables de entorno](#configure-your-environment) en formato `.env` y un [script de configuración](#setup-scripts).
215* Establecer el entorno predeterminado para la organización.
216
217Los valores en un entorno compartido llegan a las sesiones de cada miembro en ese entorno. Como los entornos personales, los entornos compartidos no tienen un almacén de secretos dedicado, por lo que no incluya secretos.
218
219<h2 id="setup-scripts">
220 Scripts de configuración
221</h2>41</h2>
222 42
223Un script de configuración es un script Bash que se ejecuta cuando comienza una nueva sesión en la nube, antes de que se lance Claude Code. Use scripts de configuración para instalar dependencias, configurar herramientas o obtener cualquier cosa que la sesión necesite que no esté preinstalada.43Las sesiones en la nube necesitan acceso a sus repositorios de GitHub para clonar código e insertar ramas. Puede otorgar acceso de dos formas:
224
225Los scripts se ejecutan como root en Ubuntu 24.04, por lo que `apt install` y la mayoría de los administradores de paquetes de lenguaje funcionan.
226
227Para agregar un script de configuración, abra el diálogo de configuración del entorno e ingrese su script en el campo **Script de configuración**.
228
229Este ejemplo instala la CLI `gh`, que no está preinstalada:
230
231```bash theme={null}
232#!/bin/bash
233apt update && apt install -y gh
234```
235
236Si el script sale con un código distinto de cero, la sesión no se inicia. Agregue `|| true` a comandos no críticos para evitar bloquear la sesión en una instalación intermitente fallida.
237
238Mantenga el tiempo de ejecución total del script por debajo de aproximadamente cinco minutos para que el [caché del entorno](#environment-caching) pueda compilarse. Ejecute instalaciones independientes en paralelo con `&` y `wait`. Si una única descarga no cabe en el límite de cinco minutos, muévala a un [hook SessionStart](#setup-scripts-vs-sessionstart-hooks) que la inicie en segundo plano.
239
240<Note>
241 Los scripts de configuración que instalan paquetes necesitan acceso a la red para llegar a los registros. El acceso a la red predeterminado **Confiable** permite conexiones a [dominios comunes en la lista de permitidos](#default-allowed-domains) incluyendo npm, PyPI, RubyGems y crates.io. Los scripts fallarán al instalar paquetes si su entorno usa acceso a la red **Ninguno**.
242</Note>
243
244<h3 id="environment-caching">
245 Almacenamiento en caché del entorno
246</h3>
247
248El script de configuración se ejecuta la primera vez que inicia una sesión en un entorno. Después de que se completa, Anthropic toma una instantánea del sistema de archivos y reutiliza esa instantánea como punto de partida para sesiones posteriores. Las nuevas sesiones comienzan con sus dependencias, herramientas e imágenes de Docker ya en el disco, y se omite el paso del script de configuración. Esto mantiene el inicio rápido incluso cuando el script instala cadenas de herramientas grandes o extrae imágenes de contenedor.
249
250El caché captura archivos, no procesos en ejecución. Cualquier cosa que el script de configuración escriba en el disco se transfiere. Los servicios o contenedores que inicia no, por lo que inicie esos por sesión pidiendo a Claude o con un [hook SessionStart](#setup-scripts-vs-sessionstart-hooks).
251
252El script de configuración se ejecuta nuevamente para reconstruir el caché cuando cambia el script de configuración del entorno o los hosts de red permitidos, y cuando el caché alcanza su vencimiento después de aproximadamente siete días. Reanudar una sesión existente nunca vuelve a ejecutar el script de configuración.
253
254No necesita habilitar el almacenamiento en caché ni administrar instantáneas usted mismo.
255
256<h3 id="setup-scripts-vs-sessionstart-hooks">
257 Scripts de configuración vs. hooks SessionStart
258</h3>
259
260Use un script de configuración para instalar cosas que la nube necesita pero su portátil ya tiene, como un tiempo de ejecución de lenguaje o herramienta CLI. Use un [hook SessionStart](/docs/es/hooks#sessionstart) para la configuración del proyecto que debe ejecutarse en todas partes, nube y local, como `npm install`.
261
262Ambos se ejecutan al inicio de una sesión, pero pertenecen a diferentes lugares:
263
264| | Scripts de configuración | Hooks SessionStart |
265| -------------- | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
266| Adjunto a | El entorno en la nube | Su repositorio |
267| Configurado en | Interfaz de usuario del entorno en la nube | `.claude/settings.json` en su repositorio |
268| Se ejecuta | Antes de que se lance Claude Code, cuando no hay [entorno en caché](#environment-caching) disponible | Después de que se lance Claude Code, en cada sesión incluyendo reanudadas |
269| Alcance | Solo entornos en la nube | Tanto local como nube |
270
271Los hooks SessionStart también se pueden definir en su `~/.claude/settings.json` a nivel de usuario localmente, pero la configuración a nivel de usuario no se transfiere a sesiones en la nube. En la nube, los hooks provienen del repositorio y de la [configuración administrada por el servidor](/docs/es/server-managed-settings) de su organización.
272
273<h3 id="install-dependencies-with-a-sessionstart-hook">
274 Instale dependencias con un hook SessionStart
275</h3>
276
277Para instalar dependencias solo en sesiones en la nube, agregue un hook SessionStart a su `.claude/settings.json` del repositorio:
278
279```json theme={null}
280{
281 "hooks": {
282 "SessionStart": [
283 {
284 "matcher": "startup|resume",
285 "hooks": [
286 {
287 "type": "command",
288 "command": "\"$CLAUDE_PROJECT_DIR\"/scripts/install_pkgs.sh"
289 }
290 ]
291 }
292 ]
293 }
294}
295```
296
297Cree el script en `scripts/install_pkgs.sh` y hágalo ejecutable con `chmod +x`. La variable de entorno `CLAUDE_CODE_REMOTE` se establece en `true` en sesiones en la nube, por lo que puede usarla para omitir la ejecución local:
298
299```bash theme={null}
300#!/bin/bash
301
302if [ "$CLAUDE_CODE_REMOTE" != "true" ]; then
303 exit 0
304fi
305
306npm install
307pip install -r requirements.txt
308exit 0
309```
310
311Los hooks SessionStart tienen algunas limitaciones en sesiones en la nube:
312
313* **Sin alcance solo en la nube**: los hooks se ejecutan en sesiones locales y en la nube. Para omitir la ejecución local, verifique la variable de entorno `CLAUDE_CODE_REMOTE` como se muestra arriba.
314* **Requiere acceso a la red**: los comandos de instalación necesitan llegar a los registros de paquetes. Si su entorno usa acceso a la red **Ninguno**, estos hooks fallan. La [lista de permitidos predeterminada](#default-allowed-domains) bajo **Confiable** cubre npm, PyPI, RubyGems y crates.io.
315* **Compatibilidad de proxy**: todo el tráfico saliente pasa a través de un [proxy de seguridad](#security-proxy). Algunos administradores de paquetes no funcionan correctamente con este proxy. Bun es un ejemplo conocido.
316* **Agrega latencia de inicio**: los hooks se ejecutan cada vez que comienza o se reanuda una sesión, a diferencia de los scripts de configuración que se benefician del [almacenamiento en caché del entorno](#environment-caching). Mantenga los scripts de instalación rápidos verificando si las dependencias ya están presentes antes de reinstalar.
317
318Para persistir variables de entorno para comandos Bash posteriores, escriba en el archivo en `$CLAUDE_ENV_FILE`. Consulte [hooks SessionStart](/docs/es/hooks#sessionstart) para obtener detalles.
319 44
320Reemplazar la imagen base con su propia imagen Docker aún no es compatible. Use un script de configuración para instalar lo que necesita en la [imagen proporcionada](#installed-tools), o ejecute su imagen como un contenedor junto a Claude con `docker compose`.45| Método | Cómo se conecta | Repositorios que las sesiones pueden alcanzar | Mejor para |
46| :--------------- | :-------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |
47| **GitHub App** | Autorice la aplicación Claude GitHub durante la [incorporación web](/docs/es/web-quickstart) | Cualquier repositorio público, y repositorios privados en los que está instalada la aplicación Claude GitHub | Incorporación en navegador; equipos que desean [Correcciones automáticas](#auto-fix-pull-requests) |
48| **`/web-setup`** | Ejecute `/web-setup` en su terminal para enviar su token local de CLI `gh` a su cuenta Claude | Cualquier repositorio al que pueda acceder su token `gh`, independientemente de si está instalada la aplicación | Desarrolladores individuales que ya usan `gh` |
321 49
322<h2 id="network-access">50Instalar la aplicación Claude GitHub en un repositorio también habilita [Correcciones automáticas](#auto-fix-pull-requests) para solicitudes de extracción en él.
323 Acceso a la red
324</h2>
325 51
326El acceso a la red controla las conexiones salientes desde el entorno en la nube. Cada entorno especifica un nivel de acceso, y puede extenderlo con dominios permitidos personalizados. El predeterminado es **Confiable**, que permite registros de paquetes y otros [dominios en la lista de permitidos](#default-allowed-domains).52Para ver cómo `/schedule` verifica el acceso al repositorio antes de crear una rutina, consulte [Repositorios y permisos de rama](/docs/es/routines#repositories-and-branch-permissions). Consulte [Conectar desde su terminal](/docs/es/web-quickstart#connect-from-your-terminal) para el tutorial de `/web-setup`, incluyendo qué almacena `/web-setup` y cómo eliminarlo.
327 53
328Para cambiar el acceso a la red de un entorno, [abra el entorno para editar](#configure-your-environment) y use el selector **Acceso a la red** en el diálogo. No hay una página de Entornos separada. El icono de nube aparece dondequiera que inicie una sesión en la nube o configure una [rutina](/docs/es/routines#environments-and-network-access).54La configuración rápida de web es una configuración de organización que permite a los miembros conectar GitHub con `/web-setup`, omite la solicitud de instalación de la aplicación Claude GitHub durante la incorporación en navegador, y hace que la incorporación en navegador cree el entorno [**Predeterminado**](/docs/es/cloud-environments#the-default-environment) para ellos en lugar de mostrar el formulario de entorno. En planes Team y Enterprise está deshabilitada de forma predeterminada, lo que oculta `/web-setup`. Un [Propietario](/docs/es/server-managed-settings#access-control) la activa con el interruptor **Configuración rápida de web** en [**Configuración de administrador > Claude Code**](https://claude.ai/admin-settings/claude-code).
329 55
330<Note>56<Note>
331 El tráfico del conector MCP se enruta a través de los servidores de Anthropic, por lo que los conectores que habilita en una sesión o rutina funcionan sin agregar sus hosts a **Dominios permitidos**. Los conectores se configuran por sesión o por rutina; elimine cualquiera que no necesite para limitar qué herramientas puede alcanzar Claude. Esto se basa en el mismo canal vinculado a Anthropic mencionado en [Seguridad y aislamiento](#security-and-isolation).57 Las organizaciones con [Retención de datos cero](/docs/es/zero-data-retention) habilitada no pueden usar `/web-setup` u otras características de sesión en la nube.
332</Note>58</Note>
333 59
334<h3 id="access-levels">
335 Niveles de acceso
336</h3>
337
338Elija un nivel de acceso cuando cree o edite un entorno:
339
340| Nivel | Conexiones salientes |
341| :---------------- | :------------------------------------------------------------------------------------------------------------------ |
342| **Ninguno** | Sin acceso a la red saliente |
343| **Confiable** | [Dominios en la lista de permitidos](#default-allowed-domains) solo: registros de paquetes, GitHub, SDKs en la nube |
344| **Completo** | Cualquier dominio |
345| **Personalizado** | Su propia lista de permitidos, opcionalmente incluyendo los predeterminados |
346
347Las operaciones de GitHub usan un [proxy separado](#github-proxy) que es independiente de esta configuración.
348
349<h3 id="allow-specific-domains">
350 Permita dominios específicos
351</h3>
352
353Para permitir dominios que no están en la lista Confiable, seleccione **Personalizado** en la configuración de acceso a la red del entorno. Aparece un campo **Dominios permitidos**. Ingrese un dominio por línea:
354
355```text theme={null}
356api.example.com
357*.internal.example.com
358registry.example.com
359```
360
361Use `*.` para coincidencia de subdominio comodín. Marque **También incluir lista predeterminada de administradores de paquetes comunes** para mantener los [dominios Confiables](#default-allowed-domains) junto con sus entradas personalizadas, o déjelo sin marcar para permitir solo lo que enumera.
362
363Los dominios permitidos se configuran por entorno. No hay una lista de permitidos a nivel de organización que los Propietarios puedan enviar a los entornos de todos los usuarios; la [configuración administrada por servidor](/docs/es/server-managed-settings) puede restringir sesiones en la nube pero no puede agregar dominios permitidos.
364
365<h3 id="github-proxy">
366 Proxy de GitHub
367</h3>
368
369Por seguridad, todas las operaciones de GitHub pasan a través de un servicio de proxy dedicado que mantiene sus credenciales reales de GitHub fuera del sandbox. El proxy autentica dos tipos de tráfico:
370
371* Interacciones de Git: el cliente de git dentro del sandbox usa una credencial de alcance personalizada, que el proxy verifica y traduce a su token de autenticación real de GitHub
372* Solicitudes de API de GitHub: el proxy sustituye sus credenciales reales en solicitudes de las herramientas de GitHub integradas, y de `gh` cuando su sesión establece el marcador de posición `proxy-injected` descrito en [Trabajar con problemas y solicitudes de extracción de GitHub](#work-with-github-issues-and-pull-requests)
373
374El proxy también restringe las operaciones de inserción de git a la rama de trabajo actual por seguridad, y permite operaciones de clonación, obtención y PR mientras mantiene límites de seguridad.
375
376El proxy limita las solicitudes de API de GitHub y de activos de lanzamiento a repositorios adjuntos a la sesión, independientemente del [nivel de acceso a la red](#access-levels) del entorno. Los scripts de configuración que descargan activos de lanzamiento de repositorios no adjuntos devuelven un 403. Los archivos confirmados de repositorios públicos se obtienen a través de `raw.githubusercontent.com`, que el [proxy de seguridad](#security-proxy) maneja en su lugar. Ese dominio está en la [lista Confiable](#default-allowed-domains) predeterminada, por lo que los archivos permanecen accesibles a menos que el [nivel de acceso](#access-levels) del entorno lo excluya.
377
378<h3 id="security-proxy">
379 Proxy de seguridad
380</h3>
381
382Los entornos se ejecutan detrás de un proxy de red HTTP/HTTPS para propósitos de seguridad y prevención de abuso. Todo el tráfico de Internet saliente pasa a través de este proxy, que proporciona:
383
384* Protección contra solicitudes maliciosas
385* Limitación de velocidad y prevención de abuso
386* Filtrado de contenido para mayor seguridad
387* Un registro de auditoría a nivel de DNS de los nombres de host solicitados
388
389<h3 id="default-allowed-domains">
390 Dominios permitidos predeterminados
391</h3>
392
393Cuando se usa acceso a la red **Confiable**, los siguientes dominios están permitidos de forma predeterminada. Los dominios marcados con `*` indican coincidencia de subdominio comodín, por lo que `*.gcr.io` permite cualquier subdominio de `gcr.io`.
394
395<AccordionGroup>
396 <Accordion title="Servicios Anthropic">
397 * api.anthropic.com
398 * statsig.anthropic.com
399 * docs.claude.com
400 * platform.claude.com
401 * code.claude.com
402 * claude.ai
403 </Accordion>
404
405 <Accordion title="Control de versiones">
406 * github.com
407 * [www.github.com](http://www.github.com)
408 * api.github.com
409 * npm.pkg.github.com
410 * raw\.githubusercontent.com
411 * pkg-npm.githubusercontent.com
412 * objects.githubusercontent.com
413 * release-assets.githubusercontent.com
414 * codeload.github.com
415 * avatars.githubusercontent.com
416 * camo.githubusercontent.com
417 * gist.github.com
418 * gitlab.com
419 * [www.gitlab.com](http://www.gitlab.com)
420 * registry.gitlab.com
421 * bitbucket.org
422 * [www.bitbucket.org](http://www.bitbucket.org)
423 * api.bitbucket.org
424 </Accordion>
425
426 <Accordion title="Registros de contenedores">
427 * registry-1.docker.io
428 * auth.docker.io
429 * index.docker.io
430 * hub.docker.com
431 * [www.docker.com](http://www.docker.com)
432 * production.cloudflare.docker.com
433 * download.docker.com
434 * gcr.io
435 * \*.gcr.io
436 * ghcr.io
437 * mcr.microsoft.com
438 * \*.data.mcr.microsoft.com
439 * public.ecr.aws
440 </Accordion>
441
442 <Accordion title="Plataformas en la nube">
443 * cloud.google.com
444 * accounts.google.com
445 * gcloud.google.com
446 * \*.googleapis.com
447 * storage.googleapis.com
448 * compute.googleapis.com
449 * container.googleapis.com
450 * azure.com
451 * portal.azure.com
452 * microsoft.com
453 * [www.microsoft.com](http://www.microsoft.com)
454 * \*.microsoftonline.com
455 * packages.microsoft.com
456 * dotnet.microsoft.com
457 * dot.net
458 * visualstudio.com
459 * dev.azure.com
460 * \*.amazonaws.com
461 * \*.api.aws
462 * oracle.com
463 * [www.oracle.com](http://www.oracle.com)
464 * java.com
465 * [www.java.com](http://www.java.com)
466 * java.net
467 * [www.java.net](http://www.java.net)
468 * download.oracle.com
469 * yum.oracle.com
470 </Accordion>
471
472 <Accordion title="Administradores de paquetes JavaScript y Node">
473 * registry.npmjs.org
474 * [www.npmjs.com](http://www.npmjs.com)
475 * [www.npmjs.org](http://www.npmjs.org)
476 * npmjs.com
477 * npmjs.org
478 * yarnpkg.com
479 * registry.yarnpkg.com
480 </Accordion>
481
482 <Accordion title="Administradores de paquetes Python">
483 * pypi.org
484 * [www.pypi.org](http://www.pypi.org)
485 * files.pythonhosted.org
486 * pythonhosted.org
487 * test.pypi.org
488 * pypi.python.org
489 * pypa.io
490 * [www.pypa.io](http://www.pypa.io)
491 </Accordion>
492
493 <Accordion title="Administradores de paquetes Ruby">
494 * rubygems.org
495 * [www.rubygems.org](http://www.rubygems.org)
496 * api.rubygems.org
497 * index.rubygems.org
498 * ruby-lang.org
499 * [www.ruby-lang.org](http://www.ruby-lang.org)
500 * rubyforge.org
501 * [www.rubyforge.org](http://www.rubyforge.org)
502 * rubyonrails.org
503 * [www.rubyonrails.org](http://www.rubyonrails.org)
504 * rvm.io
505 * get.rvm.io
506 </Accordion>
507
508 <Accordion title="Administradores de paquetes Rust">
509 * crates.io
510 * [www.crates.io](http://www.crates.io)
511 * index.crates.io
512 * static.crates.io
513 * rustup.rs
514 * static.rust-lang.org
515 * [www.rust-lang.org](http://www.rust-lang.org)
516 </Accordion>
517
518 <Accordion title="Administradores de paquetes Go">
519 * proxy.golang.org
520 * sum.golang.org
521 * index.golang.org
522 * golang.org
523 * [www.golang.org](http://www.golang.org)
524 * goproxy.io
525 * pkg.go.dev
526 </Accordion>
527
528 <Accordion title="Administradores de paquetes JVM">
529 * maven.org
530 * repo.maven.org
531 * central.maven.org
532 * repo1.maven.org
533 * repo.maven.apache.org
534 * jcenter.bintray.com
535 * gradle.org
536 * [www.gradle.org](http://www.gradle.org)
537 * services.gradle.org
538 * plugins.gradle.org
539 * kotlinlang.org
540 * [www.kotlinlang.org](http://www.kotlinlang.org)
541 * spring.io
542 * repo.spring.io
543 </Accordion>
544
545 <Accordion title="Otros administradores de paquetes">
546 * packagist.org (PHP Composer)
547 * [www.packagist.org](http://www.packagist.org)
548 * repo.packagist.org
549 * nuget.org (.NET NuGet)
550 * [www.nuget.org](http://www.nuget.org)
551 * api.nuget.org
552 * pub.dev (Dart/Flutter)
553 * api.pub.dev
554 * hex.pm (Elixir/Erlang)
555 * [www.hex.pm](http://www.hex.pm)
556 * cpan.org (Perl CPAN)
557 * [www.cpan.org](http://www.cpan.org)
558 * metacpan.org
559 * [www.metacpan.org](http://www.metacpan.org)
560 * api.metacpan.org
561 * cocoapods.org (iOS/macOS)
562 * [www.cocoapods.org](http://www.cocoapods.org)
563 * cdn.cocoapods.org
564 * haskell.org
565 * [www.haskell.org](http://www.haskell.org)
566 * hackage.haskell.org
567 * swift.org
568 * [www.swift.org](http://www.swift.org)
569 </Accordion>
570
571 <Accordion title="Distribuciones de Linux">
572 * archive.ubuntu.com
573 * security.ubuntu.com
574 * ubuntu.com
575 * [www.ubuntu.com](http://www.ubuntu.com)
576 * \*.ubuntu.com
577 * ppa.launchpad.net
578 * launchpad.net
579 * [www.launchpad.net](http://www.launchpad.net)
580 * \*.nixos.org
581 </Accordion>
582
583 <Accordion title="Herramientas de desarrollo y plataformas">
584 * dl.k8s.io (Kubernetes)
585 * pkgs.k8s.io
586 * k8s.io
587 * [www.k8s.io](http://www.k8s.io)
588 * releases.hashicorp.com (HashiCorp)
589 * apt.releases.hashicorp.com
590 * rpm.releases.hashicorp.com
591 * archive.releases.hashicorp.com
592 * hashicorp.com
593 * [www.hashicorp.com](http://www.hashicorp.com)
594 * repo.anaconda.com (Anaconda/Conda)
595 * conda.anaconda.org
596 * anaconda.org
597 * [www.anaconda.com](http://www.anaconda.com)
598 * anaconda.com
599 * continuum.io
600 * apache.org (Apache)
601 * [www.apache.org](http://www.apache.org)
602 * archive.apache.org
603 * downloads.apache.org
604 * eclipse.org (Eclipse)
605 * [www.eclipse.org](http://www.eclipse.org)
606 * download.eclipse.org
607 * nodejs.org (Node.js)
608 * [www.nodejs.org](http://www.nodejs.org)
609 * developer.apple.com
610 * developer.android.com
611 * pkg.stainless.com
612 * binaries.prisma.sh
613 </Accordion>
614
615 <Accordion title="Servicios en la nube y monitoreo">
616 * statsig.com
617 * [www.statsig.com](http://www.statsig.com)
618 * api.statsig.com
619 * sentry.io
620 * \*.sentry.io
621 * downloads.sentry-cdn.com
622 * http-intake.logs.datadoghq.com
623 * browser-intake-us5-datadoghq.com
624 * \*.datadoghq.com
625 * \*.datadoghq.eu
626 * api.honeycomb.io
627 </Accordion>
628
629 <Accordion title="Entrega de contenido y espejos">
630 * sourceforge.net
631 * \*.sourceforge.net
632 * packagecloud.io
633 * \*.packagecloud.io
634 * fonts.googleapis.com
635 * fonts.gstatic.com
636 </Accordion>
637
638 <Accordion title="Esquema y configuración">
639 * json-schema.org
640 * [www.json-schema.org](http://www.json-schema.org)
641 * json.schemastore.org
642 * [www.schemastore.org](http://www.schemastore.org)
643 </Accordion>
644
645 <Accordion title="Protocolo de contexto de modelo">
646 * \*.modelcontextprotocol.io
647 </Accordion>
648</AccordionGroup>
649
650<h2 id="move-tasks-between-web-and-terminal">60<h2 id="move-tasks-between-web-and-terminal">
651 Mover tareas entre web y terminal61 Mover tareas entre web y terminal
652</h2>62</h2>
654Estos flujos de trabajo requieren la [CLI de Claude Code](/docs/es/quickstart) conectada a la misma cuenta de claude.ai. Puede iniciar nuevas sesiones en la nube desde su terminal, o extraer sesiones en la nube en su terminal para continuar localmente. Las sesiones en la nube persisten incluso si cierra su portátil, y puede monitorearlas desde cualquier lugar, incluyendo la aplicación móvil Claude.64Estos flujos de trabajo requieren la [CLI de Claude Code](/docs/es/quickstart) conectada a la misma cuenta de claude.ai. Puede iniciar nuevas sesiones en la nube desde su terminal, o extraer sesiones en la nube en su terminal para continuar localmente. Las sesiones en la nube persisten incluso si cierra su portátil, y puede monitorearlas desde cualquier lugar, incluyendo la aplicación móvil Claude.
655 65
656<Note>66<Note>
657 Desde la CLI, la transferencia de sesión es unidireccional: puede extraer sesiones en la nube en su terminal con `--teleport`, pero no puede insertar una sesión de terminal existente en la web. La bandera `--cloud` crea una nueva sesión en la nube para su repositorio actual. La [aplicación de escritorio](/docs/es/desktop#continue-in-another-surface) proporciona un menú Continuar en que puede enviar una sesión local a la web.67 Desde la CLI, la transferencia de sesión es unidireccional: puede extraer sesiones en la nube en su terminal con `--teleport`, pero no puede insertar una sesión de terminal existente en la web. La bandera `--cloud` con una descripción de tarea crea una nueva sesión en la nube para su repositorio actual; con `-p` y un ID de sesión o URL de claude.ai/code, en su lugar [pone en cola un mensaje en esa sesión existente](/docs/es/claude-code-on-the-web#send-follow-ups-from-the-cli). La [aplicación de escritorio](/docs/es/desktop#continue-in-another-surface) proporciona un menú Continuar en que puede enviar una sesión local a la web.
658</Note>68</Note>
659 69
660<h3 id="from-terminal-to-web">70<h3 id="from-terminal-to-web">
667claude --cloud "Fix the authentication bug in src/auth/login.ts"77claude --cloud "Fix the authentication bug in src/auth/login.ts"
668```78```
669 79
670Esto crea una nueva sesión en la nube en claude.ai. La sesión clona el remoto de GitHub de su directorio actual en su rama actual, por lo que inserte primero si tiene confirmaciones locales, ya que la VM clona desde GitHub en lugar de su máquina. `--cloud` funciona con un único repositorio a la vez. La tarea se ejecuta en la nube mientras continúa trabajando localmente. La ortografía anterior `--remote` aún funciona como un alias deprecado para `--cloud`.80Esto crea una nueva sesión en la nube en claude.ai. La VM en la nube clona el remoto de GitHub de su directorio actual en su rama actual, no su desprotección local, así que inserte primero si tiene confirmaciones locales. Consulte [Envíe repositorios locales sin GitHub](#send-local-repositories-without-github) para los casos en los que Claude Code carga su repositorio local en lugar de clonar.
81
82`--cloud` funciona con un único repositorio a la vez. La tarea se ejecuta en la nube mientras continúa trabajando localmente. La ortografía anterior `--remote` aún funciona como un alias deprecado para `--cloud`.
671 83
672A partir de v2.1.195, la CLI muestra una lista de verificación en vivo de pasos de configuración, como clonar el repositorio y ejecutar su [script de configuración](#setup-scripts), mientras se inicia el contenedor en la nube. Los mensajes que escribe mientras se aprovisiona el contenedor se ponen en cola y se envían una vez que la sesión está lista.84Mientras se inicia el contenedor en la nube, la CLI muestra una lista de verificación en vivo de pasos de configuración, como clonar el repositorio y ejecutar su [script de configuración](/docs/es/cloud-environments#setup-scripts). Pone en cola los mensajes que escribe durante el aprovisionamiento y los envía una vez que la sesión está lista.
673 85
674<Note>86<Note>
675 `--cloud` crea sesiones en la nube. `--remote-control` no está relacionado: expone una sesión de CLI local para monitoreo desde la web. Consulte [Control Remoto](/docs/es/remote-control).87 `--cloud` crea sesiones en la nube. `--remote-control` no está relacionado: expone una sesión de CLI local para monitoreo desde la web. Consulte [Control Remoto](/docs/es/remote-control).
677 89
678Use `/tasks` en la CLI de Claude Code para verificar el progreso, o abra la sesión en claude.ai o la aplicación móvil Claude para interactuar directamente. Desde allí puede dirigir Claude, proporcionar retroalimentación o responder preguntas como en cualquier otra conversación.90Use `/tasks` en la CLI de Claude Code para verificar el progreso, o abra la sesión en claude.ai o la aplicación móvil Claude para interactuar directamente. Desde allí puede dirigir Claude, proporcionar retroalimentación o responder preguntas como en cualquier otra conversación.
679 91
92Si Claude hace una pregunta y la sesión permanece inactiva, aún puede responder cuando regrese, hasta [vencimiento del entorno](#environment-expired), y la sesión continúa desde su respuesta.
93
680<h4 id="tips-for-cloud-tasks">94<h4 id="tips-for-cloud-tasks">
681 Consejos para tareas en la nube95 Consejos para tareas en la nube
682</h4>96</h4>
693claude --cloud "Execute the migration plan in docs/migration-plan.md"107claude --cloud "Execute the migration plan in docs/migration-plan.md"
694```108```
695 109
696Este patrón le da control sobre la estrategia mientras permite que Claude ejecute de forma autónoma en la nube.
697
698**Planifique en la nube con ultraplan**: para redactar y revisar el plan en una sesión web, use [ultraplan](/docs/es/ultraplan). Claude genera el plan en Claude Code en la web mientras continúa trabajando, luego comenta sobre secciones en su navegador y elige ejecutar remotamente o enviar el plan de vuelta a su terminal.
699
700**Ejecute tareas en paralelo**: cada comando `--cloud` crea su propia sesión en la nube que se ejecuta de forma independiente. Puede iniciar múltiples tareas y todas se ejecutarán simultáneamente en sesiones separadas:110**Ejecute tareas en paralelo**: cada comando `--cloud` crea su propia sesión en la nube que se ejecuta de forma independiente. Puede iniciar múltiples tareas y todas se ejecutarán simultáneamente en sesiones separadas:
701 111
702```bash theme={null}112```bash theme={null}
711 Envíe repositorios locales sin GitHub121 Envíe repositorios locales sin GitHub
712</h4>122</h4>
713 123
714Cuando ejecuta `claude --cloud` desde un repositorio que no está conectado a GitHub, Claude Code agrupa su repositorio local y lo carga directamente a la sesión en la nube. El paquete incluye su historial de repositorio completo en todas las ramas, más cualquier cambio sin confirmar en archivos rastreados.124Cuando ejecuta `claude --cloud` desde un repositorio que no tiene un remoto de git, o desde un repositorio de github.com en el que no está instalada la aplicación Claude GitHub, Claude Code agrupa su repositorio local y lo carga directamente a la sesión en la nube. Esto se aplica incluso si conectó GitHub con `/web-setup`. El paquete incluye su historial de repositorio completo en todas las ramas, más cambios sin confirmar en archivos rastreados.
715 125
716Este respaldo se activa automáticamente cuando el acceso a GitHub no está disponible. Para forzarlo incluso cuando GitHub está conectado, establezca `CCR_FORCE_BUNDLE=1`:126En macOS, Linux y WSL, Claude Code deja fuera de la carga cambios sin confirmar en archivos nombrados como credenciales o claves, y nombra los archivos que dejó fuera. Esto cubre archivos `.env`, archivos `*.tfvars` de Terraform y archivos de claves como `id_rsa` y `*.pem`. La sesión comienza con la versión confirmada de cada uno, o sin el archivo si ninguno está confirmado. En un worktree vinculado, submódulo o diseño similar, Claude Code carga estos cambios con el resto y nombra los archivos que carga.
127
128Para cargar un paquete incluso cuando Claude Code de otro modo clonaría desde el remoto, establezca `CCR_FORCE_BUNDLE=1`:
717 129
718```bash theme={null}130```bash theme={null}
719CCR_FORCE_BUNDLE=1 claude --cloud "Run the test suite and fix any failures"131CCR_FORCE_BUNDLE=1 claude --cloud "Run the test suite and fix any failures"
724* El directorio debe ser un repositorio de git con al menos una confirmación136* El directorio debe ser un repositorio de git con al menos una confirmación
725* El repositorio agrupado debe ser menor de 100 MB. Los repositorios más grandes se replieguen a agrupar solo la rama actual, luego a una instantánea única comprimida del árbol de trabajo, y fallan solo si la instantánea aún es demasiado grande137* El repositorio agrupado debe ser menor de 100 MB. Los repositorios más grandes se replieguen a agrupar solo la rama actual, luego a una instantánea única comprimida del árbol de trabajo, y fallan solo si la instantánea aún es demasiado grande
726* Los archivos sin rastrear no se incluyen; ejecute `git add` en archivos que desea que la sesión en la nube vea138* Los archivos sin rastrear no se incluyen; ejecute `git add` en archivos que desea que la sesión en la nube vea
727* Las sesiones creadas desde un paquete no pueden insertar de vuelta a un remoto a menos que también tenga [autenticación de GitHub](#github-authentication-options) configurada139* Las sesiones creadas desde un paquete pueden insertar de vuelta a un remoto de GitHub solo cuando su [conexión de GitHub](#github-authentication-options) tiene acceso de inserción a ese repositorio
140
141<h3 id="send-follow-ups-from-the-cli">
142 Envíe seguimientos desde la CLI
143</h3>
144
145Una vez que una sesión en la nube se está ejecutando, dondequiera que se ejecute, envíele un mensaje de seguimiento desde la CLI `claude` en cualquier máquina donde esté conectado con `claude auth login`. La CLI se autentica con sus credenciales de cuenta de Anthropic y no envía estado de sesión local, por lo que el comando no necesita ejecutarse desde la máquina que inició la sesión, y es igual en cada shell, incluyendo PowerShell.
146
147El comando publica un mensaje y sale:
148
149```bash theme={null}
150claude -p "your message" --cloud <session-id>
151```
152
153La CLI pone en cola el mensaje en la sesión y sale sin esperar una respuesta. Úselo para dirigir una sesión de larga duración, poner en cola el siguiente paso mientras el actual aún se está terminando, o enviar seguimientos desde un [script de CI](/docs/es/self-hosted-environments-testing#run-the-test-loop). También puede canalizar el mensaje en stdin en lugar de pasarlo como argumento: `echo "your message" | claude -p --cloud <session-id>`.
154
155Para `<session-id>`, pase el ID desnudo, como `session_...` o `cse_...`, o la URL `claude.ai/code/<id>` de la sesión, con o sin el esquema o cadena de consulta. Encuentre el ID en su lista de sesiones en claude.ai/code.
156
157<Note>
158 `--cloud` requiere una cuenta de Anthropic. No está disponible cuando Claude Code está configurado para Amazon Bedrock, Google Cloud's Agent Platform u otro proveedor de terceros. Una [puerta de enlace LLM](/docs/es/llm-gateway) configurada solo a través de `ANTHROPIC_BASE_URL` no cuenta como proveedor de terceros para esta verificación, pero aún necesita iniciar sesión con `claude auth login`. La política `allow_remote_sessions` de su organización también debe estar habilitada. Un Propietario puede activarla en la configuración de administrador de Claude Code en claude.ai/admin-settings/claude-code.
159</Note>
160
161<h4 id="output-and-errors">
162 Salida y errores
163</h4>
164
165En caso de éxito, el comando imprime el ID de sesión y un enlace para ver la sesión:
166
167```
168Sent to cloud session.
169Session ID: session_01DiUkqY2kzbUbDmW1w96rfi
170View: https://claude.ai/code/session_01DiUkqY2kzbUbDmW1w96rfi?from=cli&m=0
171```
172
173Pase `--output-format json` para un resultado legible por máquina: `{ok, session_id, url}` en caso de éxito, o `{ok: false, session_id, error}` cuando el envío falla, por ejemplo cuando falta la sesión o está archivada. Los errores de configuración, como un proveedor no compatible o una política de organización deshabilitada, se imprimen en stderr sin JSON. `--output-format stream-json` no es compatible con `--cloud <session-id>`.
174
175La CLI prefija los errores con `Error: `. Una entrega fallida se envuelve como `failed to send message to cloud session <id>: <reason>`.
176
177| Mensaje | Qué significa |
178| --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
179| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code está configurado para un proveedor de terceros. El mensaje nombra el proveedor con la etiqueta que usa su configuración, como `Amazon Bedrock` o `Google Vertex AI`. Elimine la configuración de ese proveedor, por ejemplo desestableciendo `CLAUDE_CODE_USE_BEDROCK`, e inicie sesión con una cuenta de Anthropic (`claude auth login`). |
180| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | La política de organización `allow_remote_sessions` está deshabilitada. |
181| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code no pudo obtener la política de su organización, por lo que rechaza el envío en lugar de asumir que las sesiones en la nube están permitidas. Verifique su conexión de red e intente de nuevo. |
182| `Attaching to an existing cloud session is not enabled for your account.` | Ejecutó `--cloud <session-id>` sin `-p`. Envíe el mensaje con `claude -p "your message" --cloud <session-id>`. |
183| `Session not found: <id>` | El ID o URL no coincide con una sesión a la que pueda acceder. Verifíquelo contra la URL de claude.ai/code de la sesión. |
184| `cloud session <id> is archived and cannot accept new messages` | La sesión ha sido archivada. Inicie una nueva sesión en su lugar. |
728 185
729<h3 id="from-web-to-terminal">186<h3 id="from-web-to-terminal">
730 De web a terminal187 De web a terminal
735* **Usando `--teleport`**: desde la línea de comandos, ejecute `claude --teleport` para un selector de sesión interactivo, o `claude --teleport <session-id>` para reanudar una sesión específica directamente. Si tiene cambios sin confirmar, se le pedirá que los guarde primero.192* **Usando `--teleport`**: desde la línea de comandos, ejecute `claude --teleport` para un selector de sesión interactivo, o `claude --teleport <session-id>` para reanudar una sesión específica directamente. Si tiene cambios sin confirmar, se le pedirá que los guarde primero.
736* **Usando `/teleport`**: dentro de una sesión de CLI existente, ejecute `/teleport` o `/tp` para abrir el mismo selector de sesión sin reiniciar Claude Code.193* **Usando `/teleport`**: dentro de una sesión de CLI existente, ejecute `/teleport` o `/tp` para abrir el mismo selector de sesión sin reiniciar Claude Code.
737* **Desde `/tasks`**: ejecute `/tasks` para ver sus sesiones de fondo, luego presione `t` para teleportarse a una.194* **Desde `/tasks`**: ejecute `/tasks` para ver sus sesiones de fondo, luego presione `t` para teleportarse a una.
738* **Desde la interfaz web**: seleccione **Abrir en CLI** para copiar un comando que puede pegar en su terminal.195* **Desde la interfaz web**: seleccione **Abrir en > Terminal** desde el menú de sesión para copiar un comando que puede pegar en su terminal.
196* **Desde dentro de la sesión en la nube**: escriba `/teleport` y Claude Code responde con el comando exacto `claude --teleport <session-id>` para esa sesión, listo para ejecutar desde una desprotección del repositorio. Requiere Claude Code v2.1.223 o posterior en el entorno de la sesión.
739 197
740Cuando teleporta una sesión, Claude verifica que esté en el repositorio correcto, obtiene y verifica la rama de la sesión en la nube, y carga el historial de conversación completo en su terminal.198Cuando teleporta una sesión, Claude verifica que esté en el repositorio correcto, obtiene y verifica la rama de la sesión en la nube, y carga el historial de conversación completo en su terminal. La terminal obtiene su propia copia de la sesión: el nuevo trabajo allí permanece local y no aparece en la sesión en la nube en claude.ai o la aplicación móvil Claude. Para continuar dirigiendo desde su teléfono después de teleportar, inicie [`/remote-control`](/docs/es/remote-control) en la sesión local.
741 199
742`--teleport` es distinto de `--resume`. `--resume` reabre una conversación del historial local de esta máquina y no enumera sesiones en la nube; `--teleport` extrae una sesión en la nube y su rama.200`--teleport` es distinto de `--resume`. `--resume` reabre una conversación del historial local de esta máquina y no enumera sesiones en la nube; `--teleport` extrae una sesión en la nube y su rama.
743 201
748Teleport verifica estos requisitos antes de reanudar una sesión. Si algún requisito no se cumple, verá un error o se le pedirá que resuelva el problema.206Teleport verifica estos requisitos antes de reanudar una sesión. Si algún requisito no se cumple, verá un error o se le pedirá que resuelva el problema.
749 207
750| Requisito | Detalles |208| Requisito | Detalles |
751| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |209| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
752| Estado de git limpio | Su directorio de trabajo no debe tener cambios sin confirmar. Teleport le pide que guarde los cambios si es necesario. |210| Estado de git limpio | Su directorio de trabajo no debe tener cambios sin confirmar. Teleport le pide que guarde los cambios si es necesario. |
753| Repositorio correcto | Debe ejecutar `--teleport` desde una desprotección del mismo repositorio, no desde una bifurcación. A partir de v2.1.199, Claude Code acepta una desprotección incluso cuando no puede analizar el remoto en un nombre de host, como un alias de host SSH como `git@work:owner/repo.git` o una forma corta reescrita por `insteadOf`. Muestra un mensaje de confirmación primero, y solo cuando el propietario del remoto y el nombre del repositorio coinciden con el repositorio de la sesión. |211| Repositorio correcto | Debe ejecutar `--teleport` desde una desprotección del mismo repositorio, no desde una bifurcación. Si lo ejecuta desde una desprotección de un repositorio diferente, Claude Code muestra un error que nombra tanto el repositorio de la sesión como su desprotección. Si Claude Code no puede analizar su remoto en un nombre de host, por ejemplo un alias de host SSH como `git@work:owner/repo.git`, le pide que confirme, y acepta la desprotección cuando el propietario del remoto y el nombre del repositorio coinciden con el repositorio de la sesión. |
754| Rama disponible | La rama de la sesión en la nube debe haber sido insertada en el remoto. Teleport la obtiene y verifica automáticamente. |212| Rama disponible | La rama de la sesión en la nube debe haber sido insertada en el remoto. Teleport la obtiene y verifica automáticamente. |
755| Misma cuenta | Debe estar autenticado en la misma cuenta de claude.ai utilizada en la sesión en la nube. |213| Misma cuenta | Debe estar autenticado en la misma cuenta de claude.ai utilizada en la sesión en la nube. |
756 214
758 `--teleport` no está disponible216 `--teleport` no está disponible
759</h4>217</h4>
760 218
761Teleport requiere autenticación de suscripción de claude.ai. Si está autenticado a través de clave de API, Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry, ejecute `/login` para iniciar sesión con su cuenta de claude.ai en su lugar. Si ya está conectado a través de claude.ai y `--teleport` aún no está disponible, su organización puede haber deshabilitado sesiones en la nube.219Teleport requiere autenticación de suscripción de claude.ai. Si está autenticado a través de clave de API, ejecute `/login` para iniciar sesión con su cuenta de claude.ai en su lugar. Si el error nombra su proveedor en su lugar, las sesiones en la nube no están disponibles a través de proveedores de terceros; consulte la [tabla de errores](#output-and-errors). Si ya está conectado a través de claude.ai y `--teleport` aún no está disponible, su organización puede haber deshabilitado sesiones en la nube.
762 220
763<h2 id="work-with-sessions">221<h2 id="work-with-sessions">
764 Trabajar con sesiones222 Trabajar con sesiones
765</h2>223</h2>
766 224
767Las sesiones aparecen en la barra lateral en claude.ai/code. Desde allí puede revisar cambios, compartir con compañeros de equipo, archivar trabajo terminado o eliminar sesiones permanentemente.225Las sesiones aparecen en la barra lateral en claude.ai/code. Desde allí puede revisar cambios, compartir con compañeros de equipo, archivar trabajo terminado o eliminar sesiones de forma permanente.
768 226
769<h3 id="manage-context">227<h3 id="manage-context">
770 Administrar contexto228 Gestionar contexto
771</h3>229</h3>
772 230
773Las sesiones en la nube admiten [comandos integrados](/docs/es/commands) que producen salida de texto. Los comandos que solo se ejecutan en la interfaz de terminal, como `/plugin` o `/resume`, no están disponibles. Los comandos que abren un selector o panel en la terminal se comportan de manera diferente en sesiones en la nube:231Las sesiones en la nube admiten [comandos integrados](/docs/es/commands) que producen salida de texto. Los comandos que solo se ejecutan en la interfaz de terminal, como `/plugin` o `/resume`, no están disponibles. Los comandos que abren un selector o panel en el terminal se comportan de manera diferente en sesiones en la nube:
774 232
775* **`/model`, `/effort`, `/fast`, `/color` y `/rename`**: pase el valor como argumento, por ejemplo `/model sonnet`, en lugar de abrir el selector de terminal o el control deslizante. Los formularios de argumento requieren Claude Code v2.1.205 o posterior en el entorno de la sesión y siguen las [notas de disponibilidad](/docs/es/commands#all-commands) de cada comando: `/effort` reporta `Not applied` mientras que el [esfuerzo predeterminado de lanzamiento](/docs/es/model-config#adjust-effort-level) de un modelo está en vigor, y `/fast` funciona solo en una sesión que comenzó con el modo rápido activado.233* **`/model`, `/effort`, `/fast`, `/color` y `/rename`**: pase el valor como argumento, por ejemplo `/model sonnet`, en lugar de abrir el selector de terminal o el control deslizante. Los formularios de argumento requieren Claude Code v2.1.205 o posterior en el entorno de la sesión y siguen las [notas de disponibilidad](/docs/es/commands#all-commands) de cada comando: `/effort` reporta `Not applied` mientras que el [lanzamiento de nivel de esfuerzo predeterminado](/docs/es/model-config#adjust-effort-level) de un modelo está en vigor, y `/fast` funciona solo en una sesión que comenzó con el modo rápido activado.
776* **`/config`**: en la web, abre la sección Claude Code de su configuración en lugar de establecer un valor, y el texto después del comando, incluyendo `key=value`, se ignora. Para cambiar la configuración de una sesión en la nube, use [variables de entorno](#configure-your-environment) o confirme [archivos de configuración](/docs/es/settings) en el repositorio.234* **`/config`**: en la web, abre la sección Claude Code de su configuración en lugar de establecer un valor, y el texto después del comando, incluido `key=value`, se ignora. Para cambiar la configuración de una sesión en la nube, use [variables de entorno](/docs/es/cloud-environments#set-environment-variables) o confirme [archivos de configuración](/docs/es/settings) en el repositorio.
777 235
778Para administración de contexto específicamente:236Para la gestión de contexto específicamente:
779 237
780| Comando | Funciona en sesiones en la nube | Notas |238| Comando | Funciona en sesiones en la nube | Notas |
781| :--------- | :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------- |239| :--------- | :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------- |
782| `/compact` | Sí | Resume la conversación para liberar contexto. Acepta instrucciones de enfoque opcionales como `/compact keep the test output` |240| `/compact` | Sí | Resume la conversación para liberar contexto. Acepta instrucciones de enfoque opcionales como `/compact keep the test output` |
783| `/context` | Sí | Muestra qué está actualmente en la ventana de contexto |241| `/context` | Sí | Muestra lo que está actualmente en la ventana de contexto |
784| `/clear` | No | Inicie una nueva sesión desde la barra lateral en su lugar |242| `/clear` | No | Inicie una nueva sesión desde la barra lateral en su lugar |
785 243
786La compactación automática se ejecuta automáticamente cuando la ventana de contexto se acerca a la capacidad. Para activarla antes, establezca [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/es/env-vars) en sus [variables de entorno](#configure-your-environment). Por ejemplo, `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` compacta al 70% de capacidad en lugar de esperar hasta que la ventana esté casi llena. Para cambiar el tamaño de ventana efectivo para cálculos de compactación, use [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/es/env-vars).244La compactación automática se ejecuta automáticamente cuando la ventana de contexto se aproxima a la capacidad. Claude Code en la web establece [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/es/env-vars) en sesiones en la nube por sí mismo, por lo que la compactación se activa a mitad de la [ventana de compactación automática](/docs/es/model-config#set-the-auto-compact-window) en lugar de cuando la ventana se llena. Ese valor anula uno que agregue en sus [variables de entorno](/docs/es/cloud-environments#set-environment-variables), por lo que agregar la variable allí no cambia cuándo se activa la compactación.
787 245
788Los [subagentes](/docs/es/sub-agents) funcionan de la misma manera que lo hacen localmente. Claude puede generarlos con la herramienta Task para descargar investigación o trabajo paralelo en una ventana de contexto separada, manteniendo la conversación principal más ligera. Los subagentes definidos en su `.claude/agents/` del repositorio se recogen automáticamente.246Para cambiar la ventana de compactación automática en su lugar, establezca [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/es/env-vars) en sus variables de entorno, o ejecute [`/autocompact`](/docs/es/commands#all-commands) con un recuento de tokens en una sesión donde la variable no está establecida.
789 247
790Los [equipos de agentes](/docs/es/agent-teams) están deshabilitados de forma predeterminada pero se pueden habilitar agregando `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` a sus [variables de entorno](#configure-your-environment).248Los [subagentes](/docs/es/sub-agents) funcionan de la misma manera que lo hacen localmente. Claude puede generarlos con la herramienta Agent para descargar investigación o trabajo paralelo en una ventana de contexto separada, manteniendo la conversación principal más ligera. Los subagentes definidos en `.claude/agents/` de su repositorio se recogen automáticamente.
249
250Los [equipos de agentes](/docs/es/agent-teams) están desactivados de forma predeterminada pero se pueden habilitar agregando `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` a sus [variables de entorno](/docs/es/cloud-environments#set-environment-variables).
251
252<h3 id="permission-modes-in-cloud-sessions">
253 Modos de permiso en sesiones en la nube
254</h3>
255
256Elige el [modo de permiso](/docs/es/permission-modes) de una sesión en la nube desde el [menú desplegable de modo](/docs/es/permission-modes#switch-permission-modes), tanto cuando crea la tarea como mientras se ejecuta la sesión. Cuando reabre una sesión cuyo [entorno alojado por Anthropic ha expirado](#environment-expired), o envía un mensaje a una sesión que un ejecutor autohospedado [liberó mientras estaba inactivo](/docs/es/self-hosted-environments-reference#runner-cli-flags), Claude Code reanuda la sesión en el modo de permiso en el que estaba.
791 257
792<h3 id="review-changes">258<h3 id="review-changes">
793 Revisar cambios259 Revisar cambios
794</h3>260</h3>
795 261
796Cada sesión muestra un indicador de diferencias con líneas agregadas y eliminadas, como `+42 -18`. Selecciónelo para abrir la vista de diferencias, deje comentarios en línea en líneas específicas y envíelos a Claude con su siguiente mensaje. Consulte [Revisar e iterar](/docs/es/web-quickstart#review-and-iterate) para el tutorial completo incluyendo creación de PR. Para que Claude monitoree la PR para fallos de CI y comentarios de revisión automáticamente, consulte [Correcciones automáticas de solicitudes de extracción](#auto-fix-pull-requests).262Cada sesión muestra un indicador de diferencia con líneas agregadas y eliminadas, como `+42 -18`. Selecciónelo para abrir la vista de diferencia, dejar comentarios en línea en líneas específicas y enviarlos a Claude con su próximo mensaje.
263
264Claude Code calcula estas diferencias, incluidas las diferencias por archivo mostradas mientras Claude edita, a partir del contenido de blob de git sin procesar, por lo que los controladores de diferencia y los filtros `textconv` configurados en el repositorio no se aplican. Para un archivo en un repositorio que no es uno de los propios checkouts de la sesión, como uno clonado dentro del espacio de trabajo durante la sesión, la diferencia por archivo muestra la edición de Claude en sí misma en lugar de una comparación de git.
265
266Consulte [Revisar e iterar](/docs/es/web-quickstart#review-and-iterate) para el tutorial completo que incluye la creación de PR. Para que Claude monitoree automáticamente el PR para detectar fallos de CI y comentarios de revisión, consulte [Corregir automáticamente solicitudes de extracción](#auto-fix-pull-requests).
797 267
798<h3 id="share-sessions">268<h3 id="share-sessions">
799 Compartir sesiones269 Compartir sesiones
800</h3>270</h3>
801 271
802Para compartir una sesión, alterne su visibilidad según los tipos de cuenta a continuación. Después de eso, comparta el enlace de sesión tal como está. Los destinatarios ven el estado más reciente cuando abren el enlace, pero su vista no se actualiza en tiempo real.272Para compartir una sesión, alterne su visibilidad de acuerdo con los tipos de cuenta a continuación. Después de eso, comparta el enlace de sesión tal como está. Los destinatarios ven el estado más reciente cuando abren el enlace, pero su vista no se actualiza en tiempo real.
803 273
804<h4 id="share-from-an-enterprise-or-team-account">274<h4 id="share-from-an-enterprise-or-team-account">
805 Compartir desde una cuenta Enterprise o Team275 Compartir desde una cuenta Enterprise o Team
806</h4>276</h4>
807 277
808Para cuentas Enterprise y Team, las dos opciones de visibilidad son **Privada** y **Team**. La visibilidad de Team hace que la sesión sea visible para otros miembros de su organización de claude.ai. Las sesiones de [Claude en Slack](/docs/es/slack) se comparten automáticamente con visibilidad de Team.278Para cuentas Enterprise y Team, las dos opciones de visibilidad son **Private** y **Team**. La visibilidad de Team hace que la sesión sea visible para otros miembros de su organización claude.ai. Las sesiones de [Claude en Slack](/docs/es/slack) se comparten automáticamente con visibilidad de Team.
809 279
810La verificación de acceso al repositorio está habilitada de forma predeterminada, según la cuenta de GitHub conectada a la cuenta del destinatario. El nombre para mostrar de su cuenta es visible para todos los destinatarios con acceso.280La verificación de acceso al repositorio está habilitada de forma predeterminada, según la cuenta de GitHub conectada a la cuenta del destinatario. El nombre para mostrar de su cuenta es visible para todos los destinatarios con acceso.
811 281
813 Compartir desde una cuenta Max o Pro283 Compartir desde una cuenta Max o Pro
814</h4>284</h4>
815 285
816Para cuentas Max y Pro, las dos opciones de visibilidad son **Privada** y **Pública**. La visibilidad pública hace que la sesión sea visible para cualquier usuario que haya iniciado sesión en claude.ai.286Para cuentas Max y Pro, las dos opciones de visibilidad son **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.
817 287
818Verifique su sesión para contenido sensible antes de compartir. Las sesiones pueden contener código y credenciales de repositorios privados de GitHub. La verificación de acceso al repositorio no está habilitada de forma predeterminada.288Verifique su sesión para detectar contenido sensible antes de compartir. Las sesiones pueden contener código y credenciales de repositorios privados de GitHub. La verificación de acceso al repositorio no está habilitada de forma predeterminada.
819 289
820Para requerir que los destinatarios tengan acceso al repositorio, o para ocultar su nombre de sesiones compartidas, vaya a Configuración > Claude Code > Configuración de uso compartido.290Para requerir que los destinatarios tengan acceso al repositorio, u ocultar su nombre de sesiones compartidas, vaya a [**Settings > Claude Code > Sharing settings**](https://claude.ai/settings/claude-code).
821 291
822<h3 id="archive-sessions">292<h3 id="archive-sessions">
823 Archivar sesiones293 Archivar sesiones
834Eliminar una sesión elimina permanentemente la sesión y sus datos. Esta acción no se puede deshacer. Puede eliminar una sesión de dos formas:304Eliminar una sesión elimina permanentemente la sesión y sus datos. Esta acción no se puede deshacer. Puede eliminar una sesión de dos formas:
835 305
836* **Desde la barra lateral**: filtre sesiones archivadas, luego pase el cursor sobre la sesión que desea eliminar y seleccione el icono de eliminar306* **Desde la barra lateral**: filtre sesiones archivadas, luego pase el cursor sobre la sesión que desea eliminar y seleccione el icono de eliminar
837* **Desde el menú de sesión**: abra una sesión, seleccione el menú desplegable junto al título de la sesión y seleccione **Eliminar**307* **Desde el menú de sesión**: abra una sesión, seleccione el menú desplegable junto al título de la sesión y seleccione **Delete**
838 308
839Se le pedirá que confirme antes de que se elimine una sesión.309Se le pedirá que confirme antes de que se elimine una sesión.
840 310
845Claude puede observar una solicitud de extracción y responder automáticamente a fallos de CI y comentarios de revisión. Claude se suscribe a la actividad de GitHub en la PR, y cuando falla una verificación o un revisor deja un comentario, Claude investiga e inserta una corrección si es clara.315Claude puede observar una solicitud de extracción y responder automáticamente a fallos de CI y comentarios de revisión. Claude se suscribe a la actividad de GitHub en la PR, y cuando falla una verificación o un revisor deja un comentario, Claude investiga e inserta una corrección si es clara.
846 316
847<Note>317<Note>
848 Las correcciones automáticas requieren que la aplicación Claude GitHub esté instalada en su repositorio. Si aún no lo ha hecho, instálela desde la [página de la aplicación GitHub](https://github.com/apps/claude) o cuando se le solicite durante la [configuración](/docs/es/web-quickstart#connect-github-and-create-an-environment).318 Las correcciones automáticas requieren que la aplicación Claude GitHub esté instalada en su repositorio. Si aún no lo ha hecho, instálela desde la [página de la aplicación GitHub](https://github.com/apps/claude).
849</Note>319</Note>
850 320
851Hay algunas formas de activar correcciones automáticas dependiendo de dónde provenga la PR y qué dispositivo esté usando:321Hay algunas formas de activar correcciones automáticas dependiendo de dónde provenga la PR y qué dispositivo esté usando:
881 351
882Cada sesión en la nube se separa de su máquina y de otras sesiones a través de varias capas:352Cada sesión en la nube se separa de su máquina y de otras sesiones a través de varias capas:
883 353
884* **Máquinas virtuales aisladas**: cada sesión se ejecuta en una VM aislada administrada por Anthropic354* **Máquinas virtuales aisladas**: cada sesión se ejecuta en una VM aislada administrada por Anthropic. Las sesiones que su organización enruta a un [entorno autohospedado](/docs/es/self-hosted-environments) se ejecutan en su propia infraestructura en su lugar, donde el aislamiento es responsabilidad de su implementación
885* **Controles de acceso a la red**: el acceso a la red se limita de forma predeterminada y puede deshabilitarse. Cuando se ejecuta con acceso a la red deshabilitado, Claude Code aún puede comunicarse con la API de Anthropic, lo que puede permitir que los datos salgan de la VM.355* <span id="default-allowed-domains" />**Controles de acceso a la red**: en entornos alojados por Anthropic, el acceso a la red se limita de forma predeterminada y puede deshabilitarse. Consulte [Acceso a la red](/docs/es/cloud-environments#network-access) para los niveles de acceso, los [dominios permitidos predeterminados](/docs/es/cloud-environments#default-allowed-domains) y el tráfico que no pasa por la lista de permitidos. En un entorno autohospedado, usted restringe la salida de la sesión en su propio límite de red. Cuando se ejecuta con acceso a la red deshabilitado, Claude Code aún puede comunicarse con la API de Anthropic, lo que puede permitir que los datos salgan de la VM.
886* **Protección de credenciales**: las credenciales sensibles como credenciales de git o claves de firma nunca están dentro del sandbox con Claude Code. La autenticación se maneja a través de un proxy seguro usando credenciales de alcance.356* **Protección de credenciales**: en entornos alojados por Anthropic, las credenciales de git y las claves de firma permanecen fuera del sandbox, y un proxy se autentica en nombre de la sesión con credenciales de alcance. En un entorno autohospedado, su implementación proporciona credenciales de git; consulte [Configurar git](/docs/es/self-hosted-environments-deploy#configure-git)
887* **Análisis seguro**: el código se analiza y modifica dentro de VMs aisladas antes de crear PRs357* **Credenciales de API**: en entornos alojados por Anthropic en planes Pro y Max, las claves que [agrega a un entorno en la nube](/docs/es/cloud-environments#add-api-credentials) permanecen fuera del sandbox de la misma manera, adjuntas a solicitudes coincidentes después de que salen de la sesión. Un entorno autohospedado no tiene credenciales de API, y los planes Team y Enterprise aún no las tienen
358* **Análisis seguro**: el código se analiza y modifica dentro del entorno aislado de la sesión antes de crear PRs
888 359
889<h2 id="troubleshooting">360<h2 id="troubleshooting">
890 Solución de problemas361 Solución de problemas
896 Falló la creación de sesión367 Falló la creación de sesión
897</h3>368</h3>
898 369
899Si una nueva sesión no se inicia con `Session creation failed` o se detiene en el aprovisionamiento, Claude Code no pudo asignar un entorno en la nube.370Si una nueva sesión no se inicia con `Session creation failed` o se detiene en el aprovisionamiento, Claude Code no pudo asignar una VM para la sesión.
900 371
901* Verifique [status.claude.com](https://status.claude.com) para incidentes de sesión en la nube372* Verifique [status.claude.com](https://status.claude.com) para incidentes de sesión en la nube
902* Reintente después de un minuto, ya que la capacidad se aprovisiona bajo demanda373* Reintente después de un minuto, ya que la capacidad se aprovisiona bajo demanda
903* Confirme que su repositorio es accesible. La cuenta de GitHub que se conecta debe tener acceso al repositorio en GitHub, ya sea a través de la autorización de la aplicación Claude GitHub o un token `gh` sincronizado a través de `/web-setup`. No es necesario instalar la aplicación en el repositorio. Consulte [Opciones de autenticación de GitHub](#github-authentication-options).374* Confirme que su conexión de GitHub puede alcanzar el repositorio siguiendo [No repositories appear after connecting GitHub](/docs/es/web-quickstart#no-repositories-appear-after-connecting-github)
375
376<h3 id="unable-to-get-organization-uuid">
377 No se puede obtener UUID de organización
378</h3>
379
380`claude --cloud` y `claude --teleport` requieren iniciar sesión con una cuenta de claude.ai. Si se autentica con una clave de API, o sus detalles de cuenta almacenados están obsoletos, estos comandos fallan con `Unable to get organization UUID` o un mensaje de que la autenticación de clave de API no es suficiente. Con autenticación de clave de API o detalles de cuenta obsoletos, ejecutar `claude --teleport` sin un ID de sesión muestra `Error loading Claude Code sessions` en el selector de sesión en lugar de cualquiera de los dos mensajes, y se aplica la misma solución.
381
382Ejecute `/login` para iniciar sesión con su cuenta de claude.ai, luego reintente el comando. Si el error nombra su proveedor en su lugar, consulte la [tabla de errores](#output-and-errors): las sesiones en la nube no están disponibles a través de proveedores de terceros.
904 383
905<h3 id="remote-control-session-expired-or-access-denied">384<h3 id="remote-control-session-expired-or-access-denied">
906 Sesión de Control Remoto expirada o acceso denegado385 Sesión de Control Remoto expirada o acceso denegado
916 Entorno expirado395 Entorno expirado
917</h3>396</h3>
918 397
919Las sesiones en la nube se detienen después de un período de inactividad y el entorno subyacente se reclama. Desde una terminal local, esto aparece como `Could not resume session ... its environment has expired. Creating a fresh session instead.` En la web, la sesión está marcada como expirada en la lista de sesiones.398Las sesiones en la nube se detienen después de un período de inactividad y la VM de la sesión se reclama. Una sesión cuenta como inactiva mientras espera que apruebe una llamada de herramienta de [conector MCP](/docs/es/cloud-environments#network-access) o para iniciar sesión en un servidor MCP, y puede expirar durante esa espera. En la web, la sesión está marcada como expirada en la lista de sesiones.
920 399
921Reabra la sesión desde [claude.ai/code](https://claude.ai/code) para aprovisionar un entorno nuevo con su historial de conversación restaurado.400Reabra la sesión desde [claude.ai/code](https://claude.ai/code) para aprovisionar una VM nueva con su historial de conversación restaurado. El trabajo de fondo que aún se estaba ejecutando cuando se reclamó la VM, como subagentes y comandos de shell, no se restaura.
922 401
923<h2 id="limitations">402<h2 id="limitations">
924 Limitaciones403 Limitaciones
928 407
929* **Límites de velocidad**: Claude Code en la web comparte límites de velocidad con todo otro uso de Claude y Claude Code dentro de su cuenta. Ejecutar múltiples tareas en paralelo consume más límites de velocidad proporcionalmente. No hay cargo de computación separado para la VM en la nube.408* **Límites de velocidad**: Claude Code en la web comparte límites de velocidad con todo otro uso de Claude y Claude Code dentro de su cuenta. Ejecutar múltiples tareas en paralelo consume más límites de velocidad proporcionalmente. No hay cargo de computación separado para la VM en la nube.
930* **Autenticación de repositorio**: solo puede mover sesiones de web a local cuando está autenticado en la misma cuenta409* **Autenticación de repositorio**: solo puede mover sesiones de web a local cuando está autenticado en la misma cuenta
931* **Restricciones de plataforma**: la clonación de repositorio y la creación de solicitudes de extracción requieren GitHub. Las instancias de [GitHub Enterprise Server](/docs/es/github-enterprise-server) autohospedadas son compatibles con planes de Team y Enterprise. GitLab, Bitbucket y otros repositorios que no sean GitHub se pueden enviar a sesiones en la nube como un [paquete local](#send-local-repositories-without-github), pero la sesión no puede insertar resultados de vuelta al remoto410* **Restricciones de plataforma**: la clonación de repositorio y la creación de solicitudes de extracción requieren GitHub. Las instancias autohospedadas de [GitHub Enterprise Server](/docs/es/github-enterprise-server) son compatibles con planes de Team y Enterprise. Puede enviar un repositorio de GitLab, Bitbucket u otro que no sea GitHub a una sesión en la nube como un [paquete local](#send-local-repositories-without-github) estableciendo `CCR_FORCE_BUNDLE=1`, pero la sesión no puede insertar resultados de vuelta a ese remoto
932* **Lista de permitidos de IP de la organización**: las sesiones en la nube llaman a la API de Anthropic desde infraestructura administrada por Anthropic, no desde su red. Si su organización tiene [lista de permitidos de IP](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) habilitada, cada sesión en la nube falla con un error de autenticación. Lo mismo se aplica a [Revisión de código](/docs/es/code-review) y [Rutinas](/docs/es/routines). Contacte al [soporte de Anthropic](https://support.claude.com/) para eximir los servicios alojados por Anthropic de la lista de permitidos de IP de su organización.411* **Lista de permitidos de IP de la organización**: las sesiones en la nube llaman a la API de Anthropic desde infraestructura administrada por Anthropic, no desde su red, mientras que las sesiones en un [entorno autohospedado](/docs/es/self-hosted-environments) la llaman desde su propia red. Si su organización tiene [lista de permitidos de IP](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) habilitada, cada sesión en la nube alojada por Anthropic falla con un error de autenticación. Lo mismo se aplica a [Revisión de código](/docs/es/code-review) y a [Rutinas](/docs/es/routines) que se ejecutan en entornos alojados por Anthropic; una rutina enrutada a un entorno autohospedado llama a la API desde su propia red. Contacte al [soporte de Anthropic](https://support.claude.com/) para eximir los servicios alojados por Anthropic de la lista de permitidos de IP de su organización.
933 412
934<h2 id="related-resources">413<h2 id="related-resources">
935 Recursos relacionados414 Recursos relacionados
936</h2>415</h2>
937 416
938* [Ultraplan](/docs/es/ultraplan): redacte un plan en una sesión en la nube y revíselo en su navegador417* [Entornos en la nube](/docs/es/cloud-environments): configure el acceso a la red, las variables de entorno y los scripts de configuración para sesiones en la nube
939* [Ultrareview](/docs/es/ultrareview): ejecute una revisión de código profunda de múltiples agentes en un sandbox en la nube418* [Ultrareview](/docs/es/ultrareview): ejecute una revisión de código profunda de múltiples agentes en un sandbox en la nube
940* [Routines](/docs/es/routines): automatice el trabajo en un cronograma, a través de llamada de API o en respuesta a eventos de GitHub419* [Rutinas](/docs/es/routines): automatice el trabajo en un cronograma, a través de llamada de API o en respuesta a eventos de GitHub
941* [Configuración de hooks](/docs/es/hooks): ejecute scripts en eventos del ciclo de vida de la sesión420* [Configuración de hooks](/docs/es/hooks): ejecute scripts en eventos del ciclo de vida de la sesión
942* [Referencia de configuración](/docs/es/settings): todas las opciones de configuración421* [Toda la configuración](/docs/es/settings-reference): todas las opciones de configuración
943* [Seguridad](/docs/es/security): garantías de aislamiento y manejo de datos422* [Seguridad](/docs/es/security): garantías de aislamiento y manejo de datos
944* [Uso de datos](/docs/es/data-usage): qué retiene Anthropic de sesiones en la nube423* [Uso de datos](/docs/es/data-usage): qué retiene Anthropic de sesiones en la nube
945* [Claude Tag](https://claude.com/docs/claude-tag/overview): una @Claude administrada por la organización en Slack que se ejecuta en el mismo entorno en la nube424* [Claude Tag](https://claude.com/docs/claude-tag/overview): una @Claude administrada por la organización en Slack que se ejecuta en el mismo entorno en la nube