En resumen: según el anuncio oficial de Jules, el agente de programación asíncrono de Google cierra el 31 de diciembre de 2026 y queda en solo lectura después del 11 de noviembre. Tu código, ramas y PR ya están en GitHub y se quedan ahí. Lo que tienes que llevarte es lo que vive dentro de Jules: ajustes, variables de entorno, tareas programadas, memorias, scripts de setup e historial de sesiones. Google ofrece una herramienta de exportación, y el resultado se puede pasar directamente a Claude Code o Codex.
Con una sola API Key ejecutamos la misma tarea en Claude Code 2.1.310 y Codex 0.164.0: leer una exportación de Jules, aplicar el patch de una sesión, ejecutar el setup y las pruebas y escribir un AGENTS.md.
- Claude Code (claude-sonnet-5-5) terminó en unos 15 segundos; las pruebas imprimieron
ok. - Codex (gpt-6.1-sol) terminó en unos 44 segundos; las pruebas imprimieron
ok. - Los dos AGENTS.md incluyeron solo los nombres de las variables de entorno, nunca sus valores.
Crear API Key y usar una sola clave para Claude Code y Codex →
Cronología
| Fecha | Evento |
|---|---|
| Diciembre de 2024 | Google lanza Jules, un agente que resuelve tareas de programación en segundo plano (según The Verge) |
| 29 de octubre de 2026 | Google anuncia el cierre y publica la exportación de datos |
| 11 de noviembre de 2026 | Último día para seguir ejecutando sesiones; después, solo lectura |
| 31 de diciembre de 2026 | Cierre de Jules |
Según el anuncio, lo aprendido con Jules pasa a Google Antigravity, la plataforma de Google centrada en agentes. Si necesitas un agente en segundo plano ya, Claude Code y Codex pueden trabajar sin supervisión en una terminal o de forma programada.
Paso 1: exporta tus datos de Jules (antes del 11 de noviembre)
El método oficial es instalar Jules Tools, iniciar sesión, abrir un agente de programación de línea de comandos como Claude Code desde tu carpeta personal y pegar el «export prompt» completo del anuncio:
npm install -g @google/jules
jules login
cd ~
claude # or: codex
El agente comprueba la CLI y la sesión, ejecuta el script de exportación e informa cuántos repositorios, sesiones y patches guardó. A tener en cuenta (según el anuncio):
jules logines un inicio de sesión interactivo en el navegador: ejecútalo tú.- Conecta antes tu cuenta de GitHub a Jules o
sources.jsonquedará vacío. - El token caduca en aproximadamente una hora. Si todas las llamadas devuelven 401, vuelve a ejecutar
jules login.
La carpeta exportada tiene esta estructura:
~/jules-export/
├── user-settings.json
├── env-variables.json
├── scheduled-tasks.json
├── sources.json
├── repos/<repo>/setup.sh
├── repos/<repo>/test-command.txt
├── repos/<repo>/memories.md
└── sessions/<id>/summary.md · activities.json · patch-1.diff
env-variables.json guarda los valores de tus variables de entorno en texto plano. No lo metas en ningún repositorio ni lo compartas.
Paso 2: conecta Claude Code y Codex
Claude Code se configura en el archivo global ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.aicodewith.ai",
"ANTHROPIC_AUTH_TOKEN": "TU_API_KEY",
"APP_MODE": "test"
},
"model": "claude-sonnet-5-5"
}
La dirección es https://api.aicodewith.ai, sin /v1. Pasos completos: Cómo conectar Claude Code a una API de terceros.
Codex se configura en el archivo global ~/.codex/config.toml:
model = "gpt-6.1-sol"
model_provider = "aicodewith"
[model_providers.aicodewith]
name = "aicodewith"
base_url = "https://api.aicodewith.ai/chatgpt/v1"
wire_api = "responses"
experimental_bearer_token = "TU_API_KEY"
[shell_environment_policy]
set = { APP_MODE = "test" }
El detalle de cada campo está en Configurar la API Key de Codex y config.toml de Codex explicado. Si aún no tienes Codex, empieza por Cómo instalar Codex.
Paso 3: a dónde va cada elemento de Jules
| Exportación de Jules | Claude Code | Codex |
|---|---|---|
| env-variables.json | env en settings.json | set bajo [shell_environment_policy] en config.toml |
| repos/<repo>/setup.sh, test-command.txt | CLAUDE.md (puede importar @AGENTS.md) | AGENTS.md en la raíz del repositorio |
| repos/<repo>/memories.md | añadir a CLAUDE.md | añadir a AGENTS.md |
| scheduled-tasks.json | cron + claude -p | cron + codex exec |
| sessions/<id>/patch-*.diff | git apply y que el agente continúe | igual |
APP_MODE en las configuraciones de arriba es el ejemplo: copia cada variable de Jules como una línea con nombre y valor. Para variables que solo necesita un repositorio, usa el .claude/settings.json de ese repositorio y nunca subas un archivo que contenga valores.
Para compartir un mismo archivo de instrucciones entre los dos clientes, consulta Compartir AGENTS.md entre Claude Code y Codex.
Retoma las sesiones sin terminar
Los patches de las sesiones de Jules sin terminar están en sessions/<id>/. Aplícalos en tu repositorio y luego ejecuta el setup y las pruebas:
cd ~/code/demo
git apply ~/jules-export/sessions/<id>/patch-1.diff
bash ~/jules-export/repos/<repo>/setup.sh
$(cat ~/jules-export/repos/<repo>/test-command.txt)
Después pasa al agente el Prompt y el Latest plan de summary.md para que siga desde ahí.
Convierte las tareas programadas en cron
Una tarea programada de Jules es simplemente un prompt que se ejecuta a una hora fija. Usa el modo no interactivo de Claude Code o Codex con cron:
# crontab -e
0 9 * * 1 cd ~/code/demo && claude -p "run tests and fix failures" --permission-mode acceptEdits >> ~/agent-cron.log 2>&1
0 9 * * 1 cd ~/code/demo && codex exec -s workspace-write "run tests and fix failures" >> ~/agent-cron.log 2>&1
--permission-mode acceptEdits permite a Claude Code editar archivos; con -s workspace-write, Codex solo escribe dentro del repositorio actual. Ejecuta cada tarea una vez a mano antes de dejarla sola.
Prueba: la misma exportación en los dos clientes
Creamos una exportación pequeña con el formato oficial: un repositorio de Python, una sesión sin terminar (un patch que corrige la división por cero), un script de setup, un comando de prueba, una variable APP_MODE y una tarea programada los lunes a las 9:00. Los dos clientes recibieron la misma instrucción: «Aplica el patch, ejecuta el setup y las pruebas, escribe un AGENTS.md y anota solo los nombres de las variables de entorno».
| Claude Code 2.1.310 | Codex 0.164.0 | |
|---|---|---|
| Modelo | claude-sonnet-5-5 | gpt-6.1-sol |
| Modo | claude -p | codex exec -s workspace-write |
| Tiempo | unos 15 s | unos 44 s |
| Patch | aplicado sin errores | aplicado sin errores |
| Pruebas | ok | ok |
| AGENTS.md | solo APP_MODE | solo APP_MODE |
Los dos notaron que el Python del sistema rechazó el pip install del script de setup (el script termina en || true, así que siguió), lo informaron con claridad y no añadieron --break-system-packages por su cuenta. El AGENTS.md que escribió Claude Code:
# AGENTS.md
## Setup
pip install -q pytest || true
## Test
python3 test_calc.py
## Environment variables (names only)
- APP_MODE
## Scheduled task
0 9 * * 1 run tests and fix failures
Tras la prueba borramos las carpetas de prueba y las configuraciones con la clave que contenían.
Crear API Key y llevar tus tareas de Jules a Claude Code / Codex →
Preguntas frecuentes
Codex devuelve 401 Unauthorized
Normalmente la clave no se leyó o es incorrecta. Comprueba que experimental_bearer_token está bajo [model_providers.aicodewith] y que model_provider = "aicodewith" está definido. Pasos detallados: Codex 401 Unauthorized. Si el 401 aparece en Claude Code, revisa ANTHROPIC_AUTH_TOKEN y que la dirección no lleve /v1.
Las tareas programadas devuelven 429 Too Many Requests
Varias tareas cron que arrancan en el mismo minuto pueden chocar con el límite de frecuencia. Sepáralas unos minutos y consulta Codex 429 Too Many Requests.
¿Puedo exportar después del 11 de noviembre?
Según el anuncio, Jules queda en solo lectura desde el 11 de noviembre hasta su cierre a final de año. No dice si la exportación funciona en ese periodo, así que exporta antes del 11 de noviembre.
¿Perderé mi código?
No. Según el anuncio, el código, las ramas y las PR ya están en GitHub y se quedan como están. La exportación solo cubre la configuración y el historial guardados dentro de Jules.



