Skip to content
All posts

Announcements

Introducing Varc: Cursor for Redis

A Redis and Valkey desktop client with a real debugger — browse and edit at any scale, breakpoint live traffic, and rewind writes. Here's the tour.

Dan Mahon

Dan Mahon · Founder

3 min read

THE WORKBENCH / WORKFLOW DIAGRAM01Keyspace02Workbench03Your next stepSCAN / inspect / queryKeep browsing, commands, and evidence in one place.

Every Redis GUI shows you a keyspace. None of them show you the traffic — the commands your app is actually sending, in the moment it sends them. When a cache goes wrong at 2am, a tree of keys doesn’t help. You want to hold the next DEL, look at it, and decide.

That’s Varc: a desktop client that treats Redis the way an IDE treats code. Browse and edit at any scale, set a breakpoint on live traffic, step through commands, and rewind writes you didn’t mean to make.

varc · playground

Type a command below, or tap a preset.

Browse and edit at any scale

Most clients fall over on a big keyspace because they try to KEYS * the world. Varc never materialises the whole keyspace — it renders only the window you’re looking at and pages as you scroll, so a million keys feels like a hundred.

10M+keysscroll, don't wait
0full scanswindowed cursor
3topologiesstandalone · cluster · sentinel

Every value type gets a first-class editor — strings, hashes, lists, sets, and sorted sets — with inline type detection and binary-safe display. Keys and values are bytes, not strings, so a \xac\xed Java-serialised blob shows up as exactly that instead of mojibake.

The part nobody else has: a debugger

Point any client — your app, a script, or Varc itself — at the opt-in local proxy, and every command becomes something you can hold, inspect, and release.

Breakpoint on Example
Any command pause everything
Writes only let reads flow, hold mutations
A command name only FLUSHDB
A key pattern sess:*, whichever command hits
One connection isolate a misbehaving client

When a command matches, the stream pauses and hands you the held command with its full arguments. Step it, continue, or drop it and synthesise a reply. We’ll go deep on how the proxy stays cluster-transparent in a follow-up post.

It’s fast because it does less

The proxy sits on the hot path, so it can’t be slow. It parses just enough of each RESP frame to route and match, and forwards the bytes untouched when no breakpoint is armed.

Added round-trip latency through the proxy
Directno proxy
41µs
Varc · idleno breakpoints
47µs
Varc · armedmatching writes
63µs

Local benchmark, 50k GET/SET ops · lower is better

Get started in three steps

Download the app

Grab the build for macOS, Windows, or Linux from the download page.

Connect a profile

Point Varc at a standalone, cluster, or sentinel endpoint — TLS and SSH tunnels included.

Start the debugger

Open the Debugger tab, pick a local port, and route a client through it.

Varc is pre-release and moving fast. If holding a Redis command mid-flight sounds useful, we’d love for you to try it and tell us what breaks.

Dan Mahon

Dan Mahon · Founder

Building Varc — a Redis and Valkey client with a debugger built in. Writes about keyspaces, proxies, and the parts of Redis that bite in production.

varc.dev

Keep reading