Local Explorer is a browser-based interface for viewing and editing the data in your local bindings and debugging Worker invocations during development. It is available at /cdn-cgi/explorer on your local development server.
Instead of running CLI commands or writing throwaway code to inspect local state, you can open Local Explorer in your browser to work with your data, view traces, and search logs. This is useful when you want to seed test data, verify what your Worker wrote, debug a failing request, or run SQL queries against a local D1 database.
Local Explorer works with both Wrangler and the Cloudflare Vite plugin.
- Wrangler 4.118.0 or later, or Cloudflare Vite plugin 1.50.0 or later
-
Start a local development session:
npx wrangler devyarn wrangler devpnpm wrangler dev -
Open Local Explorer in your browser:
- Wrangler: press
ein your terminal. - Vite plugin: navigate directly to
/cdn-cgi/exploreron your dev server's route and port.
- Wrangler: press
Local Explorer is available by default and detects the bindings defined in your Wrangler configuration automatically.
Local Explorer supports the following binding types:
| Binding | View | Edit |
|---|---|---|
| KV | Browse keys, view values and metadata | Create, update, and delete key-value pairs |
| R2 | List objects, view metadata | Upload and delete objects |
| D1 | Browse tables and rows, run SQL queries | Insert, update, and delete rows through SQL |
| Durable Objects (SQLite storage) | Browse SQLite tables and rows, run SQL queries | Insert, update, and delete rows through SQL |
| Workflows | List instances, view status and step history | Trigger new runs, retry failed instances |
For D1 databases and Durable Objects that use the SQLite storage API, Local Explorer includes a SQL Studio. This is the same experience available in the Cloudflare dashboard for deployed D1 databases. It provides both a visual table browser with inline editing and a SQL query editor where you can run arbitrary queries.
Local Explorer automatically captures traces and logs from every Worker invocation during wrangler dev without modifying your code. You get the same instrumentation as production Workers Logs and Traces, including invocation logs, binding operations, timing, and console output, directly in your browser during development.
The Logs view captures all console.* output from your Worker. Filter by level (error, warn, info, log, debug) or search by text to find specific messages.
Each Worker invocation appears as a trace. Select any trace to see every binding operation with timing, status, and error details.
Tracing also captures operations made through remote bindings, so you can inspect calls from your locally running Worker to deployed resources.
For example, if a request makes two D1 calls and the second one fails, the trace shows you exactly which call succeeded and which errored without adding console.log() or try/catch blocks.
Local Explorer exposes an API at /cdn-cgi/explorer/api that provides programmatic access to the same operations available in the browser interface. The API serves an OpenAPI specification ↗ that describes all available endpoints, parameters, and response formats.
To retrieve the OpenAPI spec:
curl http://localhost:8787/cdn-cgi/explorer/apiWhen Wrangler or the Cloudflare Vite plugin detects it is running inside an AI agent, it prints a hint with the Local Explorer API endpoint directly to the terminal. The agent can fetch the OpenAPI specification ↗ from that endpoint to discover all available operations, then make API calls to read or modify local data, query traces and logs, and debug your Worker.
The hint includes the API URL and relevant endpoints:
This dev session is running in an AI agent.
The Local Explorer API is available at
http://localhost:8787/cdn-cgi/explorer/api
...
Debug with traces:
POST /cdn-cgi/explorer/api/local/observability/query -- query traces and logs with SQLThis can be useful as an alternative to the CLI when you want an agent to:
- Populate test data in your local KV namespaces or D1 databases
- Inspect the state of a Durable Object during debugging
- Trigger or retry a Workflow run with different input data
- Upload test files to a local R2 bucket
- Find recent requests with errors and drill into failing spans