# Claude Code

## 一直要求登录，或提示 Not logged in · Please run /login

常见报错还有 `Unable to connect to Anthropic services`、`Claude Code might not be available in your country`。原因是首次启动的引导流程没拿到你的配置，去连了官方。

1. 把 `ANTHROPIC_BASE_URL` 和 `ANTHROPIC_AUTH_TOKEN` 写进 `~/.claude/settings.json` 的 `env`（写法见 [Claude Code](https://docs.2api.dev/clients/claude-code/)），不要只写在项目目录的 `.claude/settings.json` 里。
2. 打开 `~/.claude.json`（不是 `settings.json`），在最外层加 `"hasCompletedOnboarding": true`。
3. 重新打开终端启动 `claude`，输入 `/status`，能看到 Anthropic base URL 和 Auth token 两行就对了。

## 提示 Invalid API key · Please run /login，或 API Error: 401

2api 拒绝了这个 Key。按顺序检查：

1. 先跑[自检命令](https://docs.2api.dev/faq/#先做这一步)，如果 curl 也是 401，就是 Key 本身的问题：重新从控制台复制，注意别带空格。
2. curl 正常而 Claude Code 报错，说明 Claude Code 读到的不是这个 Key。同一个变量在 `settings.json` 的 `env` 里和终端 `export` 里都有时，以 `settings.json` 为准，检查那里是不是旧 Key。
3. `settings.json` 写错格式（有注释、多了逗号）会导致只读到一部分，用 `jq . ~/.claude/settings.json` 检查。
4. 短时间内错太多次会被临时限制，提示 `Too many invalid authentication attempts`，等几分钟再用正确的 Key 试。

## 提示 Auth conflict，或者设了 Key 不生效

`ANTHROPIC_AUTH_TOKEN` 和 `ANTHROPIC_API_KEY` 同时存在，或者之前登录过官方账号。

- 只保留 `ANTHROPIC_AUTH_TOKEN`，执行 `unset ANTHROPIC_API_KEY`，并从 `~/.zshrc`、`~/.bashrc` 或 Windows 环境变量里删掉它。
- 只用 2api 的话，在 Claude Code 里执行 `/logout` 退出官方账号。
- 想换回官方，把 `ANTHROPIC_BASE_URL` 和两个 Key 变量都删掉。

## 提示 There's an issue with the selected model

报错里的模型名你的分组没有。常见是 haiku 这类后台任务用的小模型。用 [`/v1/models`](https://docs.2api.dev/start/endpoints/#模型名) 查到分组里有的模型，再按 [Claude Code 页](https://docs.2api.dev/clients/claude-code/#后台任务报模型不存在) 设置 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 和 `CLAUDE_CODE_SUBAGENT_MODEL`。

## 余额掉得很快，缓存好像没生效

老版本 Claude Code 在自定义地址下会让缓存命中率明显下降。先运行 `claude update` 升级到最新版；还不行就在 `settings.json` 的 `env` 里加 `"CLAUDE_CODE_ATTRIBUTION_HEADER": "0"`。可以在「使用记录」里看缓存相关的列确认效果。

## 超时，或者回复到一半断了

报错类似 `Request timed out`、`No response from API`、`Server error mid-response`。

- 在 `env` 里把超时调长：`"API_TIMEOUT_MS": "900000"`。
- 回复中途断开时，直接回一句「继续」。
- 检查代理设置，见[网络与报错码](https://docs.2api.dev/faq/network/)。
- 大请求每次都 504，是服务端超时，请带上时间联系客服。

## 报 400：Extra inputs are not permitted 或 anthropic-beta 相关

在 `settings.json` 的 `env` 里加 `"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"`，重新启动。

## WebFetch 报 Unable to verify if domain is safe to fetch

Claude Code 抓网页前会先去官方做一次检查，网络连不上官方时就会失败。在 `~/.claude/settings.json` 的最外层（不是 `env` 里面）加上 `"skipWebFetchPreflight": true`。

## 换了 Key 或服务商后，每次都报 Invalid signature in thinking block

会话历史里留着别的上游签名的思考内容。执行 `/clear` 或者新开一个会话。

## PowerShell 提示找不到 claude 命令

Claude Code 没装上，或者安装路径还没生效。运行 `irm https://claude.ai/install.ps1 | iex` 安装，然后**重新打开** PowerShell，再执行 `claude --version`。

## VS Code 插件一直让登录

见 [Claude Code 插件](https://docs.2api.dev/clients/claude-code-ide/#插件一直让你登录)，在编辑器设置里加 `claudeCode.environmentVariables` 和 `claudeCode.disableLoginPrompt`。