Saltar al contenido principal
En la aplicación Claude Desktop, Claude Code es la pestaña Code. La aplicación también tiene chat y Cowork, que se encarga de Dispatch y del trabajo agéntico más largo. Esta página es la referencia para la pestaña Code.

Descargar para macOS

Compilación universal para Intel y Apple Silicon

Descargar para Windows

Para procesadores x64

Obtener Claude para Linux (beta)

apt o .deb para Ubuntu y Debian
Para Windows ARM64, descargue el instalador ARM64. En Linux, instale con apt; consulte Claude Desktop en Linux. Después de instalar, inicie Claude, inicie sesión y haga clic en la pestaña Code. Para un recorrido de su primera sesión, consulte la guía de introducción. En la pestaña Code, cada conversación es una sesión: tiene su propio historial de chat y carpeta de proyecto, independiente de cualquier otra sesión. La barra lateral enumera sus sesiones y le permite ejecutar varias en paralelo. Dentro de una sesión puede: Para trabajo recurrente programado, atajos de teclado, o enviar tareas desde su teléfono, consulte las páginas y secciones vinculadas. Si ya usa la CLI basada en terminal, consulte la comparación de CLI para ver qué se transfiere.

Iniciar una sesión

Antes de enviar tu primer mensaje, elige el entorno, la carpeta del proyecto, el modo de permisos y el modelo en la fila que está debajo del cuadro del prompt:
  • Entorno: usa el selector de entorno, el primer control de la fila, para elegir dónde se ejecuta Claude. Consulta configuración del entorno.
  • Carpeta del proyecto: haz clic en el control de carpeta del proyecto, junto al selector de entorno, para elegir la carpeta en la que trabaja Claude.
  • Modo de permisos: usa el selector de modo para elegir cuánta autonomía tiene Claude. Puedes cambiar el modo de permisos durante la sesión.
  • Modelo: elige un modelo en el selector de modelo, hacia el extremo derecho de la fila. Puedes cambiar el modelo durante la sesión.
Escriba su tarea y presione Enter para comenzar. Cada sesión rastrea su propio contexto y cambios de forma independiente.

Trabajar con código

Proporciona a Claude el contexto correcto, controla cuánto hace por su cuenta y revisa lo que cambió.

Usar el cuadro de prompt

Escribe lo que quieres que Claude haga y presiona Enter para enviar. Claude lee los archivos de tu proyecto, realiza cambios y ejecuta comandos según tu modo de permisos. Puedes redirigir a Claude en cualquier momento: haz clic en el botón de parada para interrumpir inmediatamente, o escribe una corrección y presiona Enter para enviarla sin detener la acción en ejecución. Claude lee la corrección tan pronto como se completa la acción actual y se ajusta antes de su siguiente paso. Haz clic en el botón + junto al cuadro de prompt para acceder a archivos adjuntos, skills, conectores y plugins.

Aceptar un prompt sugerido

Después de que Claude responde, la pestaña Code puede mostrar un siguiente prompt sugerido como texto gris en el cuadro de prompt vacío. Claude Code genera cada sugerencia a partir de tu conversación con una breve solicitud en segundo plano que cuenta para los límites de uso de tu plan o tus costos de API.
  • Usar la sugerencia: presiona Tab o Flecha derecha para colocarla en el cuadro de prompt, edítala si quieres y luego presiona Enter para enviarla. Presionar Enter antes de aceptar la sugerencia no la envía.
  • Escribir tu propio prompt: empieza a escribir. La sugerencia solo se muestra mientras el cuadro de prompt está vacío y no tiene archivos adjuntos.
Desactiva Prompt suggestions en Configuración > Code o Configuración > Claude Code para dejar de ver sugerencias. Cada sesión deja de mostrarlas la próxima vez que se inicia o se reanuda.

Agregar archivos y contexto a los prompts

Para darle un archivo a Claude, menciónalo con @ o adjúntalo en el cuadro de prompt:
  • Archivos @mention: escribe @ seguido de un nombre de archivo para agregar un archivo al contexto de la conversación.
    • En una sesión en la nube: @ puede listar archivos solo después de que envías tu primer mensaje. Si @ no lista ninguno, envía tu primer mensaje sin el archivo y luego menciona el archivo con @ en tu siguiente mensaje.
  • Adjuntar archivos: adjunta imágenes, PDF y otros archivos a tu prompt desde el botón + junto al cuadro de prompt, o arrastra y suelta archivos directamente en el prompt. Esto es útil para compartir capturas de pantalla de errores, maquetas de diseño o documentos de referencia.
    • En una sesión WSL: si el menú + muestra Add image en lugar de Add files or photos, solo puedes adjuntar imágenes. Para darle a Claude cualquier otro archivo de la carpeta de la sesión, menciónalo con @.

Elegir un modo de permisos

Los modos de permisos controlan cuánta autonomía tiene Claude durante una sesión: si pregunta antes de editar archivos, ejecutar comandos o ambos. Puedes cambiar de modo en cualquier momento usando el selector de modo en la fila debajo del cuadro de prompt. Para aprobar cada cambio tú mismo, cambia a Manual. Para establecer un modo predeterminado para nuevas sesiones locales, agrega permissions.defaultMode a tu archivo de configuración. La aplicación de escritorio lee los mismos archivos de configuración que la CLI. Un modo que seleccionas en el selector se recuerda por carpeta y tiene prioridad sobre defaultMode para esa carpeta, excepto Plan, que se aplica solo a la sesión actual. Las versiones anteriores de la pestaña Code etiquetaban estos modos como Ask permissions, Auto accept edits y Plan mode. El modo de permisos dontAsk está disponible solo en la CLI.
Comienza las tareas complejas en Plan para que Claude trace un enfoque antes de realizar cambios. Una vez que apruebes el plan, cambia a Accept edits o Manual para ejecutarlo. Consulta modo plan para obtener más información sobre este flujo de trabajo.
Las sesiones en la nube admiten Accept edits, Plan y Auto. Accept edits corresponde al modo default: las sesiones en la nube aprueban previamente las ediciones de archivos, por lo que el selector muestra Accept edits en lugar de Manual. Bypass permissions no está disponible en sesiones en la nube, incluidas las sesiones en un entorno autohospedado. Los administradores empresariales pueden restringir qué modos de permisos están disponibles. Consulta configuración empresarial para obtener detalles.

Disponibilidad del modo automático

El modo automático está disponible para todos los usuarios en la API de Anthropic y requiere Claude Opus 4.6 o posterior, Sonnet 4.6 o posterior, Haiku 5.5 o un modelo Fable. Los administradores de la organización pueden desactivar el modo automático con la clave disableAutoMode en la configuración administrada. En los despliegues de Enterprise que enrutan Desktop a Agent Platform de Google Cloud, el modo automático también está disponible de forma predeterminada; consulta Modo automático en Bedrock, Agent Platform o Foundry para ver los modelos compatibles.

Vista previa de tu aplicación

Claude puede iniciar un servidor de desarrollo y abrirlo en el panel del navegador para verificar sus cambios. Esto funciona tanto para aplicaciones web frontend como para servidores backend: Claude puede probar endpoints de API, ver registros del servidor e iterar sobre los problemas que encuentra. En la mayoría de los casos, Claude inicia el servidor automáticamente después de editar archivos del proyecto. También puedes pedirle a Claude que haga una vista previa en cualquier momento. De forma predeterminada, Claude verifica automáticamente los cambios después de cada edición. En una sesión local, haz clic en una ruta HTML, PDF o de video en el chat para abrirla en el panel del navegador.
En una sesión SSH, Claude no puede abrir tu aplicación en el panel del navegador, porque allí no tiene las herramientas del panel. Para ver la aplicación tú mismo, reenvía su puerto a tu computadora.
Si el panel del navegador no está abierto después de que Claude inicia un servidor en una sesión local, haz clic en Open en la tarjeta del servidor en el chat. Desde el panel del navegador, puedes:
  • Interactuar con tu aplicación en ejecución directamente en el panel del navegador
  • Ver a Claude verificar sus propios cambios automáticamente: toma capturas de pantalla, inspecciona el DOM, hace clic en elementos, completa formularios y corrige los problemas que encuentra
  • Iniciar o detener servidores, o detenerlos todos a la vez, desde el menú Dev servers en el encabezado del panel del navegador
  • Elegir si el navegador conserva las cookies después de salir de la aplicación con Keep cookies en el menú ⋮ del panel del navegador, para que no tengas que volver a iniciar sesión durante el desarrollo
Claude crea la configuración inicial del servidor basada en tu proyecto. Si tu aplicación usa un comando de desarrollo personalizado, edita .claude/launch.json para que coincida con tu configuración. Consulta Configurar servidores de vista previa para la referencia completa. Para borrar los datos guardados del navegador, selecciona Clear browsing data en el menú ⋮ del panel del navegador. Para desactivar el navegador por completo, desactiva Browser tools en Configuración > Code o Configuración > Claude Code.

Examinar sitios externos

El panel del navegador es un navegador con pestañas, por lo que puedes abrir documentación, rastreadores de problemas o cualquier otro sitio junto a tu aplicación en ejecución. Para abrir el navegador, presiona Cmd+Shift+B en macOS o Ctrl+Shift+B en Windows, o haz clic en Browser en la barra de título de la sesión. Puedes iniciar sesión en sitios en el panel, incluidos flujos de inicio de sesión emergentes como Google OAuth. La primera vez que haces clic en un enlace externo en el chat, un diálogo te pregunta si los enlaces se abren en el panel del navegador o en tu navegador predeterminado. Para cambiar tu elección más adelante, usa Open links in built-in browser en el menú ⋮ del panel del navegador. Cmd-clic en macOS o Ctrl-clic en Windows abre un enlace directamente en tu navegador predeterminado. Claude puede leer e interactuar con páginas externas usando las mismas herramientas que usa para verificar tu aplicación, con dos verificaciones de seguridad adicionales:
  • Los clasificadores de seguridad revisan las acciones de escritura de Claude en páginas externas, como hacer clic y escribir, en cada modo de permisos. Son los mismos clasificadores que usa el modo automático, y cuando marcan una acción, recibes una solicitud de permiso independientemente del modo.
  • En los modos de permisos distintos de Auto y Bypass permissions, también se aplica una verificación de la lista de dominios permitidos antes de que Claude navegue a un nuevo sitio.

Aprobar las acciones de Claude en un sitio

La primera vez que Claude actúa en un sitio externo, aparece una tarjeta de permisos y Claude espera tu elección: Allow once, Always allow o Deny. Allow once aprueba la acción sin guardar nada. Always allow guarda la aprobación para ese sitio en tu dispositivo, y puedes revocarla en Configuración. Cada sitio necesita su propia aprobación, incluidos los subdominios. Tus servidores de desarrollo locales y archivos de proyecto no necesitan aprobación, por lo que auto-verify sigue funcionando sin solicitudes de confirmación. Incluso en un sitio aprobado, Claude no comprará artículos, creará cuentas ni omitirá CAPTCHAs sin tu intervención. Navegar en el panel del navegador usa el mismo modelo de seguridad que la extensión Claude in Chrome. Consulta Usar Claude in Chrome de forma segura para saber cómo Claude maneja sitios sensibles y acciones riesgosas.

Elegir entre el panel del navegador y la extensión de Chrome

El panel del navegador usa un perfil de navegador limpio, separado de tu navegador personal, sin ninguno de tus inicios de sesión guardados ni tu historial. Úsalo para construir y probar tu aplicación y para sitios que no necesitan tu identidad. Cuando quieras que Claude actúe como tú en tus sesiones iniciadas, usa en su lugar la extensión Claude in Chrome, que comparte el estado de inicio de sesión de tu navegador.

Restringir la navegación externa para tu organización

El navegador sigue los mismos controles de lista de sitios permitidos y lista de bloqueo que la extensión Claude in Chrome. Si tu organización ya configuró esas listas para la extensión, el navegador las respeta automáticamente. Los administradores también pueden desactivar las herramientas de Claude en páginas externas con el ajuste de configuración administrada browserExternalPageTools. Con las herramientas desactivadas, los usuarios aún pueden visitar sitios externos; las herramientas de Claude no pueden leerlos ni actuar sobre ellos. Para desactivar la navegación externa por completo, establece el ajuste de configuración administrada disableBrowserExternalNavigation en true. Esto bloquea toda la navegación externa en el navegador, incluidos los sitios en la lista de permitidos de tu organización; los servidores de desarrollo localhost y las vistas previas de archivos siguen funcionando. Usa browserExternalPageTools para permitir que los usuarios sigan navegando por sitios externos sin las herramientas de Claude, y disableBrowserExternalNavigation para bloquear sitios externos tanto para los usuarios como para Claude.

Revisar cambios con la vista de diff

Después de que Claude realiza cambios en tu código, la vista de diff te permite revisar las modificaciones archivo por archivo antes de crear un pull request. Para abrir la vista de diff, haz clic en los recuentos de líneas, como +12 -1, en la tarjeta Changes del panel de detalles de la sesión. También puedes hacer clic en Changes en la barra de título de la sesión. El diff de una sesión en la nube con respecto a la rama base puede omitir cambios que aún no se han enviado. Para comentar líneas específicas, pasa el cursor sobre una línea y haz clic en el + que aparece junto a su número de línea para abrir un cuadro de comentarios. Escribe tu comentario y presiona Enter para agregarlo. Después de agregar comentarios a varias líneas, envía todos los comentarios a la vez:
  • macOS: presiona Cmd+Enter
  • Windows: presiona Ctrl+Enter
Claude lee tus comentarios y realiza los cambios solicitados, que aparecen como un nuevo diff que puedes revisar.

Revisar tu código

Para que Claude revise tus cambios antes de hacer commit, escribe /code-review en el cuadro de prompt. Los hallazgos llegan a la conversación cuando la revisión se completa. En las sesiones locales, SSH y WSL, los hallazgos aparecen como una tarjeta Code review, agrupados por archivo. Usa la tarjeta para actuar sobre ellos:
  • Haz clic en Walk through in diff para abrir la vista de diff y recorrer los hallazgos uno por uno. Un hallazgo en el diff actual aparece en su línea, donde puedes hacer clic en Fix this one o descartarlo.
  • Haz clic en Apply fixes para pedirle a Claude que corrija los hallazgos que siguen abiertos.
En cualquier sesión, también puedes pedirle a Claude en el cuadro de prompt que corrija lo que encontró la revisión. Para saber qué busca /code-review y qué argumentos acepta, consulta Revisar localmente con /code-review.

Monitorear el estado del pull request

Para que Claude corrija las verificaciones fallidas, o para que GitHub fusione el pull request, activa Auto-fix o Merge when ready. Después de abrir un pull request, aparece en la tarjeta Changes del panel de detalles de la sesión con el estado de sus verificaciones de CI. Abre el menú ⋮ junto a su título:
  • Auto-fix: en una sesión local, Claude también atiende los nuevos comentarios de revisión que deja alguien distinto de ti. El autor del comentario tiene que ser el propietario del repositorio, un miembro de la organización, un colaborador o una GitHub App.
  • Merge when ready: activa el auto-merge de GitHub para el PR. En una sesión local, Desktop solicita una fusión squash a menos que la rama base use una cola de fusión.
    • En sesiones SSH y WSL: Merge when ready está deshabilitado, así que activa auto-merge para el pull request en GitHub
    • Si el repositorio no permite auto-merge: Merge when ready no se activa, así que primero habilita auto-merge en la configuración de tu repositorio de GitHub
  • Diseño anterior: una vez que la sesión tiene un pull request, haz clic en CI en su barra de estado.
Para archivar la sesión automáticamente una vez que el PR se fusiona o se cierra, activa auto-archive en Configuración > Code o Configuración > Claude Code.
El monitoreo de PR requiere que la CLI de GitHub (gh) esté instalada y autenticada en tu máquina. Si gh no está instalado, Desktop te pide que lo instales la primera vez que intentes crear un PR.En una sesión SSH, configura git y gh en la máquina remota antes de hacer clic en Create PR, porque Claude envía la rama y ejecuta gh pr create allí. Instala gh allí tú mismo, porque Desktop no te pide que lo instales en una sesión SSH. Luego verifica allí que git push funcione y que gh auth status indique que iniciaste sesión.

Organizar tu espacio de trabajo

La pestaña Code está construida alrededor de paneles que puedes organizar en cualquier diseño: chat, diff, navegador, terminal, archivo, plan, tareas y subagente, junto con el iOS Simulator en macOS. Arrastra un panel por su encabezado para reposicionarlo, o arrastra un borde de panel para redimensionarlo. Presiona Cmd+\ en macOS o Ctrl+\ en Windows para cerrar el panel enfocado. Para abrir otro panel, haz clic en su botón de ícono en la barra de título de la sesión. Pasa el cursor sobre cada botón para ver su nombre, como Terminal, Changes para la vista de diff, Browser y Files. Si el panel que quieres no tiene botón en la barra de título, selecciónalo en el menú ⋮ junto a los botones:
  • Cuando la ventana es estrecha: los botones que no caben pasan al menú
  • Para paneles sin botón: paneles como Background tasks y Plan aparecen en la lista una vez que la sesión tiene algo que mostrar en ellos
Para trabajar en múltiples pantallas, extrae un panel como el diff o la terminal en su propia ventana, y vuelve a acoplarlo cuando hayas terminado. Claude continúa trabajando en la ventana principal.
El diseño de paneles, la terminal, el editor de archivos y los modos de vista de esta sección requieren Claude Desktop v1.2581.0 o posterior. Abre Claude > Check for Updates… en macOS o Help > Check for Updates… en Windows para actualizar.

Ver los detalles de la sesión

El panel de detalles de la sesión es un conjunto de tarjetas junto al chat que muestran dónde se ejecuta la sesión, qué cambió, qué está ejecutando y su uso de contexto. El panel aparece después de que inicias una sesión, siempre que el chat sea lo bastante ancho para mostrarlo.

Ocultar o mostrar el panel de detalles de la sesión

Para ocultar o mostrar el panel, haz clic en Hide session rail o Show session rail en la barra de título de la sesión, o en el menú ⋮ de la barra. Si aun así no ves el panel, verifica qué diseño de la pestaña Code tienes.

Ejecutar comandos en la terminal

La terminal integrada te permite ejecutar comandos junto a tu sesión sin cambiar a otra aplicación. Haz clic en Terminal en la barra de título de la sesión o presiona Ctrl+` en macOS o Windows. La terminal se abre en el directorio de trabajo de tu sesión y comparte el mismo entorno que Claude, por lo que comandos como npm test o git status ven los mismos archivos que Claude está editando. Para abrir una segunda pestaña de terminal, haz clic en + en el encabezado del panel de terminal o haz clic con el botón derecho en una carpeta en el chat para elegir Open in terminal. Si una sesión de WSL no tiene terminal, consulta Si la terminal o los conectores no están disponibles. La terminal está disponible en sesiones locales y SSH, con una limitación en máquinas remotas Windows.

Abrir y editar archivos

Para abrir un archivo que Claude menciona, haz clic en su ruta en el chat. Para editar un archivo tú mismo, usa el panel de archivos:
  • Sesiones locales: puedes editar archivos dentro del directorio de trabajo de la sesión, excepto algunos de solo lectura como .mcp.json y .claude/settings.json. Para cambiar uno de ellos, ábrelo en otra aplicación.
  • Sesiones en la nube, SSH y WSL: el panel de archivos es de solo lectura, así que pídele a Claude que realice las ediciones.

Guardar ediciones en el panel de archivos

De forma predeterminada, tus ediciones en el panel de archivos se guardan solas, por lo que el panel no muestra ningún botón Save. Para guardar tus ediciones tú mismo, desmarca Auto save en el menú ⋮ del panel. Con Auto save desactivado, haz clic en Save después de cambiar un archivo para escribir tus ediciones, o en Cancel para revertirlas. Si el panel te advierte que el archivo cambió en el disco, haz clic en Override para sobrescribir la versión del disco con tus ediciones, o en Discard para descartar tus ediciones.

Abrir archivos en otras aplicaciones

Haz clic con el botón derecho en cualquier ruta de archivo en el chat, el visor de diff o el panel de archivos para abrir un menú contextual:
  • Attach as context: agrega el archivo a tu siguiente prompt
  • Open in: abre el archivo en un editor instalado como VS Code, Cursor o Zed
  • Show in Finder en macOS, Show in Explorer en Windows: abre la carpeta contenedora
  • Copy: un submenú que copia la Absolute path, la Relative path o el Filename del archivo

Cambiar modos de vista

Los modos de vista controlan cuánto detalle aparece en la transcripción del chat. Para cambiar de modo de vista, abre el menú de la sesión desde el símbolo de intercalación junto al título de la sesión y selecciona Transcript view, o presiona Ctrl+O en macOS o Windows para recorrerlos. El modo Thinking aparece en el menú solo después de que Claude haya producido pensamiento en la sesión que estás viendo. Usa Thinking para seguir el razonamiento de Claude con las llamadas a herramientas aún contraídas. Usa Verbose cuando depures por qué Claude tomó una acción particular. Las versiones de Claude Desktop anteriores a 1.46388.1 también incluyen un modo Summary, y una sesión aún configurada en Summary se abre en Normal una vez que actualizas.

Atajos de teclado

Presiona Cmd+/ en macOS o Ctrl+/ en Windows para ver todos los atajos disponibles en la pestaña Code. La tabla de esta sección muestra las teclas de macOS. En Windows y Linux, cambia estas teclas:
  • Cmd+Option: presiona Alt
  • Cmd+Ctrl: presiona Ctrl+Alt
  • Cmd: presiona Ctrl
Los atajos que comienzan con Ctrl son iguales en todas las plataformas. Estos atajos se aplican a la pestaña Code. En Desktop, Shift+Tab no recorre los modos de permisos como lo hace en el modo interactivo de la terminal.

Verificar uso

Para ver qué tan llena está la ventana de contexto de esta sesión, identifica el diseño de tu pestaña Code:
  • Diseño actual: el encabezado de la tarjeta Context en el panel de detalles de la sesión lo muestra como un porcentaje. Abre la tarjeta para ver qué está usando la ventana por categoría.
  • Diseño anterior: haz clic en el anillo de uso junto al selector de modelo. Su ventana emergente muestra tu uso de la ventana de contexto.
En cualquiera de los dos diseños, escribe /context en el cuadro de prompt para mostrar en el chat un desglose por categoría de la ventana de contexto de esta sesión. Ambos diseños tienen el anillo de uso junto al selector de modelo. Haz clic en él para ver tu uso del plan, que se comparte en todas tus superficies de Claude Code.

Permitir que Claude use su computadora

El uso de computadora permite que Claude abra sus aplicaciones, controle su pantalla y trabaje directamente en su máquina de la manera que lo haría. Pídale a Claude que interactúe con una herramienta de escritorio que no tiene CLI, o automatice algo que solo funciona a través de una GUI. Para ejecutar y probar aplicaciones iOS, Desktop abre el panel dedicado iOS Simulator en lugar de controlar su pantalla; el panel funciona sin habilitar el uso de computadora.
El uso de computadora es una vista previa de investigación en macOS y Windows que requiere un plan Pro, Max o Ultra. No está disponible en planes Team o Enterprise. La aplicación Claude Desktop debe estar en ejecución. En macOS, el uso de computadora requiere macOS 14 o posterior.
El uso de computadora está deshabilitado de forma predeterminada. Habilítelo en Configuración antes de que Claude pueda controlar su pantalla. En macOS, también necesita otorgar permisos de Accesibilidad y Grabación de pantalla. En macOS, el uso de computadora también puede ejecutarse en segundo plano: Claude trabaja en las aplicaciones que ha aprobado mientras usted continúa trabajando.
A diferencia de la herramienta Bash sandboxed, el uso de computadora se ejecuta en su escritorio real con acceso a lo que apruebe. Claude verifica cada acción e identifica posibles inyecciones de solicitud desde contenido en pantalla, pero el límite de confianza es diferente. Consulte la guía de seguridad de uso de computadora para obtener mejores prácticas.

Cuándo se aplica el uso de computadora

Claude tiene varias formas de interactuar con una aplicación o servicio, y el uso de computadora es la más amplia y lenta. Intenta la herramienta más precisa primero:
  • Si tiene un conector para un servicio, Claude usa el conector.
  • Si la tarea es un comando de shell, Claude usa Bash.
  • Si la tarea es trabajo en navegador y tiene Claude en Chrome configurado, Claude usa eso.
  • Si la tarea es ejecutar o probar una aplicación iOS, Claude usa el panel iOS Simulator, que no usa control de pantalla.
  • Si ninguno de esos se aplica, Claude usa el uso de computadora.
Los niveles de acceso por aplicación refuerzan esto: los navegadores están limitados a solo lectura, y las terminales e IDE a solo clic, dirigiendo a Claude hacia la herramienta dedicada incluso cuando el uso de computadora está activo. El control de pantalla se reserva para cosas que nada más puede alcanzar, como aplicaciones nativas, paneles de control de hardware, o herramientas propietarias sin una API.

Habilitar el uso de computadora

El uso de computadora está deshabilitado de forma predeterminada. Si le pide a Claude que haga algo que lo necesita mientras está deshabilitado, Claude le dice que podría hacer la tarea si habilita el uso de computadora en Configuración.
1

Actualizar la aplicación de escritorio

Asegúrese de tener la última versión de Claude Desktop. En macOS y Windows, descargue o actualice en claude.com/download; en Linux, actualice a través de su gestor de paquetes (instrucciones). Luego reinicie la aplicación.
2

Activar el control deslizante

En la aplicación de escritorio, abre Configuración y luego:
  • Si el menú de Configuración muestra This computer: ve a This computer > System
  • De lo contrario: ve a Capabilities
En Computer use, activa Enable computer use:
  • Windows: el interruptor surte efecto de inmediato y la configuración queda completa
  • macOS: continúa con el siguiente paso
Si no ves el interruptor, confirma que estás en macOS o Windows con un plan Pro, Max o Ultra, luego actualiza y reinicia la aplicación.
3

Otorgar permisos de macOS

En macOS, otorgue dos permisos del sistema antes de que el control deslizante surta efecto:
  • Accessibility: permite que Claude haga clic, escriba y desplace
  • Screen Recording: permite que Claude vea lo que hay en su pantalla
La página de Configuración muestra el estado actual de cada permiso. Si alguno se deniega, haga clic en la insignia para abrir el panel de Configuración del Sistema relevante.

Permisos de aplicación

La primera vez que Claude necesita usar una aplicación, aparece un aviso en su sesión. Haga clic en Allow for this session o Deny. Las aprobaciones duran para la sesión actual, o 30 minutos en sesiones generadas por Dispatch. El aviso también muestra qué nivel de control obtiene Claude para esa aplicación. Estos niveles se fijan por categoría de aplicación y no se pueden cambiar: Las aplicaciones con amplio alcance como terminales, Finder o File Explorer y Configuración del Sistema o Settings muestran una advertencia adicional en el aviso para que sepa qué aprobación les otorga. En Configuración, la sección Computer use donde activaste el uso de computadora incluye estas opciones:
  • Denied apps: agregue aplicaciones aquí para rechazarlas sin solicitar. Claude aún puede afectar una aplicación denegada indirectamente a través de acciones en una aplicación permitida, pero no puede interactuar directamente con la aplicación denegada.
  • Unhide apps when Claude finishes: cuando el uso de computadora no se ejecuta en segundo plano, Claude oculta sus otras ventanas mientras trabaja para que interactúe solo con la aplicación aprobada. Cuando Claude termina, las ventanas ocultas se restauran a menos que desactive esta configuración.

Gestionar sesiones

Cada sesión es una conversación independiente con su propio contexto y cambios. Puedes ejecutar múltiples sesiones en paralelo, abrir chats laterales, permitir que Claude revise y envíe mensajes a tus otras sesiones, enviar trabajo a la nube o permitir que Dispatch inicie sesiones por ti desde tu teléfono.

Trabajar en paralelo con sesiones

Haz clic en + New en la barra lateral, o presiona Cmd+N en macOS o Ctrl+N en Windows, para trabajar en múltiples tareas en paralelo. Presiona Ctrl+Tab y Ctrl+Shift+Tab para cambiar entre sesiones. También puedes abrir una segunda sesión junto a la sesión actual o en una ventana propia:
  • Lado a lado: mantén presionado Option en macOS o Alt en Windows y haz clic en una sesión en la barra lateral, o haz clic derecho en la sesión y selecciona Open in y luego Split view
  • En su propia ventana: mantén presionado Cmd en macOS o Ctrl en Windows y haz clic en una sesión, o haz clic derecho en la sesión y selecciona Open in y luego New window
En la vista dividida, el panel que abriste o en el que hiciste clic por última vez tiene el foco, y el otro panel se atenúa. Para cambiar la sesión que muestra un panel, haz clic en ese panel para darle el foco y luego haz clic en una sesión de la barra lateral. Para sacar la sesión enfocada de la vista dividida, presiona Cmd+Ctrl+W en macOS o Ctrl+Alt+W en Windows.

Ejecutar una sesión en su propio worktree

En un proyecto que es un repositorio de Git, activa Worktree antes de iniciar una sesión para ejecutarla en su propio Git worktree, una copia aislada del proyecto. De forma predeterminada, Worktree está desactivado y Claude trabaja directamente en la carpeta del proyecto. En el diseño actual, activa el botón Worktree en la fila debajo del cuadro del prompt.
  • Con un proveedor externo: si la fila debajo del cuadro del prompt muestra el control de la carpeta del proyecto pero no el botón Worktree, haz clic en ese control y activa Worktree
  • Como valor predeterminado para un entorno local o SSH guardado: establece Worktree cuando crees o edites el entorno
  • Diseño anterior: selecciona la casilla worktree junto al nombre de la rama, encima del cuadro del prompt
Los worktrees se almacenan en <project-root>/.claude/worktrees/ de forma predeterminada. Para almacenarlos en un directorio personalizado:
  • Sesiones locales: establece Worktree location en Configuración > Code o Configuración > Claude Code
  • Sesiones SSH: establece Worktree folder en la conexión SSH
También puedes establecer un Branch prefix en Configuración > Code o Configuración > Claude Code. Desktop lo antepone a cada nombre de rama de worktree, lo que es útil para mantener organizadas las ramas creadas por Claude. Para incluir archivos ignorados por git como .env en nuevos worktrees, crea un archivo .worktreeinclude en la raíz de tu proyecto. Consulta Qué comparten los worktrees con el checkout principal para saber de dónde lee una sesión de worktree la configuración del proyecto, los hooks y los skills.
El aislamiento de sesión requiere Git. La mayoría de las Macs incluyen Git de forma predeterminada. Ejecuta git --version en Terminal para verificarlo; si imprime un número de versión, Git está instalado. Si encuentras errores de Git, pide ayuda a Claude en Cowork para solucionar problemas de tu configuración.

Agregar carpetas a una sesión

Agrega carpetas antes de que la sesión comience o mientras se ejecuta:

Archivar una sesión

Antes de archivar una sesión cuyo worktree tiene cambios sin commit, consulta Conservar los cambios sin commit cuando se archiva una sesión. Para archivar una sesión, pasa el cursor sobre ella en la barra lateral, abre su menú y selecciona Archive. La sesión se mueve a tus sesiones archivadas. Para que las sesiones se archiven automáticamente cuando su pull request se fusione o se cierre, activa Auto-archive after PR merge or close en Configuración > Code o Configuración > Claude Code. Las sesiones en la nube y las sesiones que todavía se están ejecutando no se archivan automáticamente.

Conservar los cambios sin commit cuando se archiva una sesión

Puedes perder los cambios sin commit del worktree de una sesión cuando la sesión se archiva, así que primero haz commit de lo que quieras conservar:
  • Si Desktop pregunta por los cambios: selecciona Archive anyway para descartarlos, o cancela y haz commit de ellos
  • Si los únicos cambios son archivos sin seguimiento: haz commit de los que quieras conservar antes de que se fusione un pull request que Claude abrió en la sesión, porque entonces Desktop puede eliminarlos sin preguntar
  • En cualquier otro caso: el worktree permanece en el disco con sus cambios. Para una sesión local, Desktop elimina ambos unos 30 días después de que la sesión se archive o de la última vez que la abras, lo que ocurra más tarde. Para conservar los cambios, abre la sesión desde la pestaña Archived y selecciona Unarchive

Organizar y encontrar sesiones

Agrupas, ordenas y encuentras sesiones desde un icono en la lista de sesiones de la barra lateral:
  • Diseño actual: pasa el cursor sobre un encabezado de la lista de sesiones para mostrar el icono Group and sort y luego haz clic en él. Para encontrar sesiones archivadas, selecciona View all, la última fila del menú, y luego abre la pestaña Archived.
  • Diseño anterior: el icono Filter se muestra sin pasar el cursor. Haz clic en él para organizar la lista con Group by o Sort by. Para mostrar las sesiones archivadas, selecciona Status y luego Archived.
Para renombrar una sesión, ábrela y haz clic en el título de la sesión en la barra de título.

Verificar y liberar contexto

Para verificar el uso del contexto, consulta Verificar uso. Cuando el contexto se llena, Claude resume automáticamente la conversación y continúa trabajando. También puedes escribir /compact para activar el resumen antes y liberar espacio de contexto. Consulta la ventana de contexto para obtener detalles sobre cómo funciona la compactación.

Recibir una notificación cuando termina una sesión

La aplicación de escritorio envía una notificación del sistema operativo cuando una sesión de Code termina una tarea y no estás viendo esa sesión en ese momento. Para sesiones que pertenecen a un proyecto, recibes en su lugar las notificaciones del proyecto.

Hacer una pregunta lateral sin descarrilar la sesión

Un chat lateral te permite hacerle a Claude una pregunta que usa el contexto de tu sesión pero no agrega nada de vuelta a la conversación principal. Úsalo cuando quieras entender un fragmento de código, verificar una suposición o explorar una idea sin desviar la sesión de su curso. Presiona Cmd+; en macOS o Ctrl+; en Windows para abrir un chat lateral, o escribe /btw en el cuadro del prompt. El chat lateral puede leer todo lo que hay en el hilo principal hasta ese punto. Cuando hayas terminado, cierra el chat lateral y continúa la sesión principal donde la dejaste. Los chats laterales están disponibles en sesiones locales, SSH y WSL. La aplicación de escritorio no guarda los chats laterales en disco, por lo que no puedes volver a uno después de cerrar la aplicación.

Ver tareas en segundo plano

El panel de tareas muestra el trabajo en segundo plano que se ejecuta dentro de la sesión actual: subagentes, comandos de shell en segundo plano y flujos de trabajo dinámicos. Una vez que la sesión tiene trabajo en segundo plano, abre el panel con Background tasks en el menú ⋮ de la barra de título. Haz clic en cualquier entrada para ver su salida en el panel de subagente o detenerla. Para ver qué están haciendo otras sesiones, usa la barra lateral, o pide a Claude que las revise por ti.

Trabajar entre sesiones

Claude puede enumerar tus otras sesiones de la pestaña Code, leer qué ha estado haciendo cada una y enviar mensajes entre ellas. Pregunta en lenguaje natural: “¿qué sesión tocó la refactorización de autenticación?”, “¿a qué conclusión llegó la sesión de API?” o “dile a la sesión de pagos que el esquema cambió”. También puedes pedir a Claude que renombre o archive una sesión. Por ejemplo, pídele que archive las sesiones cuyos PR se han fusionado. A través de esta superficie, Claude ve solo las sesiones que la aplicación de escritorio ejecuta por sí misma: sesiones locales, SSH y WSL en la pestaña Code. Claude no ve sesiones en la nube, ni sesiones que iniciaste desde la CLI de la terminal o la extensión de VS Code, incluso en worktrees del mismo proyecto, así que con nueve worktrees de terminal abiertos y dos sesiones de escritorio, Claude, respondiendo en una de ellas, reporta la otra sesión de escritorio. Claude nunca enumera la sesión desde la que estás preguntando. De forma predeterminada, ve las 20 sesiones con actividad más reciente y omite las sesiones archivadas a menos que las solicites. La mensajería entre sesiones permite por separado que Claude envíe mensajes a tus otras sesiones de Claude Code, incluidas las sesiones de terminal. Cuando Claude envía un mensaje a otra sesión a través de esta superficie, Claude Code lo muestra allí como una tarjeta etiquetada con el título de la sesión que lo envía y un enlace de vuelta, para que siempre puedas saber de dónde vino un mensaje. Si la sesión receptora está en medio de una tarea, Claude Code retiene el mensaje y Claude lo lee una vez que el trabajo actual termina. El Claude receptor puede responder, y Claude Code entrega la respuesta de vuelta a través de esta superficie. Claude no puede entregar mensajes a una sesión archivada y te avisa cuando un mensaje no se entrega. Claude Code aplica tres comportamientos de seguridad entre sesiones:
  • Recibes una tarjeta de aprobación antes de que Claude archive una sesión, excepto en el modo automático y el modo Bypass permissions, donde Claude puede archivar una sesión sin ella. Para que se te pregunte, cambia a Manual.
  • Claude Code verifica cada mensaje de esta superficie contra los controles de entrada de la sesión receptora, incluso cuando la sesión receptora no tiene mensajería entre sesiones en sí misma. Si estableces crossSessionInbound en refuse en la sesión receptora, Claude Code descarta los mensajes de esta superficie. Claude Code reporta el rechazo a la aplicación de escritorio de Claude. Antes de v2.1.234, Claude Code descartaba cada mensaje de esta superficie dirigido a una sesión receptora sin mensajería entre sesiones.
  • Claude Code cita cada mensaje entrante y lo atribuye a la sesión que lo envió, y Claude sigue respetando la configuración de permisos propia de la sesión receptora al actuar sobre uno.

Iniciar una tarea que Claude sugiere

Cuando Claude nota algo que vale la pena arreglar fuera de tu tarea actual, sugiere ese trabajo como una tarea. En las sesiones locales y SSH con el diseño actual, la sugerencia es una tarjeta en el chat, y sus botones inician la tarea o la mantienen en esta sesión:
  • Start: inicia la tarea en otra sesión. De forma predeterminada, la tarea se ejecuta en el entorno de la sesión actual. Luego, la tarjeta muestra el estado de la sesión iniciada, y la barra lateral muestra la sesión iniciada debajo de la sesión actual.
  • Do it here: envía la tarea a la sesión actual como un mensaje
  • Options: revisa o cambia ajustes como el entorno, el modelo, el worktree y los permisos antes de hacer clic en Start
  • Start all: cuando la tarjeta enumera varias tareas, inicia cada tarea en su propia sesión sin esperar a que una tarea termine antes de iniciar la siguiente
En las sesiones en la nube, y en las sesiones locales y SSH con el diseño anterior, la sugerencia es una tarjeta Suggested task. Para iniciar la tarea donde indica el botón principal de la tarjeta, por ejemplo Send to cloud o Start with worktree, haz clic en ese botón. Haz clic en el signo de intercalación junto al botón principal para ver otras formas de iniciar la tarea, incluida Do it here.

Ejecutar tareas de larga duración en la nube

Para refactorizaciones grandes, suites de pruebas, migraciones u otras tareas de larga duración, selecciona un entorno en Cloud en el selector de entorno al iniciar una sesión. Las sesiones en la nube se ejecutan en infraestructura administrada por Anthropic de forma predeterminada y continúan incluso si cierras la aplicación o apagas tu computadora. Regresa en cualquier momento para ver el progreso o dirigir a Claude en otra dirección. También puedes monitorear sesiones en la nube desde claude.ai/code o la aplicación móvil de Claude. Las sesiones en la nube también admiten múltiples repositorios. Elige los repositorios:
  • Diseño actual: en la fila debajo del cuadro del prompt, una vez que selecciones un entorno en la nube.
  • Diseño anterior: encima del cuadro del prompt. Para agregar otro repositorio, haz clic en + junto al seleccionado.
Consulta Usar Claude Code en la nube para obtener más información sobre cómo funcionan las sesiones en la nube. Cuando un conjunto de trabajo necesita muchas sesiones en la nube, usa un proyecto: Claude inicia y da seguimiento a las sesiones por ti desde una sola conversación. Crear un proyecto tiene los pasos.
Una tarea en una sesión SSH también puede seguir ejecutándose mientras Desktop está desconectado, pero con una cuenta de Claude puede detenerse cuando expira su inicio de sesión.

Continuar en otra superficie

Para continuar una sesión en otro lugar, abre el menú de la sesión desde el signo de intercalación junto al título de la sesión o desde la fila de la sesión en la barra lateral, y luego selecciona Open in:
  • Selecciona Cloud para continuar la sesión como una sesión en la nube, con tu conversación trasladada como un resumen. Antes de que confirmes, el cuadro de diálogo indica si tus archivos también se mueven y si esta sesión se archiva una vez que la de la nube esté lista. No puedes mover de esta forma una sesión que se ejecuta por SSH o en WSL.
  • Selecciona un editor instalado o tu administrador de archivos para abrir allí la carpeta de la sesión en el disco.

Controlar qué sesiones aparecen en tus otros dispositivos

Una sesión local aparece en tus otros dispositivos una vez que Remote Control la conecta. Una sesión conectada aparece en la lista de sesiones de claude.ai/code y en las aplicaciones de Claude de los dispositivos en los que iniciaste sesión con tu cuenta de claude.ai. Una sesión local se conecta cuando activas Remote Control para ella, o cuando se conecta automáticamente al iniciarse:
  • Lo activas para esa sesión: con el interruptor Remote Control de la sesión, o escribiendo /remote-control en su cuadro del prompt.
  • Se conecta al iniciarse: las sesiones nuevas se conectan automáticamente mientras Connect new sessions to Remote Control está activado en Configuración > Code o Configuración > Claude Code. Si nunca has cambiado ese ajuste, Desktop sigue remoteControlAtStartup en tu configuración de usuario o configuración administrada y, después, el valor predeterminado de tu organización.
Para ver si una sesión está conectada, revisa el interruptor Remote Control en la tarjeta Environment de su panel de detalles de la sesión. Para que las sesiones no aparezcan en tus otros dispositivos, desactiva Remote Control en el nivel que necesites:
  • Una sesión: desactiva su interruptor Remote Control. En una sesión que se conectó al iniciarse, escribir /remote-control deja Remote Control activado y muestra Remote Control is already on. This session connected automatically when it started. Haz clic en Turn off en esa línea para desconectarla.
  • Nuevas sesiones de Desktop en esta computadora: desactiva Connect new sessions to Remote Control en Configuración > Code o Configuración > Claude Code. Si ya aparece desactivado, actívalo y luego desactívalo para que Desktop guarde tu elección. Una vez guardado, tiene precedencia sobre remoteControlAtStartup y los valores predeterminados.
  • Cualquier sesión en esta computadora, incluida la CLI: establece disableRemoteControl en true en ~/.claude/settings.json para impedir que las sesiones se conecten. Una sesión que ya estaba conectada cuando guardaste el archivo permanece conectada hasta que desactives Remote Control para ella.
Para ocultar una sesión que ya aparece en tus otros dispositivos, archívala en Desktop. Desktop también archiva la copia de Remote Control de la sesión, por lo que deja de aparecer en la lista de sesiones predeterminada de esos dispositivos. Para verla o eliminarla allí, consulta Archivar sesiones.

Sesiones desde Dispatch

Dispatch es una conversación persistente con Claude que vive en Cowork. Le envías a Dispatch un mensaje con una tarea, y decide cómo manejarla. Una tarea puede terminar como una sesión de Code de dos formas: solicitas una directamente, como “abre una sesión de Claude Code y corrige el error de inicio de sesión”, o Dispatch decide que la tarea es trabajo de desarrollo e inicia una por su cuenta. Las tareas que normalmente se enrutan a Code incluyen corregir errores, actualizar dependencias, ejecutar pruebas o abrir pull requests. La investigación, la edición de documentos y el trabajo con hojas de cálculo permanecen en Cowork.

Seguir una sesión que inició Dispatch

La sesión que inicia Dispatch aparece en la barra lateral de la pestaña Code junto con tus otras sesiones. Con la agrupación y el ordenamiento predeterminados de la barra lateral, busca la sesión más reciente en el grupo de la carpeta en la que se ejecuta. Recibes una notificación push en tu teléfono cuando termina o necesita tu aprobación. Si tienes habilitado el uso de computadora, las sesiones de Code generadas por Dispatch también pueden usarlo. Las aprobaciones de aplicaciones en esas sesiones expiran después de 30 minutos y vuelven a solicitarse, en lugar de durar toda la sesión como en las sesiones de Code normales.

Configurar Dispatch

  • Planes: Dispatch requiere un plan Pro, Max o Ultra y no está disponible en los planes Team o Enterprise
  • Configuración, emparejamiento y ajustes de Dispatch: consulta el artículo de ayuda de Dispatch
Dispatch es una de varias formas de trabajar con Claude cuando estás lejos de tu terminal. Para ver una comparación con las otras opciones, consulta Plataformas e integraciones.

Extender Claude Code

Conecta servicios externos, agrega flujos de trabajo reutilizables, personaliza el comportamiento de Claude y configura servidores de vista previa. Para administrar conectores, skills y plugins en un solo lugar, haz clic en Customize en la barra lateral. Cowork en la aplicación de escritorio obtiene sus skills, plugins y conectores de esta configuración de Customize, que se sincroniza a través de tu cuenta de claude.ai, no desde el directorio ~/.claude de la CLI. Claude Code también carga los skills y plugins habilitados para su cuenta de claude.ai en sesiones de terminal donde inicia sesión con la misma cuenta. Consulte Skills sincronizados desde claude.ai y Plugins sincronizados desde claude.ai.

Conectar herramientas externas

Los conectores son servidores MCP con un flujo de configuración gráfico. Haz clic en + junto al cuadro de prompt, antes o durante la sesión, para agregar conectores en una sesión local o SSH con una cuenta de Claude. Selecciona Add connectors para abrir el directorio de conectores. Si el menú muestra Connectors en su lugar, selecciónalo y luego Browse connectors.
Estos casos se tratan en otras páginas:
Una vez conectado, Claude puede leer tu calendario, enviar mensajes, crear issues e interactuar con tus herramientas directamente. Puedes preguntarle a Claude qué conectores están configurados en tu sesión. Para administrar o desconectar conectores, haz clic en Customize en la barra lateral y abre Connectors. Para integraciones no listadas en Connectors, agrega servidores MCP manualmente a través de archivos de configuración. También puedes crear conectores personalizados.

Usar skills

Skills extienden lo que Claude puede hacer. Claude los carga automáticamente cuando son relevantes, o puede invocar uno directamente: escriba / en el cuadro de solicitud o haga clic en el botón + y seleccione Slash commands para ver lo que está disponible. Esto incluye comandos integrados, sus skills personalizados, skills del proyecto desde su base de código y skills de cualquier plugin instalado. Seleccione uno y aparecerá resaltado en el campo de entrada. Escriba su tarea después de él y envíe como de costumbre. Puedes enviar un comando mientras Claude está trabajando, igual que cualquier otro mensaje, y la sesión vuelve a estar inactiva una vez que termina el turno. Las sesiones locales cargan sus skills personales desde ~/.claude/skills/. Una sesión SSH lee ~/.claude/skills/ desde el directorio de inicio del host remoto, no desde su máquina. Las sesiones locales y en la nube también cargan los skills habilitados para su cuenta de claude.ai, excepto las sesiones locales cuando su organización establece disableSideloadFlags. Las sesiones en la nube los cargan en lugar de ~/.claude/skills/, como describe Skills en sesiones de Cowork y en la nube.

Instalar plugins

Plugins son paquetes reutilizables que agregan skills, agentes, hooks, MCP servers y configuraciones LSP a Claude Code. Puede instalar plugins desde la aplicación de escritorio sin usar la terminal. En una sesión local o una sesión SSH, haz clic en + junto al cuadro de prompt y selecciona Add plugins para abrir el navegador de plugins. Si el menú muestra Plugins en su lugar, selecciónalo y luego Browse plugins, o Manage plugins para habilitar, deshabilitar o desinstalar plugins. Puede limitar plugins a su cuenta de usuario, un proyecto específico o solo locales. Si su organización gestiona plugins centralmente, esos plugins están disponibles en sesiones de escritorio de la misma manera que en la CLI, excepto los que la aplicación de escritorio retiene bajo disableSideloadFlags. El navegador de plugins no está disponible en sesiones en la nube, y los plugins que instale desde la aplicación de escritorio no están disponibles para sesiones en la nube. Una sesión en la nube tampoco instala plugins que el archivo .claude/settings.json del repositorio declara, como explica Lo que se transfiere de su configuración. Los plugins no están disponibles en sesiones WSL. Para la referencia completa de plugins incluyendo crear sus propios plugins, consulte plugins.

Configurar servidores de vista previa

Claude detecta automáticamente su configuración de servidor de desarrollo y almacena la configuración en .claude/launch.json en la raíz de la carpeta que seleccionó al iniciar la sesión. Preview usa esta carpeta como su directorio de trabajo, por lo que si seleccionó una carpeta principal, las subcarpetas con sus propios servidores de desarrollo no se detectarán automáticamente. Para trabajar con el servidor de una subcarpeta, inicie una sesión en esa carpeta directamente o agregue una configuración manualmente. Para personalizar cómo se inicia tu servidor, por ejemplo para usar yarn dev en lugar de npm run dev o para cambiar el puerto, edita .claude/launch.json. El archivo admite JSON con comentarios.
Puede definir múltiples configuraciones para ejecutar diferentes servidores desde el mismo proyecto, como un frontend y una API. Consulte los ejemplos a continuación.

Verificación automática de cambios

Cuando autoVerify está habilitado, Claude verifica automáticamente cambios de código después de editar archivos. Toma capturas de pantalla, verifica errores y confirma que los cambios funcionan antes de completar su respuesta. Auto-verify está habilitado de forma predeterminada. Desactívalo por proyecto agregando "autoVerify": false a .claude/launch.json, o desactiva Auto-verify changes en el menú ⋮ del panel Browser.
Cuando está deshabilitado, las herramientas de vista previa aún están disponibles y puede pedirle a Claude que verifique en cualquier momento. Auto-verify lo hace automático después de cada edición.

Campos de configuración

Cada entrada en el array configurations acepta los siguientes campos: Use runtimeExecutable con runtimeArgs para iniciar un servidor de desarrollo a través de un administrador de paquetes. Por ejemplo, "runtimeExecutable": "npm" con "runtimeArgs": ["run", "dev"] ejecuta npm run dev. Use program cuando tenga un script independiente que desee ejecutar con node directamente. Por ejemplo, "program": "server.js" ejecuta node server.js. Pase banderas adicionales con args. De forma predeterminada, la vista previa abre http://localhost:<port>. Establezca url cuando su servidor necesite una dirección diferente. Los casos comunes son servidores que requieren HTTPS local, aplicaciones que usan subdominios *.localhost y aplicaciones que lo registran a través de una redirección.
Las direcciones localhost se abren directamente, exactamente como la dirección de puerto predeterminada. Esto incluye localhost, cualquier subdominio *.localhost, 127.0.0.1 y ::1. Por seguridad, una url localhost debe ser solo el origen de su servidor, sin ruta ni consulta. Su puerto debe coincidir con el puerto de la entrada. Para mostrar una página específica, pida a Claude que navegue allí después de que se abra la vista previa. Una url localhost con una ruta, consulta o puerto no coincidente se reporta como un error de configuración que nombra la url y muestra la corrección. Para cualquier otra dirección, Desktop solicita su permiso la primera vez que la vista previa la abre, igual que cuando navega a un sitio nuevo en la vista previa. Las direcciones externas pueden incluir rutas. Elija Always allow para omitir el aviso para ese sitio en el futuro. Las políticas organizacionales que restringen sitios externos en la vista previa aún se aplican. Para obtener una vista previa de un servidor que ya ejecuta usted mismo, establezca url sin un comando. Claude adjunta la vista previa a su servidor en ejecución en lugar de iniciar uno:
La url debe ser http o https, y no debe contener un nombre de usuario o contraseña.

Conflictos de puerto

El campo autoPort controla qué sucede cuando su puerto preferido ya está en uso:
  • true: Claude encuentra y usa un puerto libre automáticamente. Adecuado para la mayoría de servidores de desarrollo.
  • false: Claude falla con un error. Use esto cuando su servidor debe usar un puerto específico, como para devoluciones de llamada OAuth o listas de permitidos CORS.
  • No establecido (predeterminado): tu servidor obtiene el siguiente puerto libre, como con true, excepto en el único caso que se describe a continuación. Antes de Claude Desktop v2.37337.0, Claude pregunta en su lugar si el servidor necesita ese puerto exacto y luego guarda tu respuesta en launch.json.
Si tu puerto preferido está en uso y autoPort no está establecido, tu servidor permanece detenido cuando se cumplen todas estas condiciones:
  • Inicias el servidor a través de un script de npm, yarn, pnpm o bun.
  • Tu puerto preferido está codificado de forma fija en ese script, o Claude no puede inspeccionar el script.
  • No pasas el puerto en runtimeArgs.
En ese caso, libera el puerto, elimina el valor codificado de forma fija o cambia port para que coincida con el script. Establecer "autoPort": true en su lugar solo funciona para un script que lee PORT. Haz que tu servidor lea su puerto de la variable de entorno PORT, que contiene el puerto asignado. Cuando Claude mueve tu servidor a un puerto diferente, también reescribe un valor de --port o -p en runtimeArgs para que coincida.

Ejemplos

Estas configuraciones muestran configuraciones comunes para diferentes tipos de proyectos:
Esta configuración ejecuta una aplicación Next.js usando Yarn en el puerto 3000:

Configuración del entorno

El entorno que elige al iniciar una sesión determina dónde Claude se ejecuta y cómo se conecta:
  • Local: se ejecuta en su máquina con acceso directo a sus archivos
  • Cloud: se ejecuta en la infraestructura administrada por Anthropic de forma predeterminada. Las sesiones continúan incluso si cierra la aplicación.
  • SSH: se ejecuta en una máquina remota a la que te conectas a través de SSH, como tus propios servidores, máquinas virtuales en la nube o contenedores de desarrollo. Una tarea en ejecución puede seguir mientras Desktop está desconectado, pero con una cuenta de Claude puede detenerse cuando su inicio de sesión expira.
  • WSL (Windows): se ejecuta dentro de una distribución WSL 2 en su máquina, utilizando su cadena de herramientas Linux y rutas nativas

Crear un entorno guardado

Un entorno guardado es una entrada en el selector de entorno que registra dónde se ejecuta Claude, para que puedas iniciar sesiones posteriores allí. Un entorno local o SSH también contiene las carpetas en las que trabaja Claude. Los entornos locales y SSH guardados forman parte del diseño actual, así que si no los ves, comprueba qué diseño tienes y cómo obtener el actual.
1

Abre el diálogo New environment

Abre el selector de entorno debajo del cuadro del prompt y selecciona New environment al final de su menú.
2

Elige dónde se ejecuta Claude

Selecciona la pestaña Local, SSH o Cloud y completa el formulario de esa pestaña. En la pestaña SSH, elige una conexión y una carpeta en la máquina remota.
3

Guarda el entorno

Selecciona Create environment, o Add environment en la pestaña Cloud.

Entornos que Desktop crea por ti

Si el selector de entorno muestra entornos locales o SSH que no creaste, Desktop los creó por ti. La primera vez que abres la pestaña Code en el diseño actual, Desktop crea hasta ocho entornos. Los entornos provienen de las carpetas locales y SSH que más usaste en el último mes. Puedes editarlos o eliminarlos.

Usar, editar o eliminar un entorno guardado

Busca la entrada del entorno en el selector de entorno:
  • Iniciar una sesión: selecciona la entrada.
  • Editar o eliminar: pasa el cursor sobre la entrada y haz clic en el ícono de engranaje. Para eliminar un entorno local o SSH, haz clic en Delete environment en Edit environment.
  • Archivar entornos en la nube: consulta Archivar un entorno.

Variables de entorno en sesiones locales

Para definir una variable de entorno para una sesión local, agrégala a un entorno local guardado y luego inicia una nueva sesión desde ese entorno. Variables como PATH y CLAUDE_CONFIG_DIR tienen sus propias instrucciones: En macOS o Linux, si una variable que estableciste con export falta o tiene un valor incorrecto en un comando que ejecuta Claude, consulta Variable exportada ausente o incorrecta en los comandos que ejecuta Claude.

Establecer variables de entorno para sesiones locales

Agrega las variables a un entorno local guardado e inicia tus sesiones desde él. Desktop establece algunas variables por sí mismo, como API_TIMEOUT_MS, y tus sesiones reciben su valor para esas en lugar del tuyo.
Si una sesión nueva no muestra ningún entorno debajo del cuadro del prompt, tienes el diseño anterior, que no tiene entornos locales guardados. Usa en su lugar el editor de entorno local.
1

Abre el formulario de un entorno local

  • Para crear un entorno local guardado: selecciona New environment al final del menú del selector de entorno y luego la pestaña Local
  • Para cambiar uno que ya tienes: en el selector de entorno, coloca el cursor sobre un entorno guardado en Local y haz clic en el icono de engranaje para abrir Edit environment
2

Ingresa las variables

Selecciona Environment variables, ingresa un KEY=value por línea y selecciona Done.
3

Guarda el entorno

Selecciona Create environment o Save.
Solo las sesiones que inicias desde ese entorno reciben las variables. Para establecer una variable para todas las sesiones locales, agrégala a la clave env de tu archivo ~/.claude/settings.json. Claude Code ignora el valor si esa variable ya está en el entorno con el que Desktop inicia la sesión. Consulta variables de entorno para ver la lista completa de variables admitidas.

Establecer variables de entorno para servidores de desarrollo

Para darle un secreto a un servidor de desarrollo sin confirmarlo en launch.json, establécelo en uno de estos lugares y luego reinicia Desktop:
  • macOS y Linux: expórtalo en tu perfil del shell
  • Windows: agrégalo a tus variables de entorno de usuario o del sistema
  • Cualquier plataforma: guárdalo en el editor de entorno local, si puedes abrirlo
Los servidores de desarrollo no reciben las variables que agregas a un entorno guardado ni a ~/.claude/settings.json.

Usar el editor de entorno local

Para abrir el editor de entorno local, haz clic en el ícono de engranaje de la entrada de tu propia computadora, no en el de un entorno guardado:
  • Selector debajo del cuadro del prompt: pasa el cursor sobre la entrada de tu computadora, la primera bajo Local. Si aparece un ícono de engranaje, haz clic en él. Si no aparece, el editor no está disponible, así que establece la variable para sesiones locales o servidores de desarrollo de otra forma.
  • Selector encima del cuadro del prompt: pasa el cursor sobre Local y haz clic en el ícono de engranaje
Ingresa un KEY=value por línea y selecciona Save changes. Las variables que guardas aquí se almacenan cifradas en tu máquina. Las sesiones locales las reciben, excepto cualquier variable que Desktop establece por sí mismo, como API_TIMEOUT_MS. Reinicia Desktop para darles tus variables a los servidores de desarrollo.

Variable exportada ausente o incorrecta en los comandos que ejecuta Claude

Si un comando que Claude ejecuta en macOS o Linux no recibe una variable que definiste con export en ~/.zshrc o ~/.bashrc, o recibe el valor incorrecto, prueba lo siguiente en orden:
1

Inicia una nueva sesión

Pídele a Claude que ejecute el comando de nuevo.
2

Cierra y vuelve a abrir Desktop

Luego inicia una nueva sesión.
3

Revisa tus variables guardadas

Si un comando recibe un valor incorrecto, comprueba si también estableciste la variable en un entorno guardado o en el editor del entorno local. Si es así, cambia el valor allí e inicia una nueva sesión.
4

Usa un entorno guardado

Agrega la variable a un entorno local guardado y luego inicia una nueva sesión desde ese entorno. Para una variable como PATH, CLAUDE_CONFIG_DIR o API_TIMEOUT_MS, sigue en su lugar sus propias instrucciones.
Antes de v2.1.304, Claude Code no pasa las variables exportadas a los comandos, así que comprueba qué versión ejecuta la sesión.

Variables de entorno que Desktop establece por sí mismo

Si estableces API_TIMEOUT_MS o ANTHROPIC_BASE_URL y nada cambió en tus sesiones locales, es porque Desktop establece esas variables, entre otras, por sí mismo. Una sesión local recibe el valor de Desktop tanto si estableces el tuyo en tu perfil del shell, en tus variables de usuario o del sistema de Windows, en el editor de entorno local o en un entorno guardado. Mover el tuyo a un archivo de configuración no ayuda, porque Claude Code ignora ese valor en una sesión local.

Desactivar el pensamiento extendido

El pensamiento extendido está habilitado de forma predeterminada, lo que mejora el rendimiento en tareas de razonamiento complejas, pero usa tokens adicionales. Para desactivarlo, establece MAX_THINKING_TOKENS en 0 en un entorno local guardado o en el editor de entorno local. El pensamiento se desactiva entonces en la API de Anthropic, excepto en Opus 5.5, Sonnet 5.5, Haiku 5.5 y los modelos Fable, que siempre usan pensamiento extendido. En Opus 5, además selecciona el esfuerzo high o inferior antes de iniciar la sesión. En el diseño actual, abre el selector de modelo y selecciona un nivel en Effort. Si iniciaste la sesión con un nivel más alto, inicia una nueva en high o inferior.

Presupuestos de pensamiento fijos

En modelos con razonamiento adaptativo, Claude Code ignora el número en sí de un valor positivo de MAX_THINKING_TOKENS porque el razonamiento adaptativo controla la profundidad del pensamiento en su lugar. En Opus 4.6 y Sonnet 4.6, establece CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING en 1 para usar un presupuesto de pensamiento fijo; los modelos Fable, Sonnet 5 y posteriores, Haiku 5.5, y Opus 4.7 y posteriores siempre usan razonamiento adaptativo y no tienen modo de presupuesto fijo.

Sesiones locales en dispositivos administrados

Si la entrada de tu computadora aparece atenuada en el selector de entorno, con la información emergente Disabled by your organization, tu administrador desactivó las sesiones locales. En Windows, la entrada de WSL, cuya disponibilidad en dispositivos administrados se rige por separado, aparece atenuada de la misma forma. Las sesiones nuevas usan de forma predeterminada la primera conexión SSH, si hay una configurada. Si intentas continuar una sesión local existente, Desktop muestra un mensaje que indica que las sesiones locales no están disponibles en este dispositivo. Los entornos locales guardados muestran este error cuando seleccionas uno: Couldn’t switch environments: the Local environment isn’t available anymore. Elige en su lugar un entorno SSH o en la nube, o contacta a tu equipo de TI.

Sesiones en la nube

Las sesiones en la nube continúan en segundo plano incluso si cierra la aplicación. El uso cuenta hacia los límites de su plan de suscripción sin cargos de computación separados. Para agregar, editar o archivar un entorno en la nube, abre el selector de entorno:
  • Agregar un entorno: selecciona New environment al final del menú del selector y luego la pestaña Cloud del diálogo New environment
  • Editar o archivar uno de sus propios entornos: pase el cursor sobre él y haga clic en el icono de engranaje
Consulte Configure cloud environments para obtener detalles sobre la configuración del acceso a la red y variables de entorno.

Sesiones SSH

Las sesiones SSH le permiten ejecutar Claude Code en una máquina remota mientras usa la aplicación de escritorio como su interfaz. Esto es útil para trabajar con bases de código que viven en máquinas virtuales en la nube, contenedores de desarrollo o servidores con hardware o dependencias específicas.
Si usas Desktop con un proveedor externo, las sesiones SSH necesitan su propia configuración. Consulta SSH remote sessions in Claude Desktop on 3P.
Agrega una conexión SSH en el cuadro de diálogo New environment y luego inicia una sesión en esa conexión. Si una sesión nueva no muestra ningún entorno debajo del cuadro del prompt, tienes el diseño anterior. Consulta Comprobar qué diseño tienes.
1

Abre el diálogo New environment

Antes de iniciar una sesión, abre el selector de entorno debajo del cuadro del prompt y selecciona New environment al final de su menú.
2

Agrega la conexión

En la pestaña SSH del diálogo New environment, abre la lista Host, selecciona Add SSH connection… y completa los detalles de la conexión:
  • Name: una etiqueta descriptiva para esta conexión.
  • SSH host: user@hostname o un host definido en ~/.ssh/config.
  • SSH port: usa 22 de forma predeterminada si lo dejas vacío, o usa el puerto de tu configuración de SSH.
  • SSH key (optional): ruta a tu clave privada, como ~/.ssh/id_ed25519. Déjalo vacío para usar tu configuración de SSH o tu agente SSH.
  • Worktree folder: una carpeta en la máquina remota, como ~/worktrees, donde las sesiones nuevas crean sus worktrees. Déjalo vacío para usar el valor predeterminado de la máquina remota.
Luego selecciona Add SSH connection.
3

Inicia una sesión en la conexión

Selecciona una carpeta en la máquina remota y haz clic en Create environment. Conservas la máquina y la carpeta juntas como un entorno guardado para sesiones posteriores. Desktop lo selecciona para la sesión nueva, así que escribe tu tarea y presiona Enter.
La máquina remota puede ejecutar Linux, macOS o Windows. Desktop instala Claude Code en la máquina remota automáticamente la primera vez que te conectas. Una vez conectado, las sesiones SSH admiten modos de permisos, conectores, plugins y servidores MCP.

Requisitos de la máquina remota para las sesiones SSH

Una máquina remota Linux o macOS necesita un procesador compatible, un servidor SSH con SFTP, una carpeta de instalación que no esté montada con noexec, un shell funcional y acceso a la red. Revisa cada requisito antes de conectarte, o cuando una conexión falle después de iniciar sesión:
  • Sistema: un procesador x86_64 o arm64. La máquina también tiene que cumplir los requisitos del sistema de Claude Code. En Linux, Claude Code necesita glibc 2.17 o posterior, o musl. Para ver cuál tiene la máquina, ejecuta ldd --version allí. En una distribución basada en musl como Alpine Linux, instala también los paquetes que necesita Claude Code.
  • SFTP: el servidor SSH tiene que ofrecer el subsistema SFTP, que se activa con una línea Subsystem sftp en su sshd_config. Para comprobarlo, conéctate al mismo host y puerto con sftp en una terminal de tu computadora. Un servidor que funciona muestra el prompt sftp>.
  • MaxSessions 1 en el servidor: para conectarte a un servidor cuyo sshd_config establece MaxSessions 1, haz una de estas cosas:
    • Tu computadora ejecuta macOS o Linux: actualiza a Claude Desktop v3.1623.0 o posterior
    • Tu computadora ejecuta Windows: asegúrate de que Desktop se conecte a través del cliente OpenSSH, porque el cliente SSH integrado de Desktop no puede conectarse a ese servidor
    • Puedes cambiar el servidor: aumenta MaxSessions, por ejemplo al valor predeterminado de OpenSSH, 10
  • Inicios de sesión con MaxSessions 1: usa un inicio de sesión que funcione sin solicitudes, como una clave que tenga tu agente SSH. Desktop inicia sesión al menos dos veces cada vez que se conecta o se vuelve a conectar. Espera al menos un inicio de sesión más por cada pestaña de la terminal y por cada sesión de Desktop en la que ejecutes comandos que empiezan con !. No esperes ninguno por los comandos que ejecuta Claude.
  • Códigos de un solo uso con MaxSessions 1: si cada inicio de sesión te pide algo, como con códigos de un solo uso, los comandos ! fallan. Ejecuta esos comandos en una pestaña de la terminal, que muestra la solicitud en su propio panel.
  • Carpeta de instalación: Desktop instala un programa auxiliar y Claude Code en ~/.claude/remote/ dentro de tu directorio home. Los ejecuta desde allí, por lo que esa carpeta no puede estar en un sistema de archivos montado con noexec. Reserva aproximadamente 1 GB de espacio en disco en el directorio home de cada usuario que se conecte. Para saber qué contiene esa carpeta, consulta Archivos y procesos en la máquina remota.
  • Shell: el shell establecido para tu cuenta en la máquina remota tiene que ejecutar los comandos enviados a través de SSH, como lo hacen Bash, Zsh y sh
  • Red: Claude Code se ejecuta en la máquina remota y realiza sus solicitudes de red desde allí, por lo que la máquina necesita el acceso a la red que requiere Claude Code. Si la máquina no puede descargar Claude Code, Desktop lo descarga en tu computadora y lo sube. Las demás solicitudes de Claude Code siguen saliendo desde la máquina remota. En una máquina remota Linux, si esas solicitudes necesitan un proxy, establécelo para las sesiones SSH.

Comprobar la clave de host de una máquina remota

Una clave de host es la clave que presenta una máquina remota para demostrar qué máquina es, y una huella digital es una forma abreviada de esa clave. Cuando confías en una clave, tu computadora la guarda y se conecta a lo que la presente, sin volver a preguntar. Comprueba una clave antes de confiar en ella, porque algo podría estar interceptando la conexión. Primero determina a qué máquina pertenece la clave, según dónde ves la huella digital:
  • Desktop pregunta Connect to <host> for the first time?, o seleccionaste Review new key: la máquina que nombra Desktop, <host>
  • Desktop pregunta Connect through <jump host> for the first time?: el host de salto, que es la máquina por la que pasa tu conexión, no la máquina a la que quieres llegar
  • ssh pregunta o advierte en una terminal: la máquina que nombra su mensaje, que puede no ser la que escribiste
Obtén la huella digital propia de esa máquina desde la máquina, no a través de la conexión que estás comprobando:
  • Otra persona administra la máquina: pídele la huella digital de su clave de host
  • Tú la administras y ejecuta Linux o macOS: ejecuta ssh-keygen -lf /etc/ssh/ssh_host_<type>_key.pub en ella, en su consola o a través de una conexión en la que ya confías. Para <type>, usa el tipo de clave que Desktop o ssh muestra junto a la huella digital, en minúsculas: ed25519 para ED25519 o ssh-ed25519.
Luego compara la huella digital propia de la máquina con la que se te mostró:
  • Coinciden: confía en la clave. Selecciona Trust and connect o Trust new key en Desktop, o responde yes en la terminal.
  • Difieren, o no puedes comprobarlo: no te conectes. Selecciona Cancel en Desktop, o responde no en la terminal. Si otra persona administra la máquina, dile qué huella digital se te mostró.
Si un paso de solución de problemas te envió aquí, vuelve a ese paso después de cualquiera de los dos resultados.

Establecer un proxy o un certificado de CA para las sesiones SSH

Si una máquina remota Linux accede a internet a través de un proxy o necesita un certificado de CA, agrega las variables de proxy y de CA en env en el ~/.claude/settings.json de esa máquina. Agrégalas incluso si ya las exportas en ~/.profile, ~/.bash_profile, ~/.zprofile o ~/.zshrc en esa máquina. En una sesión SSH, Claude Code no obtiene las variables de esos archivos, aunque claude en una terminal de esa máquina sí las obtenga. La sesión puede entonces quedarse colgada o mostrar The connection from … to the API failed o Authentication failed, y volver a iniciar sesión no ayuda.
1

Agrega las variables

Para el archivo de CA, usa NODE_EXTRA_CA_CERTS, porque Claude Code no confía en una CA de SSL_CERT_FILE en ~/.claude/settings.json. Este ejemplo establece un proxy y un archivo de CA:
~/.claude/settings.json
2

Vuelve a enviar tu mensaje

Vuelve a enviar tu mensaje, porque una variable que agregas o cambias en ese archivo surte efecto en cuestión de segundos. Inicia una nueva sesión si sigue fallando.
Comprueba si la máquina remota Linux establece la variable de proxy o de CA en otro lugar, porque las sesiones usan ese valor e ignoran el de cualquier archivo de configuración:
1

Lista las variables que establece la máquina remota

En una terminal de tu computadora, ejecuta ssh devbox env, con tu propio host.
2

Cambia la variable donde está establecida

Si la lista contiene la variable, cámbiala en el archivo que la establece, como ~/.zshenv, /etc/environment o ~/.bashrc en la máquina remota.
3

Da el nuevo valor a las sesiones

Reinicia la máquina remota, o cierra Desktop y termina los procesos del programa auxiliar, como en los dos primeros pasos para eliminar el programa auxiliar. Hazlo cuando no haya ninguna tarea en ejecución, porque cualquiera de las dos opciones interrumpe el trabajo de Claude.

Usar tu configuración de SSH

Puedes usar tu configuración de SSH en macOS, Linux y Windows cuando Desktop se conecta a través del cliente OpenSSH de tu computadora:
  • macOS y Linux: Desktop se conecta ejecutando el cliente OpenSSH de tu computadora, así que usa tu ~/.ssh/config. Conectarse a través del cliente OpenSSH requiere Claude Desktop v1.37937.0 o posterior.
  • Windows: cuando Desktop se conecta a través del cliente OpenSSH, usa tu %USERPROFILE%\.ssh\config. Si usas una cuenta de Claude en lugar de un proveedor externo, conectarse a través del cliente OpenSSH requiere todo lo siguiente:
    • Claude Desktop v2.2553.0 o posterior. Para encontrar tu versión, consulta Comprobar tu versión.
    • OpenSSH de Microsoft 9.4 o posterior
    • Desktop instalado con los botones de descarga de la parte superior de esta página, porque Desktop de Microsoft Store no se conecta a través del cliente OpenSSH
    Si no puedes cumplir estos requisitos, o usas un proveedor externo, consulta Conectarse en Windows sin el cliente OpenSSH.
Con el cliente OpenSSH, ingresa un nombre de Host de tu archivo de configuración en el campo SSH host. Desktop usa entonces los ajustes de esa entrada Host, como HostName, User, IdentityFile, CertificateFile, ProxyJump y ProxyCommand. Antes de agregar la conexión, revisa el cliente y la entrada en una terminal de tu computadora:
  • Versión del cliente en macOS y Linux: ejecuta ssh -V. El cliente tiene que ser OpenSSH 7.6 o posterior.
  • Versión del cliente en Windows: Desktop prueba primero el ssh de tu PATH, así que ejecuta ssh -V. El cliente es válido si la salida muestra OpenSSH_for_Windows_ y 9.4 o posterior. Si no es válido, revisa las dos carpetas que Desktop prueba a continuación: ejecuta .\ssh.exe -V en C:\Windows\System32\OpenSSH y luego en C:\Program Files\OpenSSH.
  • Ningún cliente es válido en Windows: agrega la característica opcional OpenSSH Client en Windows e instala las actualizaciones pendientes de Windows, o instala la compilación más reciente de Microsoft. Luego cierra y vuelve a abrir Desktop. Para ver si Desktop encontró un cliente OpenSSH utilizable, busca en ssh.log Windows OpenSSH client: y una versión, o no usable Windows OpenSSH client.
  • Entrada: en Windows, usa el cliente que pasó la comprobación de versión. Ejecuta ssh con el nombre de Host, como ssh devbox. Si falla, corrige primero la entrada.
Puedes dejar vacíos los campos SSH port y SSH key (optional). Si completas uno, Desktop lo usa junto con la entrada:
  • SSH port: un valor aquí sobrescribe el Port de la entrada
  • SSH key (optional): con el cliente OpenSSH, Desktop ofrece el archivo de clave que elijas además del IdentityFile de la entrada y las claves de tu agente SSH. En Windows, elige una clave en formato OpenSSH, porque ssh no lee un archivo .ppk de PuTTY.
En Windows, te conectas a través del cliente SSH integrado de Desktop si tu computadora no cumple los requisitos para el cliente OpenSSH. Con un proveedor externo, te conectas de forma predeterminada a través del cliente integrado, y tu administrador puede cambiarlo. Para ver el ajuste, consulta SSH remote sessions in Claude Desktop on 3P. Con el cliente integrado, aún puedes ingresar un nombre de Host de tu configuración de SSH en el campo SSH host si tu PATH tiene un comando ssh, con estos límites:
  • Ajustes de la entrada: Desktop toma HostName, User, Port e IdentityFile. También toma ProxyCommand si hay un shell sh en tu PATH.
  • SSH key (optional): deja este campo vacío para conservar el IdentityFile de la entrada, porque un archivo de clave que elijas aquí reemplaza al IdentityFile
  • CertificateFile y ProxyJump: Desktop ignora CertificateFile, y la conexión falla si la entrada establece ProxyJump. Para usar cualquiera de los dos ajustes, conéctate a través del cliente OpenSSH.
Para llegar a una máquina detrás de un host de salto, también llamado bastión, establece ProxyJump o ProxyCommand en la entrada. La siguiente entrada llega a devbox.internal.example.com a través de bastion.example.com:
~/.ssh/config
Ingresa devbox en el campo SSH host. Si tu administrador restringe los hosts SSH, el host de salto también tiene que estar en la lista. Ejecuta ssh -G bastion.example.com en una terminal de tu computadora y pídele que permita el hostname que imprime. Para ejecutar una sesión dentro de un contenedor que no publica ningún puerto SSH, llega a él con un ProxyCommand, porque Desktop no ejecuta el RemoteCommand de la entrada a la que te conectas. Si tu entrada usa RemoteCommand para entrar en el contenedor, la sesión se ejecuta en la máquina en la que inicia sesión la entrada, no en el contenedor.
1

Agrega la entrada

Agrega la siguiente entrada al final de tu ~/.ssh/config, o justo encima de tu primera entrada Host * si tienes una. Reemplaza el contenedor de Docker devbox, su usuario dev y la máquina build.example.com por los tuyos. El comando de la entrada inicia un servidor SSH dentro del contenedor para cada conexión:
~/.ssh/config
2

Prepara el contenedor

  • Instala el servidor OpenSSH, con una clave de host que se mantenga igual cuando vuelvas a compilar la imagen o vuelvas a crear el contenedor
  • Dale a la cuenta indicada en User una forma de iniciar sesión, como un archivo authorized_keys
  • Comprueba que el contenedor cumple los requisitos de la máquina remota
3

Revisa la lista de permitidos

Si tu administrador restringe los hosts SSH, ejecuta ssh -G devbox-container en una terminal de tu computadora. Pídele que permita en sshHostAllowlist el hostname que imprime, aquí devbox-container. Cuando permite ese nombre, permite cualquier cosa a la que se conecte el ProxyCommand de tu entrada.
4

Prueba la entrada y luego conéctate

Ejecuta ssh devbox-container en una terminal de tu computadora. Corrige lo que informe y vuelve a ejecutarlo hasta que abra un shell en el contenedor sin pedirte nada:
  • Si ssh pide una contraseña, una frase de contraseña o un código: cambia a un inicio de sesión que funcione sin pedirte nada, como una clave que tenga tu agente SSH
  • Si ssh informa Cannot execute command-line and remote command. o Bad packet length: quita RemoteCommand y RequestTTY de tu entrada para build.example.com. Después de eso, ssh build.example.com en una terminal de tu computadora abre un shell en esa máquina, no en el contenedor.
  • Si ssh informa Connection closed by UNKNOWN port 65535: ejecuta ssh build.example.com docker exec devbox /usr/sbin/sshd -t en la misma terminal.
    • Si imprime Missing privilege separation directory: /run/sshd, crea esa carpeta en el contenedor.
    • Si imprime no hostkeys available y el contenedor tiene claves de host, agrega -u root después de exec en este comando y en la entrada.
Luego ingresa devbox-container en el campo SSH host.
En macOS y Linux, para usar una variable de entorno propia en un comando ProxyCommand o Match exec, expórtala en un archivo de inicio del shell, como ~/.zshrc. Luego cierra y vuelve a abrir Desktop. Cuando Desktop se inicia, lee lo que exporta tu shell de inicio de sesión y conserva esos valores hasta que lo cierras. Esto requiere Claude Desktop v2.37337.0 o posterior y un comando env que acepte -0, lo que puedes comprobar ejecutando env -0 en una terminal de tu computadora.
Si tu shell establece credenciales temporales de AWS, dale a la AWS CLI un perfil en lugar de exportar variables AWS_*.
Si estableces credenciales temporales de AWS en un archivo de inicio del shell, un ProxyCommand que ejecuta la AWS CLI puede conectarse en una terminal y fallar en Desktop. Cuando tu shell exporta AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN o AWS_CREDENTIAL_EXPIRATION, ssh y tu ProxyCommand en Desktop no obtienen las credenciales de AWS del shell, AWS_REGION ni AWS_PROFILE. Si la AWS CLI no tiene otra fuente para una región o para las credenciales, falla con You must specify a region o Unable to locate credentials. Para conectarte desde Desktop, dale a la AWS CLI un perfil que lea de ~/.aws/config:
1

Agrega un perfil con una región y una fuente de credenciales

Este ejemplo agrega un perfil llamado corp que obtiene sus credenciales de un programa auxiliar:
~/.aws/config
  • region: indica la región de AWS de las máquinas a las que te conectas
  • credential_process: indica la ruta completa de un programa que imprima credenciales en el formato JSON que documenta AWS. Elige un programa que no necesite ninguna intervención tuya, porque la AWS CLI lo ejecuta en cada conexión, incluidas las reconexiones mientras no estás.
  • IAM Identity Center: agrega la configuración de IAM Identity Center del perfil en lugar de credential_process. Ejecuta aws sso login --profile corp en una terminal antes de conectarte, y de nuevo cuando ese inicio de sesión caduque.
2

Indica el perfil en el ProxyCommand

Este ejemplo agrega --profile al comando que documenta AWS para Session Manager:
~/.ssh/config
3

Vuelve a conectarte

Ejecuta ssh con el host en una terminal para confirmar que la entrada sigue conectándose allí, y luego conéctate desde Desktop.
Si tu configuración SSH no establece ningún ConnectTimeout para el host, Desktop le da a ssh 30 segundos para conectarse. A través de un host de salto o un ProxyCommand, ese tiempo incluye el tiempo que tarda la ruta en conectarse. Si tu ruta necesita más tiempo, agrega un valor más alto a la entrada:
~/.ssh/config
ssh usa el primer valor que encuentra para un host, así que mantén la entrada por encima de cualquier entrada Host * que establezca ConnectTimeout. Para confirmarlo, ejecuta ssh -G devbox en una terminal de tu computadora. Su salida incluye connecttimeout 120. Después de cambiar el valor, cierra y vuelve a abrir Desktop. Si la propia máquina remota espera una aprobación en tu teléfono, apruébala en menos de 45 segundos, sea cual sea el ConnectTimeout que establezcas. No puedes aumentar este límite, porque Desktop establece ServerAliveInterval y ServerAliveCountMax por sí mismo, y entonces ssh cierra un inicio de sesión en el que la máquina remota no envía nada durante ese tiempo. Si en cambio es un host de salto o un ProxyCommand el que te espera, aumenta ConnectTimeout en la entrada de la máquina remota para cubrir ese tiempo. Si Desktop usa un ajuste que ssh devbox en una terminal no usa, busca un bloque Match host encima de la línea HostName de la entrada. En una terminal, ssh lee un bloque situado allí antes de la línea HostName, por lo que compara el bloque con devbox. Desktop le pasa a ssh el valor de HostName en la línea de comandos, por lo que ssh compara el bloque con ese valor. Para comprobarlo, ejecuta ssh -G en una terminal de tu computadora con los valores HostName y User de la entrada en la línea de comandos, como lo hace Desktop:
Compara la salida con la de ssh -G devbox. Si los ajustes del bloque, como proxycommand, aparecen solo en la primera salida, el bloque surte efecto solo en Desktop. Para que Desktop también lo omita, agrega !originalhost devbox a su línea Match:
~/.ssh/config
Para confirmarlo, vuelve a ejecutar el primer comando. Los ajustes del bloque ya no aparecen en su salida. En su conexión con la máquina remota, Desktop deja desactivados ForwardAgent, ForwardX11, LocalForward, RemoteForward, DynamicForward y Tunnel, incluso donde tu configuración SSH los activa. En la terminal o en un comando !, espera que tus ajustes de reenvío se apliquen solo a veces, porque Desktop puede iniciar allí un ssh aparte que sí los sigue.
  • Para llegar a un puerto en la máquina remota: reenvíalo tú mismo
  • Para usar tus propias claves desde la máquina remota: configura una credencial en la propia máquina remota, por ejemplo para git push
Para evitar que Desktop reenvíe tu agente SSH o un puerto, ejecuta ssh -G devbox en una terminal de tu computadora. Luego vuelve a ejecutarlo como Desktop puede ejecutarlo, con los valores hostname y user que imprime, como en ssh -G -o HostName=devbox.internal.example.com -l alice devbox. La segunda salida puede mostrar ajustes de un bloque Match que la primera omite. Busca en ambas salidas una línea forwardagent que diga cualquier cosa distinta de no, y líneas que comiencen con localforward, remoteforward o dynamicforward. Si encuentras alguna, elimina ese ajuste de tu configuración SSH. Haz lo mismo para un host al que tu ProxyCommand llegue con ssh.

Llegar a un puerto en la máquina remota

Para abrir un servidor que se ejecuta en la máquina remota, como un servidor de desarrollo en el puerto 3000, reenvía el puerto tú mismo. En una terminal de tu computadora, ejecuta ssh con -L y el host al que te conectas, como devbox:
Si completaste SSH port o SSH key (optional) en la conexión, agrega -p o -i con el mismo valor. Deja ese comando en ejecución y abre http://localhost:3000 en un navegador de tu computadora para llegar al puerto 3000 de la máquina remota. Si ssh imprime open failed: administratively prohibited, pide al administrador de la máquina que permita el reenvío TCP, que se controla con AllowTcpForwarding en el sshd_config del servidor SSH.

Máquinas remotas Windows

Una máquina remota Windows requiere Claude Desktop v2.31226.0 o posterior. Usa OpenSSH Server de Microsoft. La máquina puede ser x64 o ARM64. El shell que inicia el servidor SSH puede ser cmd.exe, Windows PowerShell 5.1 o Git Bash. Las máquinas remotas Windows se prueban menos que las Linux. Prueba tu propio trabajo allí antes de depender de ellas. Espera estos límites, entre otros, en una máquina remota Windows:
  • Terminal: la terminal no se abre en una sesión cuya carpeta es una ruta de Windows, como C:/projects/app
  • Sandbox: Claude Code se ejecuta allí en Windows nativo, donde ejecuta los comandos fuera del sandbox. Consulta dónde se ejecuta el sandbox.
  • Plugins: Desktop no copia un plugin que contenga un nombre de archivo o carpeta que Windows no pueda almacenar, como un nombre con :. La sesión muestra los plugins que Desktop dejó fuera.
  • Servidores MCP: en algunas máquinas remotas Windows, las llamadas de Claude a los servidores MCP de claude_desktop_config.json pasan por Desktop, por lo que Claude no puede llamar a sus herramientas mientras Desktop está desconectado. Antes de Claude Desktop v2.37337.0, esto ocurre en todas las máquinas remotas Windows.
  • Worktrees: los worktrees van en <project-root>/.claude/worktrees/. Si eliges otra carpeta, Desktop la ignora.
  • Mensajes anteriores: si el shell del servidor SSH es cmd.exe o Windows PowerShell, es posible que tengas que conectarte antes de ver los mensajes anteriores de una sesión
  • Bifurcaciones: si el shell del servidor SSH es cmd.exe o Windows PowerShell, solo puedes bifurcar una sesión en su primer mensaje
  • Ejecución mientras está desconectado: una tarea sigue ejecutándose mientras Desktop está desconectado solo si el servidor SSH permite que un programa sobreviva a la conexión que lo inició. Para averiguarlo, prueba la máquina remota.
  • Procesos sobrantes: después de que termine una sesión, revisa la máquina en busca de programas que Claude Code haya iniciado, porque pueden seguir ejecutándose. El programa auxiliar en segundo plano que instala Desktop no se detiene por sí solo allí.

Mantener una tarea en ejecución mientras Desktop está desconectado

Si tu computadora entra en suspensión, pierdes la red o cierras Desktop, la tarea continúa hasta que termina, te necesita o alcanza uno de los límites. Cerrar la tapa cuenta como suspensión. Un reinicio de Desktop o de tu computadora, incluso por una actualización, cuenta como cerrar Desktop. Claude Code se ejecuta como un proceso en la máquina remota, bajo un programa auxiliar en segundo plano que Desktop instala allí, por lo que no necesita tu conexión SSH para seguir ejecutándose. El comportamiento de esta sección requiere Claude Desktop v2.31226.0 o posterior.
Si inicias sesión en Desktop con una cuenta de Claude, no cuentes con que una tarea se ejecute durante toda la noche. Desktop renueva ese inicio de sesión para la tarea solo mientras Desktop está en ejecución y conectado, por lo que el inicio de sesión de la tarea puede expirar después de que te desconectes, y entonces la tarea se detiene. El tiempo que queda cuando te desconectas varía, y puede ser de solo unos minutos.El trabajo hecho hasta ese momento permanece en la máquina remota, y puedes continuar con un mensaje cuando vuelvas.Si la tarea debe ejecutarse durante toda la noche:
  • Mantén tu computadora despierta y en línea, con la tapa abierta y Desktop en ejecución
  • Usa un inicio de sesión que funcione sin pedirte nada, como una clave que tenga tu agente SSH, para la máquina remota y para cualquier host de salto en el camino. Así Desktop puede volver a conectarse por sí solo después de una caída.
Para una tarea que deba ejecutarse mientras tu computadora está en suspensión o apagada, inicia una sesión en la nube en su lugar.
  • Después de una suspensión o una pérdida de red: recuperas la tarea en ejecución si el proceso sigue ejecutándose y Desktop puede iniciar sesión sin pedirte nada. Si no puede, envía un mensaje.
  • Después de salir: la tarea sigue ejecutándose, pero la pierdes cuando la sesión vuelve a abrirse, a menos que Desktop pueda volver a unirse a su proceso. Revisa cuándo puede Desktop volver a unirse antes de salir. Si perdiste la tarea, envía un mensaje para continuar.
Cuando vuelvas y la tarea no haya terminado, busca un aviso de que Desktop no puede volver a conectarse, un error de autenticación o una solicitud en espera:
  • Actualiza primero: actualiza Desktop antes de iniciar una tarea larga. En macOS y Windows, Desktop puede reiniciarse por sí solo para instalar una actualización que descargó. Ese reinicio espera mientras Claude trabaja en una tarea SSH. De forma predeterminada, una vez que la actualización esperó 72 horas, el reinicio puede realizarse durante la tarea si Desktop puede reincorporarse a la tarea después.
  • Revisa antes de cerrar: no siempre recuperas la tarea en ejecución después de un cierre o reinicio, por ejemplo después de algunas actualizaciones de Desktop. Para ver los casos, consulta Volver a abrir una sesión después de cerrar Desktop.
  • En una versión anterior, deja Desktop abierto: en Windows con Claude Desktop anterior a la v3.1623.0, no recuperas la tarea en ejecución después de que Desktop se cierra o se reinicia. Lo mismo ocurre con un proveedor externo en macOS o Linux antes de la v2.42304.0. En ambos casos, deja Desktop abierto durante la tarea. Para encontrar tu versión, consulta Comprobar tu versión.
  • Reduce las solicitudes: elige un modo de permisos, reglas o hooks que hagan que la tarea te espere con menos frecuencia
  • Revisa el host de salto: si tu host de salto pide un inicio de sesión, por ejemplo una notificación push a un teléfono, cambia a un inicio de sesión que funcione sin pedirte nada. De lo contrario, Desktop puede enviar otra notificación push cada vez que intenta volver a conectarse.
  • Prueba la máquina remota: inicia una tarea corta, cierra Desktop mientras la tarea sigue en ejecución y vuelve a abrir la sesión bastante después de cuando la tarea debería haber terminado. Si la tarea no terminó y la sesión no muestra ningún error de autenticación, revisa la máquina remota en busca de lo que puede terminar una tarea.
  • Mantén los comandos fuera de la terminal de Desktop: si la máquina remota cierra la sesión de las terminales inactivas, ejecuta tus propios comandos desde un inicio de sesión SSH fuera de Desktop
Una tarea que dejas en ejecución puede terminar cuando su inicio de sesión expira, cuando la máquina remota la termina, o cuando el programa auxiliar se detiene o se reemplaza:
  • Token de inicio de sesión o credencial: con una cuenta de Claude, la tarea se detiene con un error de autenticación cuando el token expira. Con un proveedor externo, lo mismo ocurre con una credencial que expira, como una de inicio de sesión único o de un asistente de credenciales. Consulta SSH remote sessions in Claude Desktop on 3P. Con una cuenta de Claude, mantén Desktop en ejecución y conectado para que pueda renovar el inicio de sesión.
  • La máquina remota: si la máquina remota se reinicia, o termina tus procesos cuando se cierra tu conexión SSH, la tarea en ejecución termina. Nada la vuelve a iniciar mientras Desktop está desconectado. Las máquinas Linux donde KillUserProcesses de systemd-logind es yes y se aplica a tu usuario terminan tus procesos de esta manera. Para mantener una tarea en ejecución allí, pide al administrador que excluya a tu usuario, por ejemplo con KillExcludeUsers.
  • Terminales inactivas: algunas máquinas remotas Linux cierran la sesión de una terminal en la que nadie escribe durante un tiempo determinado (StopIdleSessionSec de systemd-logind). Con Desktop en macOS o Linux, la terminal de una sesión y los comandos ! comparten la conexión SSH de Desktop de forma predeterminada. Ese cierre de sesión termina entonces la conexión mientras Desktop está conectado, y la tarea en ejecución puede terminar con ella. Cerrar el panel de la terminal no lo evita, así que mantén los comandos fuera de esa terminal.
  • Actualizaciones de Desktop: si una actualización trae un nuevo programa auxiliar, Desktop reemplaza el programa auxiliar en la máquina remota en una conexión posterior, lo que puede terminar una tarea que sigue en ejecución
  • Ausencias largas: en una máquina remota Linux o macOS, si Desktop no se conecta durante 30 días, el programa auxiliar se detiene y termina todos los procesos de Claude Code que se ejecutan bajo él. Conéctate antes de ese plazo.
Las ediciones de archivos y algunas herramientas pueden fallar mientras Desktop está desconectado. Si la tarea las necesita, mantén Desktop conectado:
  • Worktrees: en una sesión que usa un worktree, Desktop comprueba cada edición de archivo antes de que Claude la realice. Mientras Desktop está desconectado, cada edición espera unos 30 segundos y luego falla. Los comandos del shell siguen ejecutándose. En una máquina remota Linux o macOS, las ediciones pueden seguir funcionando. Si no estás seguro, inicia la sesión sin un worktree.
  • Restricciones de carpetas: si tu organización restringe qué carpetas pueden usar las sesiones, Desktop revisa cada lectura, búsqueda y edición de archivos, con o sin worktree. Mientras Desktop está desconectado, cada una espera hasta 10 minutos y luego falla.
  • Conectores: los conectores y otras herramientas que proporciona Desktop se ejecutan a través de Desktop, por lo que mientras está desconectado cada llamada falla después de unos 30 segundos
  • Flujos de trabajo: Desktop revisa cada nuevo flujo de trabajo antes de que comience, por lo que mientras Desktop está desconectado uno nuevo espera hasta 10 minutos y luego falla
  • Servidores MCP: los servidores MCP que Claude Code inicia en la máquina remota no se ejecutan a través de Desktop, por lo que Claude aún puede llamar a sus herramientas. Los servidores de claude_desktop_config.json están entre ellos solo si Desktop no usa su cliente SSH integrado. De lo contrario, y en algunas máquinas remotas Windows, Claude no puede llamar a sus herramientas mientras Desktop está desconectado.
En una máquina remota Linux o macOS, la revisión no pasa por Desktop, por lo que las ediciones dentro del worktree siguen funcionando mientras Desktop está desconectado. Antes de Claude Desktop v2.37337.0, esto ocurre solo en una máquina remota Linux.Las ediciones siguen fallando en algunos casos, entre ellos estos:
  • Cliente SSH integrado: Desktop lo usa, por ejemplo en una instalación de Microsoft Store, en una computadora Windows sin OpenSSH 9.4 o posterior de Microsoft, o de forma predeterminada en Windows con un proveedor externo
  • Ubicación del repositorio: el repositorio es tu directorio home, una carpeta por encima de él o ~/.claude
  • Rutas de macOS: en una máquina remota macOS, el repositorio está bajo /Volumes, o un nombre de carpeta en la ruta del repositorio o del worktree tiene un ~ o un carácter no ASCII
  • Restricciones de carpetas: tu organización restringe qué carpetas pueden usar las sesiones
  • Lanzador corporativo: antes de Claude Desktop v2.37337.0, inicias sesión con una cuenta de Claude, y tu organización inicia Claude Code en la máquina remota a través de un lanzador corporativo
Una sesión sin worktree no tiene esa revisión, a menos que tu organización restrinja qué carpetas pueden usar las sesiones.
Si Claude necesita tu aprobación o te hace una pregunta mientras Desktop está desconectado, Claude espera en la máquina remota. La espera no tiene un límite de tiempo propio. Cuando Desktop vuelve a unirse al proceso, te muestra la solicitud. Si Desktop inicia un proceso nuevo en su lugar, pierdes la solicitud. Si una solicitud que te esperaba ya no está cuando regresas, una causa es que Desktop se reinició por sí solo, por ejemplo para instalar una actualización. Conservas una solicitud tras un reinicio solo si Desktop puede volver a unirse al proceso, así que revisa cuándo puede Desktop volver a unirse antes de dejar una tarea en ejecución. Si pierdes una solicitud, envía un mensaje para continuar. Para reducir la frecuencia con la que una tarea se detiene a esperarte, y para recibir noticias de ella mientras no estás, configura cualquiera de estas opciones antes de irte: Si tu organización ejecuta solo hooks administrados, pide a tu administrador que agregue el hook a la configuración administrada que llega a la máquina remota. Claude Code no aprueba automáticamente algunas acciones en ningún modo de permisos, incluido Bypass permissions. Según el modo de permisos, Claude Code deniega esa acción o te pregunta, y entonces la tarea espera tu respuesta. Si Desktop no se ha vuelto a conectar cuando vuelves, envía un mensaje en la sesión. Desktop vuelve a conectarse por sí solo solo donde puede iniciar sesión sin pedirte nada, por ejemplo con una clave que tenga tu agente SSH.
  • Contraseña recordada: una contraseña que dejas que Desktop recuerde también funciona sin pedirte nada, pero para una ausencia larga es preferible una clave que tenga tu agente SSH. Si los inicios de sesión con esa contraseña se interrumpen o se cuelgan, Desktop puede dejar de intentar volver a conectarse y esperarte.
  • Cualquier otra solicitud: si la máquina remota pide cualquier otra cosa, como un código de un solo uso, puedes recibir una notificación en tu computadora. Haz clic en la notificación, o envía un mensaje en la sesión, y Desktop muestra la solicitud.
  • Host de salto, las notificaciones push se detienen mientras no estás: esto puede ocurrir con Desktop en macOS o Linux cuando nadie responde al inicio de sesión de un host de salto, por ejemplo una notificación push a un teléfono. Entonces Desktop deja de intentar volver a conectarse mientras no hay nadie en tu computadora. Cuando desbloqueas o usas la computadora, puedes recibir otra notificación push, porque Desktop puede volver a intentarlo. Después de tres intentos sin respuesta, espera hasta que reintentes o envíes un mensaje.
  • Host de salto, las notificaciones push siguen llegando: donde Desktop no puede saber que nadie responde, como con Desktop en Windows, sigue intentándolo mientras tenga un proceso al que volver a unirse, se siga ejecutando ese proceso o no. Puedes recibir otra notificación push con cada intento. Para terminar los intentos, cierra Desktop, lo que puede costarte la tarea en ejecución.
  • Interrupción larga: Desktop reduce el ritmo a aproximadamente un intento cada cinco minutos. Para volver a conectarte antes, reintenta en la sesión o envía un mensaje, que Desktop entrega una vez que está conectado.
  • Salida faltante: mientras Desktop está desconectado, el programa auxiliar guarda la salida más reciente de Claude Code de cada sesión en un b��fer de 16 MiB y descarta la salida m��s antigua. Después de que Desktop vuelve a conectarse, la sesión puede mostrar Loading recent output from <host>…. Si Desktop no puede cargar toda la salida, ves la fila Some output produced while you were disconnected may be missing here. La fila no significa que la tarea se haya detenido.
  • Proceso desaparecido: el proceso terminó mientras Desktop estaba desconectado, como cuando la máquina remota se reinicia. Desktop puede entonces iniciar uno nuevo a partir del historial guardado de la conversación y decirle a Claude que continúe la tarea. Si la tarea sigue detenida, envía un mensaje. Con un proveedor externo, actualiza a Claude Desktop v2.42304.0 o posterior, porque las versiones anteriores nunca continúan la tarea por sí solas.
Después de salir de Desktop, la tarea sigue ejecutándose en la máquina remota, pero se detiene cuando la sesión vuelve a abrirse, a menos que Desktop pueda volver a unirse a su proceso. Mientras Desktop está cerrado, la tarea se ejecuta hasta que termina, te necesita o alcanza uno de los límites.
  • Desktop en Windows, tarea iniciada en una versión anterior a la v3.1623.0: no recuperas la tarea, aunque Desktop se haya actualizado desde entonces. Vuelve a iniciar Desktop solo cuando esperes que la tarea haya terminado, porque la sesión puede abrirse cuando Desktop se inicia, y la tarea se detiene cuando la sesión se abre. Si no sabes en qué versión iniciaste la tarea, espera también hasta que esperes que haya terminado.
  • Proveedor externo en macOS o Linux, tarea iniciada en una versión anterior a la v2.42304.0: no recuperas la tarea. Vuelve a iniciar Desktop solo cuando esperes que la tarea haya terminado.
  • Cualquier otra tarea: inicia Desktop y abre la sesión, y la tarea continúa si Desktop se reincorpora. No siempre puede reincorporarse, por ejemplo después de algunas actualizaciones de Desktop, así que actualiza antes de una tarea larga.
Cuando la tarea se detiene, la sesión puede mostrar Restarting Claude Code on <host>… mientras Desktop inicia un nuevo proceso. También pierdes cualquier aprobación o pregunta que te estuviera esperando. Si Claude no continúa por sí solo, envía un mensaje, y Claude continúa a partir del historial guardado de la conversación. Para despliegues con terceros, consulta SSH remote sessions in Claude Desktop on 3P.
Mientras el proceso de Claude Code de una conversación siga en ejecución, no ejecutes claude --resume para ella en la máquina remota. Claude Code no te lo impide, y entonces ambos procesos escriben en la misma conversación. Si no estás seguro, agrega --fork-session, que continúa en una copia de la conversación, aunque ambos procesos siguen trabajando en los mismos archivos.

Elegir dónde van los worktrees de las sesiones SSH

A menos que tu organización restrinja qué carpetas pueden usar las sesiones, las sesiones SSH nuevas crean sus worktrees en la primera de estas ubicaciones que esté establecida:
  1. Worktree folder en la conexión SSH
  2. worktree.location en ~/.claude/settings.json en la máquina remota
  3. <project-root>/.claude/worktrees/, el valor predeterminado
Cada proyecto obtiene su propia subcarpeta en la carpeta que establezcas, por lo que con ~/worktrees la ruta de un worktree es ~/worktrees/<project>-<id>/<worktree-name>. Si la carpeta que estableces está dentro del proyecto, Desktop la ignora para ese proyecto y usa el valor predeterminado. En una máquina remota Windows, Desktop siempre usa el valor predeterminado. Establece Worktree folder en la configuración de una conexión que agregaste antes o de una que administra tu organización. El campo requiere Claude Desktop v1.44121.0 o posterior. Si tu organización restringe qué carpetas pueden usar las sesiones, Desktop oculta el campo y mantiene los worktrees dentro del proyecto.
1

Encuentra la conexión

Abre el selector de entorno y busca la conexión en SSH.
2

Abre la configuración de la conexión

Pasa el cursor sobre la conexión y haz clic en el ícono de engranaje. Si el diálogo que se abre muestra Edit connection… junto a Host, selecciona Edit connection….
3

Establece la carpeta

En Worktree folder, ingresa una carpeta en la máquina remota, como ~/worktrees, y selecciona Save changes.

Archivos y procesos en la máquina remota

Desktop instala un programa auxiliar y Claude Code en ~/.claude/remote/ en el directorio home de cada usuario que se conecta a una máquina remota Linux o macOS. El programa auxiliar no escucha en ningún puerto de red, pero Claude Code y los programas que inicia, como servidores MCP y servidores de desarrollo, sí pueden hacerlo. Para listar los procesos de un usuario, ejecuta pgrep -fl "$HOME/.claude/remote/" en la máquina remota como ese usuario, o con el directorio home del usuario en lugar de $HOME:
  • Programa auxiliar: uno o más procesos server por cada computadora que se conecta
  • Claude Code: los procesos que el programa auxiliar inicia para las sesiones del usuario, cada uno desde un archivo con el nombre de su versión, como 2.1.295-…
Desktop llega al programa auxiliar a través de la conexión SSH del usuario, mediante el socket Unix rpc.sock en la carpeta del programa auxiliar dentro de ~/.claude/remote/run/. Aparte de root, los demás usuarios de la máquina no pueden conectarse a ese socket, porque tiene el modo 600 y su carpeta tiene el modo 700. Para saber cuándo se detiene el programa auxiliar por sí solo, consulta Límites mientras Desktop está desconectado. Para eliminar el programa auxiliar y Claude Code de un usuario:
1

Cierra Desktop

Cierra Desktop en cada computadora desde la que se conecta el usuario. Desktop vuelve a instalar ambos programas la próxima vez que se conecta, y puede volver a conectarse por sí solo.
2

Termina los procesos

Con la sesión iniciada como ese usuario en la máquina remota, ejecuta kill con el ID de cada proceso de Claude Code que lista pgrep. Una vez que hayan desaparecido de la lista, ejecuta kill con el ID de cada proceso server. Si terminas primero un proceso server, un comando que Claude Code esté ejecutando puede seguir ejecutándose.Luego lista los procesos restantes del usuario, por ejemplo con ps -u "$(id -un)" -f, y termina los que reconozcas como iniciados por Claude Code. Los programas que dejó en segundo plano pueden seguir ejecutándose después de que termine, sin aparecer en la lista de pgrep.
3

Elimina la carpeta

Elimina ~/.claude/remote/. Para eliminar los propios archivos de Claude Code en ~/.claude/ y ~/.claude.json, consulta Eliminar archivos de configuración.
Para terminar el proceso de Claude Code de una sesión, archiva la sesión en Desktop mientras Desktop está conectado a la máquina remota. El proceso sigue ejecutándose después de que su tarea termina y después de que cierras Desktop. Antes de archivar una sesión cuyo worktree tiene cambios sin confirmar, consulta Conservar los cambios sin confirmar cuando se archiva una sesión. El programa auxiliar y Claude Code se ejecutan como el usuario con el que Desktop inicia sesión a través de SSH. Instalarlos e iniciarlos no requiere sudo. Para comprobar el usuario, ejecuta ps -o user= -p en la máquina remota con un ID de proceso que liste pgrep. Los programas que inicia Claude Code, como comandos de shell y servidores MCP, también se inician como ese usuario. Revisa los derechos de ese usuario en la máquina remota, incluidas sus reglas de sudo, como lo harías para una persona que ejecuta comandos allí. Para saber quién se conectó a una máquina remota, lee el registro del servidor SSH en esa máquina, donde un inicio de sesión desde Desktop se ve como uno desde una terminal. Con Desktop en macOS o Linux, espera una entrada cada vez que Desktop se conecta, no una por cada sesión. Si el servidor establece MaxSessions 1, espera al menos dos entradas cada vez que Desktop se conecta o se reconecta. Espera al menos una más por cada pestaña de terminal, y por cada sesión de Desktop en la que ejecutes comandos que empiezan con !. No encontrarás las conexiones SSH de Desktop en las métricas y eventos de Claude Code. Para saber a partir de ellos en qué máquina remota se ejecutó una sesión SSH, consulta Atribuir la telemetría a las sesiones SSH de Desktop. Para el registro propio de Desktop de sus conexiones, consulta Obtener los registros de Desktop para un problema de SSH.

Conexiones que se cierran antes del inicio de sesión

Si el registro del servidor SSH muestra conexiones que se cierran antes de cualquier inicio de sesión, pueden ser pruebas de Desktop sobre el puerto SSH. Desktop prueba si una máquina responde, por ejemplo después de que falló una conexión a ella. Abre una conexión al puerto y la cierra de inmediato, sin enviar nada. Espera una prueba o varias seguidas, por ejemplo ocho en unos dos minutos. Si nada prohíbe ni rechaza direcciones por esas conexiones, no tienes que hacer nada respecto a las pruebas de Desktop. Si se rechaza o se prohíbe una dirección desde la que se conecta Desktop, comprueba si el propio servidor SSH rechaza la dirección y si fail2ban cuenta las pruebas de Desktop. Compara las líneas de tu registro con las que escribe un servidor OpenSSH en Linux para una prueba con el LogLevel predeterminado, en la fila de la versión de tu servidor. En su lugar, puedes ver las líneas de la última columna si el saludo del servidor llega antes de que Desktop cierre la conexión: Otros programas que abren el puerto y lo cierran pueden dejar las mismas líneas. Donde una línea tenga una dirección, comprueba que sea una desde la que se conecta una computadora con Desktop. Las líneas de 8.0 a 8.2 no tienen dirección. Para obtener una, establece LogLevel VERBOSE en sshd_config y ejecuta sshd -T | grep -i loglevel como root. Si imprime loglevel VERBOSE, recarga el servidor SSH. Luego busca una línea con Connection from 203.0.113.7 port 51234 antes de la línea de la prueba. Si se rechazan conexiones desde una dirección que comparten muchas computadoras con Desktop, busca en el registro del servidor SSH una línea que termine como esta:
Con el LogLevel predeterminado, OpenSSH 9.8 y posterior puede escribir una línea así cuando rechaza una dirección por conexiones que se cerraron sin intentar iniciar sesión, como hacen las pruebas de Desktop. Con la configuración predeterminada, no ves una línea así solo por unas pocas pruebas. Para evitar el rechazo, establece PerSourcePenaltyExemptList en sshd_config con las direcciones desde las que se conectan las personas, por ejemplo PerSourcePenaltyExemptList 203.0.113.7. El servidor no aplica entonces ninguna de sus penalizaciones a esas direcciones, incluidas las de inicios de sesión fallidos. Para revisar el archivo, ejecuta sshd -T | grep -i persourcepenalt como root. Si imprime tu lista, recarga el servidor SSH. Si fail2ban 0.10.5 o posterior prohibió una dirección desde la que se conecta Desktop, busca el modo de tu jail en jail.conf, jail.local o en jail.d/:
  • Una línea filter que indica un modo entre corchetes, como filter = sshd[mode=aggressive]: usa ese modo.
  • Solo la línea filter de serie, con [mode=%(mode)s]: usa la línea mode, o normal si no hay ninguna.
Si el modo es normal, fail2ban no cuenta las líneas de las pruebas de Desktop, así que busca otra causa de la prohibición. Para otro modo, copia las líneas de tu propio registro a un archivo en la máquina remota. Copia cada línea completa, desde su fecha hasta su final, y ambas líneas donde una prueba deja dos. Ejecuta allí fail2ban-regex con el archivo y el modo de tu jail, por ejemplo aggressive:
Por cada fallo que cuenta fail2ban, el comando imprime la dirección en una línea propia, como 203.0.113.7. En ese caso, evita una prohibición. Si no imprime nada, fail2ban no cuenta ninguna de esas líneas en ese modo, así que busca otra causa de la prohibición. Para evitar que fail2ban prohíba una dirección por las pruebas de Desktop, cambia uno de dos ajustes del jail, cada uno con un costo:
  • mode: establécelo en normal dondequiera que tu jail lo defina, en una línea mode o entre los corchetes de una línea como filter = sshd[mode=aggressive]. Renuncias a todos los conteos que solo hacen los otros modos, por ejemplo de clientes que se conectan y se van sin intentar iniciar sesión.
  • ignoreip: establécelo con las direcciones desde las que se conectan las personas, por ejemplo ignoreip = 203.0.113.7. fail2ban no cuenta entonces nada de esas direcciones, incluidos los inicios de sesión fallidos.

Usar servidores MCP configurados en la máquina remota

Para usar un servidor MCP de ~/.claude.json o del .mcp.json de un proyecto en una sesión SSH, configúralo en esos archivos en la máquina remota. Claude Code inicia allí sus servidores stdio, así que instala en la máquina remota los comandos que ejecutan esos servidores. Para los servidores de claude_desktop_config.json, consulta Límites mientras Desktop está desconectado. Un enlace claude://code/new abre la página de nueva sesión de Desktop y puede indicar una conexión SSH. Coloca un enlace así en un runbook, un panel o una página wiki para abrir Desktop configurado para la máquina y la carpeta correctas. Para las plataformas que eliminan este tipo de enlaces, consulta El enlace se muestra como texto sin formato en lugar de ser clicable. Los enlaces SSH requieren Claude Desktop v2.110.0 o posterior. El siguiente enlace indica el usuario dev en build.example.com, el puerto 2222 y la carpeta /srv/payments, y completa un prompt:
Un enlace SSH acepta estos parámetros, y solo ssh_host es obligatorio: Un alias de ~/.ssh/config funciona como ssh_host solo para las personas que tienen esa entrada. Para que coincida con una conexión que las personas ya tienen, indica en el enlace el mismo usuario, host y puerto que esa conexión. Cuando abres el enlace, Desktop te pide que confirmes antes de seleccionar la conexión:
  • Una conexión que ya tienes: si el host, el usuario y el puerto coinciden con una de tus conexiones, Desktop te pregunta si quieres usarla y te muestra el nombre y el host de la conexión, y la carpeta si el enlace indica una.
  • Una conexión nueva: de lo contrario, Desktop abre el diálogo para agregar una conexión SSH. Cuando agregas la conexión, Desktop te pregunta si quieres conectarte antes de guardar nada y te muestra el host del enlace, y el puerto y la carpeta si el enlace los indica.
Hasta que confirmes, Desktop no guarda el host, el puerto ni la carpeta del enlace, y no selecciona ni abre una conexión con ellos. Si ya hay una conexión SSH seleccionada, la página de nueva sesión aún puede conectarse a ella por sí sola, como lo hace sin un enlace, incluso cuando el enlace indica el mismo host. Un enlace no puede incluir un archivo de clave, una contraseña ni un comando. Cualquiera puede escribir un enlace, así que revisa lo que completó:
  • Antes de confirmar: revisa el host y la carpeta.
  • Antes de enviar: revisa el prompt y el entorno seleccionado.
Desktop completa el prompt cuando se abre el enlace, en lugar de cualquier texto que no hayas enviado, y nunca lo envía por ti. Trata el prompt como texto sin formato, por lo que un / o ! inicial y una mención de archivo con @ no actúan como comando ni como mención. Si cancelas, el prompt permanece en el cuadro y el entorno que tenías seleccionado no cambia. Un enlace no omite sshHostAllowlist. Desktop verifica la lista de permitidos cuando se conecta. Si el enlace abre Desktop sin un diálogo sobre la conexión, busca una de estas causas:
  • Cerraste sesión: inicia sesión y luego vuelve a abrir el enlace.
  • Hay otro diálogo abierto: ciérralo y luego vuelve a abrir el enlace.
  • El enlace no es válido: Desktop muestra un mensaje que indica qué corregir y no completa el prompt.
  • Desktop es anterior a v2.110.0: las versiones anteriores ignoran los parámetros SSH y abren la página de nueva sesión solo con el prompt.
  • Las sesiones SSH están desactivadas: si tu administrador establece la lista de permitidos en una matriz vacía, Desktop rechaza los enlaces SSH.

Crear una conexión SSH a partir de un comando

Si una herramienta de línea de comandos crea tus máquinas remotas bajo demanda, agrega su comando a sshHostCommands en ~/.claude/settings.json. El selector de entorno muestra entonces un elemento con el nombre de tu entrada, como Create Dev box. Cuando lo seleccionas, Desktop ejecuta el comando en tu computadora, guarda el host que imprime el comando como una conexión SSH y se conecta.
Las conexiones a partir de un comando requieren Claude Desktop v3.6556.0 o posterior en macOS o Linux, con la sesión iniciada con una cuenta de Claude. Los administradores pueden distribuir comandos a un equipo.
Desktop ejecuta el comando solo cuando creas la conexión o creas otra máquina, no cada vez que te conectas. Cada entrada es una conexión, que apunta al host que Desktop guardó por última vez a partir del comando de la entrada.
Desktop no detiene ni elimina máquinas. Cada una de estas sigue en ejecución, y puede seguir generando costos, hasta que la elimines con tu herramienta:
  • Una máquina a la que apuntaba una entrada antes de que crearas otra
  • Las máquinas de una entrada que eliminaste del archivo, o cuyo id cambiaste
  • Una máquina que tu comando creó sin que Desktop guardara su host, por ejemplo en estos casos:
    • El comando falla o se queda sin tiempo
    • Desktop no puede usar el host impreso, otra conexión ya lo usa o tu organización no lo permite
    • Mientras el comando se ejecuta, lo cancelas, eliminas su entrada, cambias su command o id, o cierras Desktop
El siguiente ejemplo agrega una conexión llamada Dev box. Si el archivo no existe, créalo. Si ya contiene configuración, agrega la clave junto a ella. El comando acme-dev create representa tu propia herramienta, y ~/project es la carpeta que Desktop selecciona en cada máquina que crea tu comando:
~/.claude/settings.json
Cada entrada acepta estos campos, y id, name y command son obligatorios: Para cambiar o eliminar la conexión, edita su entrada en el archivo, porque el diálogo de conexión SSH de la aplicación no se abre para ella. No necesitas reiniciar Desktop después de editar el archivo. Si la entrada no aparece o no puedes seleccionarla, consulta Si falta un comando o aparece en gris. Desktop inicia el programa directamente, sin shell y sin terminal:
  • Programa: escribe su nombre, o su ruta completa desde /, sin espacios. Desktop busca un nombre simple en el PATH que exporta tu shell de inicio de sesión. Las rutas relativas como ./acme-dev, las rutas que comienzan con ~ y los alias y funciones del shell no funcionan.
  • Argumentos: separa los argumentos simples con espacios. El comando solo puede contener espacios, letras ASCII, dígitos y los caracteres +,-./:=@_~, y ninguna palabra puede comenzar con ~.
  • Scripts: si el comando necesita algo más, como comillas, pipes, variables o una URL con ? o &, colócalo en un script. Haz que el script sea ejecutable, comiénzalo con una línea #! y establece command en su ruta completa, como /Users/you/bin/make-devbox. En macOS, mantén el script fuera de las carpetas Documentos, Escritorio y Descargas, donde macOS puede bloquearlo.
  • Entrada: el programa no recibe entrada ni terminal, así que no puede pedirte nada allí. Si tu herramienta te hace iniciar sesión a través de un navegador o un prompt, inicia sesión primero desde una terminal, y de nuevo cada vez que ese inicio de sesión caduque.
  • Entorno: el programa se ejecuta en tu directorio home con las variables que exporta tu shell de inicio de sesión. Desktop las lee al iniciarse, como lo hace para un ProxyCommand, así que cierra y vuelve a abrir Desktop después de cambiarlas.
  • Límite de tiempo: Desktop detiene un programa que sigue en ejecución después de 10 minutos. El mensaje de progreso de Desktop no muestra la salida del programa. Para detener el programa antes, selecciona Cancel junto a ese mensaje.
El programa debe salir con el código 0 e imprimir solo el host en la salida estándar, en una de dos formas:
  • Una línea: host o user@host, escrito como para ssh_host en un enlace SSH. Para indicar un puerto, usa la forma JSON.
  • Un objeto JSON: sshHost y, opcionalmente, un sshPort numérico y un startDirectory que reemplaza el de la entrada, como {"sshHost": "dev@devbox-1234.example.com", "sshPort": 2222}
Para ver la salida que lee Desktop, ejecuta el comando en una terminal sin entrada y con la salida estándar redirigida a un archivo:
El archivo debe contener solo el host. Cuando ejecutas esta prueba, tu herramienta también crea una máquina, así que elimínala con tu herramienta después. Si tu herramienta imprime otras líneas antes del host, como mensajes de progreso, envuélvela en un script que imprima solo el host. El siguiente script imprime la última línea de la salida de tu herramienta. Si tu herramienta falla, el script sale con el mismo código, para que Desktop informe el fallo:
Si el comando falla, View details en el mensaje de Desktop muestra la última línea que el comando escribió en la salida de error estándar, si la hay. Responde dos preguntas la primera vez que te conectes a cada host nuevo:
  • Clave del host: con la comprobación de claves de host predeterminada de OpenSSH, revisa la huella digital de la clave y luego elige si quieres conectarte. Para omitir la pregunta, haz que tu comando agregue la clave a ~/.ssh/known_hosts antes de imprimir el host, usando una clave que tu herramienta obtuvo al crear la máquina. Para un puerto distinto de 22, esa línea comienza con [host]:port. Si tu herramienta reutiliza nombres de host, elimina también la línea de la clave anterior.
  • Carpeta: elige si confías en la carpeta que abres allí
Mantén activada la comprobación de claves de host para estos hosts, y conserva un archivo known_hosts para ellos. Si StrictHostKeyChecking es no o accept-new y UserKnownHostsFile también es /dev/null o none, nada registra la clave. Cuando tu herramienta reutiliza después un nombre, puedes conectarte a una máquina diferente sin ninguna advertencia. Un nombre reutilizado también importa sin nadie frente a la computadora, porque Desktop se conecta a estos hosts por sí solo. Por ejemplo, entrega un mensaje que enviaste mientras el host no estaba disponible, en cuanto el host responde. Incluso con la comprobación de claves de host activada, el mensaje puede llegar a la nueva máquina del nombre en estos casos, así que deja de usar una máquina antes de que se elimine:
  • Tú, tu comando u otro programa agregaron la nueva clave a known_hosts o eliminaron la línea de la clave anterior, como hace tu comando si agrega claves de host
  • Las máquinas de tu herramienta comparten una clave de host
  • Las máquinas de tu herramienta comparten una autoridad de certificación en la que confía known_hosts
  • Tú o tu administrador establecieron KnownHostsCommand o VerifyHostKeyDNS yes, de modo que SSH acepta claves de fuera de known_hosts
Tus sesiones en máquinas anteriores siguen funcionando después de seleccionar Create another Dev box, y las sesiones nuevas usan la máquina nueva. Selecciona el elemento en el selector de entorno para crear una máquina nueva o para reemplazar una que ya no existe. En la página de nueva sesión, el mensaje que dice que Desktop no puede llegar al host también lo ofrece.
  • Sesiones en máquinas anteriores: continúalas desde la barra lateral, porque el selector muestra la máquina actual de Dev box y no las anteriores. Desktop puede conectarse a sus máquinas por sí solo, por ejemplo cuando Desktop se inicia, así que deja de usar una máquina cuando termines con ella.
  • Un host reemplazado antes de Claude Desktop v4.4212.0: esas versiones muestran Replace Dev box’s host y dejan de conectarse al host reemplazado. Para continuar una sesión en ese host, abre la sesión, selecciona Add SSH connection y guarda la conexión que completa Desktop. Actualiza Desktop antes de reemplazar otro host.
  • Sesiones nuevas en dos máquinas: agrega una segunda entrada a sshHostCommands
  • Un host nuevo que aún no responde: deja abierta la página de nueva sesión hasta 10 minutos mientras sigue intentando conectarse. Si el host sigue sin responder, selecciona Create another Dev box en el mensaje de la página.
  • Otra máquina poco después: después de varias ejecuciones del comando en una hora, confirma cada ejecución adicional en el diálogo que abre Desktop, que muestra el comando
Para que Desktop deje de conectarse por sí solo a una máquina que creó un comando, archiva todas las sesiones de la máquina:
  1. Busca las sesiones de la máquina en la barra lateral. El panel de detalles de una sesión muestra el host en el que se ejecuta.
  2. Archiva cada sesión y déjala archivada.
  3. Si no has creado otra máquina a partir de la misma entrada de sshHostCommands desde que creaste esta, crea una o elimina la entrada también. Hasta entonces, la máquina es la conexión guardada de la entrada, y Desktop puede conectarse a ella cuando abres la página de nueva sesión con esa conexión seleccionada.
  4. Elimina en la app cualquier otra conexión SSH a la máquina, o elimina su entrada de sshConfigs.
  5. Cierra y vuelve a abrir Desktop, lo que cierra su conexión a la máquina y termina sus intentos de llegar a ella.
  6. Elimina la máquina con tu herramienta.
Después de eliminar una entrada del archivo de configuración o cambiar su id, las sesiones en sus máquinas permanecen, así que Desktop aún puede conectarse a esas máquinas. Puede hacerlo sin nadie frente a la computadora, por ejemplo para volver a unirse al proceso en ejecución de una sesión o para entregar un mensaje que estaba pendiente de envío. Para evitarlo, archiva las sesiones, como se describe en Dejar de usar una máquina. Si eres administrador y eliminaste una entrada administrada, las sesiones de tus usuarios también permanecen, y cada usuario tiene que archivar las suyas. Para bloquear tú mismo las máquinas de la entrada, establece una sshHostAllowlist que coincida con los hosts que tus usuarios aún necesitan y no con los nombres de host de las máquinas. Solo puedes hacerlo cuando un patrón distingue ambos. Para darle una conexión a tu equipo, establece sshHostCommands en el archivo de configuración administrada de Claude Code o en la política MDM de cada computadora, no en la propia política de administración de dispositivos de la aplicación de escritorio. Los usuarios ven tus entradas junto a las suyas, y la aplicación no ofrece forma de editar ni eliminar ninguna entrada, ni las suyas ni las tuyas. El siguiente archivo de configuración administrada les da a los usuarios una conexión llamada Dev box y desactiva sus propias entradas, junto con los hooks de Claude Code de la configuración de usuario, de proyecto y local:
managed-settings.json
Antes de implementar la clave, resuelve cada uno de estos puntos:
  • Dónde poner la clave: si tu política MDM para Claude Code ya establece una clave de política, colócala allí. De lo contrario, colócala en el archivo de configuración administrada. De forma predeterminada, una política así tiene prioridad sobre el archivo, y Desktop ignora entonces las entradas del archivo. Establécela en la computadora incluso donde se aplique la configuración administrada por el servidor: Desktop ignora la clave allí, así como en la configuración de proyecto y local.
  • El id: si la entrada de sshHostCommands de un usuario tiene tu id, solo funciona la tuya. Si cualquier otra conexión SSH lo tiene, como una en los sshConfigs de un usuario, tu entrada aparece en gris. Elige un id que sea poco probable que los usuarios elijan.
  • El programa: indica su ruta completa, porque Desktop busca un nombre simple en el propio PATH de cada usuario. El programa se ejecuta como el usuario, con las variables que exporta su shell de inicio de sesión.
  • Las entradas propias de los usuarios: Desktop trata la entrada de un usuario como un hook, porque ambos ejecutan un programa en la computadora. Para permitir solo tus entradas, establece strictPluginOnlyCustomization en ["hooks"], o agrega "hooks" a su lista. También bloqueas los hooks de Claude Code de la configuración de usuario, de proyecto y local, sin forma de conservarlos. Si en cambio estableces esa clave o allowManagedHooksOnly en true, bloqueas más cosas, como se indica en la entrada de cada clave.
  • Todas las entradas: para desactivar también tus entradas, establece disableAllHooks en la configuración administrada. Si estableces disableDesktopLocalSessions, o una sshHostAllowlist que no permite ningún host, el selector no muestra ningún elemento Create ni Create another.
  • Dónde cuentan los bloqueos: para estas entradas, Desktop lee allowManagedHooksOnly, strictPluginOnlyCustomization y disableAllHooks de la configuración administrada por el servidor y del propio archivo o política de la computadora, y aplica el resultado más estricto. Todas las entradas permanecen en gris hasta que Desktop haya consultado claude.ai para obtener la configuración administrada por el servidor, incluso si tu organización no tiene ninguna.
  • Hosts permitidos: si estableces sshHostAllowlist, asegúrate de que un patrón coincida con cada nombre de host que imprime tu herramienta, y omite user@ del patrón. Desktop comprueba el nombre impreso solo después de que se ejecuta el comando, así que una máquina que la lista rechaza ya existe, y el usuario tiene que eliminarla con tu herramienta. En cada conexión, el HostName resuelto también tiene que coincidir.
Después de implementar la clave, reinicia Desktop en una computadora de prueba. En el selector de entorno de la pestaña Code, busca en SSH, o en la fila única SSH. Tu entrada aparece como un elemento Create, o como un elemento en gris que muestra el motivo cuando pasas el cursor sobre él. Si falta, revisa dónde pusiste la clave y luego los casos de Si falta un comando o aparece en gris. El selector de entorno no muestra ningún elemento Create ni Create another en estos casos:
  • El archivo: ~/.claude/settings.json tiene JSON no válido o un valor que el esquema rechaza, escribiste mal la clave o la pusiste en la configuración de un proyecto. Corrige el archivo.
  • Plataforma y cuenta: usas Windows, o un proveedor externo en lugar de una cuenta de Claude. Agrega tú mismo cada host como una conexión SSH.
  • La configuración de tu organización: tu administrador desactivó las sesiones locales o las sesiones SSH. Pregúntale si puedes usar comandos.
  • No hay programa ssh: Desktop no pudo iniciar el cliente OpenSSH en tu computadora. Instálalo, o pide a tu administrador que lo permita, y luego reinicia Desktop.
Una entrada que no puedes seleccionar aparece en gris. Pasa el cursor sobre ella para ver el motivo:
  • Un error en la entrada: corrige el campo o el comando que indica el mensaje. Si el id está en uso, dale otro a la entrada.
  • Un archivo de configuración dañado: mientras tu propio archivo de configuración esté dañado, las entradas de tu administrador pueden aparecer en gris, con un mensaje que indica el archivo. Corrige el archivo.
  • Un host nuevo: Create another aparece en gris durante un minuto después de que Desktop guarda un host. Selecciónalo pasado ese minuto. Antes de Claude Desktop v4.4212.0, Replace Dev box’s host aparece en gris durante 10 minutos.
  • Los hooks están desactivados o restringidos: tus propias entradas solo funcionan donde pueden ejecutarse tus propios hooks. Elimina disableAllHooks de tu configuración, o consulta a tu administrador.
  • La configuración todavía se está cargando: todas las entradas aparecen en gris hasta que Desktop haya cargado la configuración administrada por el servidor de tu organización, normalmente unos segundos después del inicio. Si las entradas siguen en gris, revisa tu conexión a claude.ai.

Pre-configurar conexiones SSH para su equipo

Los administradores pueden distribuir conexiones SSH a los miembros del equipo configurando sshConfigs en la configuración administrada.
  • Lo que ven los usuarios: las conexiones definidas de esta forma aparecen automáticamente en el selector de entorno de cada usuario.
  • Lo que pueden cambiar los usuarios: los usuarios pueden seleccionar una conexión administrada y establecer su propia Worktree folder para ella. No pueden editar sus demás campos ni eliminarla en la aplicación.
El siguiente ejemplo pre-configura una única conexión:
Cada entrada requiere id, name y sshHost. Los campos sshPort e sshIdentityFile son opcionales. Los usuarios también pueden agregar sshConfigs a su propio ~/.claude/settings.json. Si omites user@ en sshHost, Desktop se conecta como el User que el ~/.ssh/config de cada desarrollador establece para el host o, en su defecto, con su nombre de usuario en su propia computadora.

Restringir a qué hosts SSH pueden conectarse los usuarios

Los administradores pueden limitar las sesiones SSH de Desktop a un conjunto aprobado de hosts estableciendo sshHostAllowlist en la configuración administrada. Cuando se establece, los usuarios solo pueden conectarse a hosts cuyo nombre de host resuelto coincida con uno de los patrones. Establécelo en una matriz vacía para deshabilitar las sesiones SSH. La entrada de referencia de sshHostAllowlist explica cómo se combina una matriz vacía con las listas de otras fuentes administradas. El siguiente ejemplo permite conexiones a cualquier host bajo devboxes.example.com y a un único host bastión nombrado:
Si tu organización distribuye configuración administrada por servidor, establece sshHostAllowlist allí. De forma predeterminada, Desktop lee la clave solo desde la fuente administrada de mayor prioridad que entrega una clave de política. Si esa fuente deja la clave sin establecer, Desktop ignora una lista en una política MDM o un archivo de configuración administrada de menor prioridad y trata la clave como no establecida. Desktop no muestra ninguna advertencia.Mantén también la misma lista en la máquina de cada usuario, en la política MDM o el archivo de configuración administrada de mayor prioridad allí. Desktop obtiene la configuración administrada por servidor al iniciarse y no guarda ninguna copia en caché, por lo que, hasta que una obtención tenga éxito, la lista que se aplica es la de la máquina.
Los patrones no distinguen entre mayúsculas y minúsculas. * coincide con cualquier host, y *.example.com coincide con example.com y con cualquier subdominio. Cualquier otra cosa es una coincidencia exacta. La comprobación se realiza contra el nombre de host después de la resolución de ~/.ssh/config mediante ssh -G, así que se permite un alias Host siempre que su HostName resuelto coincida. Los jump hosts de una sesión también tienen que coincidir. sshHostAllowlist se lee solo desde la configuración administrada; los valores en la configuración de usuario o proyecto se ignoran. Solo la aplicación Claude Desktop honra esta configuración; la CLI de Claude Code y las extensiones IDE no la leen, y no restringe los comandos ssh ejecutados a través de la herramienta Bash. Rige a qué hosts se conecta la aplicación Desktop, no la salida de red, por lo que emparéjelo con los controles de red de su organización o de confianza cero si necesita un límite duro. Agrega a sshHostAllowlist cada jump host que Desktop comprueba, por su propio HostName resuelto. Agrega los jump hosts antes de que los usuarios actualicen a Claude Desktop v3.1623.0 o posterior, o no podrán conectarse a través de ellos.
La lista tiene un solo tipo de entrada, así que los usuarios también pueden iniciar una sesión en cualquier host que incluyas. Incluye solo jump hosts en los que también permitirías que los usuarios ejecuten sesiones.
Desktop comprueba los jump hosts en el ProxyJump que el ~/.ssh/config del usuario define para el host de la sesión, o en un ProxyCommand escrito como ssh -W %h:%p <host>. Si alguno de los que comprueba no está en la lista cuando Desktop conecta o reconecta una sesión, la conexión falla. Cuando un usuario inicia una sesión o envía un mensaje, los detalles del error indican el HostName de ese jump host, que es el nombre que debes agregar:
Si el mensaje dice managed settings on this computer, agrega el nombre a la lista en la computadora del usuario. Si falta más de un jump host, el error los indica de uno en uno. Para encontrar todos los nombres antes de que los usuarios actualicen, usa una terminal en la computadora de un usuario:
1

Encuentra la ruta

Ejecuta ssh -G con un host al que se conectan los usuarios, como ssh -G devbox. Busca una línea proxyjump, o una línea proxycommand escrita como ssh -W %h:%p <host>. El comando sigue contando con cualquiera de -l, -p, -J, -q, -v, -N, -T, -x o -a, y los hosts después de -J también son jump hosts. Si una línea proxycommand ejecuta un programa distinto de ssh, no agregues nada por ella.
2

Consulta cada jump host

Ejecuta ssh -G con cada jump host de esa línea, sin ningún :port, y anota el hostname que imprime. Si la salida del primer jump host de esa línea tiene una línea de cualquiera de los dos tipos, repite este paso con ella. Ignora una línea así en la salida de un jump host posterior.
3

Agrega los nombres

Agrega cada nombre de host, o un comodín que lo cubra, a sshHostAllowlist en cada fuente administrada donde configures una lista. Luego pide a los usuarios que cierren y vuelvan a abrir Desktop, porque obtiene la configuración administrada por el servidor al iniciarse.

Desactivar las sesiones locales y distribuir conexiones SSH

Para desactivar las sesiones locales y limitar las sesiones SSH a los hosts que elijas, implementa juntos disableDesktopLocalSessions, sshConfigs y sshHostAllowlist.
Esta configuración es para usuarios que inician sesión con una cuenta de Claude. Con un proveedor externo, las sesiones SSH están desactivadas de forma predeterminada, y establecer sshHostAllowlist puede activarlas. Lee SSH remote sessions in Claude Desktop on 3P antes de implementar estas claves.
El siguiente ejemplo desactiva las sesiones locales, agrega una conexión y limita las sesiones SSH al host de esa conexión:
managed-settings.json
Las claves se aplican a la aplicación de escritorio. Dejan como están otras formas de ejecutar Claude Code, como la CLI, Cowork y las sesiones en la nube:
  • La CLI: ninguna de las claves impide que un desarrollador ejecute la CLI de Claude Code en su propia computadora
  • Cowork: ninguna de las claves se aplica a las sesiones de Cowork ni a las tareas programadas de Cowork
  • Sesiones en la nube: ninguna de las claves cambia si las sesiones en la nube están disponibles. Para desactivarlas, usa el ajuste Cloud sessions en Admin console controls.
Cuando adaptes el ejemplo, revisa los nombres de host, la versión de Desktop y los permisos del archivo:
  • Nombres de host: asegúrate de que un patrón en sshHostAllowlist coincida con el nombre de host de cada entrada de sshConfigs, sin user@, o los desarrolladores no podrán conectarse a ella. Agrega también un patrón que coincida con cada jump host que Desktop comprueba en el camino hacia ella. Para saber cómo Desktop hace coincidir un nombre de host, consulta Restringir a qué hosts SSH pueden conectarse los usuarios.
  • Versión: disableDesktopLocalSessions requiere Claude Desktop v1.37937.0 o posterior
  • Permisos del archivo: asegúrate de que la cuenta de cada desarrollador en la computadora pueda leer el archivo de configuración administrada. Desktop no aplica las claves de un archivo que la cuenta no puede leer, y Claude Code también se inicia sin ellas.
Coloca las tres claves en una fuente administrada, la de mayor prioridad que distribuyas. Si distribuyes configuración administrada por servidor, mantén también una copia de las tres claves en la política MDM o el archivo de configuración administrada de mayor prioridad en cada computadora. Desktop obtiene la configuración administrada por servidor al iniciarse, y la copia en la computadora se aplica hasta que una obtención tenga éxito. Para confirmar que la configuración se aplica, revisa la computadora de un desarrollador:
1

Revisa el selector de entorno

Cierra y vuelve a abrir Desktop, y luego abre el selector de entorno. La configuración se aplicó si muestra:
  • La entrada de esa computadora, en gris
  • Shared Dev VM bajo SSH. Si no aparece ahí, haz clic en la única fila SSH, o en More al final del grupo.
Si la entrada de la computadora sigue disponible, busca estas causas:
  • Versión de Desktop: actualiza Desktop si es anterior a v1.37937.0.
  • Archivo de configuración administrada: asegúrate de que el archivo sea JSON válido.
  • Fuente administrada: asegúrate de que la computadora lea la fuente administrada que contiene las claves.
2

Agrega un host que no esté en la lista de permitidos

Agrega una conexión SSH con un nombre de host que no esté en la lista de permitidos, como other.example.com. Desktop guarda la conexión pero se niega a conectarse, e indica que la configuración de tu organización no permite la conexión.

Configuración empresarial

Las organizaciones en planes Team o Enterprise pueden gestionar el comportamiento de la aplicación de escritorio a través de controles de consola de administración, archivos de configuración administrada y políticas de gestión de dispositivos.

Controles de consola de administración

Estas configuraciones se establecen a través de la consola de configuración de administración:
  • Desktop: controla si los usuarios de tu organización pueden acceder a Claude Code en la aplicación de escritorio
  • Cloud sessions: habilita o deshabilita las sesiones en la nube para tu organización
  • Remote Control: habilita o deshabilita Remote Control para tu organización
En las organizaciones Enterprise que tienen HIPAA habilitado, el interruptor Desktop está desactivado de forma predeterminada y un Owner puede activarlo. Aplicar la configuración de HIPAA lo desactiva, aunque estuviera activado, por lo que un Owner debe activarlo después. Cloud sessions y Remote Control también están desactivados de forma predeterminada, y un Owner no puede activarlos una vez que la organización tiene aplicada la configuración de HIPAA.
El formulario de OpenTelemetry para Cowork bajo Monitoring en la configuración de datos y privacidad de la consola de administración se aplica solo a sesiones de Cowork. En una sesión de Cowork en esta máquina, la aplicación de escritorio pasa ese recopilador a Claude Code como variables de entorno OTEL_*, por lo que el formulario tiene efecto aunque Claude Code en esa sesión nunca obtiene la configuración de la consola de administración.Para exportar telemetría desde sesiones de la pestaña Code, establece CLAUDE_CODE_ENABLE_TELEMETRY y las variables OTEL_* en el bloque env de tu configuración administrada de Claude Code, como se muestra en configuración de administrador para monitoreo. Las sesiones locales, en la nube y SSH leen configuración administrada desde diferentes fuentes. Para los hosts que una sesión en la nube puede alcanzar, consulta acceso a la red. Para el service.name que las sesiones de la pestaña Code reportan, consulta información de servicio.Para saber en qué máquina remota se ejecutó una sesión SSH, consulta Atribuir telemetría a sesiones SSH de Desktop.

Configuración administrada

La configuración administrada sobrescribe la configuración del proyecto y del usuario y se aplica a las sesiones de Claude Code en Desktop. Puedes establecer estas claves en el archivo de configuración administrada de tu organización o enviarlas de forma remota a través de la consola de administración, salvo que la fila de una clave indique lo contrario. Qué configuración administrada llega a una sesión de Desktop depende de dónde se ejecute esa sesión. Las restricciones de modelo como availableModels se aplican en las sesiones de Claude Code de Desktop de la misma manera que en la CLI de la terminal; consulta cobertura de superficie.
  • Sesiones locales en esta máquina: se aplica un archivo de configuración administrada desplegado en disco. La configuración administrada enviada de forma remota a través de la consola de administración también llega a estas sesiones en la API de Anthropic cuando la sesión se autentica con un inicio de sesión elegible, siguiendo la misma precedencia de configuración que la CLI de la terminal.
  • Sesiones en la nube: reciben configuración administrada por servidor; los archivos desplegados en dispositivos no llegan a ellas, porque se ejecutan en máquinas virtuales administradas por Anthropic. Las sesiones enrutadas a un entorno autohospedado también leen el archivo de configuración administrada en la imagen del ejecutor. Cómo Claude Code combina fuentes administradas indica cuándo se aplica ese archivo.
  • Sesiones SSH: la sesión lee el archivo de configuración administrada desde el host remoto. Desktop mismo lee sshConfigs, sshHostAllowlist, disableSshSavedPasswords y disableDesktopLocalSessions en la máquina local. Si entregas más de una fuente administrada, los lee desde una sola de forma predeterminada.
  • Sesiones de Cowork: en una sesión de Cowork en esta máquina, Claude Code nunca obtiene la configuración de la consola de administración, incluso cuando el usuario inicia sesión con una cuenta de Team o Enterprise, y lee la política desplegada en la máquina a menos que tu configuración de Claude Desktop establezca requireCoworkFullVmSandbox. Las sesiones remotas de Cowork no reciben ninguna de las dos. Consulta dónde y cuándo se aplica una política para saber qué archivos de dispositivo llegan a Cowork, y reglas de permisos de MCP para saber cómo se aplican las reglas de Bash y WebFetch a las herramientas de Cowork.
En sesiones locales y SSH, la aplicación de escritorio entrega directamente a Claude Code los conectores de claude.ai conectados de cada usuario. Ningún ajuste de MCP ni managed-mcp.json llega a esos conectores, cualquiera que sea la fuente de configuración o ubicación de archivo que uses. Para bloquear las herramientas de un conector en estas sesiones, usa los controles de herramientas de conectores de tu organización. Cómo los conectores llegan a Claude Code muestra qué configuración rige los conectores en cada tipo de sesión. permissions.disableBypassPermissionsMode y disableAutoMode también funcionan en la configuración de usuario y de proyecto, pero colocarlos en la configuración administrada evita que los usuarios los sobrescriban. Para las claves de permisos, plugins y entrega que solo una fuente administrada puede establecer, consulta Claves que solo la configuración administrada puede establecer.

Políticas de gestión de dispositivos

Los equipos de TI pueden gestionar la aplicación de escritorio a través de MDM en macOS, directivas de grupo en Windows o un archivo de políticas en Linux. Las políticas disponibles incluyen habilitar o deshabilitar la función Claude Code, controlar las actualizaciones automáticas en macOS y Windows, y establecer una URL de despliegue personalizada.
  • macOS: configura a través del dominio de preferencias com.anthropic.claudefordesktop usando herramientas como Jamf o Kandji
  • Windows: configura a través del registro en SOFTWARE\Policies\Claude
  • Linux: configura a través de un archivo propiedad de root en /etc/claude-desktop/managed-settings.json, que contiene las claves de políticas como un objeto JSON. Desktop rechaza el archivo si alguien que no sea root puede escribir en él o en su carpeta. Es un archivo distinto del archivo de configuración administrada de Claude Code.

Restringir el inicio de sesión a tu organización

Para restringir qué organizaciones de claude.ai pueden iniciar sesión en Claude Desktop, establece forceLoginOrgUUID en la política de Claude Desktop. La clave requiere Claude Desktop v1.2581.0 o posterior. En Linux, un archivo de políticas que establece solo esta clave queda así:
/etc/claude-desktop/managed-settings.json
Reemplaza el marcador de posición con el ID de tu organización de claude.ai, que se muestra en la configuración de administración de claude.ai. Es el mismo ID que acepta el ajuste forceLoginOrgUUID de Claude Code. Para ver ejemplos de macOS y Windows que establecen esta clave, consulta Deploy the Claude Desktop policy en la guía de Cowork para organizaciones preparadas para HIPAA.
Verifica el valor de forceLoginOrgUUID antes de desplegarlo. Si el ID no es el de tu organización, las personas de tu organización no pueden usar Claude Desktop a menos que también pertenezcan a una organización con ese ID. Para solucionarlo, despliega el ID correcto y pídeles que reinicien Claude Desktop.
Si estableces forceLoginMethod y forceLoginOrgUUID en la configuración administrada de Claude Code, no cambias la pantalla de inicio de sesión de Claude Desktop.

Requisitos de acceso a la red

Desktop carga su código de aplicación y el contenido de usuario desde hosts de CDN de Anthropic.
El tráfico es HTTPS en el puerto 443 a menos que configures un puerto personalizado para OTLP, un gateway LLM o un servidor MCP. Para servidores proxy, autoridades de certificación personalizadas, mTLS y los dominios que necesita la CLI independiente, consulta configuración de red. Para reducir el número de comodines en el firewall, permite estos hosts de Anthropic en su lugar. Ciertos subdominios se generan dinámicamente y deben permanecer como comodines.
Si tu organización tiene habilitada la lista de IP permitidas para Claude, enruta bridge.claudeusercontent.com a través de la misma salida de proxy que claude.ai y api.anthropic.com. Si no puedes enrutarlo de esa manera, agrega la dirección de salida que tu proxy usa para ese host a la lista de IP permitidas de tu organización, pero solo cuando esa dirección esté dedicada a tu organización: un rango de salida de proxy compartido también admite a otros clientes del proveedor del proxy. Anthropic verifica las conexiones a ese host contra la lista de IP permitidas de tu organización usando la dirección desde la que llegan. Si tu proxy envía el tráfico para ese host a través de una dirección que no está en esa lista de permitidos, Claude en Chrome y otras funciones que se conectan a través del puente dejan de funcionar, mientras que el resto de la aplicación sigue funcionando. Un artefacto que carga una fuente tipográfica desde Google Fonts también solicita fonts.googleapis.com y fonts.gstatic.com. Ambos hosts son opcionales. Si los bloqueas, los artefactos se renderizan con fuentes tipográficas de respaldo. Bloquéalos con un rechazo rápido en lugar de un descarte silencioso para que la solicitud de la fuente falle inmediatamente en lugar de retrasar el primer renderizado de la página. Los artefactos también pueden cargar bibliotecas de JavaScript, como React o un paquete de gráficos, desde cdnjs.cloudflare.com, cdn.jsdelivr.net, cdn.tailwindcss.com, code.jquery.com y unpkg.com, y desde ningún otro host externo. Si bloqueas esos hosts, las partes de un artefacto que dependen de una biblioteca no funcionan y, a diferencia de una fuente bloqueada, una biblioteca bloqueada no tiene alternativa. Bloquéalos también aquí con un rechazo rápido, para que una solicitud de biblioteca bloqueada falle de inmediato en lugar de quedarse colgada hasta que se agote el tiempo de espera.

Autenticación y SSO

Las organizaciones Team y Enterprise pueden exigir SSO para todos los usuarios. Consulta autenticación para obtener detalles a nivel de plan y Configurar SSO para la configuración de SAML; la configuración de OIDC se cubre en la Guía del administrador de Claude Enterprise.

Manejo de datos

Claude Code procesa tu código localmente en las sesiones locales, o en las sesiones en la nube en infraestructura administrada por Anthropic, a menos que tu organización las enrute a un entorno autohospedado. Las sesiones en la nube, incluso en un entorno autohospedado, envían las conversaciones y el contexto del código a la API de Anthropic para su procesamiento; las sesiones locales y SSH los envían al proveedor de modelos que configure tu despliegue, que de forma predeterminada es la API de Anthropic. Consulta manejo de datos para obtener detalles sobre retención de datos, privacidad y cumplimiento.

Despliegue

Desktop se puede distribuir a través de herramientas de despliegue empresarial:
  • macOS: distribúyelo a través de MDM como Jamf o Kandji usando el instalador .dmg
  • Windows: despliégalo a través del paquete MSIX. Consulta Deploy Claude Desktop for Windows para ver opciones de despliegue empresarial, incluida la instalación silenciosa
Para los dominios que debes permitir en tu firewall, consulta requisitos de acceso a la red más arriba. Para la configuración de proxy, autoridades de certificación personalizadas y gateways LLM, consulta configuración de red. Para la referencia completa de configuración empresarial, consulta la guía de configuración empresarial.

¿Vienes de la CLI?

Si ya usas la CLI de Claude Code, Desktop ejecuta el mismo motor subyacente con una interfaz gráfica. Puedes ejecutar ambos simultáneamente en la misma máquina, incluso en el mismo proyecto. Cada uno mantiene su propia lista de sesiones, y puedes traer una sesión de CLI a Desktop. Comparten configuración y memoria del proyecto a través de archivos CLAUDE.md. Para mover una sesión de CLI a Desktop, ejecuta /desktop en la terminal. Claude guarda tu sesión y la abre en la aplicación de escritorio, luego sale de la CLI. Este comando está disponible en macOS y Windows x64 cuando inicias sesión con una suscripción de Claude. No está disponible con autenticación de clave de API ni en Amazon Bedrock, Google Cloud’s Agent Platform o Microsoft Foundry. Desde tu shell, claude --desktop abre Desktop directamente sin iniciar una sesión de terminal. Requiere Claude Code v2.1.285 o posterior y tiene los mismos requisitos de plataforma e inicio de sesión que /desktop. Sin otros argumentos, abre Desktop en el directorio actual. Para abrir una sesión de CLI existente en Desktop, agrega --continue para la conversación más reciente en este directorio, o --resume con el ID de sesión que /status muestra:
Claude Code imprime Opening session <session-id> in Claude Desktop, la sesión se abre en la aplicación y el comando sale. Un nombre de sesión no funciona en lugar del ID. Claude Code no mueve una sesión que está abierta en otra terminal o aún se ejecuta en segundo plano. Si Claude Desktop no está instalado, el comando imprime un enlace de descarga y sale. También puedes retomar una sesión de CLI desde dentro de Desktop con /resume. El comando está disponible en sesiones locales, no en sesiones SSH, WSL o en la nube. Para continuar una sesión de terminal en Desktop:
  1. Cierra la sesión en la terminal.
  2. En el cuadro del prompt de Desktop, escribe /resume. Desktop enumera las sesiones que iniciaste desde la CLI en esta computadora. Busca por título, carpeta o rama, y obtén una vista previa de dónde quedó cada una.
  3. Selecciona la sesión. Continuará en la aplicación con su conversación completa y contexto.
Desktop continúa la misma sesión en lugar de una copia, por lo que claude --resume en la terminal aún la encuentra después.
Cuándo usar Desktop vs CLI: usa Desktop cuando quieras gestionar sesiones paralelas en una ventana, organizar paneles lado a lado o revisar cambios visualmente. Usa la CLI cuando necesites scripting, automatización o prefieras un flujo de trabajo de terminal.

Equivalentes de banderas de CLI

Esta tabla muestra el equivalente de la aplicación de escritorio para banderas de CLI comunes. Las banderas no listadas no tienen equivalente de escritorio porque están diseñadas para scripting o automatización.

Configuración compartida

Desktop y CLI leen los mismos archivos de configuración, por lo que tu configuración se transfiere:
  • Los archivos CLAUDE.md y CLAUDE.local.md en tu proyecto son utilizados por ambos
  • Los servidores MCP configurados en ~/.claude.json o .mcp.json funcionan en ambos
  • Los Hooks y skills definidos en la configuración se aplican a ambos
  • La Configuración en ~/.claude.json y ~/.claude/settings.json se comparte. Las reglas de permisos, herramientas permitidas y otros ajustes en settings.json se aplican a sesiones de Desktop.
  • Modelos: los mismos modelos están disponibles en ambos. En Desktop, selecciona el modelo en el selector de modelo de la fila debajo del cuadro del prompt. Puedes cambiar el modelo durante la sesión desde el mismo selector.

Servidores MCP de la aplicación de chat de Claude Desktop

La aplicación Desktop carga servidores MCP de claude_desktop_config.json en sesiones de la pestaña Code local, junto con servidores de ~/.claude.json y .mcp.json. Un servidor que definas en claude_desktop_config.json está disponible tanto en la superficie de chat de Desktop como en sesiones de la pestaña Code local. Si defines el mismo nombre de servidor en claude_desktop_config.json y en ~/.claude.json o .mcp.json, la pestaña Code en sesiones locales se conecta una vez y usa la definición de claude_desktop_config.json. La aplicación también reentrega servidores stdio de ~/.claude.json a la CLI integrada en sesiones locales. Cuando el nivel superior de ~/.claude.json (alcance de usuario) y .mcp.json definen el mismo nombre de servidor stdio, la pestaña Code usa la definición de ~/.claude.json, apartándose de la jerarquía de alcance de la CLI.
La CLI independiente no lee claude_desktop_config.json. En macOS y WSL, ejecuta claude mcp add-from-claude-desktop para copiar esos servidores en ~/.claude.json. Consulta Importar servidores MCP desde Claude Desktop para el flujo de importación y las opciones de alcance.

Comparación de características

Esta tabla compara capacidades principales entre la CLI y Desktop. Para una lista completa de banderas de CLI, consulta la referencia de CLI.

Lo que no está disponible en Desktop

Las siguientes características no están disponibles en Desktop, excepto donde se indique:
  • Proveedores de terceros: Desktop se conecta a la API de Anthropic de forma predeterminada. Para enrutar Desktop a través de un gateway, o para ejecutar la pestaña Code en Amazon Bedrock, Google Cloud’s Agent Platform, Microsoft Foundry o un gateway LLM autohospedado, sigue los enlaces en la fila Proveedores de terceros.
  • Linux (beta): Computer Use aún no está disponible en la aplicación de escritorio para Linux. Consulta Claude Desktop en Linux.
  • Sugerencias de código en línea: Desktop no ofrece completados de código de estilo autocompletado. Funciona a través de prompts conversacionales y cambios de código explícitos, y puede sugerir tu próximo prompt después de que Claude responde.
  • Equipos de agentes: los equipos coordinados, donde Claude como líder del equipo asigna tareas a compañeros de equipo desde una lista de tareas compartida, están disponibles en la CLI, no en Desktop. Para trabajo multiagente dentro de una sesión, usa flujos de trabajo dinámicos, que se ejecutan en Desktop; Claude también puede enviar mensajes y gestionar tus otras sesiones directamente.
  • Comandos de diálogo de terminal: los comandos integrados que abren un panel interactivo en la terminal se comportan de manera diferente en la pestaña Code. Edita los archivos de configuración directamente para gestionar reglas de permisos y configuración, o ejecuta los comandos desde la CLI independiente.
    • Los comandos sin forma de argumento, como /permissions, responden con isn't available in this environment.
    • /config abre Configuración > Code o Configuración > Claude Code.

Solución de problemas

Las secciones a continuación cubren problemas específicos de la aplicación de escritorio. Para errores de API en tiempo de ejecución que aparecen en el chat como API Error: 500, 529 Overloaded, 429 o Prompt is too long, consulta la referencia de errores.

Verificar su versión

Para ver qué versión de la aplicación de escritorio está ejecutando:
  • macOS: haga clic en Claude en la barra de menú, luego About Claude
  • Windows: haz clic en Help, luego en About Claude
Haga clic en el número de versión para copiarlo a su portapapeles.

Versión de Claude Code en la pestaña Code

Para ver qué versión de Claude Code ejecuta una sesión, escribe /status en una sesión local en la pestaña Code y lee la fila Claude Code, que muestra una versión como 2.1.286. Para obtener una versión más reciente para las sesiones locales, abre Claude > Check for Updates… en macOS o Help > Check for Updates… en Windows, y luego inicia una nueva sesión. En una sesión local, la pestaña Code ejecuta su propia copia de Claude Code, que tiene su propio número de versión. La aplicación de escritorio descarga y actualiza esa copia, por lo que puede diferir del comando claude en tu terminal, y actualizar una no actualiza la otra.

Verificar qué diseño tienes

Si una nueva sesión muestra el entorno encima del cuadro del prompt en lugar de debajo de él, tienes el diseño anterior:
  • Desktop anterior a v2.37337.0: actualiza para obtener el diseño actual. Selecciona Claude > Check for Updates… en macOS o Help > Check for Updates… en Windows.
  • Proveedor externo con sesiones en tu computadora: el diseño actual requiere Claude Desktop v3.1623.0 o posterior, así que verifica tu versión. Para actualizar, selecciona Claude > Check for Updates… en macOS o Help > Check for Updates… en Windows. Si tu organización desactiva las actualizaciones automáticas, Check for Updates… está oculto, así que pide a tu administrador la v3.1623.0 o posterior.
  • Proveedor externo con sesiones en la infraestructura de tu organización: el diseño actual requiere Claude Desktop v4.29.0 o posterior, así que verifica tu versión. Si tienes una versión anterior, pide a tu administrador la v4.29.0 o posterior. Si no sabes dónde se ejecutan tus sesiones, pregunta a tu administrador.
En el diseño anterior, elige el entorno y cualquier carpeta de proyecto o repositorio encima del cuadro del prompt, y el modo de permisos y el modelo en la fila debajo de él. El diseño anterior no incluye el panel de detalles de la sesión ni los entornos locales y SSH guardados.

Errores 403 o de autenticación en la pestaña Code

Si ve Error 403: Forbidden u otros fallos de autenticación al usar la pestaña Code:
  1. Cierre sesión e inicie sesión nuevamente desde el menú de la aplicación. Esta es la solución más común.
  2. Verifica que tengas una suscripción de pago activa: Pro, Max, Ultra, Team o Enterprise.
  3. Si la CLI funciona pero Desktop no, cierre completamente la aplicación de escritorio, no solo cierre la ventana, luego reabrala e inicie sesión nuevamente.
  4. Verifique su conexión a Internet y configuración de proxy.

Pantalla en blanco o atascada al iniciar

Si la aplicación se abre pero muestra una pantalla en blanco o sin respuesta:
  1. Reinicie la aplicación.
  2. Verifique si hay actualizaciones pendientes. En macOS y Windows la aplicación se actualiza automáticamente al iniciar; en Linux, actualice a través de apt como se describe en Claude Desktop en Linux.
  3. En una red administrada, confirme que su firewall permite los hosts de CDN en requisitos de acceso a la red.
  4. En Windows, verifique Event Viewer para registros de bloqueo bajo Windows Logs → Application.

“Failed to load session”

Si ve Failed to load session, la carpeta seleccionada puede no existir más, un repositorio de Git puede requerir Git LFS que no está instalado, o los permisos de archivo pueden impedir el acceso. Intente seleccionar una carpeta diferente o reinicie la aplicación.

La sesión no encuentra herramientas instaladas

Si Claude no puede encontrar herramientas como npm, node u otros comandos de CLI, verifique que las herramientas funcionen en su terminal regular, verifique que su perfil de shell configure correctamente PATH y reinicie la aplicación de escritorio para recargar variables de entorno.

Errores de Git y Git LFS

Las sesiones que se ejecutan en su propio worktree necesitan Git. Si ve “Git is required,” instale Git, o Git para Windows en Windows, e intente nuevamente. En Windows, las versiones de Claude Desktop anteriores a 1.49585.0 solicitaban Git antes de iniciar cualquier sesión local; si ve ese mensaje y no está usando worktrees, actualice la aplicación. Si ve “Git LFS is required by this repository but is not installed,” instale Git LFS desde git-lfs.com, ejecute git lfs install y reinicie la aplicación.

Los MCP servers no funcionan en Windows

Si los controles deslizantes de MCP server no responden o los servidores no se conectan en Windows, verifique que el servidor esté configurado correctamente en su configuración, reinicie la aplicación, verifique que el proceso del servidor se esté ejecutando en Task Manager y revise los registros del servidor para errores de conexión.

SSH host key verification failed

Cada uno de estos mensajes significa que Desktop rechazó una clave de host:
  • SSH host key verification failed o Host denied (verification failed) en View details de una tarjeta Couldn't connect to <host>
  • Connection failed: Host key changed or not trusted junto al cuadro del prompt o después de Test connection
  • <host>'s host key is not trusted o <host>'s host key has changed en una sesión desconectada
Desktop suele rechazar una clave porque difiere de la que está guardada en tu computadora, o porque no hay ninguna clave guardada para esa máquina. Una máquina que se reconstruyó o reinstaló suele presentar una clave nueva, y lo mismo ocurre con algo que intercepta la conexión. Verifica la clave antes de volver a conectarte, partiendo de lo que Desktop muestra junto con el mensaje:
  • Estás en Windows y Desktop dice Connection failed: Host key changed or not trusted: primero descarta que falte el cliente OpenSSH
  • Desktop te indica que configures UserKnownHostsFile: en ~/.ssh/config, configúralo como ~/.ssh/known_hosts y luego verifica la clave desde una terminal
  • Ves un botón Review new key: selecciónalo y compara la huella digital que muestra Desktop con la de la propia máquina. Si coinciden, selecciona Trust new key para reemplazar la clave guardada. De lo contrario, selecciona Cancel.
  • No ves ningún botón Review new key, Desktop muestra Couldn't show the new key, o Desktop vuelve a rechazar la clave después de Trust new key: verifica la clave desde una terminal

Verificar la clave de host desde una terminal

Ejecuta ssh <SSH host> en tu computadora, con el valor SSH host de tu conexión SSH en Desktop. Agrega -p <SSH port> si la conexión tiene un valor SSH port. En Windows, usa PowerShell, porque Desktop no se conecta con el ssh de Git Bash ni de WSL. Si PowerShell no encuentra ssh, instala el cliente OpenSSH de Microsoft. Fíjate en qué máquina nombra ssh en su mensaje, que puede ser un jump host y no <SSH host>, y luego sigue el caso que corresponda:
  • ssh pregunta si quieres continuar con la conexión: compara la huella digital que muestra con la de esa máquina. Responde yes solo si coinciden.
  • ssh advierte que la clave de host cambió: compara la huella digital de la advertencia con la de esa máquina. Solo si coinciden, elimina la línea que indica Offending <type> key in <file>:<line> y vuelve a ejecutar ssh. Si ssh vuelve a advertir sobre otra línea, compara, elimina y vuelve a ejecutar como antes.
  • ssh rechaza una clave que no conoce, sin preguntar: obtén la línea de known_hosts de esa máquina de quien la administra, no a través de la conexión que estás verificando. Agrega la línea a tu archivo known_hosts, con el nombre del mensaje de ssh como nombre de host, y vuelve a ejecutar ssh.
  • ssh continúa con el inicio de sesión sin preguntarte por la clave de host: todavía no escribas ninguna contraseña. Verifica las claves en las que ssh ya confía.
Una vez que ssh acepte una clave que verificaste o agregaste, reintenta en Desktop. Si Desktop vuelve a rechazar la clave, consulta Obtener los registros de Desktop para un problema de SSH. Vuelve a ejecutar el mismo comando ssh agregando -v -S none. En su salida, una línea Server host key: muestra una huella digital, y la siguiente línea Host '<name>' is known nombra la máquina a la que pertenece. Compara cada huella digital que encuentres con la de esa máquina.
  • Un jump host no tiene una línea Server host key:: ejecuta también ssh -v -S none <jump host> y compara esa huella digital de la misma manera.
  • Una huella digital no coincide, o no puedes verificarla: no vuelvas a conectarte. Elimina la clave guardada: debajo de Host '<name>' is known, la línea Found key in <file>:<line> nombra el archivo que la contiene. Ejecuta ssh-keygen -R "<name>" -f <file>. Si guardas claves de host en más de un archivo, elimina la clave de cada uno. Si no puedes modificar un archivo, avísale a quien administra tu computadora.
  • Todas las huellas digitales coinciden: reintenta en Desktop. Si Desktop vuelve a rechazar la clave, consulta Obtener los registros de Desktop para un problema de SSH.

Clave de host SSH rechazada en Windows sin un cliente OpenSSH

En Windows sin un cliente OpenSSH, Desktop rechaza incluso una clave de host correcta, con Connection failed: Host key changed or not trusted. Necesita el cliente para buscar las claves guardadas. Para ver si tienes uno, ejecuta ssh en PowerShell. Si PowerShell no reconoce ssh, instala el cliente OpenSSH de Microsoft y reinicia Desktop. Luego vuelve a conectarte. Si Desktop te pregunta si quieres conectarte por primera vez, verifica la clave de host de la máquina antes de confiar en ella. Si Desktop sigue rechazando la clave, sigue los demás casos de SSH host key verification failed.

La conexión SSH falla después de iniciar sesión

Busca en esta tabla el título de la tarjeta, o el código con el que termina el mensaje de error, y luego haz lo que indica la última columna. Para ver el mensaje, selecciona View details en la tarjeta del fallo. Para cualquier otro mensaje, revisa los requisitos de la máquina remota.

Obtener los registros de Desktop para un problema de SSH

Obtienes ssh.log, el registro de Desktop de sus conexiones SSH, dentro de un archivo zip con los registros de Desktop que guardas desde el menú Help. Para guardarlo, abre Help > Troubleshooting y selecciona el elemento correspondiente a tu sistema:
  • macOS: Show Logs in Finder
  • Windows: Show Logs in File Explorer
  • Linux: Show Logs in File Manager
Revisa los archivos antes de enviarlos, porque pueden incluir nombres y otros detalles de tu entorno. <host> y <user> representan nombres que Desktop reemplazó. Desktop no reemplaza todos los nombres, y un nombre de host o de usuario SSH todavía puede aparecer tal como está escrito. Si envías el archivo zip a alguien, indícale qué host falló y cuándo, porque es posible que los registros no lo mencionen. El archivo zip no contiene el registro del programa auxiliar que Desktop instala en la máquina remota. Para obtener también ese registro, copia remote-server.log desde la carpeta del programa auxiliar en ~/.claude/remote/run/, dentro del directorio home del usuario que se conectó. Revisa también ese archivo antes de enviarlo.

La aplicación no se cierra

  • macOS: presione Cmd+Q. Si la aplicación no responde, use Force Quit con Cmd+Option+Esc, seleccione Claude y haga clic en Force Quit.
  • Windows: use Task Manager con Ctrl+Shift+Esc para finalizar el proceso de Claude.

Problemas específicos de Windows

  • PATH no actualizado después de instalar: abra una nueva ventana de terminal. Las actualizaciones de PATH solo se aplican a nuevas sesiones de terminal.
  • Error de instalación concurrente: si ve un error sobre otra instalación en progreso pero no la hay, intente ejecutar el instalador como Administrador.

“Branch doesn’t exist yet” al abrir en CLI

Las sesiones en la nube pueden crear ramas que no existen en tu máquina local. Haz clic en el nombre de la rama en la sesión y selecciona Copy branch name, luego obtenla localmente:

¿Aún atascado?

  • Abra Help → Get Support en la aplicación de escritorio, o visite el centro de soporte de Claude directamente
  • Para problemas que también se reproducen en la CLI independiente claude, busque o presente un error en GitHub Issues
Al presentar un problema, incluya la versión de su aplicación de escritorio, su sistema operativo, el mensaje de error exacto y registros relevantes. En macOS, verifique Console.app. En Windows, verifique Event Viewer → Windows Logs → Application. Revise extractos de registros antes de publicarlos en un problema público; pueden incluir rutas de archivo y otros detalles de su entorno.