[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Task](https://evolu.dev/docs/api-reference/common/Task) › AbortMask

```ts
type AbortMask = NonNegativeInt & Brand<"AbortMask">;
```

Defined in: [packages/common/src/Task.ts:1742](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Task.ts#L1742)

Abort mask depth for a [Run](https://evolu.dev/docs/api-reference/common/Task/interfaces/Run).

`0` means the Run observes abort requests immediately. `>= 1` means the Run
is protected by one or more [unabortable](https://evolu.dev/docs/api-reference/common/Task/variables/unabortable) or [unabortableMask](https://evolu.dev/docs/api-reference/common/Task/functions/unabortableMask)
scopes. Abort requests are still recorded, but the Run's observed abort
signal is aborted only when the mask is `0`.

Plain child [Task](https://evolu.dev/docs/api-reference/common/Task/type-aliases/Task)s inherit their parent's mask. `unabortable`
increments the mask for the wrapped Task, and `unabortableMask` provides
`restore` to run selected child Tasks with the previous mask.