هذه الصفحة غير متوفرة باللغة العربية بعد، لذا تُعرض بالإنجليزية.

Resume from review

Replying to a paused agent and continuing its session

When a coding agent needs a decision - a design choice, a missing detail, or a finished PR awaiting your sign-off - it pauses in the review state instead of guessing. You reply, and it picks up exactly where it left off.

The flow

  1. The task enters review (often with a PR already open).
  2. Open the task detail page and read the conversation to see what the agent did and what it is asking; it ends with a card saying the task is ready for your review.
  3. Choose Resume on that card (a Claude Code task) or from the task's actions menu. The agent is woken on its still-running machine and the task goes back to running.
  4. Type straight into the live terminal, or use the follow-up box under the conversation - either reaches the agent, which continues from the exact point it stopped, on the same machine, with its workspace intact.

Resume reaches the agent on the machine it is still running on, so the cloned repo, installed packages, and build state are all still there - the agent does not start over.

A task you resume or reconnect on a cloud machine starts from its branch as it is on GitHub. If the branch was updated there meanwhile (with GitHub's Update branch button, for example), a checkout that is still on the machine catches up with it first, by fast-forward only, so the agent's push at the end does not fail on that update.

A message you send in the conversation of a task that has already finished is not a resume: Foxl asks whether to start a new task with it (see Tasks).

If the machine was recycled

A task's machine is recycled after fifteen idle minutes, and its checkout goes with it; what is kept for 14 days is Claude Code's own conversation. If you resume a task whose machine is gone, Foxl Code escalates to Reconnect: it re-invokes the same session, clones the task's pushed branch back, and the agent picks its conversation up where it left off when there is one to resume (the terminal says when there is not). While a Claude Code terminal pane on a private repository is open, Foxl Code saves its uncommitted changes to that repository every two minutes, as a ref named refs/foxl/wip/ followed by the last 12 characters of the task id - a ref, not a branch, so it is not listed among your branches and opens no pull request - and a reconnect that rebuilt the checkout puts them back, uncommitted. On a public repository, or one GitHub does not confirm is private, nothing is saved this way, and the pane says so. Anyone who can read the repository can fetch that ref, and it holds the files the commit the session makes when it ends would take, including untracked files that are not gitignored, except files over 10 MB and any file that holds one of the task's own credentials (its GitHub access, its Foxl key, a repository secret), which is never saved there. When a save leaves such files out, the pane says how many ("2 files not saved: they hold a credential") and the task's log names them. A repository secret that is short (under 12 characters), repetitive or made only of letters, such as production, is not looked for, and a secret that holds a whole .env file is looked for one value at a time. Each save checks every file it sends; when the changed files add up to more than 32 MiB, it saves the ones it can check, smallest first, and names the rest in the task's log. It is deleted when the session ends and its work is pushed to the task's branch. A session that ends any other way leaves it in your repository, with no expiry: its machine is recycled and you never reconnect, a reconnect cannot put the changes back because the task's branch moved on (the terminal then prints the commands that restore them), or the final push fails. A later reconnect that restores it deletes it once that session ends with its work pushed; otherwise it stays until you delete it (git push origin --delete followed by the ref's name). Foxl keeps no copy of it, and deleting the task or your account does not delete it. Other uncommitted work does not survive the recycle. Only when the workspace cannot be rebuilt at all does it say so and leave Retry to you - a retry is a new task on a fresh clone, and it spends, so it is never taken unasked. Reconnect is offered from review, failed and cancelled on Claude Code tasks; a merged task is left alone, and a running one already has an agent attached. Codex, Kiro, Cursor, Hermes and OpenCode cannot reattach to a finished session, so those tasks offer no Resume once their agent has exited, and Retry is the route. A reconnect starts a new cloud machine for the task, so it needs credits and counts toward the same task limits a new task does. A task that ran in the background rather than in a terminal pane reconnects into a new conversation on the task's own branch, and the terminal says so.

Reconnect

The pane discovers a sleeping session when you type: a strip over the terminal says so once and offers Reconnect, which clones the task's pushed branch back and picks up Claude Code's conversation - on the task page and on a Runtimes pane alike. A momentary failure to read the screen no longer counts as gone; the strip clears itself when the agent answers. If the saved conversation was cleared too (a Foxl Code update, or 14 idle days), Reconnect still rebuilds the checkout from your pushed branch and says in the pane that the agent starts without it, instead of offering only a paid Retry.

Continue from saved work

Saving a background task's work while it runs, so that a task that stopped part-way can continue from it instead of starting over, is not turned on yet: today Retry starts a task over on a fresh checkout.

Steering without pausing

You don't have to wait for a review pause to interact. While an agent is running, the orchestrator (and the autonomous loop) can read its screen, send input, resize its terminal, and resume, retry or cancel it - see How it works. Review is simply the agent explicitly handing control back to you.

Fix it on a red build or a changes-requested PR in Work, and Request changes from the review pane, both resume the same agent on the task's branch with the feedback, so it pushes to the branch it already opened.

في هذه الصفحة