emberjs/ember.js · error · Error
Custom helper managers must have a `capabilities` property t
Error message
Custom helper managers must have a `capabilities` property that is the result of calling the `capabilities('3.23')` (imported via `import { capabilities } from '@ember/helper';`). Received: `${JSON.stringify(delegate.capabilities)}` for: `${delegate}` What it means
Error "Custom helper managers must have a `capabilities` property that is the result of calling the `capabilities('3.23')` (imported via `import { capabilities } from '@ember/helper';`). Received: `${JSON.stringify(delegate.capabilities)}` for: `${delegate}`" thrown in emberjs/ember.js.
Source
Thrown at packages/@glimmer/manager/lib/public/helper.ts:91
////////////
export class CustomHelperManager<O extends Owner = Owner> implements InternalHelperManager<O> {
constructor(private factory: ManagerFactory<O | undefined, HelperManager<unknown>>) {}
private helperManagerDelegates = new WeakMap<O, HelperManager<unknown>>();
private undefinedDelegate: HelperManager<unknown> | null = null;
private getDelegateForOwner(owner: O) {
let delegate = this.helperManagerDelegates.get(owner);
if (delegate === undefined) {
let { factory } = this;
delegate = factory(owner);
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- @fixme
if (DEBUG && !FROM_CAPABILITIES!.has(delegate.capabilities)) {
// TODO: This error message should make sense in both Ember and Glimmer https://github.com/glimmerjs/glimmer-vm/issues/1200
throw new Error(
`Custom helper managers must have a \`capabilities\` property that is the result of calling the \`capabilities('3.23')\` (imported via \`import { capabilities } from '@ember/helper';\`). Received: \`${JSON.stringify(
delegate.capabilities
// eslint-disable-next-line @typescript-eslint/no-base-to-string
)}\` for: \`${delegate}\``
);
}
this.helperManagerDelegates.set(owner, delegate);
}
return delegate;
}
getDelegateFor(owner: O | undefined) {
if (owner === undefined) {
let { undefinedDelegate } = this;
if (undefinedDelegate === null) {View on GitHub (pinned to 26f97246a8)
When it happens
Trigger: Thrown at packages/@glimmer/manager/lib/public/helper.ts:91 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of emberjs/ember.js@26f97246a8 (2026-09-01).
Data as JSON: /api/errors/65ffd004c6baa253.
Report an issue: GitHub.