惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hacker News - Newest:
Hacker News - Newest: "LLM"
U
Unit 42
月光博客
月光博客
T
The Blog of Author Tim Ferriss
Jina AI
Jina AI
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
P
Proofpoint News Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
Vercel News
Vercel News
博客园 - 三生石上(FineUI控件)
美团技术团队
D
Docker
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
Google DeepMind News
Google DeepMind News
博客园 - 司徒正美
The Cloudflare Blog
博客园 - 叶小钗
M
MIT News - Artificial intelligence
AI
AI
Security Archives - TechRepublic
Security Archives - TechRepublic
The Register - Security
The Register - Security
C
Cybersecurity and Infrastructure Security Agency CISA
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
宝玉的分享
宝玉的分享
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Security Latest
Security Latest
Recorded Future
Recorded Future
Cloudbric
Cloudbric
K
Kaspersky official blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
Visual Studio Blog
Apple Machine Learning Research
Apple Machine Learning Research
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园_首页
T
Threat Research - Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Last Week in AI
Last Week in AI
I
Intezer
The Hacker News
The Hacker News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hacker News: Front Page
Attack and Defense Labs
Attack and Defense Labs
MongoDB | Blog
MongoDB | Blog
O
OpenAI News
Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
Project Zero
Project Zero

gankudadiz的个人小站

网页字体:TTF、WOFF2 和子集化 - gankudadiz blog 一次异常上行排查:揪出一个后台抓包的服务 - gankudadiz blog Opencode Go套餐的API玩法 - gankudadiz blog 本地开发服务, 端口与网络访问基础 - gankudadiz blog PHP 与 Redis:从原理到日常维护 - gankudadiz blog 用 Claude Code 和 Mimo 翻译 Filament 文档的一点记录 2026年了,AI横行的现在,markdown还是文档的主流格式吗? - gankudadiz blog 坚果云同步目录理解错误记录 - gankudadiz blog GitHub Pages 的运作机制与最新规则 - gankudadiz blog 不是,没人和我说这么感人啊 - gankudadiz blog OpenCode 配置 Oh My OpenAgent(OMO) 记录 装了ccusage,总算知道 Claude Code 和 Codex 吃了多少 token --一切尽在 Everything - gankudadiz blog 女儿第一次国际象棋团队赛 - gankudadiz blog AI的积极意义---用GPT-image2制作女儿单词卡 - gankudadiz blog 这个时代要变了 GPT-image2使用感想 - gankudadiz blog 再见,大布 - gankudadiz blog 关于 MySQL 整数显示宽度的排查:为什么同一张表会出现 `bigint(20) unsigned` 和 `bigint unsigned` 做博客几个月,我终于了解了这些站长工具 - gankudadiz blog 博客的未来规划 - gankudadiz blog 给评论区加个草稿箱:sessionStorage 的标签页级缓存 - gankudadiz blog WSL2 安装 Claude Code 全攻略 给博客加上异步邮件通知:Laravel Queue 实践小记 - gankudadiz blog 头像上传裁剪这件小事 - gankudadiz blog
WSL2和Windows同步claude code配置记录 - gankudadiz blog
2026-04-08 · via gankudadiz的个人小站

昨天在 Windows WSL2 环境里装好了 Claude Code,顺手也把 Codex 一起装上了。今天花了半个上午,把 cc-switch 的配置同步问题搞明白了。

问题是这样的

我的机器是 Windows,装了 WSL2 Ubuntu。平时在 Windows 桌面用 Claude Code,昨天在WSL2 里也装了Claude Code。一开始图省事,cc-switch 安装在 Windows 侧,配置都指向 Windows 本地的 C:\Users\<用户名>\.claude

后来在 WSL2 里也需要跑 Claude Code,就在 cc-switch 里把配置目录覆盖改成 \\wsl$\Ubuntu-24.04\home\<用户名>\.claude。改完之后 WSL 里的 Claude Code 能用了,但 Windows 侧的 Claude Code 又回到官方默认配置了,等于说我每次切换都得在 cc-switch 里改一次配置目录覆盖,点保存,再改回来。

笨办法,但能用,就是烦。

配置目录覆盖是什么

cc-switch 的"配置目录覆盖"本质上是在设置 CLAUDE_CONFIG_DIRCODEX_CONFIG_DIR 这两个环境变量。但这个设置是存在 cc-switch 自己的配置文件里的:C:\Users\<用户名>\.cc-switch\settings.json

"claudeConfigDir": "\\\\wsl$\\Ubuntu-24.04\\home\\<用户名>\\.claude",
"codexConfigDir": "\\\\wsl$\\Ubuntu-24.04\\home\\<用户名>\\.codex",

这说明什么?说明 cc-switch 的配置目录覆盖只影响它自己写入的目标路径。Windows 侧正常启动的 Claude Code 或 Codex 读取哪个配置,跟 cc-switch 当时指向哪个目录有关系,但又不完全由 cc-switch 控制——真正决定工具行为的是环境变量或者默认路径。

解决思路

想明白这点之后,方案其实很简单:让 WSL 直接使用 Windows 的配置目录

cc-switch 在 Windows 侧改 C:\Users\<用户名>\.claude\settings.json,WSL 里只要设置 CLAUDE_CONFIG_DIR="/mnt/c/Users/<用户名>/.claude",就能读到同一份配置。两边始终是同一个文件,改一处、两边都生效。

具体操作

在 WSL 的 ~/.bashrc 里加两行:

export CLAUDE_CONFIG_DIR="/mnt/c/Users/<用户名>/.claude"
export CODEX_CONFIG_DIR="/mnt/c/Users/<用户名>/.codex"

然后 source ~/.bashrc 生效。

验证一下:

$ echo $CODEX_CONFIG_DIR
/mnt/c/Users/<用户名>/.codex

$ codex --help
# 正常输出帮助信息

$ claude --version
# 正常输出版本号

最终效果

cc-switch 保持在 Windows 侧管理配置,指向 C:\Users\<用户名>\.claudeC:\Users\<用户名>\.codex。WSL 侧通过环境变量指向同样的目录。不管在哪个环境运行 Claude Code 或 Codex,读到的都是同一份 settings.json,cc-switch 切换模型之后立即生效,不用再手动改配置目录覆盖了。

顺便记一下

折腾过程中看了 cc-switch 的配置文件位置。如果以后遇到 cc-switch 配置不生效的问题,可以先查这个文件:

C:\Users\<用户名>\.cc-switch\settings.json

里面存了 cc-switch 自身的所有设置,包括配置目录覆盖的路径。注册表里是找不到的,它没用注册表。

另外,cc-switch 的 WebDAV 同步功能打开后,可以把配置同步到云存储。这个功能挺实用,多设备场景下不用每个设备都重新配一遍。