---
title: "DF8000: Devframe Id Collides With a Reserved Hub Path"
description: "Devframe id \"{id}\" collides with a reserved hub path; it cannot be mounted directly under the hub base."
canonical_url: "https://devfra.me/errors/df8000"
---
# DF8000: Devframe Id Collides With a Reserved Hub Path

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

## 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.


## Sitemap

See the full [sitemap](https://devfra.me/sitemap.md) for all pages.
