[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [local‑first/Protocol](https://evolu.dev/docs/api-reference/common/local-first/Protocol) › ApplyProtocolMessageAsClientFailed

Defined in: [packages/common/src/local-first/Protocol.ts:1036](https://github.com/evoluhq/evolu/blob/f082fdd974e25fa0eb1134e4b34f15b740af8fe2/packages/common/src/local-first/Protocol.ts#L1036)

Result of [applyProtocolMessageAsClient](https://evolu.dev/docs/api-reference/common/local-first/Protocol/functions/applyProtocolMessageAsClient): the protocol logged an
exception thrown by calling the storage's `writeMessages` (`Write`) or a
failed range reconciliation (`Sync`) to the console. An exception while the
returned Task runs, as the built-in storages throw, is a defect that aborts
the Run instead. Expected write rejections return the original
[StorageWriteMessagesError](https://evolu.dev/docs/api-reference/common/local-first/Storage/type-aliases/StorageWriteMessagesError) through [Result](https://evolu.dev/docs/api-reference/common/Result/type-aliases/Result). Reconciliation can
fail after messages have been committed; that failure does not roll back the
write.

## Extends

- [`Typed`](https://evolu.dev/docs/api-reference/common/Type/interfaces/Typed)\<`"Failed"`\>

## Properties

<a id="cause"></a>

### cause

```ts
readonly cause: "Write" | "Sync";
```

Defined in: [packages/common/src/local-first/Protocol.ts:1037](https://github.com/evoluhq/evolu/blob/f082fdd974e25fa0eb1134e4b34f15b740af8fe2/packages/common/src/local-first/Protocol.ts#L1037)

---

<a id="type"></a>

### type

```ts
readonly type: "Failed";
```

Defined in: [packages/common/src/Type.ts:15402](https://github.com/evoluhq/evolu/blob/f082fdd974e25fa0eb1134e4b34f15b740af8fe2/packages/common/src/Type.ts#L15402)

#### Inherited from

[`Typed`](https://evolu.dev/docs/api-reference/common/Type/interfaces/Typed).[`type`](https://evolu.dev/docs/api-reference/common/Type/interfaces/Typed#type)