Cap 19: Voice Mode y Remote
Voice Mode
Voice mode permite hablar para dar instrucciones a Claude Code en lugar de escribir.
Activar
# Dentro de una sesión
/voice
# El micrófono se activa y Claude escucha tu instrucción
# Hablas naturalmente y Claude procesa el audio como prompt
Cuándo es útil
- Describir bugs mientras miras el código
- Dar instrucciones complejas sin escribir
- Trabajar lejos del teclado
- Brainstorming rápido
Wispr Flow
Wispr Flow es una herramienta complementaria externa para voice prompting. Convierte voz a texto de forma más precisa y se integra como input para cualquier aplicación, incluyendo Claude Code.
Remote Control
Remote Control permite continuar sesiones de Claude Code desde cualquier dispositivo — teléfono, tablet o cualquier navegador.
Iniciar remote control
# Desde tu terminal
claude remote-control
# O dentro de la sesión
/remote
Esto genera un enlace que puedes abrir en cualquier dispositivo para controlar tu sesión local.
Flujo de trabajo típico
- Estás trabajando en tu computadora con Claude Code
- Necesitas salir pero la tarea no terminó
- Ejecutas
claude remote-control - Abres el enlace en tu teléfono
- Continúas dando instrucciones remotamente
- Claude sigue ejecutando localmente en tu computadora
Requisitos
- Tu computadora debe estar encendida y conectada
- Claude Code debe estar ejecutándose
- Conexión a internet en ambos dispositivos
Sesiones Web
Crear sesión web desde terminal
# Crear tarea directamente en claude.ai
claude --remote "Fix the login bug in src/auth.ts"
Esto crea una sesión en claude.ai/code que trabaja en tu repositorio.
Teleport — Traer sesión web al terminal
# Desde el terminal
claude --teleport
# O dentro de una sesión
/teleport
Teleport descarga una sesión que se inició en la web y la continúa localmente, con todo el contexto preservado.
Flujo web → terminal
- Inicias una tarea en claude.ai/code (o desde el móvil)
- La tarea trabaja en la nube sobre tu repositorio
- Llegas a tu computadora
- Ejecutas
/teleport - La sesión se transfiere a tu terminal local
- Continúas con herramientas locales y permisos completos
Desktop — Pasar al desktop app
/desktop
Transfiere la sesión del terminal al desktop app para revisión visual de diffs.
Headless Mode
El modo headless (--print o -p) ejecuta Claude Code sin interfaz interactiva:
# Ejecutar tarea y obtener resultado
claude -p "lista todos los endpoints de la API"
# Con pipe
cat error.log | claude -p "explica este error"
# Con output JSON para procesamiento
claude -p "analiza este código" --output-format json
# Sin hooks, skills, plugins, MCP, auto memory ni CLAUDE.md
claude -p --bare "analiza este código"
Límites del pipe: desde v2.1.128 la entrada por stdin está limitada a 10MB. Una terminación por SIGTERM sale con código 143: tenlo en cuenta en el manejo de errores de tus scripts.
--bare
--bare omite hooks, skills, plugins, MCP, auto memory y CLAUDE.md. Es lo recomendado
para CI y para el SDK, porque hace la ejecución reproducible sin depender de la
configuración local del repositorio o del usuario. Será el default de -p en el futuro.
--json-schema — salida estructurada
Además de --output-format json, puedes validar el resultado contra un esquema:
claude -p "analiza este código" \
--output-format json \
--json-schema ./schema.json
La salida estructurada llega en el campo structured_output del JSON de resultado.
Es la forma actual de consumir resultados de headless en pipelines, en lugar de
parsear texto libre.
Casos de uso
- CI/CD: Code review automatizado en pipelines
- Scripts: Automatización de tareas repetitivas
- Bots: Integración con Slack, GitHub Actions
- Batch processing: Procesamiento de múltiples archivos
Seguridad en CI: al ejecutar de forma no interactiva con
-pse desactiva la verificación de confianza (trust) de codebases y servidores MCP. Un pipeline no conserva las mismas barreras que una sesión interactiva, así que conviene combinarlo con sandbox y allowlists explícitas (--allowedTools,permissions.deny).
Ejemplo: Script de CI
#!/bin/bash
# ci-review.sh
RESULT=$(claude -p \
--max-budget-usd 2.00 \
--max-turns 10 \
--output-format json \
"Revisa los cambios del último commit y genera un reporte de calidad")
echo "$RESULT" | jq '.result'
Flujo entre superficies
Claude Code mantiene continuidad entre todas las superficies:
flowchart LR
T[Terminal] -->|/desktop| D[Desktop App]
D -->|/remote| W[Web]
W -->|/teleport| T
T -->|claude remote-control| M[Móvil]
M -->|/teleport| T
| Acción | Comando | Dirección |
|---|---|---|
| Terminal → Desktop | /desktop | Local → Visual |
| Terminal → Web | /remote | Local → Remoto |
| Web → Terminal | /teleport | Remoto → Local |
| Terminal → Móvil | claude remote-control | Local → Remoto |
Sesiones en background
Seguir una sesión sin estar delante de ella no siempre requiere cambiar de superficie: también puedes dejarla corriendo en segundo plano y retomarla después.
# Lanzar la sesión en background
claude --bg "migra los tests a vitest"
claude --background "migra los tests a vitest"
# Gestionarlas desde el CLI
claude agents # listar sesiones en background
claude agents attach # volver a engancharse a una
claude agents logs # ver su salida
claude agents stop # detenerla
claude agents respawn # relanzarla
Todo conectado
Todas las superficies comparten:
- Archivos CLAUDE.md
- Settings
- Servidores MCP
- Sesiones y checkpoints
Siguiente: Tips de Productividad