Export your AI conversations to local Markdown before the session collapses.
Important
Find this useful? Support development on Ko-fi ☕ — mention Schrödinger-Sync so I know what to keep building.
Schrödinger-Sync exports your AI conversations, project docs, and memory to local Markdown — for feeding into your own local AI memory system (e.g. MemPalace). Windows, single Go binary.
AI assistants today are split across surfaces that don't talk to each other: web chat, desktop apps, IDE extensions. Each holds its own conversation history with no bridge between them. If you've built a local memory store on one side, the gap becomes concrete — the other surfaces can't see it.
Schrödinger-Sync closes that gap: it exports what your AI already knows — conversations, project docs, memory — into a local, greppable, version-controlled Markdown store that a memory system like MemPalace can ingest. Point your other AI surfaces at the same store, and continuity stops depending on a human being the sync layer.
| Provider | Status | Method |
|---|---|---|
| Claude (Anthropic) | ✅ Stable | DPAPI cookie store + CDP |
| ChatGPT (OpenAI) | 🔜 Planned | — |
| Gemini (Google) | 🔜 Planned | — |
| Copilot (Microsoft) | 🔜 Planned | — |
Each provider has its own auth model, cookie format, and anti-bot behaviour. Provider support is added one at a time, hardened individually — not bolted on.
Note
Early Access. The harvest/export core is stable and covered by tests, but the project is still actively evolving — expect breaking changes between minor versions until v3.
- Memory ingest integrity: read-back verification (write side shipped v2.2.0)
- SessionKey memory handling:
[]byte+ unmanaged buffer + explicit zeroing - Encryption at rest: AES-256-GCM envelope, TPM-resident key, DPAPI fallback
- First-run wizard (consent, dependency check, no CLI required)
- System tray expansion (status, manual sync, pause)
- Dashboard: sync status + integrity scorecard
- Pluggable provider backend (Claude first, ChatGPT/Gemini/Copilot next)
- Each provider: independent auth, security hardening, test coverage
- Code signing + MSIX packaging
- Enterprise features: SSO/LDAP, audit logging, multi-tenant, compliance
- Ed25519 offline license verification
- Windows Store listing
- Landing page + documentation
- Beta program (5–10 power users)
- Launch: Show HN, Reddit, X, MemPalace Discord
- Reads the Chrome DevTools Protocol (CDP) endpoint that Claude Desktop exposes
on
127.0.0.1while running. - Decrypts your local Chrome cookie store (DPAPI) to extract the
sessionKeyforclaude.ai— the same session your browser uses. - Opens a headless Chrome window, passes the decrypted
sessionKey, and navigates toclaude.ai/api/auth/...— a one-time handshake that gives the headless browser a valid session. - Runs the internal GraphQL queries (
chatConversationsWithMetadata,chatConversationWithMessages) that the Claude UI itself uses, then saves every conversation tooutDir/chats/<title>.md. - Exports project docs and memory to
outDir/project-docs/andoutDir/memory/.
DPAPI cookie decryption is the same technique credential-stealing trojans use. The tool is safe because of architectural constraints enforced in code, not just promised in docs — see SECURITY.md.
Key invariants:
- Targets only your own account on your own machine.
- Network egress limited to
claude.ai(tested). - Headless flag enforced (tested).
- Credentials redacted in output (tested).
- Windows 10/11 (DPAPI + Windows CNG).
- Claude Desktop installed and used at least once (populates the cookie store).
- Google Chrome installed (CDP needs a real browser for Cloudflare's JS challenge).
Grab SchroedingerSyncSetup.exe from the
latest release
and run it. Per-user, no admin rights needed. Installs to
%LOCALAPPDATA%\SchroedingerSync, optionally adds a desktop icon and tray autostart.
Unsigned — SmartScreen will warn. Verify against SHA256SUMS in the same release:
certutil -hashfile <file> SHA256.
From source:
go build -trimpath -ldflags "-s -w" -o schroedinger-sync.exe .
.\schroedinger-sync.exe # auth smoke test (org + first 3 conversation titles)
.\schroedinger-sync.exe harvest # full export: chats + project docs + memory
.\schroedinger-sync.exe probe # dump raw API schema + scan for new surfaces
.\schroedinger-sync.exe supervise # autostart: syncs only while Desktop/VS Code is open
.\schroedinger-sync.exe watch # headless live-sync daemon
.\schroedinger-sync.exe tray # daemon with system-tray icon
All commands require Claude Desktop to be closed (cookie store is locked while running).
.\schroedinger-sync.exe install-task # register logon autostart
.\schroedinger-sync.exe uninstall-task
.\schroedinger-sync.exe supervise [outDir] [intervalMinutes]
.\schroedinger-sync.exe tray [outDir] [intervalMinutes]
.\schroedinger-sync.exe watch [outDir] [intervalMinutes] # default: 30 min
supervise stays resident at logon but only syncs while Claude Desktop or VS Code is
open. tray/watch are always-on modes. All three share the same sync engine.
go test -v ./...
Runs security invariant tests: credential redaction, headless flag, claude.ai-only egress, non-importable-package check.
Open core model. The individual tool is free forever under GNU AGPLv3. Organisations that need to embed or redistribute it inside a closed-source or SaaS product — without the AGPL's copyleft obligations — can obtain a commercial licence.
- Free (AGPLv3): run it, read it, modify it, self-host it. No paid tier, no telemetry, no upsell for individual use.
- Commercial: organisations embedding Schrödinger-Sync in proprietary products, SaaS offerings, or closed-source distributions. Includes warranty, support, and access to the Enterprise layer (multi-tenant, SSO/LDAP, audit logging, compliance tooling).
All external contributions are governed by the Contributor License Agreement, which keeps the relicensing right consolidated so the open core model can exist.
Copyright © 2026 KeilerHirsch. See CONTRIBUTING.md and SECURITY.md's "Business model" section for reasoning.
