Troubleshooting
Find missing profiles and data
First locate the right profile. Then decide whether the missing evidence was never captured, has expired, or needs another bounded read.
-
Choose the profile
Match the response ID, method, path, and time. -
Check retained evidence
Confirm the inspector exists and whether capture reported omissions. -
Read the next part
Follow MCP paths and cursors for values that are still stored.
Find the request you actually made
Use the X-NewDebugBar-Profile response header when available. A later poll, fetch, or Livewire update may be newer than the page you meant to inspect.
The browser picker discovers requests on the current page. It is not a global browser for every retained API, command, or worker profile. Use list-debug-profiles through MCP for retained profiles outside that list.
{
"path": "/trips/kyoto-autumn",
"limit": 10
}
The example is the argument object for list-debug-profiles. Match the returned request facts before opening an ID.
Check expiry and the shared directory
The default store keeps the latest 20 profiles and expires profiles after 60 minutes. A busy page or worker can fill that short history quickly. Changing retention later cannot restore a deleted profile.
If the profile should still exist, compare newdebugbar.storage.path in the browser and MCP runtimes. A custom path must point to the same accessible files. Reproduce the action after correcting the path or retention setting.
Can an empty inspector be correct?
- No mail was sent in this profile; a worker may have sent it later.
- A Redis-backed Laravel cache operation appears under Cache and is not duplicated under Redis.
- The request failed before the operation you expected to run.
- A library did not emit the Laravel events that this collector observes.
- An event retained payload shape or a view retained a lazy value’s class, rather than evaluating arbitrary application code.
For queued work, open the correlated worker profile described in Queues.
Which limit did you reach?
| What you see | What to do |
|---|---|
| A inspector reports dropped or omitted records | Increase the relevant capture limit only if needed, then reproduce. The old profile remains incomplete. |
An MCP response returns next_cursor |
Use that cursor with the same profile, tool, path, and filters. |
| A focused response omits deeper fields | Follow get-debug-profile-data from /inspectors to the returned JSON Pointer paths. |
| A retained string is chunked | Read its next page of chunks and join them in order. |
| A binding is masked or a key is hashed | Review the capture-time policy, then capture again if exact values are needed. |
Was the evidence only available in the live browser?
Livewire’s mounted state and some browser activity belong to the current page. Saved server profiles contain server-side evidence. A read-only MCP tool cannot edit a mounted component or recover browser-only activity after navigation.
EXPLAIN is an explicit browser action. Its result is not a promise that the same plan was saved into the original profile. See Queries and Data and privacy for these boundaries.
Repeat and compare one known fact
Capture a fresh request after changing a setting. Check its new ID, the expected inspector, and one known operation or value. If processing fails, report the tool or storage error rather than treating all missing data as expiry.