Tenés instalada la app de escritorio de Codex en Windows. La usás todos los días para conversar sobre tus carpetas de proyectos. Pero cada vez que querés agregar una carpeta nueva, repetís la misma fricción: abrís Codex, buscás cómo agregar el proyecto, navegás hasta encontrar la carpeta en el explorador de archivos de la app, la seleccionás. Cinco clics donde podría haber uno.
El flujo natural sería el opuesto: tener la carpeta en tu Explorador de Windows, hacer click derecho, elegir "Open with Codex", y que la carpeta aparezca instantáneamente en tu panel de Proyectos. Esa opción no viene de fábrica. La buena noticia: se puede agregar en 30 segundos sin tocar una línea de código vos mismo.
Esta guía está pensada para personas que no son desarrolladoras. La idea no es que entiendas cada comando ni que abras una consola. La idea es que copies un prompt, se lo pegues a tu agente de IA, y dejes que él haga todo. Vos solo verificás al final que funciona.
Lo que vas a obtener
Después de aplicar la receta, vas a tener:
- Una opción "Open with Codex" en el click derecho de cualquier carpeta en el Explorador de Windows.
- La opción visible en la primera pantalla del menú, no escondida bajo "Mostrar más opciones".
- Un click → la carpeta se agrega automáticamente al panel Proyectos de tu app de Codex.
No requiere permisos de administrador. Todo el cambio vive en tu perfil de usuario y se puede revertir con un solo comando si algún día ya no lo querés.
Principio: el menú contextual de Windows es modificable. Si una app que usás todos los días no está ahí, podés ponerla vos.
Lo que vas a necesitar
Antes de copiar el prompt, asegurate de tener tres cosas:
- La app de Codex de OpenAI instalada desde la Microsoft Store o desde developers.openai.com/codex/app. Si todavía no la tenés, instalala primero — el resto no funciona sin la app.
- Un agente de IA con capacidad de ejecutar comandos en tu computadora. Sirve cualquiera de estos: Claude Code, Cursor (modo Agente), Windsurf (Cascade), GitHub Copilot Workspace, o el que tu equipo use. Lo importante es que pueda correr comandos PowerShell — no que sea un chatbot puramente conversacional.
- Windows 11. En Windows 10 los pasos son ligeramente distintos y esta receta no aplica tal cual.
Principio: un agente que puede ejecutar comandos hace en segundos lo que vos tardarías media hora leyendo tutoriales. Aprovecharlo es la diferencia entre productividad técnica y productividad asistida.
El prompt — copialo y pegalo en tu agente
Abrí el chat con tu agente. Pegá tal cual el bloque de abajo. No tenés que cambiar nada — el prompt ya viene con todos los detalles que el agente necesita para no equivocarse.
Quiero agregar una opción "Open with Codex" al menú del click derecho del
Explorador de Windows 11, para que cuando haga click derecho sobre cualquier
carpeta y elija esa opción, la carpeta se agregue automáticamente al panel
de Proyectos de mi app de escritorio de Codex (la app oficial de OpenAI,
instalada desde Microsoft Store, AUMID OpenAI.Codex_...!App).
Necesito que la opción aparezca en la PRIMERA pantalla del menú contextual,
no escondida bajo "Mostrar más opciones". Tampoco quiero pedir permisos de
administrador — todo debe vivir en HKCU.
REGLA IMPORTANTE — IDEMPOTENCIA:
Este prompt puede ejecutarse VARIAS veces en la misma máquina (porque
yo lo paso de nuevo, porque actualizo Codex, porque vos retomás una
sesión rota). Tu objetivo no es "agregar entradas" sino "dejar el
sistema en el estado correcto":
- Al final tiene que existir EXACTAMENTE UNA entrada "Open with Codex"
en el menú contextual de carpetas (una para click sobre carpeta,
otra para click en el fondo dentro de carpeta — pero ambas con el
mismo nombre y comportamiento).
- Si ya existe una instalación previa con el contenido correcto:
NO toques nada, solo verificá y reportá "ya estaba bien".
- Si ya existe una instalación previa con contenido incorrecto o
desactualizado (launcher distinto, comando viejo sin -STA, AUMID
hardcodeado a una versión vieja, ruta del launcher distinta):
sobreescribí los valores in-place — no agregues una clave nueva
al lado.
- Si encontrás MÚLTIPLES claves que parezcan "Open with Codex"
(ej. Codex, CodexBeta, OpenWithCodex, OpenAI_Codex creadas en
intentos previos): borrá las extras y dejá solo la clave canónica
llamada exactamente "Codex".
- El nombre canónico de la clave es "Codex" (sin sufijos) y el
nombre canónico del launcher es "%USERPROFILE%\codex_launcher.ps1".
Por favor hacé todo el setup automáticamente, sin preguntarme entre pasos:
PASO 0 — DIAGNÓSTICO PREVIO Y LIMPIEZA DE INSTALACIONES PARALELAS
- Enumerá todas las subclaves bajo:
HKCU:\Software\Classes\Directory\shell\
HKCU:\Software\Classes\Directory\Background\shell\
- Para cada subclave, leé su (Default) y su command\(Default).
Marcá como "instalación de Codex" cualquier subclave cuyo
(Default) contenga "Codex" (case-insensitive) O cuyo
command\(Default) referencie OpenAI.Codex, codex_launcher,
o el AUMID de Codex.
- Si hay subclaves marcadas con un nombre distinto al canónico
"Codex", BORRALAS recursivamente (Remove-Item -Recurse).
- Si la subclave canónica "Codex" ya existe, NO la borres todavía
— la vas a actualizar in-place en el paso 3.
- Reportame qué encontraste y qué borraste antes de seguir.
PASO 1 — DETECTAR EL AUMID DINÁMICAMENTE
- No hardcodees la versión del paquete. Resolvelo con
`Get-AppxPackage | Where-Object Name -eq 'OpenAI.Codex'` y construí
el AUMID como `"$($pkg.PackageFamilyName)!App"`.
- Si Get-AppxPackage no devuelve nada, abortá pidiéndome que
instale Codex desde Microsoft Store antes de seguir.
- El launcher mismo va a re-resolver el AUMID en cada ejecución,
así que no quedará atado a la versión actual.
PASO 2 — ESCRIBIR EL LAUNCHER POWERSHELL (idempotente: sobreescribir)
- Path canónico: %USERPROFILE%\codex_launcher.ps1
- Si el archivo ya existe, COMPARÁ su contenido con el contenido
deseado. Si son idénticos, no escribas (evita marca de
modificación nueva). Si difieren, sobreescribí.
- Contenido del launcher: usar la API IApplicationActivationManager
(CLSID 45BA127D-10A8-46EA-8AB7-56EA9078943C, IID
2e941141-7f97-4756-ba1d-9decde894a3d) para activar la app MSIX
pasándole la carpeta como argumento. NO uses
`explorer.exe shell:AppsFolder\...` porque desde Registry eso hace
que Explorer abra la carpeta como una ventana normal en vez de
entregarla a Codex como argumento de activación.
- El launcher recibe -Folder como parámetro, re-resuelve el AUMID
vía Get-AppxPackage en runtime, instancia
ApplicationActivationManager por COM, y llama ActivateApplication
con (aumid, $Folder, 0, out pid).
PASO 2b — ESCRIBIR EL WRAPPER VBSCRIPT INVISIBLE (idempotente)
- Path canónico: %USERPROFILE%\codex_launcher.vbs
- Por qué este wrapper: si el Registry invoca `powershell.exe`
directamente, aunque le pases -WindowStyle Hidden, igual aparece
un flash de consola de ~200-300ms al arrancar. wscript.exe (la
engine de VBScript de Windows) es headless por diseño y NO crea
ventana de consola jamás. El .vbs simplemente invoca al .ps1
desde un proceso wscript, eliminando el flash por completo.
- Contenido esperado del .vbs (3 líneas funcionales):
Set sh = CreateObject("WScript.Shell")
folder = WScript.Arguments(0)
cmd = "powershell.exe -NoProfile -WindowStyle Hidden " & _
"-ExecutionPolicy Bypass -STA -File """ & _
sh.ExpandEnvironmentStrings("%USERPROFILE%") & _
"\codex_launcher.ps1"" -Folder """ & folder & """"
sh.Run cmd, 0, False ' 0 = ventana oculta, False = no esperar
- Si el .vbs ya existe, comparar contenido y solo sobreescribir
si difiere.
PASO 3 — REGISTRAR/ACTUALIZAR LAS DOS ENTRADAS EN HKCU (idempotente)
- Clave canónica para click sobre carpeta:
HKCU\Software\Classes\Directory\shell\Codex
(Default) = "Open with Codex"
command\(Default) = wscript.exe "%USERPROFILE%\codex_launcher.vbs" "%1"
- Clave canónica para click en fondo de carpeta:
HKCU\Software\Classes\Directory\Background\shell\Codex
(Default) = "Open with Codex"
command\(Default) = wscript.exe "%USERPROFILE%\codex_launcher.vbs" "%V"
- Usá `New-Item -Force` y `Set-ItemProperty` — ambos son
idempotentes (sobreescriben si la clave/valor ya existe).
- Antes de dar por terminado el paso, leé los valores de vuelta
con `reg query` y verificá que matcheen lo esperado.
- IMPORTANTE: el comando del Registry apunta a `wscript.exe + .vbs`,
NO directo a `powershell.exe + .ps1`. La cadena es
wscript -> vbs -> powershell hidden -> ps1 -> COM activate.
Cualquier instalación previa que invocaba powershell.exe directo
desde el Registry debe ser ACTUALIZADA al patrón con wscript
(esa versión vieja generaba flash de consola — esta no).
- El flag -STA dentro del .vbs sigue siendo CRÍTICO. Sin él, la
activación COM falla silenciosamente porque
IApplicationActivationManager requiere single-threaded apartment.
PASO 4 — ACTIVAR EL MENÚ CLÁSICO DE WINDOWS 11 (idempotente)
- Clave: HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32
- Si ya existe con (Default) = "" (cadena vacía), no la toques
y reportá "menú clásico ya estaba activo".
- Si no existe o tiene otro valor, créala/sobreescribí con
(Default) = "" (cadena vacía).
- Esto saca TODAS las entradas custom de "Mostrar más opciones" y
las pone en la primera pantalla — no es exclusivo de Codex.
Recordame esa consecuencia explícitamente en el reporte final.
PASO 5 — REINICIAR EL EXPLORADOR (siempre)
- Stop-Process -Name explorer -Force; Start-Process explorer
- Es seguro hacerlo aunque no haya cambiado nada — toma 2 segundos
y garantiza que Explorer relea las claves.
PASO 6 — VERIFICACIÓN FINAL
- Confirmá que existe EXACTAMENTE UNA clave "Codex" en cada uno
de los dos paths del menú contextual. Si por algún motivo
terminaste con duplicados, borralos.
- Mostrame con `reg query` los valores finales.
- Verificá que el launcher existe y termina con la línea que
llama a [CodexLauncher]::Activate.
- Reportá un resumen explícito de qué hiciste:
a) ¿Era una instalación nueva, una actualización, o ya
estaba bien y solo verificaste?
b) Si limpiaste claves duplicadas/legacy, listá cuáles.
c) Versión del paquete Codex detectada.
- Decime cómo testear: click derecho sobre una carpeta LOCAL
(en C:\, no en G:\ ni en OneDrive si es virtual) que NO esté ya
en mi panel de Proyectos de Codex, elegir "Open with Codex",
mirar si aparece en el panel.
- ADVERTIME explícitamente sobre filesystems virtuales: Codex
ignora silenciosamente paths que viven en Google Drive (G:\
Drive File Stream), OneDrive con Files On-Demand sin sincronizar,
o cualquier filesystem que use placeholders. Si quiero usarlo
con esas carpetas, tengo que marcarlas "Disponible sin conexión"
primero, o usar `subst` para mapear a una letra "real".
- Dame el comando exacto para revertir todo si quiero desinstalar.
Ejecutá todo en PowerShell. No me pidas confirmación entre pasos. Si algo
falla, mostrame el error real y proponé el siguiente paso. Re-ejecutar
este prompt una segunda vez sobre la misma máquina debe ser un no-op si
todo ya está correcto, y una corrección quirúrgica si algo se desvió.
Pegale ese bloque a tu agente, dale enviar, y dejalo trabajar. El proceso entero toma menos de un minuto. Vas a ver al agente correr varios comandos en su terminal — no te asustes, es lo esperado. Cuando termine, va a decirte que está listo.
Principio: un buen prompt no le pide al agente que adivine. Le da los detalles técnicos exactos donde es fácil equivocarse, y le deja autonomía donde da igual la elección.
Cómo verificar que funcionó
Cuando el agente te diga que terminó, hacé esto:
- Abrí el Explorador de Windows.
- Andá a una carpeta cualquiera de tu disco local (por ejemplo, una dentro de
Documents). - Click derecho sobre esa carpeta. Tendrías que ver "Open with Codex" entre las primeras opciones — no debajo de "Mostrar más opciones".
- Click en esa opción. No vas a ver ninguna ventana ni flash — la activación pasa por un wrapper VBScript headless que es 100% invisible.
- Mirá tu app de Codex. En el panel Proyectos debería aparecer la carpeta que acabás de seleccionar.
Si la carpeta aparece, está todo funcionando. Probalo también con click derecho sobre el fondo blanco dentro de una carpeta abierta — debería agregarte esa carpeta donde estás parado.
Si algo no funciona — los dos casos comunes
Caso 1 — La opción aparece pero no agrega la carpeta a Codex.
Lo más probable: la carpeta vive en un filesystem virtual. Pasa con carpetas de Google Drive (letra G:\ con Drive File Stream), OneDrive con archivos a demanda no sincronizados, o cualquier "drive virtual" que muestra archivos sin tenerlos físicamente. Codex no abre esos paths — los descarta sin avisar.
Solución rápida: en el cliente de Google Drive o OneDrive, click derecho sobre la carpeta y marcala como "Disponible sin conexión". Esa acción descarga los archivos físicamente y los expone como un path real al sistema. Después probá de nuevo el "Open with Codex" — debería funcionar. Como referencia rápida: si probás con una carpeta dentro de C:\Users\TuUsuario\Documents funciona, y con la misma operación en G:\Mi unidad\... no, ya sabés que es esto.
Caso 2 — La opción no aparece en el menú.
Pedile al agente: "reiniciá el Explorador de Windows con Stop-Process -Name explorer -Force; Start-Process explorer y mostrame con reg query si las dos entradas en HKCU\Software\Classes\Directory\shell\Codex y HKCU\Software\Classes\Directory\Background\shell\Codex están bien". Casi siempre es que Explorer no leyó el cambio todavía y un restart lo soluciona.
Principio: cuando algo no funciona, antes de revertir, contale al agente lo que ves. Probablemente lo arregla en un mensaje.
Cómo desinstalar todo
Si algún día ya no querés esta opción, copiale a tu agente:
Quiero remover el "Open with Codex" del menú contextual que agregamos
antes. Borrá las dos entradas en HKCU\Software\Classes\Directory\shell\Codex
y HKCU\Software\Classes\Directory\Background\shell\Codex, borrá los archivos
%USERPROFILE%\codex_launcher.ps1 y %USERPROFILE%\codex_launcher.vbs, y
reiniciá Explorer.
Si querés también, restaurá el menú nuevo de Windows 11 borrando la clave
HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}.
Pero advertime que eso me va a esconder de nuevo TODAS las entradas
custom (de Codex y de cualquier otro editor o herramienta) detrás de
"Mostrar más opciones".
El agente va a ejecutar la reversión y reportarte. No queda residuo en tu sistema.
Por qué este patrón es distinto al de otros editores
Si ya leíste guías parecidas para agregar VS Code, Cursor o Windsurf al menú contextual, vas a notar que esa receta es más simple: crear un launcher .cmd de tres líneas y registrar dos claves de Registry apuntando al ejecutable directo del editor. Codex requiere un camino distinto y vale la pena entender brevemente por qué — porque el mismo patrón se aplica a otras apps de OpenAI o Microsoft que distribuyen como Microsoft Store.
Codex se distribuye como app empaquetada (MSIX). Eso significa que su ejecutable real vive bajo C:\Program Files\WindowsApps\ con permisos restringidos — no podés invocarlo directamente desde el Registry como harías con un .exe tradicional. La forma oficial de "lanzar" una app MSIX y entregarle argumentos es vía la API IApplicationActivationManager de Windows: una llamada COM que recibe el AppUserModelID (un identificador estable que apunta a la app empaquetada) y la cadena de argumentos. Por eso necesitás un launcher PowerShell — para hacer esa llamada COM.
Hay otros dos detalles donde es muy fácil equivocarse y el prompt del agente ya los cubre:
- El flag
-STAes obligatorio. La API requiere apartment threading model "single-threaded", y PowerShell por defecto arranca en multi-threaded cuando Windows lo invoca con-File. Sin-STAla activación falla en silencio — la API ni siquiera tira excepción. - El AUMID cambia con cada versión del paquete. Hardcodearlo significa que la receta deja de funcionar la próxima vez que Codex se actualiza. Por eso el launcher consulta
Get-AppxPackageen runtime — funciona hoy, mañana, y dentro de seis meses sin tocar nada. - El wrapper VBScript es lo que elimina el flash de consola. Si el Registry invoca
powershell.exedirectamente, aunque uses-WindowStyle Hidden, igual aparece un parpadeo de ~200ms al arrancar el host de consola.wscript.exees headless por diseño y no crea ninguna ventana, así que la cadenawscript → .vbs → powershell hidden → .ps1 → COMresulta 100% invisible para el usuario.
Principio: el patrón Registry-launcher cambia según la app sea ejecutable tradicional o MSIX empaquetada. Si tu app vino de Microsoft Store, casi seguro necesitás esta variante.
Cierre
Una vez que tenés "Open with Codex" en tu click derecho, la fricción de "agregar carpeta como proyecto" desaparece. Crear una carpeta nueva y empezar a trabajarla con Codex pasa de cinco clics a uno. Es el tipo de cambio que parece pequeño hasta que pasan dos semanas y te das cuenta de que cambió tu forma de armar proyectos.
Y la receta entera quedó disponible para vos sin haber tocado código, sin haber abierto una consola, sin haber tenido que entender PowerShell ni MSIX ni IApplicationActivationManager. Un prompt, copy-paste, validación visual. Ese es el nivel que la colaboración humano-agente puede ofrecer cuando el prompt está bien construido.
Open with Codex en Windows: receta sin consola para no técnicos