> ## 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.

# Stopping a task

> How to cancel an errand in flight, what stopping guarantees, and what it does not undo.

<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>

## Ask, in whatever conversation you are in

Tell your assistant to cancel the task — by id, or by describing it if there is only one in flight.
Your assistant calls Hence, and the task stops.

You can also simply decline. Any question Hence asks can be answered no, and an errand that cannot
proceed without an answer ends rather than working around you.

## What cancelling guarantees

Cancellation is **cooperative**: Hence stops at the next safe point rather than being killed
mid-step. In practice that is quick, and it is what keeps a half-submitted form from existing.

What it guarantees:

* **No further act is taken on your behalf.** No message is sent, no setting is changed, no form is
  submitted after the cancellation lands.
* **The task ends in `cancelled`**, a terminal [state](/tasks/states) of its own, carrying what had
  been done up to that point and what had not. It is deliberately not reported as DONE or READY:
  neither would be true of an errand you stopped.
* **Receipts for what already happened stay.** They are the record of acts that did occur.

## What it does not do

Cancelling stops future acts. It does not reverse acts already taken — that is what the
reversibility limits are for, rather than something cancellation could offer. If a deferral rate was
already changed on your approval, cancelling the task does not change it back; changing it back is
its own errand, and it is one step in the same portal.

This is also why errands that do irreversible things are not in the current set. The 401(k) rollover
stops at the review page precisely so that "stop" is always a real option.

## Disconnecting your assistant

Removing the connector in your host stops it calling Hence at all. That is the blunt instrument, and
it works immediately.

<Warning>
  **Disconnecting does not yet purge your data or cancel runs already in flight.** That behaviour is
  committed and is not implemented yet. Until it is, cancel a task explicitly if you want it
  stopped, and see [Trust and control](/trust/trust-and-control) for how to ask for erasure.
</Warning>
