You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add an error event to InspectorClientEventMap so mid-session transport failures surface #1323
useInspectorClient exposes status driven by the OAuth/XState machine inside InspectorClient. The status can transition connected → error when a transport dies mid-session (stdio subprocess crash, SSE stream drop, HTTP 5xx). Callers see the status flip but don't get the reason.
#1244 wired App.tsx to useInspectorClient and captures errorMessage only from client.connect() Promise rejection (handshake-only). A state-machine transition to "error" after a successful connect bypasses that path and leaves the UI's errorMessage stale (or unset).
Scope
Add error: { detail: string; cause?: unknown } (or similar shape) to InspectorClientEventMap in core/mcp/inspectorClientEventTarget.ts.
Dispatch from every code path inside core/mcp/inspectorClient.ts that sets status to "error" outside of an awaited promise.
Expose lastError?: string on useInspectorClient's return type so consumers can render it without subscribing to the event directly.
Update App.tsx to consume the new field instead of the connect() catch (or in addition to, for the handshake case).
Out of scope
Reconnection UX. This is just about surfacing the reason.
Activity
fix(web): address #1244 PR review feedback (JsonValue cast, client li…
Wire App.tsx to v2 core/ hook layer; remove demo stub from InspectorV…
feat(core): surface mid-session transport failures via lastError (#1489)