condensate

Reference

SDK error catalog

Every tagged error the SDK raises: its stage and whether to retry, generated from the error definitions.

This page is generated from the tagged errors in packages/agents-sdk/src. Do not edit it by hand. Run bun run docs:errors to regenerate it, and CI fails when it is out of date.

It lists all 28 tagged errors the SDK declares, sorted by tag. Each error class carries its stage and retry fact as static readonly facts, typed by ErrorFacts in packages/agents-sdk/src/errors.ts. The description is the first sentence of the class's doc comment.

Stage. Where an SDK error arises: a check before anything is sent, the HTTP exchange itself, a runtime refusal, an answer the SDK cannot read or trust, or a source behind the runtime such as GitHub or X.

Retry. Whether repeating the call that failed can succeed. yes: repeat it. idempotent: repeat a read or a keyed write; another write may already have taken effect. by-status: repeat a 429 or 503 after a wait, and not before details.resetAt when the refusal carries one; any other status is no. later: something outside the request must change first, such as the runtime's build, its settings or an upstream. no: the request or the caller's state must change first.

TagDefined inStageRetryWhat it means
AgentsDecodeErrorpackages/agents-sdk/src/errors.tsresponsenoReport an unreadable or inconsistent host response.
AgentsRejectedpackages/agents-sdk/src/errors.tsrefusalby-statusReport a refusal after transport classification, with status, available response text, and the host's refusal code when it sent one.
AgentsTransportErrorpackages/agents-sdk/src/errors.tstransportidempotentReport an HTTP client failure while sending a request or reading its response.
AttentionExpiredpackages/agents-sdk/src/attention.tsrefusalnoA prune passed the cursor: rows it has not seen may be gone.
AttentionNotFoundpackages/agents-sdk/src/attention.tsrefusalnoNo attention item has this id: pruned, or never raised.
AttentionRefusedpackages/agents-sdk/src/attention.tsrefusalnoThe runtime refused the request itself: an empty workspace filter or a cursor that is not one.
AttentionStoreChangedpackages/agents-sdk/src/attention.tsresponsenoThe runtime reads a different store than the caller's cursor or item came from: the database was replaced, so every cursor, version and occasion from the old one is meaningless.
AttentionStoreMissingpackages/agents-sdk/src/attention.tsresponsenoThe runtime did not name its store where the call needs one: it predates store identity, or a follow connection sent an item before its store frame.
AttentionUnavailablepackages/agents-sdk/src/attention.tsrefusallaterThe runtime has no attention doors: its unknown-route 404, never an empty inbox.
GithubThreadRefusedpackages/agents-sdk/src/github-threads.tsrefusalnoA refusal that proves nothing was committed: the runtime refused before sending, or GitHub answered a 4xx.
GithubWriteKeyReusedpackages/agents-sdk/src/github-threads.tsrefusalnoThe key already names a reply with another payload.
GithubWriteNotFoundpackages/agents-sdk/src/github-threads.tsrefusalnoNo reply has this key in the workspace: the POST never reached the runtime.
GithubWriteUnconfirmedpackages/agents-sdk/src/github-threads.tsupstreamnoGitHub may have the reply: keep the key and read its status later, or show threadUrl and let a human decide.
GithubWritesOffpackages/agents-sdk/src/github-threads.tsrefusallaterCONDENSATE_GITHUB_WRITES is off on this runtime.
PreviewUnreadablepackages/agents-sdk/src/refs-preview.tsupstreamnoA read that failed; reason says which.
QuestionRefusedpackages/agents-sdk/src/questions.tsrefusalnoThe runtime refused a question door with a question code, such as "stale" or "already-answered".
QuestionsUnavailablepackages/agents-sdk/src/questions.tsrefusallaterThe runtime answered 404 with its unknown-route body and no code: a build from before the question doors.
RefRefusedpackages/agents-sdk/src/proposal-draft.tsvalidationnoA citation that did not hold, with the sentence a reader sees.
RoomConflictpackages/agents-sdk/src/rooms.tsrefusallaterThe room's state refuses the call now (409): archived, a reused key, not armed, a busy reviewer or a running round.
RoomNotFoundpackages/agents-sdk/src/rooms.tsrefusalnoThe runtime has no such room, round or workspace (404); refusal.code says which.
RoomRequestInvalidpackages/agents-sdk/src/rooms.tsrefusalnoThe runtime refused the request itself (400): a malformed body, a bad round number or a model the workspace does not allow.
RoomUnavailablepackages/agents-sdk/src/rooms.tsrefusallaterFinalize could not reach GitHub (502) or posting is off or misconfigured (503).
RouteUnsupportedpackages/agents-sdk/src/transport.tsrefusalnoSignal an unavailable SSE route through the Stream error channel so callers can choose polling.
RunNotFoundpackages/agents-sdk/src/step-runs.tsresponsenoReport a thread whose log holds no run record.
WorkflowErrorpackages/agents-sdk/src/steps.tsvalidationnoReport an invalid workflow through the run Effect's error channel before any thread opens.
XAuthUnavailablepackages/agents-sdk/src/x-model.tsupstreamlaterReport missing xurl installation, authentication, or X API access.
XPostNotFoundpackages/agents-sdk/src/x-model.tsupstreamnoReport an invalid post identifier or a post that the source cannot find.
XUpstreamUnavailablepackages/agents-sdk/src/x-model.tsupstreamlaterReport an unavailable X source or a response that the client cannot decode.