# TraconErrorTypes

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/api/tracon.traconerrortypes/
> Summary: TraconErrorTypes: Every machine-readable error code Tracon writes: the type of a failed run, the code of a job the queue failed, and the error.type of an OpenAI-compatible error body.

<div class="api-provenance">Namespace Tracon · Assembly <code>Tracon.Abstractions.dll</code></div>

Every machine-readable error code Tracon writes: the type of a failed run, the code of a job the
queue failed, and the `error.type` of an OpenAI-compatible error body.

```csharp
public static class TraconErrorTypes
```

<dl class="api-relations"><dt>Inheritance</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ← <a href="/api/tracon.traconerrortypes/">TraconErrorTypes</a></dd><dt>Inherited Members</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></dd></dl>

## Remarks

A code is a contract. Run records persist it, the HTTP API returns it as `errorType`, and a
consumer matches on it. A value never changes inside a major version: a new code is a minor change,
a removed, renamed or re-purposed code is a major one. The prose around a code may change.

The exception classes keep their own `*ErrorType` constants. Each is bound to the constant
here, so the string is written once. A test pins the list of values; a value that leaves the list
is a breaking change.

One kind of value is not in this class: the.NET type name of an unclassified exception
(`InvalidOperationException`, `TimeoutException`) that a run records as it is. That value
is not a code Tracon owns.

## Fields

### <a id="Tracon_TraconErrorTypes_AgentSourceContract"></a> AgentSourceContract

An agent source broke its contract ([TraconAgentSourceException](/api/tracon.traconagentsourceexception/)).

```csharp
public const string AgentSourceContract = "agent_source_contract"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_AgentSourceFailed"></a> AgentSourceFailed

An agent source failed ([TraconAgentSourceException](/api/tracon.traconagentsourceexception/)).

```csharp
public const string AgentSourceFailed = "agent_source_failed"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_AnswerNotRecorded"></a> AnswerNotRecorded

An answer could not be recorded.

```csharp
public const string AnswerNotRecorded = "answer_not_recorded"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ApprovalExpired"></a> ApprovalExpired

A tool approval nobody decided expired.

```csharp
public const string ApprovalExpired = "ApprovalExpired"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ApprovalRequired"></a> ApprovalRequired

The run stopped at a tool approval.

```csharp
public const string ApprovalRequired = "approval_required"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ApprovalUnanswerable"></a> ApprovalUnanswerable

A run without a session stopped at a tool approval that nobody can answer.

```csharp
public const string ApprovalUnanswerable = "approval_unanswerable"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ChildRunTimeout"></a> ChildRunTimeout

A child run ran past its time limit ([TraconChildRunTimeoutException](/api/tracon.traconchildruntimeoutexception/)).

```csharp
public const string ChildRunTimeout = "child_run_timeout"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_CompilationFailed"></a> CompilationFailed

An agent definition did not compile ([TraconCompilationException](/api/tracon.traconcompilationexception/)).

```csharp
public const string CompilationFailed = "compilation_failed"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ContentBlocked"></a> ContentBlocked

A content guard blocked the content ([TraconContentBlockedException](/api/tracon.traconcontentblockedexception/)).

```csharp
public const string ContentBlocked = "content_blocked"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ContentFiltered"></a> ContentFiltered

The model provider filtered the content ([TraconContentFilteredException](/api/tracon.traconcontentfilteredexception/)).

```csharp
public const string ContentFiltered = "content_filtered"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_EvalRunDiffUnavailable"></a> EvalRunDiffUnavailable

Two eval runs cannot be compared ([EvalRunDiffUnavailableException](/api/tracon.evalrundiffunavailableexception/)).

```csharp
public const string EvalRunDiffUnavailable = "eval_run_diff_unavailable"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ExternalCallRejected"></a> ExternalCallRejected

An outbound call was refused by the egress policy ([TraconExternalCallException](/api/tracon.traconexternalcallexception/)).

```csharp
public const string ExternalCallRejected = "external_call_rejected"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_Interrupted"></a> Interrupted

A workflow run was cut short by a process stop and recovery closed it.

```csharp
public const string Interrupted = "interrupted"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_InvalidRequestError"></a> InvalidRequestError

The request is not valid. The default type of an OpenAI-compatible error.

```csharp
public const string InvalidRequestError = "invalid_request_error"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_InvalidRunAttribution"></a> InvalidRunAttribution

The run attribution in the request is not valid.

```csharp
public const string InvalidRunAttribution = "invalid_run_attribution"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_JobApprovalSaveFailed"></a> JobApprovalSaveFailed

A queued turn ended at an approval that could not be written, so the run closes as failed.

```csharp
public const string JobApprovalSaveFailed = "tracon.job.approval-save-failed"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_JobAttemptsExhausted"></a> JobAttemptsExhausted

The job was leased again past its attempt limit.

```csharp
public const string JobAttemptsExhausted = "tracon.job.attempts-exhausted"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_JobHandlerActivationFailed"></a> JobHandlerActivationFailed

The job's handler could not be constructed.

```csharp
public const string JobHandlerActivationFailed = "tracon.job.handler-activation-failed"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_JobMaxDurationExceeded"></a> JobMaxDurationExceeded

A run reached the time limit of the job that ran it and was cancelled with it.

```csharp
public const string JobMaxDurationExceeded = "job_max_duration_exceeded"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_JobMaxDurationExceededCode"></a> JobMaxDurationExceededCode

The attempt ran longer than the job's time limit.

```csharp
public const string JobMaxDurationExceededCode = "tracon.job.max-duration-exceeded"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_JobRetry"></a> JobRetry

A job handler asked for a retry with backoff ([JobRetryException](/api/tracon.jobretryexception/)).

```csharp
public const string JobRetry = "job_retry"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_JobSessionSaveFailed"></a> JobSessionSaveFailed

A queued turn ended but its session could not be saved. The run keeps the status the turn gave it.

```csharp
public const string JobSessionSaveFailed = "tracon.job.session-save-failed"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_JobUnknownHandlerKey"></a> JobUnknownHandlerKey

No handler is registered for the job's handler key.

```csharp
public const string JobUnknownHandlerKey = "tracon.job.unknown-handler-key"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_JobWorkflowRunFailed"></a> JobWorkflowRunFailed

A queued workflow run was refused, failed or was cancelled. The run's own error says why.

```csharp
public const string JobWorkflowRunFailed = "tracon.job.workflow-run-failed"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_JobWorkflowRunNotContinued"></a> JobWorkflowRunNotContinued

A queued workflow run was interrupted and its chain is at the continuation limit.

```csharp
public const string JobWorkflowRunNotContinued = "tracon.job.workflow-run-not-continued"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_JobWorkflowRunPayloadInvalid"></a> JobWorkflowRunPayloadInvalid

A queued workflow run's job payload cannot be run.

```csharp
public const string JobWorkflowRunPayloadInvalid = "tracon.job.workflow-run-payload-invalid"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_LoopUnsatisfied"></a> LoopUnsatisfied

A loop ended without meeting its exit condition ([TraconLoopUnsatisfiedException](/api/tracon.traconloopunsatisfiedexception/)).

```csharp
public const string LoopUnsatisfied = "loop_unsatisfied"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ModelNotFound"></a> ModelNotFound

The model name does not match an agent.

```csharp
public const string ModelNotFound = "model_not_found"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_NotFoundError"></a> NotFoundError

The named resource does not exist.

```csharp
public const string NotFoundError = "not_found_error"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_Orphaned"></a> Orphaned

Reconciliation closed a run whose process stopped.

```csharp
public const string Orphaned = "orphaned"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_OutputTruncated"></a> OutputTruncated

The model cut its answer off at an output limit ([TraconOutputTruncatedException](/api/tracon.traconoutputtruncatedexception/)).

```csharp
public const string OutputTruncated = "output_truncated"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ProviderCredentialUnsupported"></a> ProviderCredentialUnsupported

The tenant's credential cannot be used with this provider.

```csharp
public const string ProviderCredentialUnsupported = "provider_credential_unsupported"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ProviderUnavailable"></a> ProviderUnavailable

The model provider could not be reached ([TraconProviderUnavailableException](/api/tracon.traconproviderunavailableexception/)).

```csharp
public const string ProviderUnavailable = "provider_unavailable"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ReplayToolMismatch"></a> ReplayToolMismatch

A replay met a tool call the recording does not have.

```csharp
public const string ReplayToolMismatch = "replay_tool_mismatch"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_RequestAlreadyAnswered"></a> RequestAlreadyAnswered

The workflow request already has an answer.

```csharp
public const string RequestAlreadyAnswered = "request_already_answered"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_RunBudgetExceeded"></a> RunBudgetExceeded

A run used up its budget ([TraconRunBudgetExceededException](/api/tracon.traconrunbudgetexceededexception/)).

```csharp
public const string RunBudgetExceeded = "run_budget_exceeded"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_RunNotAuthorized"></a> RunNotAuthorized

The caller may not start this run.

```csharp
public const string RunNotAuthorized = "run_not_authorized"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ServiceUnavailable"></a> ServiceUnavailable

The server is draining and takes no new run.

```csharp
public const string ServiceUnavailable = "service_unavailable"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_SessionConflict"></a> SessionConflict

A session was changed by another run at the same time ([TraconSessionConflictException](/api/tracon.traconsessionconflictexception/)).

```csharp
public const string SessionConflict = "session_conflict"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_SessionOwnerRequired"></a> SessionOwnerRequired

A session needs an owner and the caller has no identity ([TraconSessionOwnerRequiredException](/api/tracon.traconsessionownerrequiredexception/)).

```csharp
public const string SessionOwnerRequired = "session_owner_required"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_StructuredResponseInvalid"></a> StructuredResponseInvalid

The model answer did not match the requested schema ([TraconStructuredResponseException](/api/tracon.traconstructuredresponseexception/)).

```csharp
public const string StructuredResponseInvalid = "structured_response_invalid"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_TenantProviderRefused"></a> TenantProviderRefused

The tenant may not use the provider ([TraconTenantProviderRefusedException](/api/tracon.tracontenantproviderrefusedexception/)).

```csharp
public const string TenantProviderRefused = "tenant_provider_refused"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_TenantQuotaExceeded"></a> TenantQuotaExceeded

A tenant quota was used up ([TraconTenantQuotaExceededException](/api/tracon.tracontenantquotaexceededexception/)).

```csharp
public const string TenantQuotaExceeded = "tenant_quota_exceeded"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_ToolTimeout"></a> ToolTimeout

A tool call ran past its time limit ([TraconToolTimeoutException](/api/tracon.tracontooltimeoutexception/)).

```csharp
public const string ToolTimeout = "tool_timeout"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_UpstreamError"></a> UpstreamError

The model provider answered with a failure.

```csharp
public const string UpstreamError = "upstream_error"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_WorkflowFunctionTimeout"></a> WorkflowFunctionTimeout

A workflow function node ran past its time limit ([TraconWorkflowFunctionTimeoutException](/api/tracon.traconworkflowfunctiontimeoutexception/)).

```csharp
public const string WorkflowFunctionTimeout = "workflow_function_timeout"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_TraconErrorTypes_WorkflowRequestExpired"></a> WorkflowRequestExpired

A workflow request nobody answered expired.

```csharp
public const string WorkflowRequestExpired = "WorkflowRequestExpired"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)
