stablyai/orca · error · Error
Unable to load agent sessions
Error message
Unable to load agent sessions
What it means
Thrown (then caught locally into a sheet error state) when `session.tabs.list` (populate the send-sheet with available agent terminals) returns ok:false. The host's error.message is preferred; the literal is the fallback. The catch puts the sheet into {kind:'error'}.
Source
Thrown at mobile/src/session/use-mobile-diff-review-send-actions.ts:136
throw new Error('Created terminal response was invalid')
}
await sendPromptToTerminal(created.terminal, comments)
},
[client, connState, sendPromptToTerminal, worktreeId]
)
const openSendSheet = useCallback(async () => {
if (!client || connState !== 'connected') {
setActionError('Waiting for desktop...')
return
}
setSendSheet({ kind: 'loading' })
try {
const response = await client.sendRequest('session.tabs.list', {
worktree: `id:${worktreeId}`
})
if (!response.ok) {
throw new Error(response.error?.message || 'Unable to load agent sessions')
}
setSendSheet({ kind: 'ready', terminals: readMobileReviewTerminalTabs(response.result) })
} catch (err) {
setSendSheet({
kind: 'error',
message: err instanceof Error ? err.message : 'Unable to load agent sessions',
terminals: []
})
}
}, [client, connState, setActionError, setSendSheet, worktreeId])
return {
clearSentNotes,
copyNotes,
createTerminalAndSend,
openSendSheet,
sendPromptToTerminal
}View on GitHub (pinned to 1136503c6a)
Solutions
- Reopen the send sheet after reconnecting.
- Verify the session/worktree exists.
- Check host logs.
- Update versions.
Example fix
// before
if (!response.ok) {
throw new Error(response.error?.message || 'Unable to load agent sessions')
}
// after
if (!response.ok) {
throw new RpcMethodError('session.tabs.list', response.error)
} Defensive patterns
Strategy: try-catch
Validate before calling
if (!client || connState !== 'connected') {
setActionError('Waiting for desktop...')
return
} Type guard
function isRpcFailure(r: RpcResponse): r is RpcFailure {
return r.ok === false
} Try / catch
try {
await openSendSheet()
} catch (err) {
setSendSheet({ kind: 'error', message: err instanceof Error ? err.message : 'Unable to load agent sessions', terminals: [] })
} Prevention
- Open the send sheet only when connected.
- Retry session.tabs.list on cutover.
- Show a retry control in the error sheet state.
When it happens
Trigger: Host cannot list session tabs - session gone, transport failure, or host shutting down.
Common situations: Relay drop when opening the send sheet; host restart; version skew on session.tabs.list params.
Related errors
- Failed to save review state
- Source control action failed
- Waiting for desktop...
- Failed to send notes
- Terminal input is locked
AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12).
Data as JSON: /api/errors/65d22e79991c8ff9.
Report an issue: GitHub.