---
url: 'https://adk.nht.io/api/@nhtio/adk/batteries/interfaces/WireError.md'
description: >-
  An error as it crosses the wire. `message`/`name`/`stack` are ALWAYS present
  baseline string fields (never omitted, regardless of encoder availability) so
  error-classification-by-message-signature always works even when the encoder
  is unavailable or fails to decode. `nhtio` carries the
  `@nhtio/encoder`-encoded original `Error` instance when BOTH sides advertised
  `encoderAvailable` on `ready` — the receiving side decodes it for full
  fidelity (custom error subclasses, extra properties) and falls back silently
  to the baseline fields on any decode failure.
---

# Interface: WireError

Defined in: [src/batteries/isolation/protocol.ts:41](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/protocol.ts#L41)

An error as it crosses the wire. `message`/`name`/`stack` are ALWAYS present baseline string fields
(never omitted, regardless of encoder availability) so error-classification-by-message-signature
always works even when the encoder is unavailable or fails to decode. `nhtio` carries the
`@nhtio/encoder`-encoded original `Error` instance when BOTH sides advertised `encoderAvailable` on
`ready` — the receiving side decodes it for full fidelity (custom error subclasses, extra
properties) and falls back silently to the baseline fields on any decode failure.

## Properties

| Property                                | Type     | Description                                                                                        | Defined in                                                                                                                            |
| --------------------------------------- | -------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
|  `message` | `string` | Baseline error message — always populated, even when `nhtio` is absent or fails to decode.         | [src/batteries/isolation/protocol.ts:43](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/protocol.ts#L43) |
|  `name`       | `string` | Baseline error name (e.g. `'TypeError'`) — always populated.                                       | [src/batteries/isolation/protocol.ts:45](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/protocol.ts#L45) |
|  `nhtio?`    | `string` | `@nhtio/encoder`-encoded original `Error`, when both sides have the encoder.                       | [src/batteries/isolation/protocol.ts:49](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/protocol.ts#L49) |
|  `stack?`    | `string` | Baseline stack trace, when the original error had one — always forwarded as-is (never re-derived). | [src/batteries/isolation/protocol.ts:47](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/protocol.ts#L47) |
