Claude Code + LM Studio 完整排障手册
Claude Code + LM Studio 完整排障手册

这份文档专门针对接入过程中常见的失败场景,适合出现异常时逐项检查。
1. 典型问题清单
常见问题一般集中在下面几类:
- Claude Code 启动后仍然提示
/login - 明明设置了本地地址,却没有走 LM Studio
- 出现
Auth conflict - 出现
Cannot read properties of undefined (reading 'input_tokens') - 新终端可用,换个目录或新窗口又失效
- 模型已下载但 Claude Code 切不过去
2. 第一步:先验证 LM Studio 本地接口
不要一开始就怀疑 Claude Code。先验证 LM Studio 自己是否正常工作。
$token = "你的 LM Studio token"
$body = @{
model = "google/gemma-4-26b-a4b"
max_tokens = 64
messages = @(
@{
role = "user"
content = "hello"
}
)
} | ConvertTo-Json -Depth 10
Invoke-RestMethod `
-Method Post `
-Uri "http://localhost:1234/v1/messages" `
-Headers @{
"Authorization" = "Bearer $token"
"Content-Type" = "application/json"
} `
-Body $body
预期结果:
- 返回
type = message - 返回
content - 返回
usage.input_tokens - 返回
usage.output_tokens
如果这一步失败,问题在 LM Studio,不在 Claude Code。

3. 第二步:检查模型是否真的被服务端识别
列出服务端可见模型:
Invoke-RestMethod -Method Get -Uri "http://localhost:1234/v1/models" -Headers @{ "Authorization" = "Bearer $token" }
如果你要用的模型不在这里,就算它已经下载了,Claude Code 也未必能直接使用(请重启终端重试)。

4. 第三步:区分 lms ls 和 lms ps
这两个命令不是一回事。
4.1 已下载模型
lms ls
表示磁盘上已经有模型文件。

4.2 已加载模型
lms ps
表示模型已经进内存,当前可以被本地 API 服务使用。
如果模型只出现在 lms ls,但不在 lms ps,很多时候还不能稳定切到它。

5. 第四步:检查 Claude Code 的全局配置位置
Claude Code 的用户级配置文件是:
C:\Users\你的用户名\.claude\settings.json
不是:
- 当前项目下的别的 JSON
- 某个终端临时变量缓存
C:\Users\你的用户名\.claude\.claude\settings.json
如果你希望在任意目录都能默认连接本地模型,必须写对这个文件。
推荐内容:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:1234/",
"ANTHROPIC_AUTH_TOKEN": "你的 LM Studio token"
},
"model": "google/gemma-4-26b-a4b"
}

6. 第五步:排查 Auth conflict
如果出现:
Auth conflict: Both a token (ANTHROPIC_AUTH_TOKEN) and an API key (ANTHROPIC_API_KEY) are set.
说明 Claude Code 同时读到了:
ANTHROPIC_AUTH_TOKENANTHROPIC_API_KEY
6.1 常见来源
- PowerShell 当前会话里的环境变量
- Windows 用户级环境变量
- Windows 系统级环境变量
C:\Users\love\.claude\settings.json中的env
6.2 当前会话检查
Get-ChildItem Env:ANTHROPIC*
Get-ChildItem Env:CLAUDE*
6.3 用户级环境变量检查
[Environment]::GetEnvironmentVariables('User').GetEnumerator() | Where-Object { $_.Key -like 'ANTHROPIC*' -or $_.Key -like 'CLAUDE*' }
6.4 系统级环境变量检查
[Environment]::GetEnvironmentVariables('Machine').GetEnumerator() | Where-Object { $_.Key -like 'ANTHROPIC*' -or $_.Key -like 'CLAUDE*' }
6.5 解决原则
只保留一套认证来源。
推荐只保留:
ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKEN
不要再保留:
ANTHROPIC_API_KEY
7. 第六步:排查 input_tokens 报错
如果出现:
Cannot read properties of undefined (reading 'input_tokens')
先不要直接下结论说 Claude Code 坏了。
先确认 LM Studio 的 /v1/messages 返回里是否真的有:
usage.input_tokensusage.output_tokens
如果直接调用接口时这些字段都存在,那么这类报错通常是:
- Claude Code 在混用错误的认证配置
- 当前会话读到了错误 provider 配置
- 某次会话状态或旧配置残留导致兼容异常
这次实际排查里,根因还是认证冲突。
8. 第七步:为什么某个终端能用,换个终端就不行
这通常说明你依赖的是“当前会话里的临时环境变量”,而不是全局配置。
比如你在一个终端里执行了:
$env:ANTHROPIC_BASE_URL="http://localhost:1234"
$env:ANTHROPIC_AUTH_TOKEN="token"
这只对当前 PowerShell 会话有效。新开一个终端,这些值就没了。
真正要做到任意目录、任意新终端都可用,必须把配置写进:
C:\Users\你的用户名\.claude\settings.json

9. 第八步:为什么 claude 仍然提示 /login
如果出现:
Not logged in · Please run /login
常见原因有三种:
- 全局配置文件没写到正确位置
- 配置文件结构不对
- LM Studio 本地地址或 token 没有被 Claude Code 成功读取
优先检查:
C:\Users\你的用户名\.claude\settings.json是否存在ANTHROPIC_BASE_URL是否是http://localhost:1234/ANTHROPIC_AUTH_TOKEN是否存在model是否填了实际存在的模型名- 是否有 IDE 缓存影响
- 是否多开了 本地 Claude Code 窗口
- 是否有 终端窗口 残留进程干扰
10. 第九步:为什么模型下载了,Claude Code 还不能切换
下载完成不等于已经可服务。
先看:
lms ls
再看:
lms ps
如果模型不在 lms ps 里,先加载:
lms load "google/gemma-4-26b-a4b" --ttl 3600
然后再在 Claude Code 中:
/model google/gemma-4-26b-a4b
11. 第十步:为什么不建议直接改 LM Studio 模型名字
如果 LM Studio 同时还被其他工具使用,比如 OpenClaw,那么直接修改 LM Studio 侧的名字可能影响其他工具引用。
更稳的做法是:
- 保持 LM Studio 原始模型名不变
- 在 PowerShell 的
$PROFILE中给claude --model ...做快捷命令
例如:
function cc-gemma4 { claude --model "google/gemma-4-26b-a4b" }
function cc-code { claude --model "qwen3.5-9b-claude-4.6-highiq-instruct-heretic-uncensored" }
function cc-gptoss { claude --model "openai/gpt-oss-20b" }
12. 第十一步:如果 Claude Code 内部模型表现异常
即使连接成功,也不代表模型一定适合代码代理任务。
典型表现包括:
- 错误判断当前目录几乎没有文件
- 看不懂项目结构
- 工具调用不稳定
- 对上下文状态理解差
这类问题通常不是 Claude Code 配置问题,而是底层本地模型能力不足。
可以尝试:
- 换更强的模型
- 给代码任务单独准备一个主力模型
- 小模型只用于简单问答或轻任务
13. 推荐排障顺序
建议每次都按这个顺序排:
- 先测
http://localhost:1234/v1/messages - 再测
http://localhost:1234/v1/models - 再看
lms ls - 再看
lms ps - 再检查
C:\Users\love\.claude\settings.json - 再检查
Env:ANTHROPIC* - 最后再看 Claude Code 本身的行为
14. 推荐链接
- Claude Code 设置文档: https://docs.claude.com/en/docs/claude-code/settings
- Claude Code 模型配置文档: https://docs.claude.com/en/docs/claude-code/model-config
- LM Studio Claude Code 集成文档: https://lmstudio.ai/docs/integrations/claude-code
- LM Studio Integrations 总览: https://lmstudio.ai/docs/integrations
- LM Studio CLI 文档: https://lmstudio.ai/docs/cli
- LM Studio
lms load文档: https://lmstudio.ai/docs/cli/local-models/load
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)