Cap 19: Voice Mode y Remote

Por: Artiko
claude-codevoiceremoteteleportheadless

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

  1. Estás trabajando en tu computadora con Claude Code
  2. Necesitas salir pero la tarea no terminó
  3. Ejecutas claude remote-control
  4. Abres el enlace en tu teléfono
  5. Continúas dando instrucciones remotamente
  6. 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

  1. Inicias una tarea en claude.ai/code (o desde el móvil)
  2. La tarea trabaja en la nube sobre tu repositorio
  3. Llegas a tu computadora
  4. Ejecutas /teleport
  5. La sesión se transfiere a tu terminal local
  6. 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 -p se 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ónComandoDirección
Terminal → Desktop/desktopLocal → Visual
Terminal → Web/remoteLocal → Remoto
Web → Terminal/teleportRemoto → Local
Terminal → Móvilclaude remote-controlLocal → 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