pub enum ClaudeError {
Show 14 variants
Connection(ConnectionError),
Process(ProcessError),
JsonDecode(JsonDecodeError),
MessageParse(MessageParseError),
Transport(String),
ControlProtocol(String),
InvalidConfig(String),
CliNotFound(CliNotFoundError),
ImageValidation(ImageValidationError),
Io(Error),
Other(Error),
NotFound(String),
InvalidInput(String),
InternalError(String),
}Expand description
Main error type for the Claude Agent SDK
Variants§
Connection(ConnectionError)
CLI connection error
Process(ProcessError)
Process error
JsonDecode(JsonDecodeError)
JSON decode error
MessageParse(MessageParseError)
Message parse error
Transport(String)
Transport error
ControlProtocol(String)
Control protocol error
InvalidConfig(String)
Invalid configuration
CliNotFound(CliNotFoundError)
CLI not found error
ImageValidation(ImageValidationError)
Image validation error
Io(Error)
IO error
Other(Error)
Other errors
NotFound(String)
Not found error
InvalidInput(String)
Invalid input error
InternalError(String)
Internal error
Implementations§
Source§impl ClaudeError
impl ClaudeError
Sourcepub fn category(&self) -> ErrorCategory
pub fn category(&self) -> ErrorCategory
Returns the error category for this error.
Categories group related errors together for:
- Structured logging and filtering
- Metrics aggregation
- Retry logic decisions
Sourcepub fn error_code(&self) -> &'static str
pub fn error_code(&self) -> &'static str
Returns a machine-readable error code for this error.
Error codes are stable identifiers that can be used for:
- Programmatic error handling
- API response codes
- Documentation references
Format: E{category_prefix}{number} (e.g., ENET001, EPROC001)
Sourcepub fn is_retryable(&self) -> bool
pub fn is_retryable(&self) -> bool
Returns true if this error may be retried.
Retryable errors are typically transient failures that may succeed on a subsequent attempt:
- Network errors (connection refused, timeout)
- Process errors (CLI crashed, can restart)
- External service errors (rate limits, temporary unavailable)
Sourcepub fn http_status(&self) -> HttpStatus
pub fn http_status(&self) -> HttpStatus
Returns the recommended HTTP status code for this error.
Useful for converting SDK errors to HTTP API responses.
Sourcepub fn to_error_context(&self) -> ErrorContext
pub fn to_error_context(&self) -> ErrorContext
Returns a detailed error context for logging and debugging.
Includes:
- Error code
- Category
- Whether it’s retryable
- Human-readable message
Trait Implementations§
Source§impl Debug for ClaudeError
impl Debug for ClaudeError
Source§impl Display for ClaudeError
impl Display for ClaudeError
Source§impl Error for ClaudeError
impl Error for ClaudeError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<CliNotFoundError> for ClaudeError
impl From<CliNotFoundError> for ClaudeError
Source§fn from(source: CliNotFoundError) -> Self
fn from(source: CliNotFoundError) -> Self
Source§impl From<ConnectionError> for ClaudeError
impl From<ConnectionError> for ClaudeError
Source§fn from(source: ConnectionError) -> Self
fn from(source: ConnectionError) -> Self
Source§impl From<Error> for ClaudeError
impl From<Error> for ClaudeError
Source§impl From<Error> for ClaudeError
impl From<Error> for ClaudeError
Source§impl From<ImageValidationError> for ClaudeError
impl From<ImageValidationError> for ClaudeError
Source§fn from(source: ImageValidationError) -> Self
fn from(source: ImageValidationError) -> Self
Source§impl From<JsonDecodeError> for ClaudeError
impl From<JsonDecodeError> for ClaudeError
Source§fn from(source: JsonDecodeError) -> Self
fn from(source: JsonDecodeError) -> Self
Source§impl From<MessageParseError> for ClaudeError
impl From<MessageParseError> for ClaudeError
Source§fn from(source: MessageParseError) -> Self
fn from(source: MessageParseError) -> Self
Source§impl From<ProcessError> for ClaudeError
impl From<ProcessError> for ClaudeError
Source§fn from(source: ProcessError) -> Self
fn from(source: ProcessError) -> Self
Auto Trait Implementations§
impl Freeze for ClaudeError
impl !RefUnwindSafe for ClaudeError
impl Send for ClaudeError
impl Sync for ClaudeError
impl Unpin for ClaudeError
impl UnsafeUnpin for ClaudeError
impl !UnwindSafe for ClaudeError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.