Installation

1. Install the desktop app

Download the latest release for your platform from the Download page, or grab the matching artifact from GitHub Releases.

2. Install the npm package

Inside your Expo project, install the agent as a dev dependency:

bash
# npm
npm install --save-dev rexpo-debugger

# yarn
yarn add -D rexpo-debugger

# pnpm
pnpm add -D rexpo-debugger

3. Pick an integration mode

There are two modes: **auto-discovery** (recommended) and **manual wsUrl** (fallback for networks that block mDNS).

Auto-discovery mode

The agent finds the desktop automatically. No IPs in your code, no manual updates when Wi-Fi changes.

Install the mDNS native module:

bash
npx expo install react-native-zeroconf

Add the config plugin to app.json:

json
{
  "expo": {
    "plugins": ["rexpo-debugger"]
  }
}

Initialize the agents without wsUrl:

typescript
import { initNetworkAgent, initConsoleAgent } from "rexpo-debugger";

if (__DEV__) {
  initNetworkAgent({});
  initConsoleAgent({ captureStackTrace: true });
}

Rebuild the dev client so the injected permissions take effect:

bash
npx expo prebuild
npx expo run:ios   # or run:android

Manual wsUrl mode

Use this when mDNS is blocked (corporate / guest Wi-Fi), when you don't want a native rebuild, or for Expo Go.

Skip the plugin and react-native-zeroconf, then pass wsUrl explicitly:

typescript
import { initNetworkAgent, initConsoleAgent } from "rexpo-debugger";

if (__DEV__) {
  initNetworkAgent({
    wsUrl: "ws://192.168.1.100:5051", // your computer's IP
    enabled: true,
  });
  initConsoleAgent({
    wsUrl: "ws://192.168.1.100:5051",
    enabled: true,
    captureStackTrace: true,
  });
}
The desktop app shows your machine's IPs in the header chip with a one-click copy button.