This is a lists of silly errors I've seen agents encounter, and how they should fix them.
Could not resolve @glimmer/application.json
Error
✘ [ERROR] Could not resolve "@glimmer/application.json" [plugin embroider-esbuild-resolver]
node_modules/.pnpm/@glimmer+component@1.1.2_@babel+core@7.28.5/node_modules/@glimmer/component/dist/modules/es2017/src/component.js:2:36:
2 │ import { setComponentManager } from '@glimmer/application';
╵ ~~~~~~~~~~~~~~~~~~~~~~
Solution
Upgrade @glimmer/component to ^2.0.0
failed to load config from vite.config.mjs ... ember-scoped-css
Error
failed to load config from <repo>/vite.config.mjs
error when starting dev server:
file://<repo>/node_modules/.vite-temp/vite.config.mjs.timestamp-1766089944685-a3e3cc4ce187e8.mjs:5
import scopedCss from "file://<.pnpm>/<package path>/ember-scoped-css/src/build/public-exports/vite.js";
Solution
Read the docs at https://github.com/auditboard/ember-scoped-css to see how to configure vite
ERR_PNPM_NO_MATCHING_VERSION ... for @glimmer/tracking@^2.0.0
Error
ERR_PNPM_NO_MATCHING_VERSION No matching version found for @glimmer/tracking@^2.0.0
Solution
Remove @glimmer/tracking from package.json. It is a virtual package provided by ember-source via the ember() vite plugin.
RegExp.escape is not a function (or other node related version issues)
Error
✘ [ERROR] <file-path>: RegExp.escape is not a function [plugin <plugin-name>]
Solution
Use node 24, likely by updating either the package.json.volta config or the engines.node option (which many tools read).
If the environment is using proto, delete the .nvmrc or update it to also use noed 24.
Multiple exports with the same name "default"
Error
✘ [ERROR] Multiple exports with the same name "default"
src/components/search-widget.gjs:99:7:
99 │ export default setComponentTemplate(createTemplateFactory(
╵ ~~~~~~~
The name "default" was originally exported here:
src/components/search-widget.gjs:1:0:
1 │ import Component from '@glimmer/component';
╵ ~~~~~~
or
<file-name> (330:0): Duplicate export "default"
file: <file-name>:330:0
328: }
329:
330: <template>
^
Solution
This happens because the agent did this:
export default class X extends Component { ... }
<template>
...
</template>
This is an incorrect understanding of how gjs works, and the Agent should review the #ember-mcp-provided documentation again, or check this brief overview.
The <template>...</template> must go inside the component like this:
export default class X extends Component {
// ...
<template>
...
</template>
}
When having bare <template>...</template> in module space, that is known as the "implicit default form", as described in RFC #779
Top comments (0)