← Tech
💻Tech

REA Troubleshooting and FAQ: Common Errors, Token Cost, Privacy and Staying Legal (2026)

Fix common REA errors (setup, Ghidra timeouts, Hopper, providers), cut token cost with the compact profile, protect privacy, sandbox malware and understand legal limits.

Short version: most REA problems come down to (1) an old version, so run rea update or npx rea-agents@latest setup and restart the agent; (2) a backend that isn't ready, so run rea doctor --provider ghidra --json; or (3) large binaries hitting timeouts, so raise REA_GHIDRA_STARTUP_TIMEOUT_MS. Below are the common errors from REA's docs and GitHub issues, plus answers on token cost, privacy, malware sandboxing and the legal side.

Setup guides: install · Ghidra/IDA/Hopper · walkthrough · alternatives. Background: What is REA?

Troubleshooting: step zero

The README's own bug advice, in order:

  1. Update: rea update (global npm/Bun install) or npx rea-agents@latest setup (npx users). Review the plan and restart the agent.
  2. Retry the same task.
  3. Still broken? Open a GitHub issue with your REA version, target type, steps to reproduce and error output.

Diagnose one thing at a time. A plain rea doctor audits everything and can report healthy: false even when your workflow is fine.

rea doctor --client cursor --json      # one agent registration
rea doctor --provider ghidra --json    # one engine (or hopper / ida)
rea doctor --skill --json              # installed workflow instructions

Common errors and fixes

Symptom Likely cause Fix (from REA docs)
REA tools don't appear in the agent Agent not restarted, or the registration is stale Restart/reconnect. doctor checks files, not the live connection
rea: command not found Installed without --global npm install --global rea-agents, or use npx -y rea-agents@latest ...
Node version error Node 23/25 or too old Use Node 22.19+, 24.11+ or 26+
capability_unavailable with ambiguous Several engines fit the target Pick one: --provider ghidra or provider_id
provider_unavailable Engine misconfigured rea doctor --provider ID --json and follow the remediation
Ghidra times out on a big binary Import plus auto-analysis exceeds the 330 s default Raise REA_GHIDRA_STARTUP_TIMEOUT_MS. Also raise the client's tool timeout
Ghidra stalls on Swift/ObjC arm64 Mach-O (issue #1783) Objective-C analyzer REA_GHIDRA_DISABLED_ANALYZERS="Objective-C Message Analyzer"
native_decompiler missing (macOS) Ghidra archive lacks the mac decompiler binary Build it with the make ghidra_opt recipe in the install docs
Java/Ghidra out of memory 2G default heap GHIDRA_HEADLESS_MAXMEM=4G in the server's environment
Cannot launch Hopper! Connection is invalid. Pending demo/license/loader dialog Complete the dialog in Hopper and retry
macOS denies Apple Events (Hopper) Automation permission System Settings → Privacy & Security → Automation
Hopper not detected on Linux (issue #2270, open) Non-default path export HOPPER_LAUNCHER_PATH=/absolute/path/to/Hopper
cleanup_incomplete Shutdown couldn't be verified Retry close_binary on the same connection, per the docs
Huge, slow output on Electron apps Full evidence can be hundreds of MB Save to a file and use rea inspect-analysis-view summaries
--client dsh unsupported DeepSeek Harness is main-only after 6.4.0 Wait for the next release

Issue numbers refer to github.com/morluto/rea/issues, checked Oct 13, 2026.

Token cost: why REA can eat your context

From REA's client-configuration docs: on main, with 172 tools, the full tool definitions were about 496 KB (~120k tokens), or about 290 KB (~68k tokens) with the compact profile. Claude Code normally defers tool definitions through tool search. But if ANTHROPIC_BASE_URL points to a third-party endpoint, tool search turns off and every definition is sent with every request, which can cause "autocompact thrashing" (issue #2019). Fixes from the docs:

  • Add "REA_MCP_INPUT_SCHEMA_PROFILE": "compact" to the env of the mcpServers.rea entry (for Claude Code, in ~/.claude.json), then restart.
  • For non-default models, set CLAUDE_CODE_MAX_CONTEXT_TOKENS to the provider's real window.
  • Ask narrow questions. An open issue (#2473) notes that inspect_macho can return 80k–230k tokens for ordinary apps.

Using your own API key? Big targets plus broad prompts can cost real money. Start small.

Privacy: does REA upload my binary?

From the README FAQ: "REA analyzes targets locally. Your agent receives the tool results, and its model provider has its own data policy." So the file stays on your machine, but pseudocode, strings and other results go to whatever model your agent uses. In practice:

  • Don't analyze confidential company binaries with a cloud model unless your org's data policy allows it. Consider a model or plan with no-training/zero-retention terms.
  • Results can include secrets embedded in the binary (API keys, URLs). The disclaimer says you're responsible for protecting credentials and captured data.
  • IDA Free's cloud decompiler needs network access. The ida-free-mcp 1.1.2 plugin binds 0.0.0.0, so firewall it.

Malware analysis: sandbox it

The disclaimer lists malware and incident analysis as legitimate, but notes that some workflows execute or observe programs and that "local operation does not establish authorization or guarantee that executed targets and third-party tools have no external effects". Static workflows (Ghidra headless, .NET metadata, static JS) don't run the target. For live samples:

  • Use a dedicated, isolated VM with networking off or controlled. Never use your daily machine.
  • Stick to static workflows. Don't let the agent run process-capture tools on samples outside the sandbox.
  • Review agent-generated plans and scripts before approving them. The disclaimer makes you responsible for what your agent does.

Is using REA legal?

REA itself is a legal MIT-licensed tool. What you point it at is what matters. Not legal advice.

  • Allowed by the project: security research, malware analysis, CTFs, education, interoperability, preservation, and software you own or are authorized to examine.
  • Refused by the project: circumventing DRM, license checks or anti-cheat; game cheats; bypassing access controls; copying proprietary code or assets; reselling AI accounts.
  • EULAs: many commercial licenses (Adobe's included) forbid reverse engineering, and "possession of a file ... does not by itself establish permission," as REA's disclaimer puts it.
  • Interoperability exceptions: the EU Software Directive (Art. 6) and US DMCA §1201(f) give narrow room for reverse engineering to achieve interoperability, under conditions. They don't cover cloning a product.
  • Commercial tools: IDA Pro, Hopper and JEB must be legally licensed. Trials carry their own restrictions.

More detail: What is REA? (legal stakes section) and Is reverse engineering games legal?

Quick FAQ

Do I need Ghidra/IDA/Hopper? Only for native binaries. See backend guide. Which agents work? Any agent with local MCP support. Setup covers Claude Code, Codex, Cursor, Gemini CLI and more. See install guide. Does REA give me the original source code? No. It gives pseudocode, assembly and module graphs as evidence. Can it clone an app? The README says it doesn't claim to "automatically clone an application", and the project refuses to help copy proprietary code. How do I remove it? rea uninstall (add --purge-data to also clear ~/.rea).

Facts and commands in this guide come from REA's official README and docs on GitHub (repository morluto/rea, npm release 6.4.0 checked by the project on 2026-10-11) and rea.tools. REA changes quickly. If something here doesn't match what you see, trust the current docs.

More in this REA series

#rea#reverse-engineering#ai-agents#mcp#troubleshooting#faq#privacy#legal#2026

← Back to all posts