Does your agent loop also fall apart the moment you want to add a task mid-run?
The Ralph-style loop is great when you know exactly what you want built. You hand the agent a TODO list, it drains the list, you come back later. Done.
What kept happening to me in practice: I'd start a loop on a 5-item list, get an idea 20 minutes in, want to add a 6th item, or realize task #3 was wrong, or that #4 and #5 should really be merged into one. The only way to reshape was to stop the loop, edit the file, restart. That kills the whole point of "fire and forget."
So I built Lauren. It's the same general idea (a loop that keeps implementing tasks autonomously), but the task list is a live queue. While the agent is working on task #1, you can:
- add a new task ("also, let's refactor the auth middleware")
- refine a pending task ("for task #3, use Zod not Joi")
- merge overlapping tasks
- replace pending tasks entirely
- cancel things
You don't pause anything. A "brain" agent reads your request, looks at what's pending, and decides whether to append / merge / refine / replace. The implementation loop keeps draining the queue in parallel.
A few other things that turned out to matter once I started using it daily:
- Per-phase agent routing. By default Claude implements, Codex reviews, Claude fixes.
- Worktrees per task.
- Decision notes. (directly inspired by the tweet from Thariq)
I've been running it on my own projects for a few weeks. The biggest behavior change for me: I stopped pre-planning long task lists upfront. I just dump 1–2 things into the queue, then add more as I see what comes back. The loop never stops, my plan keeps evolving.
Honest about what this is: it's my own project, I first made it for my own needs, and thought I would open-source it. Link in the comments.
Happy to answer questions.