#[non_exhaustive]pub enum Error {
Show 14 variants
CliNotFound,
VersionMismatch {
found: String,
required: String,
},
SpawnFailed(Error),
ProcessExited {
code: Option<i32>,
stderr: String,
},
ParseError {
message: String,
line: String,
},
Io(Error),
Json(Error),
NotConnected,
Transport(String),
Config(String),
ControlProtocol(String),
ImageValidation(String),
Timeout(String),
Cancelled,
}Expand description
All errors that can be produced by the claude-code SDK.
Variants are non-exhaustive in the sense that future SDK versions may add new variants — callers should include a wildcard arm when matching.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
CliNotFound
The Claude Code CLI binary was not found on PATH.
Install it with: npm install -g @anthropic-ai/claude-code
VersionMismatch
The discovered CLI version is below the minimum required by this SDK.
Fields
SpawnFailed(Error)
The OS failed to spawn the Claude child process.
ProcessExited
The Claude process exited with a non-zero (or missing) status code.
code is None when the process was killed by a signal.
Fields
ParseError
A line from the Claude process could not be parsed as valid JSON.
Fields
Io(Error)
Transparent wrapper around std::io::Error.
Json(Error)
Transparent wrapper around serde_json::Error.
NotConnected
A method that requires an active connection was called before connect().
Transport(String)
An error in the underlying stdio/socket transport layer.
Config(String)
A configuration value is absent or out of range.
ControlProtocol(String)
The structured control protocol exchanged with the CLI returned an unexpected message or sequence.
ImageValidation(String)
An image payload failed validation (unsupported MIME type or exceeds the 15 MiB base64 size limit).
Timeout(String)
An async operation exceeded its deadline.
Cancelled
The operation was cancelled via a CancellationToken.
Implementations§
Source§impl Error
impl Error
Sourcepub fn is_process_exit(&self) -> bool
pub fn is_process_exit(&self) -> bool
Returns true if this error indicates the process exited cleanly but
with a failure code (i.e., not a transport or protocol fault).
Sourcepub fn is_retriable(&self) -> bool
pub fn is_retriable(&self) -> bool
Returns true if this error is transient and the caller might
reasonably retry (e.g., I/O errors, timeouts).
Sourcepub fn is_cancelled(&self) -> bool
pub fn is_cancelled(&self) -> bool
Returns true if this error indicates the operation was cancelled
via a CancellationToken.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
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
Auto Trait Implementations§
impl Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl !UnwindSafe for Error
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more