REA common errors and fixes

Last updated: · By the RepoRead editorial team · Unofficial guide
Quick answer

For REA 6.5.0 (October 2026), the upstream docs' first fix for any bug is to update, then check host prerequisites such as a procps-compatible ps on Linux and your analysis provider's setup.

When REA fails, do this in order:

  1. Update — rea update (global install) or npx rea-agents@latest setup, then restart the agent.
  2. Diagnose — rea doctor --json (optionally --provider ghidra / --client <id>).
  3. Match the structured error: — capability_unavailable with selection_reason: ambiguous → choose from details.candidate_ids (--provider / provider_id). — capability_unavailable with provider_unavailable / plain provider_unavailable → repair the selected engine (path, JDK, native decompiler). — execution_failure → read the message; on Linux often a missing procps-compatible ps.
  4. For large native targets, raise REA_GHIDRA_STARTUP_TIMEOUT_MS or REA_HOPPER_STARTUP_TIMEOUT_MS.

Only analyze authorized software.

Update first

# Global npm / Bun install
rea update

# npx-based agent setup
npx rea-agents@latest setup

Bun global updates need Bun 1.2.17+. Older Bun: upgrade Bun manually before rea update.

Linux: procps-compatible ps

On Linux, Ghidra, JADX, firmware tools and static JavaScript/Electron analysis need a procps-compatible ps on REA's PATH for process ownership checks. Install your distro's procps or procps-ng package.

A missing or incompatible ps causes a refusal before the supervised child starts. Public error codes vary: capability_unavailable, provider_unavailable or execution_failure. Check this prerequisite before chasing provider-specific advice.

Common fix cards

capability_unavailable (selection_reason: ambiguous)

Fix: Several providers can open the target. Pass --provider (CLI) or provider_id (MCP) and choose from details.candidate_ids. Run rea providers --json to list engines.

provider_unavailable / capability_unavailable (provider_unavailable)

Fix: The selected engine cannot run. Fix GHIDRA_INSTALL_DIR / JDK / native decompiler, then rea doctor --provider ghidra --json (or hopper / ida).

Linux: missing procps-compatible ps

Fix: Install your distro's procps or procps-ng so a compatible ps is on REA's PATH. Required before Ghidra, JADX, firmware and static JavaScript/Electron launches.

Error code table

Code / signalMeaning (from REA docs)What to do
capability_unavailable + ambiguousSeveral providers can open the targetPass --provider / provider_id; pick from details.candidate_ids
capability_unavailable + provider_unavailableSelected engine cannot runFix install; rea doctor --provider <id> --json
provider_unavailableEngine not readySame as above
execution_failureChild/process failureCheck Linux ps, permissions, logs
Exit 0Operation completed (may still have partial evidence)Read warnings / unknowns
Exit 1Could not completeRead structured output
Exit 130 / 143SIGINT / SIGTERM after cancel handlingRe-run if you interrupted on purpose

List providers:

rea providers --json
rea capabilities --json

Timeouts on large binaries

export REA_GHIDRA_STARTUP_TIMEOUT_MS=600000
# or
export REA_HOPPER_STARTUP_TIMEOUT_MS=600000

Upstream notes that some query paths historically failed around a flat ~60s window shorter than a configured Ghidra startup timeout (see closed issue discussion in the tracker). Prefer current rea-agents@latest before assuming a timeout bug.

Known issues worth knowing (open / closed examples)

Checked via GitHub Issues API on 2026-10-17 (UTC). Status changes; always open the issue link.

#State (then)Topic
1701openWindows native authority self-test failure
4620openGemini CLI HTTP 400 INVALID_ARGUMENT with REA skill
4058opencompare_web_screenshots fails in Claude Desktop
1554openFull MCP input catalog blocks ordinary Copilot CLI chat
1685openWindows MCP startup module-resolution I/O
1783closedGhidra timeout on Swift/ObjC arm64 Mach-O during auto-analysis
1387closed6.3.0 JS analysis abort on large bundle that 6.2.0 completed

How to file a useful issue

Include: REA version (npm view rea-agents version / rea --help output), OS, target type (not proprietary payloads), exact command, doctor JSON snippet, and error code. Do not paste secrets or unauthorized binaries.

Tracker: https://github.com/morluto/rea/issues

FAQ

Doctor says unhealthy but my workflow works?

Without scope options, doctor audits every detected registration and optional engines; overall healthy can be false while your chosen path works. Use scoped --provider / --client.

Setup says capability_unavailable after I installed Ghidra

Confirm GHIDRA_INSTALL_DIR, matching JDK, and the host native decompiler binary. See Ghidra setup.

Should I downgrade when a release breaks JS analysis?

Prefer upgrading to @latest first (6.3.0 had a documented large-bundle abort that later releases addressed). If you must pin, use an explicit npm version knowing you lose fixes.

Does RepoRead provide patches?

No. Fix upstream or work around with documented env vars and doctor remediation.

Sources