Why We Split Long Refactors to Codex While Keeping Greenfield in Claude Code
Cursor Composer loses terminal state after 90 minutes. We moved 3–5 hour auth/DB migrations to Codex's persistent agent and cut context-recovery overhead to zero — but kept greenfield work in Claude Code for autonomous loops.
Published 2026-06-13
Why We Split Long Refactors to Codex While Keeping Greenfield in Claude Code
TL;DR: Cursor Composer forgets running dev servers and DB connections after 60–90 min. Codex persistent agent maintains context across full 8-hour sessions. We migrated refactor workflows to Codex; greenfield features stay in Claude Code for terminal-native autonomy. Full comparison →
The Context
Two-dev team, 6–8 hrs daily AI-assisted coding. Longest sessions: multi-file refactors (Stripe webhook migration across 14 files, Supabase schema changes, API version bumps) spanning 3–5 hrs. Cursor Composer was default until repeated context losses forced a side-by-side test.
What We Tested
| Tool | Use Case | Verdict | Why |
|---|---|---|---|
| Cursor Composer | 3-hr auth refactor (14 files) | ❌ | Lost stripe listen tunnel + local Supabase 3×; 45 min total recovery |
| Codex (ChatGPT Plus) | Same refactor, next week | ✅ | Persisted terminal, server, DB context entire session; zero recovery |
| Cursor Composer | Quick single-file edits (<30 min) | ✅ | Fast, LSP-aware, no context loss on short tasks |
| Codex | Quick edits | ⚠️ | Chat UI overhead not worth it for <30 min tasks |
| Claude Code | Greenfield feature (new API endpoint) | ✅ | Terminal-native, autonomous loops with tool allow-lists |
The Pivot Point
May 2026: Stripe webhook migration across 14 files. Cursor Composer lost the running stripe listen tunnel and local Supabase instance twice. Each recovery: restart tunnel, re-seed test data, re-explain schema to Composer. Same task in Codex — agent kept the tunnel PID, DB connection, and full file context. Finished in one sitting. Added alias cx='codex' to dotfiles that day.
Next week: New payments webhook endpoint (greenfield). Tried in Codex — chat UI friction for terminal work. Switched to Claude Code: cc --allowedTools "Bash,Edit,Write" ran autonomous test-write-debug loop for 45 min unattended. Pattern locked in: Codex for long refactors needing context persistence; Claude Code for greenfield autonomy; Cursor only for <30 min type-heavy edits.
What We Use Now
Codex (ChatGPT Plus, $20/mo) for sessions >90 min:
- Persistent agent mode enabled (Settings → Agent → Persistent sessions)
- Project instructions in
.codex/instructions.md: “Maintain terminal state. Never assume server restarted.” - Team convention:
cxfor refactors/migrations/debugging;cc(Claude Code) for greenfield features;cursoronly for <30 min type-heavy edits.
When You’d Choose Differently
- Cursor Composer still wins for TypeScript-heavy work where LSP type-checking catches errors mid-edit — Codex doesn’t integrate with your IDE’s language server.
- Windsurf if you want IDE-integrated persistent context without leaving VS Code fork ($15/mo, Cascade agents).
- Aider if you’re terminal-only/Tmux and want git-native BYOK workflow.
Tool Crucible Rating
| Dimension | Rating (1–5) | Notes |
|---|---|---|
| Overall | 4 | Best persistent-context experience; chat UI friction for terminal devs |
| Ease of Use | 3 | Chat-first UX adds friction vs terminal-native tools |
| Value | 4 | Included in ChatGPT Plus; no extra cost if you already subscribe |
| Support | 4 | OpenAI responsiveness on agent-mode bugs; regular updates |
This is part of our AI Coding Tool Evaluation series. See full comparison: Cursor vs Codex: Context Persistence Deep Dive
Last reviewed 2026-06-13. See our methodology and affiliate policy.