> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usehence.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Task states

> A task is a durable object, not a page. The states it moves through, what each one means for you, and what survives a disconnect.

<Note>
  The execution layer is still being built, so nothing below runs yet. It describes the contract the
  errands are being built against, which is fixed.
</Note>

## A task, not a conversation

When an errand starts, you get a **task id**. The task is the durable thing: it lives on our side,
it survives your assistant disconnecting, and it is the same object the Hence app shows you. Close
the conversation, come back tomorrow, and the id still resolves to the same errand.

That is the reason errands can take days. A rollover waits on a recordkeeper for five to ten
business days; a dispute waits on a clock measured in weeks. None of that requires your conversation
to stay open.

## The states

| State           | What it means                                                                                                                           |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| **working**     | Hence is doing something. No action from you.                                                                                           |
| **needs input** | Hence is waiting on you — a data point, a yes or no, or a sign-in on a single-use page.                                                 |
| **blocked**     | Hence is waiting on someone who is not you, or on something it cannot hold. A blocked task names the blocker and what would unblock it. |
| **ready**       | Everything that can be produced on our side is produced, and one irreducible action remains — yours or another party's.                 |
| **done**        | The errand is finished.                                                                                                                 |
| **cancelled**   | You stopped it. Terminal, and the only state a task can reach that is not an outcome of the errand's own work.                          |

An errand that runs to its own end stops in **ready** or **done**, which map onto the READY and DONE
[outcome states](/start-here/outcome-states); an errand the admission gate turns away never starts
and is REFUSED. **cancelled** is the one terminal state outside that set, because it records your
decision rather than a conclusion the errand reached — see
[stopping a task](/tasks/stopping-a-task) for what it does and does not undo.

## Waiting is not the same as blocked

Hence distinguishes a wait it is watching from a wait that needs you. Every wait carries a declared
side — them or you — and a chase. If the errand is waiting on a counterparty, Hence chases them,
and you hear about it only if something changes or the wait runs long. If the errand is waiting on
you, it reminds you on the day *you* need to act, not on the counterparty's deadline.

That is why a task can sit in **blocked** for a week without being stuck: it is being watched.

## Reading a task

Asking your assistant about a task returns its current state, any pending question, the latest
update and references to the screenshots taken so far. The same task is visible in the Hence app,
read-only, and the two are the same record rather than two copies.

## When a task ends

The result names its own state, what remains and who must do it, the sources behind each figure with
the dates they were read, and the receipts. A result that leaves the remaining action unnamed is a
defect, not a style choice.
