---
outline: deep
---

# DF8101: Cannot Change Dock Id

## Message

> Cannot change the id of dock "`{id}`" to "`{attempted}`". Dock ids are immutable once registered

## Cause

The `update` handle returned by `ctx.docks.register(view)` received a patch whose `id` differs from the original. Dock ids are immutable post-registration — they key the dock list and any shared-state references.

## Fix

- Drop `id` from your patch; only pass the fields you actually want to mutate.
- To replace one dock with a different one: call `ctx.docks.register(newView)` (or `register(newView, true)` to overwrite an existing id).

## Source

- [`packages/hub/src/node/host-docks.ts`](https://github.com/devframes/devframe/blob/main/packages/hub/src/node/host-docks.ts) — `DevframeDocksHost.register()` returns an `update` callable that throws this when the patch carries a different `id`.
