stablyai/orca · error · RuntimeClientError
invalid_argument
invalid_argument
Error message
unknown computer sidecar method '${method}' What it means
sidecar-entry dispatch's switch falls through to default when message.method is not one of the known ComputerSidecarMethod values. It throws 'invalid_argument' with the offending method name. The caller is the parent sidecar-client which only ever sends typed ComputerSidecarMethod values, so reaching here means a contract drift or external IPC.
Source
Thrown at src/main/computer/sidecar-entry.ts:90
return await provider.action('drag', params)
}
case 'typeText': {
return await provider.action('typeText', params)
}
case 'pressKey': {
return await provider.action('pressKey', params)
}
case 'hotkey': {
return await provider.action('hotkey', params)
}
case 'pasteText': {
return await provider.action('pasteText', params)
}
case 'setValue': {
return await provider.action('setValue', params)
}
default:
throw new RuntimeClientError(
'invalid_argument',
`unknown computer sidecar method '${method}'`
)
}
}
function isRequest(message: unknown): message is SidecarRequest {
if (!message || typeof message !== 'object') {
return false
}
const record = message as Record<string, unknown>
return (
typeof record.id === 'number' &&
typeof record.method === 'string' &&
(record.params === undefined || (typeof record.params === 'object' && record.params !== null))
)
}
View on GitHub (pinned to 1136503c6a)
Solutions
- Rebuild so parent (sidecar-client) and child (sidecar-entry) ship from the same commit — the ComputerSidecarMethod union and the dispatch switch must stay in sync.
- If you added a new method, add the matching case to dispatch in the same change.
- Do not drive the sidecar IPC channel from outside the sidecar-client wrapper; treat it as private.
Example fix
// before: parent sends a method the child does not know yet
await sidecar.call('highlightElement' as ComputerSidecarMethod, params)
// after: add the case in sidecar-entry.ts dispatch and rebuild both sides
case 'highlightElement': {
return await provider.action('highlightElement', params)
} Defensive patterns
Strategy: validation
Validate before calling
const KNOWN_METHODS = new Set<ComputerSidecarMethod>([
'capabilities', 'listApps', 'listWindows', 'getAppState',
'click', 'performSecondaryAction', 'scroll', 'drag',
'typeText', 'pressKey', 'hotkey', 'pasteText', 'setValue'
])
function isKnownSidecarMethod(method: string): method is ComputerSidecarMethod {
return KNOWN_METHODS.has(method as ComputerSidecarMethod)
}
// guard at the call boundary
if (!isKnownSidecarMethod(method)) throw new TypeError(`unknown method ${method}`) Type guard
function isKnownSidecarMethod(method: string): method is ComputerSidecarMethod {
return KNOWN_METHODS.has(method as ComputerSidecarMethod)
} Try / catch
try {
await dispatch(method, params)
} catch (e) {
if (e instanceof RuntimeClientError && e.code === 'invalid_argument' && /^unknown computer sidecar method/.test(e.message)) {
// parent/child skew — rebuild both; do not retry
} else throw e
} Prevention
- Keep the ComputerSidecarMethod union and sidecar-entry dispatch switch in the same commit.
- Treat the sidecar IPC channel as private — do not drive it from outside sidecar-client.
- Rebuild parent and child together after touching the method set.
When it happens
Trigger: A new method was added to ComputerSidecarMethod in the parent but the sidecar entry's switch was not updated (skewed builds); an external process sent a raw IPC message to the sidecar child; a typo or stale cached codepath dispatching an old method name.
Common situations: See trigger scenarios.
Related errors
- accessibility_error
- invalid_argument
- invalid_argument
- unsupported_capability
- Missing Orca Computer Use helper app at ${helperAppPath}
AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12).
Data as JSON: /api/errors/b22445dca6d9da35.
Report an issue: GitHub.