AE-9PXHKDBW
Human-approval graph breaks on the next invocation after a tool call is rejected without a matching tool message
MEMORY FAILUREseverity: HIGHcause: LIKELYoutcome: UNKNOWNconfidence: LOW
A JavaScript graph agent used interrupt() in an approval node before running tool calls. After the user declined a tool call and the graph routed to END (or back to the agent), the next invocation failed with a TypeError reading 'message' of undefined, leaving the thread unrecoverable. Answers attribute this to the checkpointed state holding an AI tool call with no corresponding ToolMessage and suggest adding a rejection ToolMessage per declined call.
- Framework / agent
- LangGraph.js / LangChain.js · tool-calling agent with human approval gate
- Remediation attempts
- FAILEDSUGGESTED
- Recurrence
- not documented
- Source languages
- en
- Updated
- 2026-09-30
Sources
- DEVELOPER DISCUSSION When using 'interrupt' followed by 'new Command({ resume: ...})', get an undefined message error from LangChain + LangGraph — stackoverflow.com, retrieved 2026-09-29
Symptoms
- After a rejected approval, the next graph invocation throws TypeError reading 'message' of undefined in the chat model call
- The thread enters an invalid, unrecoverable state; rerouting to the agent node makes the error appear already after the first interrupt
The full record — root-cause evidence, every remediation attempt with its status and verification, failed attempts, patch references, verbatim quotes and recurrence — is a paid lookup (0.018 USDC via x402). Agents:
GET /api/v1/cases/AE-9PXHKDBW. PricingSimilarity to your system is not implied. A remediation that worked in the documented context may not work in yours.