Skip to content

feat(syncthing): sync claude chat history#119

Merged
alysnnix merged 3 commits into
mainfrom
feat/syncthing-claude-history
Jul 14, 2026
Merged

feat(syncthing): sync claude chat history#119
alysnnix merged 3 commits into
mainfrom
feat/syncthing-claude-history

Conversation

@alysnnix

@alysnnix alysnnix commented Jul 8, 2026

Copy link
Copy Markdown
Owner

O que muda

Adiciona uma pasta compartilhada claude ao Syncthing (modules/services/syncthing.nix), apontando para ~/.claude/projects, entre os hosts laptop e wsl.

O sync é unidirecional: o WSL é a fonte da verdade (sendonly) e o laptop apenas recebe (receiveonly).

Por quê

Permite continuar no laptop uma conversa do Claude Code iniciada no WSL, via claude --resume. Os transcripts de sessão (.jsonl) vivem em ~/.claude/projects/, e o resume casa a sessão pelo path do diretório de trabalho, que é idêntico nos dois hosts (/home/aly/...).

Escopo

  • Sincroniza apenas projects/ (os logs de sessão retomáveis).
  • Deixa de fora credenciais (.credentials.json), caches e arquivos gerenciados pelo Nix (settings.json, CLAUDE.md) para evitar conflitos e vazamento de segredos.
  • Direção fixa por host: WSL sendonly, laptop receiveonly (detecção via config.networking.hostName).
  • maxConflicts = 0, sobre Tailscale.

Cuidado no uso

Atividade do Claude no laptop não volta para o WSL. Edições/exclusões locais no laptop são marcadas como out-of-sync e podem ser revertidas para bater com o WSL, mas nunca se propagam de volta. O WSL segue como única fonte de verdade do histórico.

Validação

  • nix fmt
  • nix flake check --no-build (passa em todos os hosts, incl. laptop e wsl)

alysnnix and others added 2 commits July 8, 2026 15:22
- add shared folder for ~/.claude/projects between laptop and wsl
- lets a chat started on one host resume on the other via --resume
- syncs only projects/ (session transcripts), leaving out
  credentials, caches and nix-managed config to avoid conflicts

Co-Authored-By: Claude <noreply@anthropic.com>
- set folder type per host: wsl sendonly, laptop receiveonly
- laptop claude activity no longer propagates back to wsl
- wsl stays the single source of truth for chat history

Co-Authored-By: Claude <noreply@anthropic.com>
@alysnnix alysnnix enabled auto-merge (squash) July 14, 2026 20:56
@alysnnix alysnnix disabled auto-merge July 14, 2026 21:00
@alysnnix alysnnix self-assigned this Jul 14, 2026
@alysnnix alysnnix enabled auto-merge (squash) July 14, 2026 21:00
@alysnnix alysnnix merged commit b403c54 into main Jul 14, 2026
3 checks passed
@alysnnix alysnnix deleted the feat/syncthing-claude-history branch July 14, 2026 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant