For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /docs/standalone-app.md.

Standalone App

Experimental

The standalone app is an experiment in alternative DevTools workflows. It may change in future releases.

The standalone Rozenite app runs your plugin panels in their own window instead of inside React Native DevTools. It connects straight to the device, so it gives you the plugins you installed and nothing else.

Before you start

You need to install the optional @rozenite/electron-app package separately:

npm
yarn
pnpm
bun
deno
npm install -D @rozenite/electron-app

If you skip this step, rozenite open tells you to install it when you run the command.

Why use it

The standalone app is for two situations.

You mostly use Rozenite. If your debugging happens in Rozenite panels rather than in React Native DevTools' built-in tools, the standalone app gives you those panels and nothing else — one window, the plugins you installed, no tab to hunt for.

You're on another target. The app connects straight to the device rather than going through React Native DevTools, so it works the same way whichever target you're debugging.

Connecting directly has a useful side effect: your panels aren't torn down when the app's JS VM reloads, so panel state survives a Fast Refresh, a crash or a manual reload.

Launching it

Run rozenite open in your project:

npm
pnpm
yarn
bun
npx rozenite open

This lists all devices currently connected to your dev server and opens the standalone app in an Electron window for the one you pick.

Both supported integrations are looked up: React Native's Metro on port 8081 and Lynx's dev server on port 3000. Whichever ones are running contribute their devices to the list, and each entry is labelled with the integration it belongs to, so a project running both is picked apart at the prompt. A port that isn't listening is simply skipped.

Options

  • --host <host> — Dev server host to connect to (default 127.0.0.1).
  • --port <port> — A single dev server port to look at. Without it, both 8081 and 3000 are scanned.
  • --deviceId <id> — Open a specific device directly, skipping the picker prompt.

Examples:

npm
pnpm
yarn
bun
npx rozenite open --deviceId <id>
npm
pnpm
yarn
bun
npx rozenite open --host 192.168.1.10 --port 8081

Pass --port when your dev server listens somewhere other than its default — it then queries that port only, instead of scanning both defaults.

rozenite open requires an interactive terminal — it opens an Electron window and (without --deviceId) prompts you to pick a device, so it refuses to run in CI or a piped/non-TTY shell.

Limitations

  • A dev server must be running. rozenite open discovers devices through the dev server's own device list, and the app itself is served by that dev server. If it stops after you've opened the app, the app shows a "dev server unreachable" state until it is back.
  • It competes for the single debugger slot. The standalone app connects directly to the device the same way React Native DevTools and rozenite agent do. Only one of these can be attached to a given device at a time — the last one to connect wins, disconnecting whichever was attached before it.

Troubleshooting

"Could not launch the Rozenite standalone app. It requires @rozenite/electron-app to be installed in your project."

This error means you haven't installed the optional @rozenite/electron-app package. Go back to Before you start and install it, then try rozenite open again.

Need React or React Native expertise you can count on?