Use REA with Claude Code and Claude Desktop
Unofficial guide. This site is an independent community guide and is not affiliated with the REA project. For authoritative docs see the official REA website and the morluto/rea GitHub repository. Commands here are taken from the official README/docs (checked 2026-10-19); REA changes quickly, so verify against the official docs.
Tested on 2026-10-17: Debian 13 x64, rea-agents 6.5.0, Node.js 22.20.0, in a throwaway HOME folder. Claude Code output below is copied from the terminal. We could not run Claude Desktop on Linux, so that part comes from REA's own setup plan text and the linked GitHub issues.
Short answer: run npx -y rea-agents@latest setup --client claude_code for Claude Code, or --client claude_desktop for Claude Desktop (quit the app fully first). Then restart Claude and check with npx -y [email protected] doctor --client claude_code.
Claude Code
1. Check Node.js
Claude Code starts REA with npx, so the Node.js on its PATH must be 22.19+, 24.11+ or 26+. On Node 20 our doctor run failed the node check with Install Node.js 22.x (>=22.19), 24.x (>=24.11), or 26+. (install guide).
2. Register REA
npx -y rea-agents@latest setup --client claude_code --dry-run # preview, writes nothing
npx -y rea-agents@latest setup --client claude_code # approve the plan
# from a script / CI (no prompt): add --yesOur run edited ~/.claude.json (it made ~/.claude.json.rea.backup first) and installed REA's workflow skill to ~/.claude/skills/reverse-engineer-anything, which is where Claude Code loads personal skills. Older releases put the skill in ~/.agents/skills instead, where Claude Code doesn't look (#1337, fixed). This is the entry setup wrote:
// ~/.claude.json (only the REA part shown)
{
"mcpServers": {
"rea": {
"command": "npx",
"args": ["-y", "[email protected]", "mcp"]
}
}
}Setup pins the exact version, so after a new release run setup again to move the pin.
3. Verify
$ npx -y [email protected] doctor --client claude_code
healthy: true
environment_healthy: false
scope:
mode: explicit
clients[1]: claude_code
…
scope_checks[2]:
- name: node
ok: true
classification: healthy
detail: 22.20.0
- name: "registration:claude_code"
ok: true
classification: healthy
detail: ~/.claude.json
…healthy: true means Node and the Claude Code registration are fine. environment_healthy: false only means no native engine (Ghidra, Hopper, IDA, JADX) is configured yet. JavaScript, Electron, .NET and web targets work without one. Then restart Claude Code and run /mcp; you should see a server named rea.
Too many tools for the context window?
REA exposes a lot of tools. If Claude Code warns about context size, add "env": {"REA_MCP_INPUT_SCHEMA_PROFILE": "compact"} to the rea entry (details).
Claude Desktop
Client ID claude_desktop. The server entry is the same mcpServers.rea block as above, in claude_desktop_config.json.
npx -y rea-agents@latest setup --client claude_desktop --dry-run
npx -y rea-agents@latest setup --client claude_desktopREA's setup plan says: "Quit Claude Desktop fully before approving; closing its window is not enough. A running Claude Desktop can rewrite this file from memory and drop the registration. Start it again after setup."
Where the config file is
| System | File |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows (installer build) | %APPDATA%\Claude\claude_desktop_config.json |
| Windows (Microsoft Store / MSIX build) | A package-private copy under %LOCALAPPDATA%\Packages\<package>\LocalCache\Roaming\Claude\ |
| Linux (what our test run planned) | ~/.config/Claude/claude_desktop_config.json |
The MSIX case matters. Before the fix in PR #2426 (merged 2026-10-13, before 6.5.0 shipped), setup wrote to %APPDATA%, doctor said healthy: true, and the Store app never read the file. Issue #4432 (open as of 2026-10-17) reports the same false "healthy" on Store builds whose package is named AnthropicPBC.Claude_…. If REA's tools never show up in a Store install, compare the path in doctor --client claude_desktop with the folder your app actually uses.
Known bug: "expected object, received string"
In Claude Desktop, REA tools that take object or array arguments can fail before they run:
Input validation error: Invalid arguments for tool compare_web_screenshots:
before: Invalid input: expected object, received string,
after: Invalid input: expected object, received stringReported in #3408 (Windows, capture_browser_scenario, inspect_web_page with allowed_origins) and #4058 (macOS, compare_web_screenshots). Tools with plain string or number arguments work over the same connection; the reporter of #4058 ran open_binary and binary_overview with Ghidra without trouble. A contributor traced it to object parameters advertised through shared $ref/$defs schemas. Both issues were still open on 2026-10-17.
Workaround: use REA's compact schema profile. Open PR #3486 would make it the default for Claude Desktop, and says the owner's repeat test on native Claude Desktop accepted the structured calls with it. Until that ships, set it yourself and restart the app:
{
"mcpServers": {
"rea": {
"command": "npx",
"args": ["-y", "[email protected]", "mcp"],
"env": { "REA_MCP_INPUT_SCHEMA_PROFILE": "compact" }
}
}
}"Claude can't use Compare Web Captures from REA"
Issue #4081 (Windows, open): after a successful setup, most REA tools work but Claude Desktop shows a toast saying it can't use Compare Web Captures "because of a problem with that connector". It's the same family of object-parameter problem. The rest of REA keeps working, so you can ignore the toast unless you need that tool.
Claude Code or Claude Desktop?
For reverse engineering work, Claude Code is the smoother choice right now: the setup path, skill location and doctor check all line up, and we haven't found an open Claude Code bug like the Desktop ones above. Use Claude Desktop if that's where you already work, and set the compact profile from the start.
Related guides
- MCP setup for Claude Code & Cursor
- REA MCP config generator
- REA tools filling Claude Code context
- REA with Codex
- Troubleshooting & FAQ
Sources: installation.md#supported-agents · client-configuration.md · issue #1337 · PR #2426 · issue #3408 · issue #4058 · issue #4081 · issue #4432 · PR #3486
FAQ
How do I add REA to Claude Code?
Run npx -y rea-agents@latest setup --client claude_code, restart Claude Code, and confirm with rea doctor --client claude_code. Setup adds mcpServers.rea to ~/.claude.json.
How do I add REA to Claude Desktop?
Quit Claude Desktop fully, run npx -y rea-agents@latest setup --client claude_desktop, then start the app again.
Why does REA say 'expected object, received string' in Claude Desktop?
It's a known open bug with object and array tool arguments (issues #3408 and #4058). Setting REA_MCP_INPUT_SCHEMA_PROFILE=compact in the rea server's env is the workaround proposed in PR #3486.
Where does setup put the REA skill for Claude Code?
~/.claude/skills/reverse-engineer-anything in rea-agents 6.5.0.