By babylonehy
Synchronize Claude Code user configuration and history across machines via WebDAV
Synchronize your Claude Code configuration and history across multiple machines via WebDAV.
tar.gz before transfer — efficient and reliablePush: local files → tar.gz + manifest.json → WebDAV
Pull: WebDAV → verify sha256 → extract only changed files → local
Remote layout:
/claude-code-sync/
claude-sync.tar.gz # all synced files packed
claude-sync.manifest.json # per-file sha256 + archive sha256
# In Claude Code, run:
claude /plugins install Babylonehy/claude-webdav-sync-plugin
git clone https://github.com/Babylonehy/claude-webdav-sync-plugin.git
cd claude-webdav-sync-plugin
chmod +x scripts/install.sh
./scripts/install.sh
git clone https://github.com/Babylonehy/claude-webdav-sync-plugin.git
cd claude-webdav-sync-plugin
pip install webdavclient3 pyyaml click python-dateutil
webdav-sync configure
Prompts for URL, username, and password.
webdav-sync configure --preset jianguoyun
Automatically sets the URL to https://dav.jianguoyun.com/dav/ and prompts for:
Create an app password at: https://www.jianguoyun.com/d/account#security
# Set alias (add to ~/.bashrc or ~/.zshrc)
alias webdav-sync='python3 ~/.claude/plugins/cache/webdav-sync-marketplace/webdav-sync/1.0.0/scripts/webdav_sync.py'
webdav-sync push # pack and upload (skips if nothing changed)
webdav-sync pull # download and extract changed files only
webdav-sync push --force # always re-upload
webdav-sync pull --force # extract all files unconditionally
webdav-sync status # show connection and last sync time
webdav-sync configure --sync-on-startup --sync-on-shutdown
| Path | Description |
|---|---|
~/.claude.json | Main user settings |
~/.claude/settings.json | Project-level settings |
~/.claude/config.json | API key configuration |
~/.config/opencode/opencode.json | OpenCode configuration |
~/.claude/history.jsonl | Conversation history |
~/.claude/projects/*/ | Project session files |
Not synced: plugin cache, telemetry, shell snapshots, debug logs.
Stored at ~/.claude/plugins/data/webdav-sync/config.yaml:
webdav_url: https://your-webdav-server.com/dav
username: your-username
password: your-password
provider: generic # or: jianguoyun
auto_sync: false
sync_on_startup: false
sync_on_shutdown: false
exclude_patterns:
- telemetry/*
- debug/*
- shell-snapshots/*
- statsig/*
pip install -e ".[dev]"
pytest tests/ -v
pytest tests/ -v --cov=src/webdav_sync --cov-report=html
MIT License — see LICENSE for details.
rm -rf ~/.claude/plugins/cache/webdav-sync-marketplace
rm -rf ~/.claude/plugins/marketplaces/webdav-sync-marketplace
rm -rf ~/.claude/plugins/data/webdav-sync
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub babylonehy/claude-webdav-sync-plugin --plugin webdav-syncSync Claude Code sessions across devices with encrypted cloud storage
Sync Claude settings across ephemeral VMs via Git backup
Sync and evolve your Claude Code brain across machines. Automatically exports, merges, and applies your accumulated knowledge (memory, skills, agents, rules, settings) across all your development machines via Git.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Easily create hooks to prevent unwanted behaviors by analyzing conversation patterns