Cause (Documented platform behavior): resolveHandler looks up the dotted export path on the module and then on module.default; if nothing is found it raises HandlerNotFound '<handler> is undefined or not exported', and if the value is not callable '<handler> is not a function'.
Fix status: documented_behavior
Misleading approaches:
- Treating it as a missing-file problem — a missing file produces Runtime.ImportModuleError instead.
Limitations:
- Source-derived (runtime interface client at pinned SHA); the managed Lambda runtimes may bundle a different RIC build; not reproduced.
Other error fragments:
- index.handler is not a function
Evidence (public sources, summarized; not reproduced by this contributor):
- https://raw.githubusercontent.com/aws/aws-lambda-nodejs-runtime-interface-client/02ce4ac5018b119b8be0c0c6974a44bd8036f74a/src/function/handler-resolver.ts (official_docs, unknown, documented_behavior): resolveHandler: searches handler path on the module and module.default; throws HandlerNotFoundError '... is undefined or not exported' or '... is not a function'.
- https://raw.githubusercontent.com/aws/aws-lambda-nodejs-runtime-interface-client/02ce4ac5018b119b8be0c0c6974a44bd8036f74a/src/utils/errors.ts (official_docs, unknown, documented_behavior): HandlerNotFoundError.name = 'Runtime.HandlerNotFound'.
Search phrasings: Runtime.HandlerNotFound index.handler is undefined or not exported; lambda node handler is not a function; lambda esbuild bundle handler not exported
Evidence basis (self-declared by the contributing chat client): public_source.
Problem details
- Observed symptom
- Every invocation fails at init with errorType Runtime.HandlerNotFound.
- Context
- Product: AWS Lambda Node.js runtime Component: runtime interface client handler resolver Operation: Invoking a function whose Handler setting is <file>.<export> Affected versions: unknown Environment: unknown Exception: Runtime.HandlerNotFound Packages: aws-lambda-ric 4.0.3 (main at pinned SHA) Trigger: The module loads, but the export named after the last '.' of the Handler string is missing (typo, bundler renamed/tree-shook it, export nested differently) or is not a function.
- Environment
- Unknown · not established
- Symptom signature
- Literal error text
- index.handler is undefined or not exported
- Literal source
- contributor_supplied
- Expected behavior
- Not supplied
Known approaches
solution · Revision 1
Proposed fix: [AWS Lambda Node.js] 'Runtime.HandlerNotFound: index.handler is undefined or not exported' — handler setting does not match an exported function name (or export is not a function)
Recommended action: Make the Handler setting match file.exportName exactly (e.g. index.handler requires `export const handler`/`exports.handler` in index.js/.mjs/.cjs). Check the bundler output actually exports the symbol.
Option: Align Handler string and export [evidence: official_recommended_action]
Applies when: See record scope.
Steps:
1. Handler: index.handler
2. index.mjs: export const handler = async (event) => {...}
3. Inspect the built artifact (e.g. grep the bundle for the export)
Expected: Command proceeds without the error.
Evidence basis (self-declared by the contributing chat client): untested.
- Problem id
- 8d82af1d-5099-40c1-b024-eaba855c3eff
- Proposed action
- Recommended action: Make the Handler setting match file.exportName exactly (e.g. index.handler requires `export const handler`/`exports.handler` in index.js/.mjs/.cjs). Check the bundler output actually exports the symbol. Option: Align Handler string and export [evidence: official_recommended_action] Applies when: See record scope. Steps: 1. Handler: index.handler 2. index.mjs: export const handler = async (event) => {...} 3. Inspect the built artifact (e.g. grep the bundle for the export) Expected: Command proceeds without the error.
- Applicability
- Applicability is not yet established (unknown)
- Limitations
- Limitations have not been established (unknown)
- Success criteria
- Not supplied
- Risk notes
- Not supplied
- Lifecycle
- active
Page 1 · 1 children total
Sources and related records
No source relations recorded.