Back to news
API

claude-code v2.1.89: v2.1.89

- Se agregó la decisión de permiso `"defer"` a los hooks `PreToolUse` — las sesiones sin interfaz pueden pausarse en una llamada de herramienta y reanudarse con `-p --resume` para que el hook re-evalúe

claude-code v2.1.89: v2.1.89
anthropicreleasesdkapi

Qué cambió

  • Se agregó la decisión de permiso "defer" a los hooks PreToolUse — las sesiones sin interfaz pueden pausarse en una llamada de herramienta y reanudarse con -p --resume para que el hook re-evalúe
  • Se agregó la variable de entorno CLAUDE_CODE_NO_FLICKER=1 para optar por un renderizado de pantalla alternativa sin parpadeo con desplazamiento virtualizado
  • Se agregó el hook PermissionDenied que se ejecuta después de denegaciones del clasificador de modo automático — devuelve {retry: true} para indicar al modelo que puede reintentar
  • Se agregaron suagentes nombrados a las sugerencias de typeahead de mención @
  • Se agregó MCP_CONNECTION_NONBLOCKING=true para el modo -p para omitir completamente la espera de conexión MCP, y se limitaron las conexiones del servidor --mcp-config a 5s en lugar de bloquear en el servidor más lento
  • Modo automático: los comandos denegados ahora muestran una notificación y aparecen en /permissions → pestaña Reciente donde puedes reintentar con r
  • Se corrigió Edit(//path/**) y Read(//path/**) para que las reglas de permiso verifiquen el destino del enlace simbólico resuelto, no solo la ruta solicitada
  • Se corrigió la activación de push-to-talk de voz para algunas combinaciones de modificadores, y el modo de voz en Windows fallaba con "WebSocket upgrade rejected with HTTP 101"
  • Se corrigió que las herramientas Edit/Write duplicaban CRLF en Windows y eliminaban saltos de línea duros de Markdown (dos espacios finales)
  • Se corrigió el error de caché de esquema StructuredOutput que causaba ~50% de tasa de fallo al usar múltiples esquemas
  • Se corrigió la fuga de memoria donde entradas JSON grandes se retenían como claves de caché LRU en sesiones de larga duración
  • Se corrigió un bloqueo al eliminar un mensaje de archivos de sesión muy grandes (más de 50MB)
  • Se corrigió el estado zombie del servidor LSP después de un bloqueo — el servidor ahora se reinicia en la siguiente solicitud en lugar de fallar hasta reiniciar la sesión
  • Se corrigió que las entradas del historial de solicitudes que contienen CJK o emoji se silenciaran cuando caigan en un límite de 4KB en ~/.claude/history.jsonl
  • Se corrigió /stats subestimando tokens al excluir uso de suagentes, y perdiendo datos históricos más allá de 30 días cuando cambia el formato del caché de estadísticas
  • Se corrigió -p --resume colgándose cuando la entrada de herramienta diferida excede 64KB o no existe marcador diferido, y -p --continue no reanudando herramientas diferidas
  • Se corrigieron los enlaces profundos claude-cli:// que no se abren en macOS
  • Se corrigieron errores de herramienta MCP truncando solo el primer bloque de contenido cuando el servidor devuelve contenido de error multi-elemento
  • Se corrigieron recordatorios de habilidades y otro contexto del sistema siendo eliminados al enviar mensajes con imágenes a través del SDK
  • Se corrigieron los hooks PreToolUse/PostToolUse para recibir file_path como ruta absoluta para herramientas Write/Edit/Read, coincidiendo con el comportamiento documentado
  • Se corrigió el bucle de compactación automática — ahora detecta cuando el contexto se rellena hasta el límite inmediatamente después de compactar tres veces seguidas y se detiene con un error accionable en lugar de consumir llamadas a API
  • Se corrigieron fallos de caché de solicitud en sesiones largas causados por cambios de bytes de esquema de herramienta a mitad de sesión
  • Se corrigieron archivos CLAUDE.md anidados siendo re-inyectados docenas de veces en sesiones largas que leen muchos archivos
  • Se corrigió bloqueo de --resume cuando la transcripción contiene un resultado de herramienta de una versión anterior de CLI o escritura interrumpida
  • Se corrigió mensaje engañoso "Rate limit reached" cuando la API devolvió un error de derechos — ahora muestra el error real con sugerencias accionables
  • Se corrigió el filtrado de condición if de hooks sin coincidencia de comandos compuestos (ls && git push) o comandos con prefijos de variable de entorno (FOO=bar git push)
  • Se corrigieron insignias de grupo de búsqueda/lectura colapsadas duplicándose en el desplazamiento de terminal durante uso paralelo intensivo de herramientas
  • Se corrigió que invalidates de notificación no borraba la notificación actualmente mostrada inmediatamente
  • Se corrigió que la solicitud desapareciera brevemente después de enviar cuando llegaban mensajes de fondo durante el procesamiento
  • Se corrigió texto Devanagari y otros caracteres con marcas combinadas siendo truncados en salida del asistente
  • Se corrigieron artefactos de renderizado en terminales de pantalla principal después de cambios de diseño
  • Se corrigió que el modo de voz fallara al solicitar permiso de micrófono en macOS Apple Silicon
  • Se corrigió Shift+Enter enviando en lugar de insertar una nueva línea en Windows Terminal Preview 1.25
  • Se corrigió jitter periódico de UI durante transmisión en iTerm2 cuando se ejecuta dentro de tmux
  • Se corrigió que la herramienta PowerShell reportara incorrectamente fallos cuando comandos como git push escribían progreso en stderr en Windows PowerShell 5.1
  • Se corrigió un potencial bloqueo por falta de memoria cuando la herramienta Edit se usaba en archivos muy grandes (>1 GiB)
  • Se mejoró el resumen de herramienta colapsada para mostrar "Listed N directories" para ls/tree/du en lugar de "Read N files"
  • Se mejoró la herramienta Bash para advertir cuando un comando formateador/linter modifica archivos que has leído previamente, previniendo errores de edición obsoleta
  • Se mejoró el typeahead de mención @ para clasificar archivos fuente por encima de recursos MCP con nombres similares
  • Se mejoró el símbolo de herramienta PowerShell con guía de sintaxis apropiada para versión (5.1 vs 7+)
  • Se cambió Edit para trabajar en archivos visualizados a través de Bash con sed -n o cat, sin requerir primero una llamada Read separada
  • Se cambió la salida de hook sobre 50K caracteres para guardarse en disco con ruta de archivo + vista previa en lugar de inyectarse directamente en contexto
  • Se cambió cleanupPeriodDays: 0 en settings.json para ser rechazado con un error de validación — anteriormente silenciosamente deshabilitaba la persistencia de transcripción
  • Se cambió que los resúmenes de pensamiento ya no se generen por defecto en sesiones interactivas — establece showThinkingSummaries: true en settings.json para restaurar
  • Se documentó el evento de hook TaskCreated y su comportamiento de bloqueo
  • Se preservaron notificaciones de tarea al ejecutar comando en segundo plano con Ctrl+B
  • Herramienta PowerShell en Windows: argumentos de comando externo que contienen tanto una comilla doble como espacio en blanco ahora solicitan en lugar de permitir automáticamente (endurecimiento de división de argumentos PS 5.1)
  • /env ahora se aplica a comandos de herramienta PowerShell (anteriormente solo afectaba Bash)
  • /usage ahora oculta la barra redundante "Current week (Sonnet only)" para planes Pro y Enterprise
  • El pegado de imagen ya no inserta un espacio final
  • Pegar !command en una solicitud vacía ahora entra en modo bash, coincidiendo con el comportamiento de ! escrito
  • /buddy está aquí para el 1 de abril — eclosiona una pequeña criatura que te mira programar