Tasks

The task lifecycle and what each state means

Tasks

A task is one unit of work owned by a single coding agent - typically one pull request. Each task has a prompt, a chosen backend and model, the machine it runs on (Remote, your computer, or a box you added), a spend ceiling and a time limit (30 minutes by default, 8 hours at most), and a lifecycle you can follow on the Tasks page.

Starting one

The Tasks header is one control: + | Remote | Claude Code - start a task, on that machine, running that agent. The repo picker sits at its left. The agent segment lists all six assistants with the ones that need provisioning or a credential of yours marked, and picking one sets your account default: it also applies to scheduled tasks and to the autonomous loop, never to a task already running. A row reading "needs your credential" links to Subscriptions and keys. Each new task gets its own conversation the moment you press enter, so New task really is empty.

Lifecycle

A task moves through these states:

StateMeaning
queuedAccepted, waiting for a container to come up.
runningThe coding agent is active in its VM.
reviewThe agent paused (usually with a PR open) and is waiting for your input.
mergedThe pull request was merged - work complete.
failedThe agent errored out.
cancelledYou stopped it.

merged, failed, and cancelled are terminal. A task in review can be resumed in place; a task in review, failed or cancelled can be reconnected, which re-enters its saved workspace so git state and installed packages survive - see Resume from review. Retry is different: it starts a new task on a fresh clone and pays for the run again, so Foxl never takes it for you.

A task runs until it finishes or reaches the time limit from Settings > Code > Container (30 minutes by default, 8 hours at most), at which point the agent is asked to commit and push what it has. A task whose machine was recycled with nothing to show, or a review that nobody answered for 14 days, is moved to cancelled with a note saying which of the two it was; a pull request it opened is untouched.

Tasks are async-first. Launching a task returns immediately - the agent keeps running in its VM and streams output back to your browser. You can close the tab and come back; the task and its terminal history are preserved.

Subtasks and Task Documents

When the orchestrator plans multi-PR work, the Task Document holds the checkboxes and each checkbox is a subtask. Subtasks have their own status (pending, running, review, done, failed, cancelled) and the plan completes when every subtask reaches a terminal state.

Live terminal

Each agent runs a real coding CLI inside a PTY, so the Tasks page streams genuine terminal output - colors, spinners, and syntax highlighting included. The full scrollback is kept, so when an agent pauses for review you can read everything it did before deciding how to reply.

The pane carries the agent's output and nothing else: the task's status, pull request and issue links, the spend against its ceiling and one alert slot sit in the header above it, and if a reconnect fails or a keystroke does not reach the agent, that is said in a strip over the pane that goes away once the condition does. Task actions in the header holds Open on GitHub, Copy task id, Copy branch name, Resume (in review), Cancel, Delete and Reset session.

The Files page has a Tasks shelf with the checkout each coding agent edited, readable for about two weeks after the task finishes, and a Computer shelf for a task that ran on your own machine.

Tasks that ran on your own computer

A task can also run on your machine instead of in Foxl's cloud. Those are listed separately, under On this computer, because they are a different kind of thing: they have no cloud budget, no CI verdict and no reviewer round, and they live on that machine rather than in your Foxl account. Each row carries the assistant that ran it, the goal, the repository and how long ago, and opens the task's own page: the live terminal you can type into, the status, the branch, a Stop button, and the pull request link in its header once there is one. Rows open while the task is still running - that page is the only place the agent's output exists.

The group only appears where a Foxl desktop is reachable - so not on the web with your machine asleep. See On your own computer.

On this page