{"record":{"id":"f191f6f282b83359","repo":"stablyai/orca","slug":"accessibility-error-f191f6","errorCode":"accessibility_error","errorMessage":"Orca Computer Use.app was not found","messagePattern":"Orca Computer Use\\.app was not found","errorType":"error_code","errorClass":"RuntimeClientError","httpStatus":null,"severity":"error","filePath":"src/main/computer/macos-native-provider-client.ts","lineNumber":99,"sourceCode":"      clearTimeout(pending.timer)\n      pending.reject(\n        new RuntimeClientError('accessibility_error', 'native macOS provider shut down')\n      )\n      this.pending.delete(id)\n    }\n    this.cleanupSocketDirectory()\n  }\n  private async call(method: NativeMethod, params: unknown): Promise<unknown> {\n    if (method !== 'handshake') {\n      await this.ensureCompatible()\n    }\n    return await this.send(method, params)\n  }\n  private async send(method: NativeMethod, params: unknown): Promise<unknown> {\n    const id = this.nextId++\n    const helperExecutablePath = resolveMacOSComputerUseExecutablePath()\n    if (!helperExecutablePath) {\n      throw new RuntimeClientError('accessibility_error', 'Orca Computer Use.app was not found')\n    }\n    const transport = await this.ensureSocketStarted(helperExecutablePath)\n    const token = this.socketToken\n    const line = `${JSON.stringify({ id, method, params, token })}\\n`\n    const result = new Promise<unknown>((resolve, reject) => {\n      const timer = setTimeout(() => {\n        this.pending.delete(id)\n        this.shutdown()\n        reject(\n          new RuntimeClientError('action_timeout', `native macOS provider ${method} timed out`)\n        )\n      }, REQUEST_TIMEOUT_MS)\n\n      this.pending.set(id, { resolve, reject, timer })\n    })\n    try {\n      await writeNativeProviderLine(transport, line)\n    } catch (error) {","sourceCodeStart":81,"sourceCodeEnd":117,"githubUrl":"https://github.com/stablyai/orca/blob/1136503c6a231a16dce8f921f6fadb63d181e8db/src/main/computer/macos-native-provider-client.ts#L81-L117","documentation":"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'.","triggerScenarios":"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.","commonSituations":"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.","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'`."],"exampleFix":"// before: stale .app missing the inner executable\nawait client.snapshot({})\n\n// after: ensure the executable is present before any provider call\nconst execPath = resolveMacOSComputerUseExecutablePath()\nif (!execPath) {\n  // surface a setup hint, do not call the provider\n}\nawait client.snapshot({})","handlingStrategy":"validation","validationCode":"import { resolveMacOSComputerUseExecutablePath } from './macos-native-provider-paths'\n\nfunction nativeProviderExecutableAvailable(): boolean {\n  return process.platform === 'darwin' && resolveMacOSComputerUseExecutablePath() !== null\n}\n\n// guard before any client.listApps/snapshot/action call","typeGuard":null,"tryCatchPattern":"try {\n  await client.snapshot(params)\n} catch (e) {\n  if (e instanceof RuntimeClientError && e.code === 'accessibility_error' && /was not found/.test(e.message)) {\n    // rebuild/reinstall helper, do not retry blindly\n  } else throw e\n}","preventionTips":["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."],"tags":["macos","computer-use","native-helper","missing-binary","accessibility"],"backgroundTag":null,"analyzedSha":"1136503c6a231a16dce8f921f6fadb63d181e8db","analyzedAt":"2026-08-12T23:15:58.167Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}