[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) › TaskWithError

```ts
type TaskWithError<TTask> = TTask & [InferTaskErr<TTask>] extends [never]
  ? never
  : unknown;
```

Defined in: [packages/common/src/Task.ts:1046](https://github.com/evoluhq/evolu/blob/a18269a1b822c670b507c6a9b73b23eed32551fe/packages/common/src/Task.ts#L1046)

A [Task](https://evolu.dev/docs/api-reference/common/Task/type-aliases/Task) whose error type is not `never`.

Used by [Run.orThrow](https://evolu.dev/docs/api-reference/common/Task/interfaces/Run#orthrow) to accept only Tasks that can return a declared
[Err](https://evolu.dev/docs/api-reference/common/Result/interfaces/Err). Tasks without declared Result errors should use [Run.ok](https://evolu.dev/docs/api-reference/common/Task/interfaces/Run#ok)
instead.