{"record":{"id":"9f612a92c8938934","repo":"emberjs/ember.js","slug":"you-attempted-to-mount-the-engine-name-but-i","errorCode":null,"errorMessage":"You attempted to mount the engine '${name}', but it is not registered with its parent.","messagePattern":"You attempted to mount the engine '(.+?)', but it is not registered with its parent\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/@ember/engine/instance.ts","lineNumber":206,"sourceCode":"  }\n\n  /**\n    Build a new `EngineInstance` that's a child of this instance.\n\n    Engines must be registered by name with their parent engine\n    (or application).\n\n    @private\n    @method buildChildEngineInstance\n    @param name {String} the registered name of the engine.\n    @param options {Object} options provided to the engine instance.\n    @return {EngineInstance,Error}\n  */\n  buildChildEngineInstance(name: string, options: EngineInstanceOptions = {}): EngineInstance {\n    let ChildEngine = this.lookup(`engine:${name}`) as Engine;\n\n    if (!ChildEngine) {\n      throw new Error(\n        `You attempted to mount the engine '${name}', but it is not registered with its parent.`\n      );\n    }\n\n    let engineInstance = ChildEngine.buildInstance(options);\n\n    setEngineParent(engineInstance, this);\n\n    return engineInstance;\n  }\n\n  /**\n    Clone dependencies shared between an engine instance and its parent.\n\n    @private\n    @method cloneParentDependencies\n  */\n  cloneParentDependencies() {","sourceCodeStart":188,"sourceCodeEnd":224,"githubUrl":"https://github.com/emberjs/ember.js/blob/26f97246a8bf2e28edf26ac3093da2e86c04ffc5/packages/@ember/engine/instance.ts#L188-L224","documentation":"EngineInstance#buildChildEngineInstance(name) looks up 'engine:<name>' in its registry. If no engine with that name is registered with the parent engine instance, it throws this error explaining the engine must be registered with its parent before mounting.","triggerScenarios":"Calling mount('chat') in a route map (or buildChildEngineInstance directly) where the parent's EngineInstance was never told about the engine via engine.register('engine:chat', ChatEngine) or the engines option in buildInstance({ engines: ... }).","commonSituations":"Forgetting to add the engine to the parent's dependencies (ember-engines 'dependencies.engines' config); typo in the engine name; engine addon not installed/included in build.","solutions":["Register the engine on the parent instance: parent.register('engine:chat', ChatEngine) or via ember-engines dependencies config","Verify the engine name in mount() matches the registered name exactly","Ensure the engine addon is installed and built into the parent app"],"exampleFix":"// app.js / instance initializer\n// before\nlet engineInstance = parent.buildChildEngineInstance('chat');\n// after\nparent.register('engine:chat', ChatEngine); // or dependencies: { engines: { chat: { dependencies: services } } }\nlet engineInstance = parent.buildChildEngineInstance('chat');","handlingStrategy":"validation","validationCode":"let ChildEngine = parent.lookup(`engine:${name}`);\nif (!ChildEngine) throw new Error(`Engine '${name}' must be registered before mount`);","typeGuard":"function isRegisteredEngine(parent, name) { return Boolean(parent.lookup && parent.lookup(`engine:${name}`)); }","tryCatchPattern":"try { return parent.buildChildEngineInstance(name); } catch (e) { if (/not registered with its parent/.test(e.message)) { registerEngine(parent, name); return parent.buildChildEngineInstance(name); } throw e; }","preventionTips":["Register every engine in parent initializers or ember-engines dependencies config","Double-check engine names in mount() calls","Verify engine addons are installed and in the dependency tree"],"tags":["ember","engines","mount","registration","routing"],"backgroundTag":"engine-not-registered","analyzedSha":"26f97246a8bf2e28edf26ac3093da2e86c04ffc5","analyzedAt":"2026-09-01T05:01:28.182Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}