REA stands for Reverse Engineer Anything. It is an open-source tool that connects a coding agent, such as Claude Code or Codex, to ways of inspecting finished software. Think of buying a clock and carefully examining its gears to learn how it keeps time. You may understand a useful mechanism without having the clockmaker’s original drawings.
In software, those clues may be a website’s page structure, an Electron app’s JavaScript modules, or instructions inside a compiled program. REA collects findings and evidence; the agent uses them to explain what it found, ask a better follow-up question, or help build and test a similar feature. The project’s official repository describes this as a local CLI and MCP server. An AI agent is the assistant taking steps; REA is one set of tools it can call. It is not a new language model.
Pick one feature
“How does this app copy formatted text?”
Follow the trail
The agent asks REA to inspect relevant files, calls, or observed behavior.
Show the evidence
REA returns observations and unknowns; the agent connects the pieces.
Test the result
A person verifies the explanation or tests the feature they build.
What changed recently?
The project’s October 18 release is version 6.7.0. Its headline fix makes setup handle duplicate settings in some agent configuration files more safely. The release also includes the 6.6.0 changes, which were tagged but not published to npm. Those changes add a caller-installed Kuna analysis option, let users query selected JavaScript findings without repeating the whole analysis, and expand specific Ghidra and Android inspection paths. These are tooling improvements, not evidence that REA can correctly reconstruct any arbitrary app.
What could I use it for?
Suppose you built an app years ago but lost the source. REA could help an agent inspect the remaining package and work out where a feature lives. Or suppose you are studying an open-source app’s shipped version and want to compare what the running program does with what you expected. The project also shows a case study tracing an Electron app’s clipboard path.
It supports several kinds of material, but the setup depends on the target. Basic JavaScript and Electron inspection needs Node.js; deep inspection of native programs needs an existing analysis engine such as Ghidra, Hopper, or IDA. Browser inspection needs a Chrome-family browser. The project’s support table is more useful than the word “anything” when deciding whether a particular app is a fit.
What does it not do?
REA cannot retrieve a developer’s exact original source code from a compiled app. Pseudocode and inferred relationships can be incomplete or misleading. A feature’s interface might be visible while its server-side logic is not. The agent can also make a convincing story from weak clues. Ask for the specific file, instruction, network observation, or test that supports each important claim.
The project says inspection runs locally, but if you use a cloud-based coding agent, its provider may receive tool results. Check what you are sharing before investigating private software. The project frames its intended uses around lawful research, education, interoperability, preservation, and software you own or are authorized to examine. Its name does not grant permission to copy someone else’s product or bypass restrictions.
REA is a microscope for coding agents: it helps them look at available software evidence. The agent still has to reason carefully, and you still have to verify the answer.
Sources & further reading
Primary project material reviewed October 19, 2026.