This tool works with both Expo and React Native CLI projects. Just install and go.
Navigation bugs do not throw. A user reaches a screen they should not be able to reach, back goes somewhere wrong, or a screen stays mounted underneath the one you can see and keeps firing its effects — and none of that appears in a log or a crash report.
The Route Inspector shows the live stack, the sitemap of every route your app declares, and a timestamped stream of every navigation with its params. It reads Expo Router and React Navigation with no configuration.
Hops stream in, a 38ms /login → /account flash lands, you open the Login event, the Stack still has Login MOUNTED under Account FOCUSED, Clear wipes the timeline but not the stranded screen.
Not a video — this is the shipped tool running on mock navigations. Path, params, and ms between hops land as you move.
File-based routing for Expo
Stack, tab, and drawer navigation
Auto-detection — The Route Inspector automatically detects which navigation library you're using and adapts accordingly.
npm install @buoy-gg/route-eventsThat's it. The Route Inspector auto-detects your navigation setup and appears in your FloatingDevTools menu.
Browse all app routes
Navigation event history
Jump to any route
Filter routes instantly
Export paths to clipboard
Route counts by type
Fixed path like /about
Parameterized like /user/[id]
Matches any path [...slug]
Default route for a directory
Shared UI wrapper
Organizational folders (auth)
Every navigation is tracked with:
Tap any event to open its detail page — the full route template, from/to paths, timing, segments, and params, all copyable, plus a Go to route action to jump straight there. This matches how events open in the Events tool.
It knows the routes your navigator declares. The sitemap is built from your Expo Router file tree or your React Navigation config, so a screen reached only by an imperative push with an object payload appears in the event stream, but its params are not something the sitemap can predict ahead of time.
Jumping to a route is navigation, not authorisation. Go to route performs the same navigation your code would. It does not bypass a guard — which is exactly what makes it useful for testing that the guard works.
Install @buoy-gg/route-events and open Routes — the Stack tab shows the live stack with route names and params, updating as you navigate.
Yes — it's built for Expo Router: the sitemap, stack, and event stream all reflect your file-based routes.