04

Product · E2E Crypto · Electron

Claude Sync

Get the same Claude on every computer — without trusting a server with your files.

RoleSolo — design & build
Year2026
StackTypeScript · Fastify · Electron
StatusReleased
Claude Sync app icon

end-to-end encrypted · Windows + macOS · read-only web

There's deliberately nothing to screenshot on the server: by design, it never sees your unencrypted files.

01 Problem

If you use Claude Code on more than one machine, your skills, commands, agents, and memory live on whichever computer you set them up on — and they stay there. I wanted them to follow me to every machine. But the contents of a ~/.claude directory are sensitive, so “just upload them somewhere” wasn't acceptable: the sync had to work without trusting the server with my files.

02 Approach

A desktop app (Electron) watches ~/.claude and syncs every 15 seconds. Files are encrypted on-device with libsodium before they ever leave, so the Fastify + Postgres relay only ever sees ciphertext — it ships bytes between your machines but can't read them. A CLI does the same headless, and a read-only web client decrypts locally in the browser (with the noble crypto libraries) so you can browse and diff your files from anywhere.

The encryption isn't a feature bolted on — it's the architecture. The server is intentionally zero-knowledge:

03 Tech stack

Desktop & CLI

Electronelectron-updaterTypeScriptlibsodium

Server

FastifyDrizzle ORMPostgres

Web client

Vite@noble/ciphers@noble/hashes

Infrastructure

Railway

04 Outcome

All four surfaces shipped — relay server, CLI, Electron desktop app, and the read-only web client. The Windows desktop build is released; macOS signing & notarization is the remaining step. The hardest part wasn't the sync loop, it was making “the server can't read your files” true end to end rather than a marketing line.