Skip to main content
Cinco comandos en todos los agentes, y un sexto que solo OpenCode necesita. Se ejecutan desde dentro de una sesión del agente, en el ordenador al que quieras afectar: un comando con / en Claude Code y en OpenCode, una skill con $ en Codex.
En Claude Code todo va con espacio de nombres: al escribir /nomo-cc: se listan todos. Los nombres de comando de OpenCode son planos y globales, así que allí los de Nomo no llevan ningún prefijo.
Ninguno puede fallar a gritos. Todos terminan limpiamente incluso cuando no hay nada que hacer: Not paired es un éxito, no un error. Las casillas vacías de la última fila no son un olvido: Claude Code y Codex se actualizan a través de sus propios anfitriones, así que Nomo no añade ningún comando ahí. Lo que necesita cada uno —que en el caso de Codex suele ser nada— está en Instalación.

pair

Sin argumentos abre en tu navegador una página con la estética de la app y un código QR. Escanéalo en la app y la página cambia sola a Paired ✓. El argumento code se salta el navegador por completo e imprime un código de un solo uso que puedes escribir, pensado para una máquina sin interfaz gráfica o una sesión SSH. Es la vía de segunda opción a propósito: ese código acaba en tu terminal y, por tanto, en la transcripción del agente. Las vinculaciones caducan a los 10 minutos sin usarse. Una vinculación cubre la máquina, no el agente: Claude Code, Codex y OpenCode en el mismo Mac la comparten. El recorrido completo está en Vinculación.

status

El primero que hay que ejecutar cuando algo se ve raro. Una máquina sana son unas pocas líneas tranquilas: no hay marcas de visto, porque que todo esté bien es justamente la ausencia de algo que decir.
Las filas de arriba describen el ordenador, y se leen igual desde cualquier agente. Debajo viene el agente en el que estás de verdad, marcado con — you are here.
Si este ordenador está vinculado siquiera, además del worker con el que habla y la vinculación que guarda. NOT PAIRED significa que nada de aquí llega a la app, y la flecha de debajo imprime el comando de vinculación del agente en el que estás.
Cuándo salió realmente el último evento de este ordenador, y si el proceso supervisor está en marcha. Que el supervisor no esté corriendo no pasa nada por sí solo: arranca en la siguiente sesión. Que no se haya enviado nada (never) con una sesión realmente en marcha sí es un problema.
El enlace directo por red local: el puerto y el id en los que escucha este ordenador, cuándo lo alcanzó tu teléfono por última vez y cuándo anunció el Mac su dirección. La línea del medio es la que importa: es la única prueba de que la vía directa haya funcionado alguna vez. Anunciada hace mucho y nunca alcanzada significa que tu teléfono no llega hasta aquí; anunciada hace segundos y todavía sin alcanzar es simplemente demasiado pronto para saberlo. Una petición rechazada imprime su motivo en lugar de dejar silencio. La fila desaparece entera en un ordenador que nunca ha escuchado: el interruptor está en tu teléfono y viene desactivado.
on significa que las solicitudes de permiso se retienen aquí y se envían a tu teléfono. PAUSED significa que no: van al terminal, y siguen así hasta que alguien las reanude, por muchos meses que pasen. Si tu teléfono ha dejado de preguntarte nada, esta fila es la explicación entera — ve Pausar las aprobaciones.
Si tu agente le está pasando algo a Nomo, y cuánto hace de la última vez. OpenCode no tiene hooks, así que allí la fila se llama Plugin. ¿No se dispara nada? Reinicia Claude Code para que se carguen sus hooks; en Codex, ejecuta /hooks; en OpenCode, reinícialo para que se cargue el plugin.
Ahora se cuentan por agente: 1 of 4 tracked here significa que este ordenador sigue cuatro sesiones y una de ellas es la tuya. Para las filas que deberían haber muerto está reset.
Los problemas llevan dos marcas y nada más: ! es el problema y → es qué hacer al respecto, escrito en el dialecto de comandos del agente desde el que preguntaste. Cada uno de los demás agentes del ordenador tiene una línea condensada bajo Also on this computer — y cuando el roto es uno de esos, lo dice aquí en lugar de esperar a que vayas a mirar:
Las filas que no tienen nada que decir se omiten: un ordenador sin vincular no tiene entrega, LAN ni aprobaciones que reportar. El problema de otro agente se explica aquí entero y después te remite al comando de estado de ese agente para el resto del detalle. Y la primera línea lleva la versión del plugin: cítala si abres una incidencia.

approvals

Pausa las aprobaciones remotas en este ordenador, de modo que las solicitudes de permiso van directas al terminal en lugar de esperar a tu teléfono. La salida de emergencia para un teléfono sin batería o fuera de alcance.
Un interruptor por ordenador, compartido por todos los agentes: pausarlo en Codex lo pausa también para Claude Code y OpenCode en esa máquina. No desvincula nada y no toca los ajustes de tu teléfono. Hay otro interruptor aparte, para todo el teléfono: Responder en el iPhone en Ajustes.

reset

Detiene el proceso supervisor y limpia las filas de sesión muertas o fantasma, y después le dice a tu teléfono que las suelte.
Es lo seguro a lo que recurrir cuando las filas se ven obsoletas o duplicadas, porque dice qué ha dejado intacto. Una fila de OpenCode pertenece al servidor de OpenCode, así que cierra OpenCode primero si alguna no se va — ve Usar OpenCode.

unpair

Revoca la vinculación y borra la clave en ese ordenador. Olvidar un ordenador desde el teléfono no es lo mismo: eso hace que deje de aparecer en tu app, pero el Mac conserva su estado local hasta que ejecutes esto allí.

update

OpenCode
Solo OpenCode, y comprueba antes de cambiar nada. Estar al día es una parada, no un no-op con un pull detrás:
Cuando sí hay algo que traer, dice qué antes de traerlo:
Después trae los cambios, vuelve a ejecutar el instalador —que es lo que recoge cualquier comando /nomo-* nuevo que traiga la versión— y te dice que reinicies OpenCode. Los plugins se importan una sola vez, al arrancar su servidor, así que hasta entonces la copia vieja sigue siendo la que corre. Se niega en lugar de actuar cuando no puede estar seguro, y cada negativa dice qué hacer en su lugar: un clon fijado por una instalación anterior con --ref, un árbol de trabajo con cambios sin confirmar, un clon que se ha movido o borrado, o que aquí no haya nada instalado.
Actualiza el clon al que apunta el stub —la copia que OpenCode importa de verdad—, que no es necesariamente aquel de cuyo archivo de comando saliste. Si mantienes más de un clon, esa es la distinción que importa.
Claude Code y Codex no tienen equivalente, porque sus anfitriones se encargan de las actualizaciones —y Codex normalmente no tiene nada que ejecutar—: Instalación cubre los dos.

Dónde se guarda el estado

Todo lo que guarda el plugin está en ~/.config/cc-status/: la vinculación, la clave de cifrado (modo 0600), un archivo por sesión seguida y un registro de traza local. Nada de esa carpeta se envía a ningún sitio.

El código fuente

Estos comandos son el plugin, y el plugin es de código abierto. Si quieres saber exactamente qué se ejecuta en tu máquina y qué sale de ella, la respuesta está en un solo repositorio: las instalaciones desde el marketplace son un clon literal de él.

KarrixLee/nomo

El código completo del plugin, con licencia MIT. Las incidencias y los informes de errores también van aquí.