Expo Devtools
v3.4.0Development Debugging tool for React Native
- devtools
- Devtool
- react
- expo
- react-native
Recent releases
All 21 →- 3.4.0minor1 Oct 2026
- 3.3.0minor28 Sept 2026
- 3.2.0minor
Answers you and your agent can both read. Every request, error, log and stored value, captured on the device and copied out as structured JSON.
npx expo install @axonpack/expo-devtoolshttps://api.acme.dev/v1/feed?page=2
https://api.acme.dev/v1/auth/session
https://cdn.acme.dev/files/6842b36ba01eccee19a4…
https://api.acme.dev/v1/me
https://api.acme.dev/v1/orders
wss://api.acme.dev/live
{error: true, status: 401, …}
code:"TOKEN_EXPIRED"
error:true
message:"Access token has expired"
retryAfter:30
request:{id: "8f2a…", method: "GET"}
id:"8f2a4c19b7"
method:"GET"
headers:{authorization: "Bearer …", …}
status:401
traceId:null
[Cart:service]
config loaded
{branchId: "69f1d0caec05e9", currency: "GBP", …}
[Checkout]
session restored
{userId: 8812, retry: false}
SYNC::: Error syncing queue job. false
Error: No queue jobs to process.
[Cart:task]
event received
{eventType: "EXIT", cartId: "8f2a4c19b7"}
{queue: "sync", pending: 0, …}
queue:"sync"
pending:0
lastRunAt:"2026-09-11T19:12:49.108Z"
error:null
3.13s
worst · 0.3 s average of 51
of 236.0 MB allocated
0 B available to this app
OBJECT{"state":{"user":{"createdAt":"2026-09-09T15…
STRING"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ…
BOOLEANfalse
OBJECT{"newCheckout":true,"betaSearch":false,…
STRING"[{\"id\":\"6a0c0d0943f19e4adbe31ac7\",\"qty…
Deliberate crash from @axonpack/expo-devtools (JS thread)
Cannot read property 'id' of null
Token refresh failed, 401
Every library is released and documented on its own, and this list comes straight from npm. If it is here, it is installable today.
Development Debugging tool for React Native
Put your own tab in React Native DevTools, with a two-way channel to the running app
Interactive JSON tree for React and React Native — you supply the View and Text primitives
The point of a foundation library is that you stop thinking about it. These are what keep them that way.
One package solves one problem. Nothing here grows into a framework that wants to own your app's structure.
Adding a package should not add a supply chain. Where one needs a library you may already have, you hand it over rather than having it installed for you.
Each package versions and ships on its own, with its own documentation. Installing one never drags in another.
Every guide ends with what the thing cannot do, and why. A number that cannot be measured is not shown rather than invented.