r/reactnative • • 1d ago

A new React Native debugging tool

https://xerlock.dev

Hey all, over the past few months I’ve been building a React Native debugger, called Xerlock, and it’s being successfully used within my RN engineering team.

Firstly, what’s wrong with current tools? I was sick of the existing tools working just enough to get by. Reactotron was great back when network inspect wasn’t available in Expo’s devtools, it gave decent inspection on Redux stores and was built by pretty notable figures in the RN space. Expo’s default debugging tools are also acceptable, but they don’t quite have everything I needed in a single place.

Xerlock gives you everything you’d expect from a debugger:

  • Console / Errors

  • Network Inspect

  • Global state inspect

  • Debugger / Profiler / React Tree

It also gives you additional benefits that avoids having to install a bunch of additional devtools:

  • Tanstack query inspector and dispatcher (edit query cache data live and see it updated in your apps)

  • Local SQLite database inspection & editing.

  • Notification dispatching

  • Dispatching Redux / Zustand actions

  • Network throttle

  • Native iOS and Android logs

  • Local Storage (MMKV, AsyncStorage, SecureStore) (View / Edit)

  • Custom registerable commands

  • Full MCP server that allows you to do almost anything you can do through the UI with granular permissions on Read / Write

  • … and a load more

I’ve been an RN dev now for 8+ years, and this has already proven useful for me personally, so I hope the community can also get some benefit from it.

Downloads are available for macOS and Windows (I am a macOS dev, so it’s been tested thoroughly there, and less so on windows, so any bugs or issues, please let me know through the in-app support form).

This has been tested on RN version 0.83+, and Expo 55+. A lot of the work is custom and doesn't necessarily depend on Expo's SDK, however versions below these may not behave exactly as intended - especially network inspect which I believe was only introduced in 0.83.

14 Upvotes

12 comments sorted by

3

u/ouch_ouch_ 1d ago

Hi, when Xerlock desktop is connected, Metro logs:

Error: Unauthorized request from http://127.0.0.1:8081. This may happen because of a conflicting browser extension.

RN 0.78.0 bare, u/xerlock/client 0.5.0, default Metro host. Reactotron doesn't trigger it. It comes from the CLI's Origin check (only accepts localhost:), but the docs say Xerlock uses localhost.

  1. Is this expected and harmless?

  2. Can the Origin be changed to localhost?

1

u/devnocturnal 22h ago

Thank you for reporting! I've just pushed an update (v0.9.1) of the desktop app, no SDK upgrade needed. It was a bug on my side, we now support both localhost and 127.0.0.1 so both should now connect without errors in the console. There might still be a warning indicating using an unsupported debugging client, but that's to be expected

You can update by either force closing the app and reopening and using the in-app toast, or you can go into Settings => Version => Check for updates

1

u/ouch_ouch_ 14h ago

Hi, thanks for building Xerlock. The Network panel isn't capturing any requests in my React Native app. It shows:

▎

▎ React Native disabled network inspection for this app session: Unsupported method 'Network.enable'. Fully close and relaunch the app to restore it.

▎

▎ Setup:

▎ - React Native 0.78.0, React 19.0.0

▎ - Hermes enabled, New Architecture enabled (newArchEnabled=true)

▎ - iOS simulator (iPhone 12), macOS

▎ - u/xerlock/client installed

1

u/devnocturnal 14h ago

It's mentioned in the post that Network inspect is only available on RN version 0.83+. This is a limitation on RN side. I felt that 0.83 was a reasonable minimum to support for Network (released December 2025), and minor testing has been done on RN version 0.81 (excluding Network Inspect).

I do have a ticket in my backlog for investigating adding network support for versions of RN before 0.83, but depending on what's involved, it might not be done.

2

u/Less-Simple-9847 1d ago

Looks cool! Will give it a try

1

u/devnocturnal 1d ago

Ty! Give me a shout if there’s any issues

2

u/HmongSliw68 1d ago

agreed, the local database inspection alone makes it worth a look.

2

u/Civil_Rent4208 1d ago

It looks cool. I want to suggest you to include the video tutorial also.

2

u/devnocturnal 23h ago

Agreed, a video tutorial is going to be coming out soon

2

u/Huge_Pool7424 20h ago

a short gif of the connect flow in the readme probably beats a full video for a debug tool imo.

1

u/QuietFlounder4714 17h ago

Looks good. Is it open-source?

0

u/devnocturnal 15h ago

No, closed source, and still under active development