Skip to content

Local Explorer

Last updated View as MarkdownAgent setup

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.

Prerequisites

Open Local Explorer

  1. Start a local development session:

    npx wrangler dev
  2. Open Local Explorer in your browser:

    • Wrangler: press e in your terminal.
    • Vite plugin: navigate directly to /cdn-cgi/explorer on your dev server's route and port.

Local Explorer is available by default and detects the bindings defined in your Wrangler configuration automatically.

Supported bindings

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

D1 and Durable Objects SQL Studio

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.

Observability

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.

Logs

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.

Traces

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.

Trace view for POST /api/todos showing two D1 database spans: the first INSERT succeeded, the second failed with error "no such table: audit_log"

API

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/api

Use with AI agents

When 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 SQL

This 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

Was this helpful?