anthropics / anthropics/claude-code

[FEATURE] Encrypted, account-bound backup and restore of Claude Desktop configuration (extensions, settings, secrets)

Abierto
#93,208 0 comentarios 0 reacciones 0 asignados Ver en GitHub
area:desktop enhancement platform:windows
Lenguaje dominante
Python
Estrellas
145k
Forks
23.1k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

### Preflight Checklist

- [x] I have searched [existing requests](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20label%3Aenhancement) and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)

### Problem Statement

Moving Claude Desktop to a new machine, or surviving a Windows reinstall on the same machine, is painful today, and it is not an edge case. Every user hits it eventually: a new laptop, a dead drive, a corporate reimage, a clean OS install to fix something unrelated. I just did it, and rebuilding took an afternoon of log reading for what should have been a sign-in.

What has to be reconstructed by hand after a reinstall:
- Which desktop extensions were installed, and their versions
- Each extension's user configuration (allowed directories, modes, output paths)
- Each extension's secrets (API keys), which live in the OS credential store and do not survive a profile reinstall
- The runtimes the extensions depend on (uv, a specific Python, Node), with no signal from the app about which one is missing until the extension fails at launch
- Claude Code configuration (settings, per-project memory, skills, plugins), which can be relocated with CLAUDE_CONFIG_DIR but nothing tells a new install where it went

None of this state is large. All of it is mechanical. The app already knows every item on that list at the moment it is running; it just does not write it anywhere durable.

### Proposed Solution

An account-bound backup of desktop configuration, encrypted client-side, restored on sign-in. Concretely:

1. On a schedule or on change, serialize the extension list, extension user config, extension secrets, runtime requirements, and Claude Code config location into one manifest.
2. Encrypt it client-side with a key the user holds (passphrase or passkey), so Anthropic stores ciphertext only.
3. Store the ciphertext with the account.
4. On sign-in to a fresh install, offer to restore. Restore reinstalls the extensions, writes the user config back, pushes secrets back into the OS credential store, and tells the user exactly which runtimes are missing, with the install command, instead of a generic "failed to start."

This is the same shape as browser profile sync, password manager sync, and IDE settings sync. Modern applications have solved this problem; the desktop app should not be the one place in a user's toolchain that has to be rebuilt from memory.

### Alternative Solutions

Workaround today: copy the `Claude Extensions` and `Claude Extensions Settings` folders and `extensions-installations.json` from the old profile into the new one (works), reinstall runtimes by reading `mcp-server-*.log` for `spawn ... ENOENT` (works, eventually), re-enter every API key by hand. That is a fine recovery procedure for an engineer with an afternoon. It is not a product.

A local alternative is a user-maintained manifest plus a passphrase-encrypted secrets file on a synced drive and a bootstrap script, which is what I would build next if this is not on the roadmap. It should not have to be.

### Priority

High - Significant impact on productivity

### Feature Category

Configuration and settings

### Use Case Example

Today, on a Windows 11 25H2 machine: reinstalled Windows on a new NVMe, installed Claude Desktop 1.49585.0 (MSIX), signed in. Result: zero extensions, no indication that three had been installed before, no indication which runtimes they needed. Recovery sequence: inventory the old profile on the previous drive, copy 27,952 extension files across by hand, discover Windows-MCP fails with `spawn uv ENOENT`, install uv, discover the app's compatibility gate wants a real Python on PATH, install Python, discover uv's managed interpreter was left half-installed because the app killed the first launch mid-download, repair it, re-enter API keys. With this feature: sign in, accept "Restore your configuration?", get told "Windows-MCP needs uv and Python 3.13, install with: winget install astral-sh.uv", done.

### Additional Context

Context: I hit this while working through #92984, where the local workspace VM is also broken on current Windows builds (KB5124008, not uninstallable on a clean 25H2 image), so the desktop extensions are the only local capability left, which made rebuilding them the whole game.

Prior art with the same shape: browser profile sync (Chrome, Firefox), VS Code Settings Sync, 1Password/Bitwarden vault sync. All client-side encrypted, all account-bound, all restore on sign-in.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

No implementation files or tests are named. Start by reviewing the listed Claude Extensions and Claude Extensions Settings folders, extensions-installations.json, CLAUDE_CONFIG_DIR, and the mcp-server-*.log recovery path; define the configuration manifest, encryption and restore boundaries, then confirm that a fresh sign-in can restore settings and identify missing runtimes without exposing secrets.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
nodejs
Área
cloud, desktop, security
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.