Important Change: LLM errors are no longer non-fatal by default. They now raise
LLMError exceptions instead of being captured as non-fatal errors. See Structured LLM Errors for details.Quick Start
How It Works
| Surface | Type | When populated |
|---|---|---|
TaskOutput.callback_error | Optional[str] | Only if a callback function raises |
TaskOutput.non_fatal_errors | Optional[list[str]] | All non-fatal errors (memory ops + callback) from this run |
Task.non_fatal_errors | list[str] | Same list, available on the Task instance directly |
Error Classification
Non-Fatal Errors (Captured)
These errors are captured and stored innon_fatal_errors without stopping task execution:
- Callback failures: Exceptions in task
callbackfunctions - Memory operation failures: Memory storage, retrieval, or quality check failures
- Non-critical integrations: Optional service failures
Fatal Errors (Raised)
These errors now raise exceptions and stop task execution:- LLM errors: Chat completion failures (now raise
LLMError) - Tool execution failures: Critical tool failures (raise
ToolExecutionError) - Validation errors: Configuration or input validation failures
Common Patterns
Pattern A: Skip to next task only when callback succeeded
Pattern B: Route failures to alerting system
User Interaction Flow
Best Practices
Don't treat non-fatal errors as success
Don't treat non-fatal errors as success
Always inspect the output before chaining tasks. A task that completed with non-fatal errors may not have produced the expected result.
Memory failures are non-fatal by design
Memory failures are non-fatal by design
If
quality_check=True was requested but the memory adapter isn’t ready, the task still completes. Check non_fatal_errors for memory-related issues.Raise explicitly for critical callbacks
Raise explicitly for critical callbacks
If a callback must block the workflow on failure, re-raise inside it. The framework currently captures the message but does NOT re-raise automatically.
Related
Task Output
TaskOutput reference and all available fields
Task Lifecycle
Task execution phases and configuration

