stablyai/orca · error · RuntimeClientError
accessibility_error
accessibility_error
Error message
Orca Computer Use.app was not found
What it means
Thrown at the top of MacOSNativeProviderClient.send on every non-handshake call when resolveMacOSComputerUseExecutablePath() returns null — i.e. the .app exists but its Contents/MacOS/orca-computer-use-macos binary is missing, or the .app itself is gone. The provider cannot start a socket transport without the executable, so the call fails fast under code 'accessibility_error'.
Source
Thrown at src/main/computer/macos-native-provider-client.ts:99
clearTimeout(pending.timer)
pending.reject(
new RuntimeClientError('accessibility_error', 'native macOS provider shut down')
)
this.pending.delete(id)
}
this.cleanupSocketDirectory()
}
private async call(method: NativeMethod, params: unknown): Promise<unknown> {
if (method !== 'handshake') {
await this.ensureCompatible()
}
return await this.send(method, params)
}
private async send(method: NativeMethod, params: unknown): Promise<unknown> {
const id = this.nextId++
const helperExecutablePath = resolveMacOSComputerUseExecutablePath()
if (!helperExecutablePath) {
throw new RuntimeClientError('accessibility_error', 'Orca Computer Use.app was not found')
}
const transport = await this.ensureSocketStarted(helperExecutablePath)
const token = this.socketToken
const line = `${JSON.stringify({ id, method, params, token })}\n`
const result = new Promise<unknown>((resolve, reject) => {
const timer = setTimeout(() => {
this.pending.delete(id)
this.shutdown()
reject(
new RuntimeClientError('action_timeout', `native macOS provider ${method} timed out`)
)
}, REQUEST_TIMEOUT_MS)
this.pending.set(id, { resolve, reject, timer })
})
try {
await writeNativeProviderLine(transport, line)
} catch (error) {View on GitHub (pinned to 1136503c6a)
Solutions
- Rebuild the native helper (`pnpm build:computer-macos`) to restore Contents/MacOS/orca-computer-use-macos.
- Inspect the resolved .app: `ls -la 'Orca Computer Use.app/Contents/MacOS/'` — the executable must exist and be runnable.
- If using ORCA_COMPUTER_MACOS_HELPER_APP_PATH, point it at a complete .app, not a partial tree.
- Clear quarantine attributes if Gatekeeper stripped the binary: `xattr -dr com.apple.quarantine 'Orca Computer Use.app'`.
Example fix
// before: stale .app missing the inner executable
await client.snapshot({})
// after: ensure the executable is present before any provider call
const execPath = resolveMacOSComputerUseExecutablePath()
if (!execPath) {
// surface a setup hint, do not call the provider
}
await client.snapshot({}) Defensive patterns
Strategy: validation
Validate before calling
import { resolveMacOSComputerUseExecutablePath } from './macos-native-provider-paths'
function nativeProviderExecutableAvailable(): boolean {
return process.platform === 'darwin' && resolveMacOSComputerUseExecutablePath() !== null
}
// guard before any client.listApps/snapshot/action call Try / catch
try {
await client.snapshot(params)
} catch (e) {
if (e instanceof RuntimeClientError && e.code === 'accessibility_error' && /was not found/.test(e.message)) {
// rebuild/reinstall helper, do not retry blindly
} else throw e
} Prevention
- Build the native target after every pull that touches native/computer-use-macos.
- Do not set ORCA_COMPUTER_MACOS_HELPER_APP_PATH to a partial .app skeleton.
- Gate computer-use in the UI on a one-shot executable presence check at startup.
When it happens
Trigger: Any provider method (listApps, snapshot, action, etc.) called after the helper .app was deleted, partially copied, or had its MacOS executable stripped; or when the .app resolves via the override env var but the inner binary path does not.
Common situations: A rebuild interrupted mid-copy leaving a half-populated .app; a packaged install where the executable lacks the executable bit; ORCA_COMPUTER_MACOS_HELPER_APP_PATH pointing at a stale .app skeleton; antivirus/Gatekeeper quarantine removing the unsigned inner binary.
Related errors
- accessibility_error
- Missing Orca Computer Use helper app at ${helperAppPath}
- Missing signing identity for Orca Computer Use helper app
- {action} is not a valid secondary action
- element value is not settable
AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12).
Data as JSON: /api/errors/f191f6f282b83359.
Report an issue: GitHub.