Support Windows Data Roaming for user configuration
Summary
Claude Code on Windows stores user configuration across multiple locations, only some of which participate in Windows Data Roaming. It would be great if Claude Code supported roaming so that skills, memory, agents, and keybindings sync automatically across devices.
Background
Windows Data Roaming automatically synchronizes files stored in %APPDATA% (%USERPROFILE%\AppData\Roaming) across all Windows devices signed in with the same Microsoft account. This is especially valuable in enterprise and education environments where users work across multiple machines.
Today's storage layout:
| Path | Contents | Roams? |
|------|----------|--------|
| %APPDATA%\Claude\settings.json | Permissions, hooks, model overrides | Yes |
| %USERPROFILE%\.claude\ | Skills, memory, agents, keybindings | No |
| %USERPROFILE%\.claude.json | OAuth session, MCP servers, caches | No |
Only settings.json roams. The things users would most benefit from roaming — skills, memory, agents, keybindings — do not.
Expected behavior
On Windows, all user-level configuration that makes sense to roam should be stored (or be configurable to be stored) in a location that participates in Windows Data Roaming, so users who sign in on a different machine get their full Claude Code setup automatically.
No change needed on macOS/Linux where ~/.claude is the standard convention.
Additional context
Using %APPDATA% for user configuration is the recommended practice on Windows for application settings that should follow the user across devices.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗