Improve subagent error messages with categorization and hints #4395
+473
−13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR improves subagent error messages by categorizing errors and providing actionable hints for common failure scenarios.
Changes
1. Enhanced Error Types
SubagentRunOutcometo includeerrorTypeanderrorHintfieldsmodel,tool,network,config,timeout,unknown2. Error Categorization
categorizeError()helper that identifies common error patterns:3. Improved Error Emission
agent-runner-execution.tsto categorize errors before emitting lifecycle events4. Better User-Facing Messages
buildErrorStatusLabel()to create descriptive error messagesExamples
Before:
After:
More examples:
failed (API error): Rate limit exceeded — Rate limit exceeded - retry in a few momentsfailed (configuration error): Missing API key — Check API credentials and permissionsfailed (network error): ECONNREFUSED — Connection failed - check network connectivityImpact
Testing
Related
Research document:
~/clawd/memory/research/2026-01-30-subagent-errors.md