Get Error Details
get-error-details · Query · Server · Error reporting
Returns temporary local diagnostic details for an unexpected tool failure. The result may contain paths and user-authored identifiers, is intended only for the trusted local agent, and must never be submitted externally.
Availability: Built in and published by default.
Generated from Roslyn Workbench MCP 0.1.0-beta.294 (0.1.0-beta.294).
Behaviour annotations
| Annotation | Value |
|---|---|
destructiveHint |
false |
idempotentHint |
true |
openWorldHint |
false |
readOnlyHint |
true |
title |
"Get Error Details" |
Request
| Property | Type | Required | Description |
|---|---|---|---|
correlationId |
string |
Yes | Correlation identifier returned with the failed tool invocation. |
Response
Success response
| Property | Type | Required | Description |
|---|---|---|---|
ok |
boolean constant (true) |
Yes | Whether the tool invocation succeeded. |
data |
object | null |
Yes | Tool-specific result payload. |
snapshot |
object |
No | Exact immutable workspace snapshot associated with the result, when available. |
Error response
| Property | Type | Required | Description |
|---|---|---|---|
ok |
boolean constant (false) |
Yes | Whether the tool invocation succeeded. |
error |
object |
Yes | Structured error details when the invocation failed. |
continuation |
oneOf |
No | Action the agent should take before retrying or continuing. |
Continuations and required actions
A non-success response may include a structured continuation at the following schema location. Follow its tool call or user-action instruction instead of guessing how to retry:
$/oneOf/1/properties/continuation
Complete input schema
Complete output schema
{
"type": "object",
"oneOf": [
{
"type": "object",
"required": [
"ok",
"data"
],
"properties": {
"ok": {
"const": true,
"description": "Whether the tool invocation succeeded."
},
"data": {
"type": [
"object",
"null"
],
"properties": {
"sensitivity": {
"description": "Sensitivity classification applied to the captured error details.",
"type": "string"
},
"safeForExternalSubmission": {
"description": "Whether the captured details are safe to submit outside the local process.",
"type": "boolean"
},
"error": {
"description": "Captured diagnostic record for the failed tool invocation.",
"type": "object",
"properties": {
"correlationId": {
"description": "Correlation identifier assigned to the captured failure.",
"type": "string",
"format": "uuid"
},
"failureTime": {
"description": "Time at which the tool invocation failed.",
"type": "string",
"format": "date-time"
},
"expiresAt": {
"description": "Time at which this locally retained error record expires.",
"type": "string",
"format": "date-time"
},
"toolName": {
"description": "MCP tool that failed.",
"type": "string"
},
"executionFamily": {
"description": "Execution path used by the failed tool, such as server, plugin, or Code Action.",
"type": "string"
},
"pluginClassification": {
"description": "Plugin ownership classification when the failed tool was plugin-backed.",
"type": "string"
},
"durationMilliseconds": {
"description": "Tool execution duration in milliseconds before failure.",
"type": "integer"
},
"cancellationRequested": {
"description": "Whether cancellation had been requested when the failure occurred.",
"type": "boolean"
},
"exceptions": {
"description": "Captured exception chain for the failure.",
"type": "array",
"items": {
"type": "object",
"properties": {
"component": {
"description": "Roslyn Workbench component in which the exception originated.",
"type": "string",
"enum": [
"Unknown",
"RoslynWorkbench",
"Roslyn",
"DotNet"
]
},
"type": {
"description": "Exception type name.",
"type": "string"
},
"message": {
"description": "Exception message included with the user's consent.",
"type": "string"
},
"stackFrames": {
"description": "Diagnostic stack frames retained from the exception and classified by owning component.",
"type": "array",
"items": {
"type": "object",
"properties": {
"component": {
"description": "Roslyn Workbench component that owns this frame.",
"type": "string",
"enum": [
"Unknown",
"RoslynWorkbench",
"Roslyn",
"DotNet"
]
},
"assembly": {
"description": "Assembly name, when available.",
"type": [
"string",
"null"
]
},
"type": {
"description": "Declaring type name, when available.",
"type": [
"string",
"null"
]
},
"method": {
"description": "Method name, when available.",
"type": [
"string",
"null"
]
},
"file": {
"description": "First-party source file path recorded by symbols, when available.",
"type": [
"string",
"null"
]
},
"line": {
"description": "One-based source line number, when available.",
"type": [
"integer",
"null"
]
}
}
}
}
},
"required": [
"type",
"message"
]
}
},
"workspace": {
"description": "Workspace context active during the failure, when available.",
"type": [
"object",
"null"
],
"properties": {
"workspaceId": {
"description": "Server-generated identifier of the workspace active during the failure.",
"type": "string",
"format": "uuid"
},
"workspaceEpoch": {
"description": "Workspace epoch active during the failure.",
"type": "integer"
},
"lifecycleState": {
"description": "Workspace lifecycle state at the time of failure.",
"type": [
"string",
"null"
]
},
"projectCount": {
"description": "Number of loaded projects at the time of failure.",
"type": "integer"
},
"documentCount": {
"description": "Number of loaded documents at the time of failure.",
"type": "integer"
},
"transactionRevision": {
"description": "Active transaction revision at the time of failure, when applicable.",
"type": [
"integer",
"null"
]
}
}
},
"serverVersion": {
"description": "Roslyn Workbench server version that captured the failure.",
"type": "string"
},
"roslynVersion": {
"description": "Roslyn version used by the server.",
"type": "string"
},
"dotNetVersion": {
"description": ".NET runtime version used by the server.",
"type": "string"
},
"operatingSystem": {
"description": "Operating system on which the server was running.",
"type": "string"
},
"processorArchitecture": {
"description": "Processor architecture of the server process.",
"type": "string"
}
},
"required": [
"correlationId",
"failureTime",
"expiresAt",
"toolName",
"executionFamily",
"pluginClassification",
"durationMilliseconds",
"serverVersion",
"roslynVersion",
"dotNetVersion",
"operatingSystem",
"processorArchitecture"
]
}
},
"required": [
"error"
],
"description": "Tool-specific result payload."
},
"snapshot": {
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"format": "uuid"
},
"workspaceEpoch": {
"type": "integer"
},
"snapshotId": {
"type": "string",
"format": "uuid"
},
"transactionRevision": {
"type": [
"integer",
"null"
]
}
},
"required": [
"workspaceId",
"workspaceEpoch",
"snapshotId",
"transactionRevision"
],
"description": "Exact immutable workspace snapshot associated with the result, when available."
}
}
},
{
"type": "object",
"required": [
"ok",
"error"
],
"properties": {
"ok": {
"const": false,
"description": "Whether the tool invocation succeeded."
},
"error": {
"type": "object",
"properties": {
"code": {
"description": "Stable machine-readable error code.",
"type": "string"
},
"message": {
"description": "Human-readable explanation of the failure.",
"type": "string"
},
"correlationId": {
"description": "Correlation identifier for matching the failure to server-side diagnostics, when available.",
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"message"
],
"description": "Structured error details when the invocation failed."
},
"continuation": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"tool",
"instruction"
],
"properties": {
"kind": {
"const": "CallTool",
"description": "Action required before the original request can continue."
},
"instruction": {
"type": "string",
"description": "Agent-facing instruction explaining how to continue.",
"minLength": 1
},
"tool": {
"type": "string",
"description": "Tool to call before continuing the original request.",
"minLength": 1
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"tools",
"instruction"
],
"properties": {
"kind": {
"const": "ChooseTool",
"description": "Action required before the original request can continue."
},
"instruction": {
"type": "string",
"description": "Agent-facing instruction explaining how to continue.",
"minLength": 1
},
"tools": {
"type": "array",
"description": "Allowed tool choices from which the agent must select one.",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"description": "Name of a tool the agent may choose.",
"minLength": 1
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"instruction"
],
"properties": {
"kind": {
"const": "RetryRequest",
"description": "Action required before the original request can continue."
},
"instruction": {
"type": "string",
"description": "Agent-facing instruction explaining how to continue.",
"minLength": 1
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"instruction"
],
"properties": {
"kind": {
"const": "ReviseRequest",
"description": "Action required before the original request can continue."
},
"instruction": {
"type": "string",
"description": "Agent-facing instruction explaining how to continue.",
"minLength": 1
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"instruction"
],
"properties": {
"kind": {
"const": "ResolveExternally",
"description": "Action required before the original request can continue."
},
"instruction": {
"type": "string",
"description": "Agent-facing instruction explaining how to continue.",
"minLength": 1
}
}
}
],
"description": "Action the agent should take before retrying or continuing."
}
}
}
]
}