Skip to content

Data Inspection

Corral lets you browse the local development data that Cloudflare's runtime stores on disk. This includes D1 databases, KV namespaces, R2 buckets, Durable Objects, Workflows, and the Secrets Store.

All data is read from .wrangler/state/v3/ inside each project's directory — the same local storage used by wrangler dev. Access is read-only except for the Secrets Store, which supports creating and deleting entries.

Binding Summary

Get a quick overview of all bindings for a project and whether they have local data:

sh
corral data bindings my-worker

This shows each binding's type, name, and whether local data exists for it.

D1 Databases

List tables in a D1 binding:

sh
corral data d1 tables my-worker MY_DB

Query rows from a table:

sh
corral data d1 query my-worker MY_DB users

Pagination:

sh
corral data d1 query my-worker MY_DB users --limit 20 --offset 40

The default limit is 50 rows. Results include column names and typed values.

View the column schema for a table:

sh
corral data d1 schema my-worker MY_DB users

This shows each column's name, type, nullable status, default value, and primary key.

KV Namespaces

List keys in a KV binding:

sh
corral data kv keys my-worker MY_KV

Filter by prefix:

sh
corral data kv keys my-worker MY_KV --prefix user:

Pagination:

sh
corral data kv keys my-worker MY_KV --limit 20 --offset 0

Get a specific key's value:

sh
corral data kv get my-worker MY_KV user:123

This returns the value, expiration (if set), and metadata.

R2 Object Storage

List objects in an R2 binding:

sh
corral data r2 objects my-worker MY_BUCKET

Filter by prefix:

sh
corral data r2 objects my-worker MY_BUCKET --prefix uploads/

Pagination:

sh
corral data r2 objects my-worker MY_BUCKET --limit 20 --offset 0

Each object shows its key, size (formatted as B/KB/MB), and ETag.

Download an object:

sh
corral data r2 get my-worker MY_BUCKET image.png --output ./image.png
corral data r2 get my-worker MY_BUCKET config.json > config.json

Without --output, raw bytes are written to stdout for piping. With --json, the data is base64-encoded.

Durable Objects

List instances for a Durable Object binding:

sh
corral data do instances my-worker MY_DO

Each instance shows its ID and storage size.

Browse storage entries for a specific instance:

sh
corral data do storage my-worker MY_DO abc123def456
corral data do storage my-worker MY_DO abc123def456 --limit 20 --offset 0

Each entry shows its key and value. The default limit is 50 entries.

Workflows

List instances for a workflow binding:

sh
corral data workflow instances my-worker MY_WORKFLOW

Each instance shows its ID, status (Created/Running/Completed), step count, and size.

View details for a specific instance:

sh
corral data workflow detail my-worker MY_WORKFLOW abc123def456

This shows the instance params, trigger, and an ordered list of steps with their type (Do/Sleep), status, and result.

Secrets Store

The Secrets Store is the only binding type that supports write operations from Corral.

List secrets:

sh
corral data secrets list my-worker API_KEY

Get a secret's value:

sh
corral data secrets get my-worker API_KEY my-api-key

Create a secret (value is read from stdin for security — never passed as a CLI argument):

sh
corral data secrets create my-worker API_KEY my-api-key
echo "sk-1234" | corral data secrets create my-worker API_KEY my-api-key

Delete a secret:

sh
corral data secrets delete my-worker API_KEY my-api-key

The macOS app's Secrets Store browser provides a visual interface with masked/revealable values and confirmation before deletion.

In the macOS App

The macOS app provides visual data browsers for all binding types. From a project's Overview tab, click any binding card to open its browser in a sheet.

Each browser features a split-view layout with a list on the left and detail view on the right, plus pagination controls and search/filter capabilities.

JSON Output

All CLI data commands support --json for machine-readable output:

sh
corral data d1 tables my-worker MY_DB --json