Solución de problemas
Soluciones concretas para problemas concretos. Cada entrada describe un síntoma, explica brevemente la causa probable y propone una solución. Si tu problema no aparece aquí, quizá te ayuden las preguntas frecuentes; en Discord seguro que sí.
Instalación y configuración
Sección titulada «Instalación y configuración»openspec: command not found
Sección titulada «openspec: command not found»La CLI no está instalada o el shell no la encuentra. Instálala globalmente y compruébalo:
npm install -g @fission-ai/openspec@latestopenspec --versionSi se instaló, pero no se encuentra, es probable que el directorio bin global de npm no esté en tu PATH. Ejecuta npm prefix -g para ver dónde se encuentran los paquetes globales: en macOS y Linux, los binarios están en el directorio bin/ de esa ruta; en Windows, están directamente en la ruta. Asegúrate de añadirla a PATH. (npm bin -g se eliminó en npm 9).
Si usaste la instalación asistida por IA, este es el punto en el que debe devolverte el control: el prompt indica al asistente que te muestre el cambio de PATH en vez de modificar por su cuenta los archivos de inicio del shell.
«Se requiere Node.js 20.19.0 o posterior»
Sección titulada ««Se requiere Node.js 20.19.0 o posterior»»OpenSpec necesita Node 20.19.0 o posterior. Comprueba la versión y actualízala si es necesario:
node --versionSi usas bun para instalar OpenSpec, ten en cuenta que OpenSpec sigue ejecutándose en Node, por lo que necesitas tener Node 20.19.0 o posterior en tu PATH. Consulta Instalación.
openspec init no configuró mi herramienta de IA
Sección titulada «openspec init no configuró mi herramienta de IA»Init pregunta qué herramientas configurar. Si omitiste la tuya o quieres añadir otra, vuelve a ejecutarlo o usa el modo no interactivo:
openspec init --tools claude,cursorLa lista completa de identificadores está en Herramientas compatibles. Usa --tools all para incluirlas todas y --tools none para omitir la configuración de herramientas.
Los comandos no aparecen
Sección titulada «Los comandos no aparecen»Si /opsx:propose (o el comando equivalente de tu herramienta) no aparece o no hace nada, repasa esta lista, ordenada de la comprobación más rápida a la más lenta.
-
Quizá estés en el lugar equivocado. Los comandos de barra se escriben en el chat del asistente de IA, no en el terminal. Si escribiste
/opsx:proposeen el shell, ahí está el problema. Consulta Cómo funcionan los comandos. -
Regenera los archivos. Desde la raíz del proyecto:
Ventana de terminal openspec updateEsto vuelve a escribir los archivos de habilidades y comandos de todas las herramientas que configuraste.
Los archivos de instrucciones proceden de la CLI instalada, así que una CLI desactualizada indica que todo está actualizado, aunque nunca escriba los flujos nuevos.
openspec updateahora lo comprueba y ofrece actualizar; acepta si aparece la opción. -
Reinicia el asistente. La mayoría de las herramientas busca habilidades y comandos al iniciarse. Abrir una ventana nueva suele bastar.
-
Comprueba que existan los archivos. En Claude Code, verifica que
.claude/skills/contenga carpetasopenspec-*. Las demás herramientas usan sus propios directorios, indicados en Herramientas compatibles. -
Comprueba que inicializaste este proyecto. Las habilidades se escriben para cada proyecto. Si clonaste un repositorio o cambiaste de carpeta, ejecuta allí
openspec init(oopenspec update). -
Comprueba que tu herramienta admita archivos de comando. Codex, CodeArts, ForgeCode, Hermes, Kimi Code, Mistral Vibe, Zed Agent y el destino compartido
.agentsno generan archivos de comandoopsx-*; usan invocaciones basadas en habilidades, por lo que/opsxnunca se autocompletará. Escribe$openspec-proposeen Codex,/skill:openspec-proposeen Kimi Code y/openspec-proposeen las demás. El destino compartido.agentses independiente del proveedor, así que/openspec-proposees la forma habitual, pero no está garantizada; si el asistente no responde, consulta su documentación para saber cómo invocar una habilidad. Amazon Q sí recibe archivos de comando, pero los carga en su biblioteca de prompts en lugar de mostrarlos en el menú de barra: escribe@opsx-propose, no/opsx. La forma de cada herramienta está en Cómo invocar comandos.
Trabajar con cambios
Sección titulada «Trabajar con cambios»«No se encontró el cambio»
Sección titulada ««No se encontró el cambio»»El comando no pudo determinar a qué cambio te referías. Indica su nombre explícitamente o comprueba qué cambios existen:
openspec list # see active changes/opsx:apply add-dark-mode # name the change in chatComprueba también que estés en el directorio correcto del proyecto.
«No hay artefactos listos»
Sección titulada ««No hay artefactos listos»»Todos los artefactos ya están creados o están bloqueados a la espera de una dependencia. Averigua qué lo impide:
openspec status --change <name>Primero crea la dependencia que falta. Recuerda el orden: la propuesta habilita las especificaciones y el diseño; las especificaciones y el diseño habilitan conjuntamente las tareas.
openspec validate informa de advertencias o errores
Sección titulada «openspec validate informa de advertencias o errores»La validación comprueba si tus especificaciones y cambios tienen problemas estructurales. Lee el mensaje: indica el archivo y el problema.
openspec validate <name> # validate one itemopenspec validate --all # validate everythingopenspec validate --all --strict # stricter checks, good for CIopenspec validate --archived # fail if archived changes have unchecked tasksLas causas habituales son la falta de una sección obligatoria (por ejemplo, una especificación sin escenarios) o un encabezado de delta con formato incorrecto. Corrige el archivo y vuelve a ejecutar el comando. La referencia de la CLI documenta el formato de salida.
Un mensaje merece una explicación aparte:
MODIFIED "<requirement>" omits scenario(s) the current spec still has: "<scenario>"Un requisito MODIFIED sustituye todo el bloque del requisito, así que debe incluir todos los escenarios que sigan vigentes después del cambio, no solo los que editaste. Copia los escenarios indicados desde openspec/specs/<capability-path>/spec.md a la delta y conserva los directorios de dominio que formen parte de la ruta. Esto suele ocurrir con un cambio antiguo después de que otro cambio haya añadido un escenario al mismo requisito. En cualquier caso, el archivado rechazará ese cambio; ahora la validación lo detecta antes de implementarlo.
La IA creó artefactos incompletos o incorrectos
Sección titulada «La IA creó artefactos incompletos o incorrectos»La IA no tenía suficiente contexto. Hay varias formas de solucionarlo:
- Añade contexto del proyecto en
openspec/config.yamlpara que la pila tecnológica y las convenciones se inyecten en cada solicitud. Consulta Personalización. - Añade
rules:específicas para cada artefacto si hay instrucciones que solo se aplican, por ejemplo, a las especificaciones. - Proporciona una descripción más detallada al proponer un cambio.
- Usa el comando ampliado
/opsx:continuepara crear y revisar un artefacto cada vez, en vez de generar todos a la vez con/opsx:ff.
El archivado no termina o advierte de tareas incompletas
Sección titulada «El archivado no termina o advierte de tareas incompletas»El archivado no se bloquea por las tareas incompletas, pero te avisa porque, por lo general, archivar significa que el trabajo está terminado. Si dejas tareas pendientes intencionadamente (porque vas a archivar un cambio parcial), continúa. De lo contrario, complétalas primero. Si aún no has sincronizado las especificaciones delta con las principales, el archivado también te ofrecerá hacerlo; acepta salvo que tengas un motivo para no hacerlo.
«User force closed the prompt with 0 null»
Sección titulada ««User force closed the prompt with 0 null»»Se ejecutó openspec archive en un entorno donde nadie puede responder a una pregunta: por ejemplo, un agente de IA que lo invoca desde una herramienta, un trabajo de CI o un shell con stdin cerrado. Archive hace hasta tres preguntas de confirmación y, antes, la falta de respuesta producía ese mensaje sin procesar.
Pasa --yes para responderlas de antemano:
openspec archive <change-name> --yesConserva los parámetros que ya estabas pasando: --skip-specs y --no-validate modifican el comportamiento del archivado, así que volver a ejecutarlo solo con --yes no es lo mismo. Las versiones actuales indican el parámetro necesario e imprimen una línea Fix: que puedes copiar. Si pretendías elegir un cambio de una lista, indica su nombre explícitamente: el selector también necesita una respuesta.
Si, en cambio, redirigiste la salida del archivado a un archivo o la capturaste con una herramienta y pasaste una respuesta por una tubería (printf 'y\n' | openspec archive …), las versiones antiguas escribían códigos de escape del terminal en la captura al mostrar el prompt, lo que en algunos entornos podía aumentar mucho el tamaño del archivo. Las versiones actuales muestran los prompts de confirmación como texto sin formato cuando stdout no es un terminal; además, si ejecutas openspec archive sin argumentos (lo que normalmente mostraría un selector interactivo), te pide que indiques el nombre del cambio en vez de dibujar un menú en la captura. En ambos casos, las ejecuciones redirigidas y las de agentes quedan limpias; pasar --yes junto con el nombre del cambio omite por completo los prompts.
Configuración
Sección titulada «Configuración»No se aplica mi archivo config.yaml
Sección titulada «No se aplica mi archivo config.yaml»Tres causas habituales:
- Nombre de archivo incorrecto. Debe llamarse
openspec/config.yaml, no.yml. - YAML no válido. Compruébalo con cualquier validador de YAML; la CLI también informa de errores de sintaxis con sus números de línea.
- Esperabas que hubiera que reiniciar. No hace falta. Los cambios de configuración se aplican inmediatamente.
«Unknown artifact ID in rules: X»
Sección titulada ««Unknown artifact ID in rules: X»»Una clave de rules: no coincide con ningún artefacto del esquema. En el esquema predeterminado spec-driven, los identificadores válidos son proposal, specs, design y tasks. Para ver los identificadores de cualquier esquema:
openspec schemas --json«Context too large»
Sección titulada ««Context too large»»El campo context: está limitado deliberadamente a 50 KB porque se inyecta en cada solicitud. Resúmelo o enlaza a documentos más extensos en lugar de pegarlos. Un contexto más conciso también produce resultados mejores y más rápidos.
«Schema not found»
Sección titulada ««Schema not found»»El esquema indicado no existe. Enumera los disponibles y comprueba la ortografía:
openspec schemas # list available schemasopenspec schema which <name> # see where a schema resolves fromopenspec schema init <name> # create a custom oneConsulta Personalización.
Migración desde el flujo anterior
Sección titulada «Migración desde el flujo anterior»«Legacy files detected in non-interactive mode»
Sección titulada ««Legacy files detected in non-interactive mode»»Estás en CI o en un shell no interactivo. OpenSpec encontró archivos antiguos que debe limpiar, pero no puede pedirte confirmación. Aprueba la operación automáticamente:
openspec init --forceEn Codex, OpenSpec puede detectar archivos de prompt antiguos administrados en $CODEX_HOME/prompts o ~/.codex/prompts. La limpieza se limita a los nombres de archivo heredados de Codex permitidos por OpenSpec, y openspec init en modo no interactivo solo elimina los archivos para los que ya existen habilidades de sustitución .agents/skills/openspec-*. openspec update en modo no interactivo no limpia ningún archivo antiguo, a menos que pases --force.
Los comandos no aparecieron después de la migración
Sección titulada «Los comandos no aparecieron después de la migración»Reinicia el IDE. Las habilidades se detectan al iniciarse. Si aún no aparecen, ejecuta openspec update y comprueba las ubicaciones de los archivos en Herramientas compatibles.
Mi antiguo project.md no se migró
Sección titulada «Mi antiguo project.md no se migró»Es intencional. OpenSpec nunca elimina project.md automáticamente, porque puede contener contexto que escribiste tú. Traslada la información útil a la sección context: de config.yaml y luego elimínalo tú mismo. La guía de migración explica el proceso e incluye un prompt que puedes dar a la IA para resumir el contenido.
¿Sigues con problemas?
Sección titulada «¿Sigues con problemas?»- Discord: discord.gg/YctCnvvshC
- Incidencias de GitHub: github.com/Fission-AI/OpenSpec/issues
- Desde el terminal:
openspec feedback "what went wrong"abre una incidencia por ti.
Al informar de un problema, incluye la versión de OpenSpec (openspec --version), la versión de Node (node --version), la herramienta de IA que usas y el comando y la salida exactos. Así será mucho más fácil ayudarte.
HagiCode
HagiCode es un espacio de trabajo de programación con agentes, flujos estructurados, ejecución multiagente y vistas de Hero Dungeon.
Convierte ideas en software útil con un flujo de trabajo con agentes más inteligente, rápido y ameno.

- SmartLos flujos estructurados convierten la intención en un itinerario ejecutable desde la idea hasta la entrega.
- EfficientLos flujos multiagente permiten avanzar en paralelo con la investigación, implementación y revisión.
- FunHero Dungeon hace que las largas sesiones de programación sean visuales y colaborativas.
Sitios del ecosistema
Enlaces rápidos
Comunidad
© 2026 HagiCode