Back to Blog
AIClaude CodeDeveloper ToolsOpen SourceReverse Engineering

REA Lets Your AI Look Inside Any App. Here's How to Set It Up.

How to set up REA, the free tool that lets Claude Code, Cursor or Codex reverse engineer any app on your laptop. One command, then your first question.

·October 15, 2026·7 min read

A free GitHub repo picked up over 260,000 stars in six months. It was created on April 14, 2026.

It's called REA, short for Reverse Engineer Anything. It lets your AI look inside any app on your laptop and explain how a feature works, even when the company keeps its code private.

If you commented REA on my post, this is the setup guide I promised. If you didn't, you're still in the right place.

What REA Does When You Reverse Engineer an App

Every app you use is built from code, but you never see that code. You get the finished app, compiled into something that looks like noise to a human.

REA hands that noise to your AI and gives it the tools to read it.

Under the hood, REA is an MCP server. That's the standard way AI coding agents plug into outside tools (I wrote about why MCP matters so much a while back). Once it's connected, you ask a normal question in Claude Code, Cursor or Codex, and the agent uses REA to dig through the app and come back with an answer and the evidence behind it.

The REA team's Notion showcase is the best example of this. They asked why Notion blocks keep their formatting when you copy and paste them. REA traced it through Notion Desktop 7.6.1 and found that a copy puts three versions on your clipboard: plain text, HTML, and a private Notion format that holds the full block. The HTML version also carries a hidden copy ID, so when you paste back into Notion, it can bring the whole block back.

Nobody at Notion explained that. The AI worked it out from the app itself.

The other showcase is DX-Ball, a brick-breaker game from 1996. REA worked out how the game decides whether a sound plays from the left or right speaker, and the rebuilt version passed 3,205 out of 3,205 tests against the original. It did that from the game file alone.

What You Need Before You Install REA

You need two things.

First, a coding agent. Claude Code, Cursor or Codex all work. REA's setup supports 24 agents in total, including Claude Desktop, Gemini CLI, Windsurf and VS Code.

Second, a recent version of Node.js. REA needs Node 22.19 or newer on the 22 line, 24.11 or newer on the 24 line, or anything from 26 up. Node 23 and 25 are not supported.

Check what you have:

node -v
npm -v

If the first command fails or shows an old version, install Node 24 LTS:

  • Mac: download the installer from nodejs.org, or run brew install node if you use Homebrew.
  • Windows: run winget install --exact --id OpenJS.NodeJS.LTS in PowerShell.
  • Linux: use fnm, then run fnm install 24 and fnm use 24.

Close your terminal and open a new one before you check again.

Set Up REA in One Command

Open a terminal and run:

npx rea-agents@latest setup

Here's what happens next. REA shows you a list of the coding agents it found on your computer. You pick the ones you want, and it shows you exactly which settings files it plans to change. Nothing changes until you approve, and it backs up your existing settings first.

It installs two things for each agent: the REA MCP server, and a skill called reverse-engineer-anything that teaches your agent how to run an investigation properly. (If skills are new to you, I wrote about how they replaced half my workflow.)

When it finishes, restart your agent. This is the step everyone skips. On a Mac, quit desktop apps fully with Cmd+Q. For Claude Code or Codex in a terminal, exit and start a new session.

If you only want one agent, name it directly:

npx rea-agents@latest setup --client claude_code
npx rea-agents@latest setup --client cursor
npx rea-agents@latest setup --client codex

A few platform notes:

  • Windows: if PowerShell blocks the command, use npx.cmd instead of npx.
  • Claude Desktop: quit it completely first, then run the setup from a normal terminal, not from inside Claude.

There's also a lazier way. Paste this into your coding agent and let it do the work:

Install REA and connect it to this coding agent using npx rea-agents@latest setup. Show me the setup plan for approval, then verify the installation.

Check That REA Is Connected

Run the built-in health check, swapping in your agent's name:

npx -y rea-agents@latest doctor --client claude_code --json

You're looking for "healthy": true in the output.

Then open your agent and ask:

Check that REA is connected and show me which REA tools you can use.

If it lists the tools, you're done with setup.

Your First Investigation With REA

Don't start with a big app. REA's own beginner walkthrough uses a tiny six-file notes app built for practice. Download it from rea.tools/examples/notes-example.zip, unzip it, open your agent in that folder and ask:

Use REA to find what happens when I click Export notes. Show where notes.csv is written, which fields it contains, and the relevant files and lines.

You should get back the exact file that handles the button, where the CSV gets saved, and which columns it writes. That's the whole loop: question in, evidence out.

After that, point it at a real app. The question format is simple:

Understand how search works in the Notes app, show me the evidence, and build a similar feature for my project.

Swap in your own app and feature. Apps built with Electron, like Notion, Slack, VS Code and Discord, work straight away because REA can read them without any extra tools.

Native apps and games are different. For those, REA needs a decompiler installed on your machine, and the setup never installs one for you. The free option is Ghidra 12.1 with Java 21 or newer. Hopper and IDA work too. The installation docs walk through each one.

The Uncomfortable Part: Having an App Doesn't Mean You Can Take It Apart

REA is a microscope, not a crowbar. I want to be clear about that, because a tool this powerful will tempt some people to use it the wrong way.

REA's own disclaimer lists what it's for: learning how software works, security research, malware analysis, saving old software, and debugging apps you own or have permission to examine.

It also lists what it won't support: cracking paid apps, getting around license checks or DRM, cheating in games, and copying someone else's code. The team closes those requests without a reply.

Here's my take. Most of the conversation around tools like this is about what you could break. The more interesting use is what you can learn. Reading how Notion handles a clipboard or how a 1996 game pans its sound is the kind of education that used to take years of assembly. Now it's one question.

Use it to learn, then build your own version. That's the line between a builder and a pirate.

One more thing. REA runs on your laptop, but your agent sends what REA finds to its AI provider. If the app you're inspecting is sensitive, keep that in mind. And the laws on reverse engineering differ by country, so check yours.

When REA Setup Goes Wrong

Most problems fall into a few buckets:

  • The agent can't see REA. Restart the agent fully, then run the doctor command again. In editors like Cursor, check that REA is switched on in the MCP settings.
  • "Unsupported Node version." You're probably on Node 23 or 25. Install Node 24 LTS.
  • Mac permission errors. If REA uses Hopper and macOS blocks it, go to System Settings, then Privacy & Security, then Automation, and allow the app that started REA.
  • Hopper won't launch. Open Hopper once yourself and finish the demo or license screen first.
  • Big apps time out. Large files take longer to analyze. Ask about one feature instead of the whole app, or raise the time limit as shown in the installation docs.

REA ships updates almost daily. If something breaks, run npx rea-agents@latest setup again to get the newest version.

The repo is at github.com/morluto/rea, and it's MIT licensed and free.

Pick an app you use every day. Ask how one feature works. Then build it yourself.