---
outline: deep
---

# DF8000: Devframe Id Collides With a Reserved Hub Path

## Message

> Devframe id "`{id}`" collides with a reserved hub path — it cannot be mounted directly under the hub base.

## Cause

`initHub` mounts every devframe at `<base><id>/`, directly under the hub base. The filenames that live at that same level — `__connection.json`, `__ws`, `__index.json`, `__client-imports.js`, `__mcp`, and `embedded.js` — are the hub protocol's own endpoints, so a devframe id equal to one of them would shadow the endpoint.

## Example

```ts
import { initHub } from '@devframes/hub/initiate'

initHub({
  base: '/__devframes/',
  devframes: [defineDevframe({ id: '__mcp', /* … */ })], // ✗ throws DF8000
})
```

## Fix

Rename the devframe id, or mount it at a non-colliding path via `basePath` on the definition.

## Source

- [`packages/hub/src/node/initiate.ts`](https://github.com/devframes/devframe/blob/main/packages/hub/src/node/initiate.ts) — `initHub` throws this while mounting the `devframes` list.
