Task agent fails with 'classifyHandoffIfNeeded is not defined' after successful completion
Description
When using the Task tool to spawn an Explore agent, the agent completes its work successfully but then fails with the error:
classifyHandoffIfNeeded is not defined
The agent's actual work (file exploration, tool calls, final summary generation) completes without issues. The error appears to occur in the internal handoff/completion logic when the agent attempts to return control to the parent conversation.
Steps to Reproduce
- Use the Task tool to spawn an Explore agent:
Task(
subagent_type="Explore",
prompt="Explore the codebase to understand the current architecture..."
)
- Let the agent run to completion (it will successfully execute many tool calls and generate a summary)
- When the agent finishes and tries to hand off back to the parent, the task fails with:
Agent "Explore current codebase architecture" failed: classifyHandoffIfNeeded is not defined
Expected Behavior
The agent should complete successfully and return its findings to the parent conversation.
Actual Behavior
- The agent completes all its work (tool calls, exploration, summary generation)
- The last message in the agent output is a complete, well-formed summary
- The task is marked as "failed" with error
classifyHandoffIfNeeded is not defined - The parent conversation receives a failure notification instead of the agent's results
Evidence from Agent Output
The agent's output file shows successful completion:
- 40+ tool calls executed successfully
- Final message contains a comprehensive summary with "ACTIONABLE NEXT STEPS"
- No errors in the agent's actual execution
- Error occurs after the agent's last response, during handoff
Environment
- Claude Code version: 2.1.29
- OS: macOS Darwin 25.2.0
- Model: claude-opus-4-5-20251101 (parent), claude-haiku-4-5-20251001 (agent)
Workaround
The parent conversation can still access the agent's work by reading the output file directly, but the normal task completion flow is broken.
Additional Context
This appears to be a JavaScript/TypeScript reference error in the task completion handler, suggesting classifyHandoffIfNeeded is either:
- Not imported/defined in the scope where it's called
- A function that was renamed or removed but still referenced
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗