How I pick up agent work after the app closes or hits a limit

Aaron Quirk on resuming agent chats that stopped when Unstoppable Code closed or a usage limit hit, and knowing exactly what Resume will send.

I often leave agents working while I do something else. Sometimes the work doesn't finish. I quit the app to install an update, my laptop restarts, or a provider usage limit cuts a long Codex session short. When I come back, I want three answers: which chats stopped, why, and what happens if I press Resume.

Version 1.16.1 of the Unstoppable Code desktop app answers all three. I built most of this flow, and this is how I use it.

Picking up interrupted agent work in three steps. First, see why the work stopped: the app closed, a usage limit was reached or a sign-in failed. Second, read what Resume will do: send Continue, or re-send your last message, in the same worktree. Third, resume now, or choose Resume at reset for a usage limit. Several chats resume one at a time, ten seconds apart.

Seeing what stopped

Interrupted work shows up in the Continue row on Home, with a line such as "Resume 1 chat · 2 waiting for Codex reset". If a usage limit is the cause, the Usage page also counts the waiting sessions and says when the limit resets. Opening a session from there doesn't resume it. It just takes me to the chat, which is what I want when I'd like to look first.

Reading the dialog before I resume

The resume dialog starts with the reason, for example "A Codex usage limit stopped this chat." Each row says whether the chat is ready now or when its limit resets, and marks a worktree with uncommitted changes. It also shows the last step the agent took and when the work stopped. If the transcript proves that step finished, the row says so; otherwise it only names the step.

The sentence I read every time is the one about what Resume will do. For most chats it says: "Resuming sends "Continue" in this chat, so the agent picks up where it stopped without sending your original request again." For some chats it re-sends my last message instead, and the dialog says that. It also says the agent continues in the same worktree. I don't have to wonder whether a long prompt is about to run twice.

Now or at the reset

Chats that are ready can resume straight away. For a chat that is still waiting on a usage limit, I choose Resume at reset, and Undo takes that back if I change my mind. When I resume several chats together, they go in a queue and start one at a time, 10 seconds apart.

Inside the chat

If I open a chat the app closed on, a notice in the chat says the app "closed before this chat finished", with Resume chat and Dismiss. It uses the same sentence about what resuming sends, so I get the same answer wherever I start.

Where it stops

This is in the desktop app only. Web and cloud chats don't have these controls. Nothing resumes on its own: I resume each chat or schedule it with Resume at reset. The uncommitted-changes marker tells me there are changes, not how many.

Try it

Picking up interrupted work is in version 1.16.1 of the desktop app. Download Unstoppable Code to try it.

Cookie preferences

Optional cookies measure ads and improve the site with session recordings. Change anytime. Privacy policy