查找您的错误
将您看到的错误消息或症状与解决方案相匹配:
如果您的问题未列出,请按照下面的诊断检查来缩小原因范围。
运行诊断检查
检查网络连接
安装程序从downloads.claude.ai 下载。验证您可以访问它:
- macOS/Linux
- Windows PowerShell
200 状态,则表示您已到达服务器。在 macOS 和 Linux 上您会看到 HTTP/2 200,从 Windows 附带的 curl.exe 会看到 HTTP/1.1 200 OK。其他结果指向原因:
403:通常是代理或网络过滤器阻止该主机,或 Claude Code 在您的地区不可用5xx:通常是临时服务问题;等待几分钟后重试
Could not resolve host 或连接超时,您的网络正在阻止连接。常见原因:
- 企业防火墙或代理阻止
downloads.claude.ai - 区域网络限制:尝试 VPN 或替代网络
- TLS/SSL 问题:更新您系统的 CA 证书,或检查是否配置了
HTTPS_PROXY
HTTPS_PROXY 和 HTTP_PROXY 为您的代理地址。如果您不知道代理 URL,请向您的 IT 团队询问,或检查您的浏览器代理设置。
此示例设置两个代理变量,然后通过您的代理运行安装程序:
- macOS/Linux
- Windows PowerShell
验证您的 PATH
如果安装成功但运行claude 时出现 command not found 或 not recognized 错误,安装目录不在您的 PATH 中。您的 shell 在 PATH 中列出的目录中搜索程序,安装程序在 macOS/Linux 上将 claude 放在 ~/.local/bin/claude,或在 Windows 上放在 %USERPROFILE%\.local\bin\claude.exe。
VS Code 扩展不会将
claude 放在此位置。它在扩展目录内捆绑了一个私有的 CLI 副本,用于其自己的聊天面板,不会将其添加到 PATH。如果您仅安装了扩展,~/.local/bin/claude 将不存在。运行独立安装以从终端使用 claude,然后继续下面的步骤。local/bin 来检查安装目录是否在您的 PATH 中:
- macOS/Linux
- Windows PowerShell
- Windows CMD
/Users/you/.local/bin 或 /home/you/.local/bin,该目录在您的 PATH 中,您可以跳到检查冲突的安装。如果没有输出,请将其添加到您的 shell 配置。对于 Zsh(macOS 上的默认值):~/.local/bin 添加到您的 PATH,然后重启您的终端。验证修复是否有效:检查冲突的安装
多个 Claude Code 安装可能导致版本不匹配或意外行为。检查已安装的内容:- macOS/Linux
- Windows PowerShell
列出在您的 PATH 中找到的所有 如果这不打印任何内容,您的 PATH 上还没有 一个本机安装显示一个指向
claude 二进制文件:claude。返回到验证您的 PATH。检查 claude 二进制文件可以来自的三个位置。~/.local/bin/claude 是本机安装程序,~/.claude/local/ 是由较旧版本的 Claude Code 创建的旧版本本地 npm 安装,npm 全局列表显示 -g 安装:~/.local/share/claude/versions/ 的符号链接。您在此路径创建的脚本或符号链接是自定义启动程序,自动更新会将其保留在原位。如果任一 ls 命令打印 No such file or directory,这不是错误。这意味着该位置没有安装任何内容,因此继续进行下一个检查。~/.local/bin/claude 或 Windows 上 %USERPROFILE%\.local\bin\claude.exe 的本机安装是推荐的。删除额外的:
卸载 npm 全局安装:
- macOS/Linux
- Windows PowerShell
claude-code@latest cask,请替换该名称:
检查目录权限
安装程序需要对 macOS 和 Linux 上的~/.local/bin/ 和 ~/.claude/ 有写入权限。在 Windows 上,安装位置在 %USERPROFILE% 下,默认情况下您的用户可以写入,因此此部分很少适用于那里。
检查目录是否可写:
验证二进制文件是否有效
如果claude --version 打印版本但 claude 在启动时崩溃或挂起,请运行这些检查来缩小原因范围。如果 claude --version 说命令未找到,请先转到验证您的 PATH;下面的命令假设 claude 在您的 PATH 上。
确认二进制文件存在且可执行:
- macOS/Linux
- Windows PowerShell
ldd 显示缺失的库,您可能需要安装系统包。在 Alpine Linux 和其他基于 musl 的发行版上,请参阅 Alpine Linux setup。
常见安装问题
这些是最常见的安装问题及其解决方案。安装脚本返回 HTML 而不是 shell 脚本
运行安装命令时,您可能会看到以下错误之一:iex 尝试将 HTML 和 CSS 作为 PowerShell 运行:
Missing expression after unary operator '--' 或带有 ParseException 的 ParserError。引用文本中的 HTML 标签或 CSS 标识此故障。如果您改用 -OutFile install.ps1 下载,保存的文件是相同的网页,所以这也无法帮助。
根据请求的路由方式,您可能会看到 403 错误且没有 HTML 正文:
-
使用替代安装方法:
在 macOS 上,通过 Homebrew 安装:
在 Windows 上,通过 WinGet 安装:然后运行
claude --version以确认:该命令打印版本号,例如2.1.211 (Claude Code)。如果 shell 报告找不到claude,打开一个新的终端窗口并重试:您安装的会话保留其旧的PATH。 - 几分钟后重试:问题通常是暂时的。等待并再次尝试原始命令。
安装后 command not found: claude
安装完成但 claude 不起作用。确切的错误因平台而异:
这意味着安装目录不在您的 shell 搜索路径中。请参阅 Verify your PATH 以获取每个平台上的修复。
curl: (56) Failure writing output to destination
curl ... | bash 命令下载脚本并将其传送到 Bash 以执行。此错误以及相关的 curl: (23) Failure writing output to destination 意味着 Bash 没有收到完整的脚本。退出代码 56 表示下载本身被中断,退出代码 23 表示 curl 无法将其接收的内容写入管道,通常是因为 Bash 提前退出。
解决方案:
-
检查网络稳定性:Claude Code 二进制文件托管在
downloads.claude.ai。测试您是否可以访问它:HTTP/2 200行表示您已到达服务器,原始故障可能是间歇性的;重试安装命令。其他结果指向原因:403:通常是代理或网络过滤器阻止主机,或 Claude Code not available in your region5xx:通常是临时服务问题;等待几分钟并重试Could not resolve host或连接超时:您的网络正在阻止下载
-
尝试替代安装方法:
在 macOS 上:
在 Windows 上:然后运行
claude --version以确认:该命令打印版本号,例如2.1.211 (Claude Code)。如果 shell 报告找不到claude,打开一个新的终端窗口并重试:您安装的会话保留其旧的PATH。
Homebrew cask 不可用或过时
Homebrew 报告Error: Cask 'claude-code' is unavailable: No Cask with this name exists 当您的 Homebrew cask 索引本地副本早于 cask 的发布时间。刷新索引并重试:
claude-code cask 跟踪稳定频道,通常比最新版本晚约一周;对于最新版本,请改为运行 brew install --cask claude-code@latest。请参阅 Configure release channel 了解两个 cask 之间的区别。
TLS 或 SSL 连接错误
诸如curl: (35) TLS connect error、schannel: next InitializeSecurityContext failed 或 PowerShell 的 Could not establish trust relationship for the SSL/TLS secure channel 之类的错误表示 TLS 握手失败。
解决方案:
-
更新您的系统 CA 证书:
在 Ubuntu/Debian 上:
在 macOS 上,系统 curl 使用 Keychain 信任存储;更新 macOS 本身会更新根证书。
-
在 Windows 上,在运行安装程序前在 PowerShell 中启用 TLS 1.2:
-
检查代理或防火墙干扰:执行 TLS 检查的企业代理可能导致这些错误,包括
unable to get local issuer certificate和SELF_SIGNED_CERT_IN_CHAIN。对于安装步骤,使安装下载信任您的企业代理的 CA:对于安装后的 Claude Code 本身,设置- macOS/Linux
- Windows PowerShell
NODE_EXTRA_CA_CERTS以便 API 请求信任相同的包:如果您没有证书文件,请向您的 IT 团队询问。您也可以尝试直接连接以确认代理是原因。- macOS/Linux
- Windows PowerShell
-
在 Windows 上,解决被阻止的撤销检查。错误
CRYPT_E_NO_REVOCATION_CHECK (0x80092012)和CRYPT_E_REVOCATION_OFFLINE (0x80092013)意味着 curl 到达了服务器,但您的网络阻止了证书撤销查询,这在企业防火墙后很常见。如果失败的命令是下载install.cmd的curl,从命令提示符重新运行它,添加--ssl-revoke-best-effort:当脚本自己的下载遇到相同的错误时,它会自动使用最佳努力撤销检查重试它们,因此该标志仅在您自己运行的命令上需要。最佳努力检查容许无法访问的撤销服务器,但仍然拒绝已知被撤销的证书,与浏览器处理撤销的方式相匹配。您也可以通过从 PowerShell 运行 PowerShell 安装程序来完全避免 curl 的撤销检查,该安装程序通过 .NET 下载,当撤销服务器无法访问时不会失败:您也可以使用winget install Anthropic.ClaudeCode安装,这完全避免了 curl。
Failed to fetch version from downloads.claude.ai
安装程序无法访问下载服务器。这通常意味着 downloads.claude.ai 在您的网络上被阻止。请参阅 Check network connectivity。
Windows 上的错误安装命令
如果您看到'irm' is not recognized、The token '&&' is not valid、A parameter cannot be found that matches parameter name 'fsSL' 或 'bash' is not recognized as the name of a cmdlet,您复制了不同 shell 或操作系统的安装命令。如果该命令打印脚本的文本而不是安装任何内容,您只运行了其中的一部分。
-
irm未识别:您在 CMD 中,而不是 PowerShell。您有两个选项: 通过在开始菜单中搜索”PowerShell”打开 PowerShell,然后运行原始安装命令:或留在 CMD 中并改用 CMD 安装程序: -
&&无效:您在 PowerShell 中但运行了 CMD 安装程序命令。使用 PowerShell 安装程序: -
A parameter cannot be found that matches parameter name 'fsSL':您在 Windows PowerShell 中运行了 macOS/Linuxcurl -fsSL ... | bash安装程序,其中curl是Invoke-WebRequest的别名并拒绝-fsSL标志。改用 PowerShell 安装程序: -
bash未识别:您在 Windows 上运行了 macOS/Linux 安装程序。改用 PowerShell 安装程序: -
该命令打印脚本文本而不是安装:您运行了命令的下载部分,而没有运行执行它的部分。
irm https://claude.ai/install.ps1单独会将下载的脚本打印到终端。将其传送到iex以运行它:在 CMD 中,curl -fsSL https://claude.ai/install.cmd没有-o会打印批处理脚本而不是保存它。运行完整命令:
claude --version,它打印版本号,例如 2.1.211 (Claude Code)。
running scripts is disabled on this system
在 Windows 上通过 npm 安装或运行 Claude Code 可能会失败,出现 SecurityError:
claude 时,同样的错误名称 claude.ps1。PowerShell 的执行策略正在阻止 npm 为其命令创建的 .ps1 启动程序脚本。该策略适用于脚本文件,因此它不影响 PowerShell 安装程序 irm https://claude.ai/install.ps1 | iex,它直接运行下载的文本。
解决方案:
- 允许为您的用户本地创建的脚本,然后重试:
- 改为调用
.cmd启动程序:npm.cmd和claude.cmd做同样的工作,该策略不涵盖它们。 - 改用 PowerShell installer,而不是 npm。它安装二进制文件而不是
.ps1脚本。
Windows 安装期间 The process cannot access the file
如果 PowerShell 安装程序失败,显示 Failed to download binary: The process cannot access the file ... because it is being used by another process,安装程序无法写入 %USERPROFILE%\.claude\downloads。这通常意味着之前的安装尝试仍在运行,或防病毒软件正在扫描该文件夹中部分下载的二进制文件。
关闭任何其他运行安装程序的 PowerShell 窗口,并等待防病毒扫描释放该文件。然后删除下载文件夹并再次运行安装程序:
低内存 Linux 服务器上安装被杀死
在安装期间看到Killed 消息通常意味着 Linux 内存不足 (OOM) 杀手终止了 claude install 步骤,因为系统内存不足。这在小型 VPS 和云实例上很常见。安装脚本报告原因并以代码 137 退出。在此示例中,行号和进程 ID 因版本和运行而异:
-
添加交换空间(如果您的服务器 RAM 有限)。交换使用磁盘空间作为溢出内存,让安装即使在低物理 RAM 的情况下也能完成。
创建 2 GB 交换文件并启用它:
然后重试安装:
- 关闭其他进程以在安装前释放内存。
- 如果可能,使用更大的实例。Claude Code 需要至少 4 GB 的 RAM。
Docker 中安装挂起
在 Docker 容器中安装 Claude Code 时,以 root 身份安装到/ 可能导致挂起。
解决方案:
-
在运行安装程序前设置工作目录。从
/运行时,安装程序扫描整个文件系统,这导致过度的内存使用。设置WORKDIR将扫描限制在小目录: - 给 Docker 更多内存(如果使用 Docker Desktop)。构建容器共享分配给 Docker Desktop 虚拟机的内存,因此打开 Docker Desktop 中的 Settings > Resources,提高内存限制,然后重新运行构建。
安装期间 Raw mode is not supported
当您的组织的 server-managed settings 包括需要 security approval 的更改时,Claude Code 2.1.246 之前的版本尝试在 claude install 期间显示批准对话框。该对话框需要 stdin 上的终端。当安装程序从管道运行 claude install 时,如 curl -fsSL https://claude.ai/install.sh | bash 所做的那样,stdin 是管道而不是终端,因此安装失败,错误包含 Raw mode is not supported。
Claude Code v2.1.246 及更高版本在 claude install 或 claude update 期间不显示对话框。该命令使用您上次批准的设置运行,Claude Code 在您的下一个交互式会话中显示对话框。如果您的组织的启动配置 waits for the settings fetch,例如当它设置 forceRemoteSettingsRefresh 时,对话框仍然在这些命令期间出现,从管道运行的安装仍然会失败。
在所有其他配置中,重新运行安装程序会绕过此错误,因为即使您要求它安装较旧版本,脚本也会运行最新版本的 install 命令。为您的平台重新运行命令:
- macOS/Linux
- Windows PowerShell
claude --version 打印重新运行安装的版本。
claude update 或 claude doctor 挂起
claude update 和 claude doctor 扫描您的 shell 配置文件以查找过时的 claude 别名:~/.zshrc、~/.bashrc 和 ~/.config/fish/config.fish,加上在 macOS 上存在的 ~/.bash_profile、~/.bash_login 或 ~/.profile 中的第一个。如果您设置 ZDOTDIR,Zsh 文件是 $ZDOTDIR/.zshrc。当这些路径之一是目录时,Claude Code 会跳过它,两个命令都正常完成。在 v2.1.214 之前,这些路径之一的目录会导致两个命令挂起,并使 /status 的系统诊断部分为空。claude doctor 挂起且没有输出;claude update 在打印 Checking for updates 后立即挂起。
如果您在较早版本上遇到挂起,请找到目录。在此命令的输出中,以 d 开头的行将该路径标记为目录。No such file or directory 行意味着该路径处不存在任何内容,不是原因:
claude update 在受影响的版本上挂起,请改为重新运行 install script 来更新。
Claude Desktop 在 Windows 上覆盖 claude 命令
如果您安装了较旧版本的 Claude Desktop,它可能在 WindowsApps 目录中注册 Claude.exe,其 PATH 优先级高于 Claude Code CLI。运行 claude 会打开 Desktop 应用而不是 CLI。
更新 Claude Desktop 到最新版本以修复此问题。
Windows 上的 Claude Code 需要 Git for Windows(用于 bash)或 PowerShell
Git for Windows 是可选的。Claude Code 在缺少 Git Bash 时使用 PowerShell tool,因此此错误意味着两个 shell 都未找到。 如果 PowerShell 从您的 PATH 中缺失,其默认位置是C:\Windows\System32\WindowsPowerShell\v1.0\。将该目录添加到您的 PATH,或安装 PowerShell 7,它提供 pwsh。
要改为安装 Git for Windows,从 git-scm.com/downloads/win 下载它。在设置期间,选择”Add to PATH”。安装后重启您的终端。安装它启用了 Bash 工具,在使用基于 Bash 的脚本和工具时很有用。
如果 Git 已安装但 Claude Code 找不到它,请比较其位置与 Claude Code 检查的位置。当 CLAUDE_CODE_GIT_BASH_PATH 未设置时,Claude Code 按此顺序查找 bash.exe:
- 默认安装位置
C:\Program Files\Git和C:\Program Files (x86)\Git。 - 您的
PATH上的git,使用该 Git 安装中的bin\bash.exe。
git,其路径包含 node_modules 或虚拟环境文件夹(如 .venv 或 env),例如当您从 C:\dev\env\myproject 启动时的 C:\dev\env\myproject\Git。这防止 Claude Code 运行项目放在那里的可执行文件。如果您的 Git 在这样的位置,请将 CLAUDE_CODE_GIT_BASH_PATH 指向它。
要将 Claude Code 指向特定的 Git 安装,通过在 PowerShell 中运行 where.exe git 找到它,然后在您的 settings.json file 中将该安装中的 bin\bash.exe 路径设置为 CLAUDE_CODE_GIT_BASH_PATH:
CLAUDE_CODE_GIT_BASH_PATH 设置为正确的路径且文件存在但 Claude Code 仍然不使用它,请首先检查文件的名称。Claude Code 仅接受名为 bash.exe、sh.exe、bash 或 sh 的文件;使用任何其他名称(如 Git for Windows 的 git-bash.exe 启动程序),它会忽略该变量并自动检测 Git Bash,就像它未设置一样,记录 --debug 可见的警告。不存在的路径会获得相同的回退和警告。在 v2.1.219 之前,Claude Code 使用任何现有文件作为 shell,而不检查其名称,当路径不存在时在启动时以 Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path 退出。
如果文件的名称正确,端点安全软件(如 AppLocker、Group Policy 软件限制策略或 EDR 代理)可能会干扰。要求您的 IT 团队在您的端点保护策略中将 claude.exe 及其生成的进程(包括 cmd.exe 和 bash.exe)列入白名单。
Claude Code 不支持 32 位 Windows
Windows 在开始菜单中包含两个 PowerShell 条目:Windows PowerShell 和 Windows PowerShell (x86)。x86 条目以 32 位进程运行,即使在 64 位机器上也会触发此错误。要检查您处于哪种情况,请在产生错误的同一窗口中运行此命令:
True,您的操作系统没问题。关闭窗口,打开不带 x86 后缀的 Windows PowerShell,然后再次运行安装命令。
如果这打印 False,您在 32 位版本的 Windows 上。Claude Code 需要 64 位操作系统。请参阅 system requirements。
Linux musl 或 glibc 二进制文件不匹配
如果在安装后看到关于缺失共享库(如libstdc++.so.6 或 libgcc_s.so.1)的错误,安装程序可能为您的系统下载了错误的二进制变体。
-
检查您的系统使用哪个 libc:
提及
GNU libc或GLIBC的输出表示 glibc。提及musl的输出表示 musl。 -
如果您在 glibc 上但获得了 musl 二进制文件,删除安装并重新安装。您也可以使用
https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json处的清单手动下载正确的二进制文件。使用ldd --version和ls /lib/libc.musl*的输出提交 GitHub issue。 -
如果您实际上在 musl 上,例如 Alpine Linux,请安装所需的包:
在 Alpine 上,
ripgrep在社区存储库中。如果apk报告包缺失,请参阅 Alpine Linux setup。
Illegal instruction
如果运行 claude 或安装程序打印 Illegal instruction,本机二进制文件使用您的处理器不支持的 CPU 指令。有两个不同的原因。
架构不匹配。 安装程序下载了错误的二进制文件,例如在 ARM 服务器上的 x86。在 macOS 或 Linux 上使用 uname -m 检查,或在 PowerShell 中使用 $env:PROCESSOR_ARCHITECTURE。如果结果与您收到的二进制文件不匹配,请 file a GitHub issue 并提供输出。
缺失 AVX 指令集。 如果您的架构正确但仍然看到 Illegal instruction,您的 CPU 可能缺少二进制文件需要的 AVX 或其他指令。这影响大约 2013 年之前的英特尔和 AMD 处理器,以及虚拟机(其中虚拟机管理程序不将 AVX 传递给客户机)。
在 VPS 或 VM 上,运行 grep -m1 -ow avx /proc/cpuinfo;空结果意味着 AVX 对客户机不可用。
没有本机二进制文件解决方法;跟踪 issue #50384 以获取状态,并在报告时包括您的 CPU 型号(来自 Linux 上的 grep -m1 "model name" /proc/cpuinfo 或 macOS 上的 sysctl -n machdep.cpu.brand_string)。
替代安装方法下载相同的本机二进制文件,不会解决任一原因。
macOS 上的 dyld: cannot load
如果在安装期间看到 dyld: Symbol not found、dyld: cannot load 或 Abort trap: 6,二进制文件与您的 macOS 版本或硬件不兼容。
引用 libicucore 的 Symbol not found 错误意味着您的 macOS 版本比二进制文件支持的版本更旧:
- 检查您的 macOS 版本:Claude Code 需要 macOS 13.0 或更高版本。打开 Apple 菜单并选择”About This Mac”以检查您的版本。
- 更新 macOS(如果您在较旧版本上)。二进制文件使用较旧 macOS 版本不支持的加载命令和系统库。Homebrew 等替代安装方法下载相同的二进制文件,不会解决此错误。
WSL1 上的 Exec format error
如果在 WSL 中运行 claude 打印 cannot execute binary file: Exec format error,您在 WSL1 上并遇到了在 issue #38788 中跟踪的已知本机二进制文件回归。二进制文件的程序头以 WSL1 的加载程序无法处理的方式改变。
最干净的修复是从 PowerShell 将您的发行版转换为 WSL2:
~/.bashrc,如果您的主目录不同,请替换路径:
source ~/.bashrc 并重试 claude。
WSL 中的 npm 安装错误
如果您在 WSL 内使用npm install -g 安装了 Claude Code,这些问题适用。如果您使用了 native installer,请跳过此部分。
OS 或平台检测问题。 如果 npm 在安装期间报告平台不匹配,WSL 可能正在选择 Windows npm。首先运行 npm config set os linux,然后使用 npm install -g @anthropic-ai/claude-code --force 安装。不要使用 sudo。
运行 claude 时 exec: node: not found。 您的 WSL 环境可能使用 Node.js 的 Windows 安装。使用 which npm 和 which node 确认:以 /mnt/c/ 开头的路径是 Windows 二进制文件,而 Linux 路径以 /usr/ 开头。要修复此问题,通过您的 Linux 发行版的包管理器或通过 nvm 安装 Node。
nvm 版本冲突。 如果您在 WSL 和 Windows 中都安装了 nvm,在 WSL 中切换 Node 版本可能会中断,因为 WSL 默认导入 Windows PATH,Windows nvm 优先。最常见的原因是 nvm 未在您的 shell 中加载。将 nvm 加载程序添加到 ~/.bashrc 或 ~/.zshrc:
安装期间的权限错误
如果本机安装程序因权限错误而失败,目标目录可能不可写。请参阅 Check directory permissions。 如果您之前使用 npm 安装并遇到 npm 特定的权限错误,请切换到本机安装程序:npm 安装后未找到本机二进制文件
@anthropic-ai/claude-code npm 包通过每个平台的可选依赖项(如 @anthropic-ai/claude-code-darwin-arm64)下载本机二进制文件。然后 npm 运行包的 postinstall 脚本,该脚本将该二进制文件复制到位作为 claude 命令;在它运行之前,claude 是一个占位符脚本。如果下载或 postinstall 步骤被跳过,占位符会保留,在 macOS 和 Linux 上运行 claude 会打印:
bin/claude.exe 是相同的 shell 脚本占位符而不是真实可执行文件,因此 PowerShell 和 CMD 报告他们无法运行该文件,而不是打印此消息。
检查以下原因:
- 可选依赖项被禁用。 从您的 npm install 命令中删除
--omit=optional,从 pnpm 中删除--no-optional,或从 yarn 中删除--ignore-optional,并检查.npmrc是否未设置optional=false。然后重新安装。本机二进制文件仅作为可选依赖项提供,因此如果跳过它,就没有 JavaScript 回退,重新运行install.cjs无法放置从未下载的二进制文件。 - 安装脚本被禁用。
--ignore-scripts和某些 pnpm 配置跳过 postinstall 步骤,但仍然下载平台包。按照消息的建议运行node node_modules/@anthropic-ai/claude-code/install.cjs,或不使用该标志重新安装。如果 postinstall 在您的环境中根本无法运行,node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs会找到下载的包并启动它,代价是每次启动时额外的 Node 进程。如果包装器改为打印Could not find native binary package,平台包从未被下载,因此首先修复上面的可选依赖项原因。 - 不支持的平台。 预构建的二进制文件为
darwin-arm64、darwin-x64、linux-x64、linux-arm64、linux-x64-musl、linux-arm64-musl、win32-x64和win32-arm64发布。Claude Code 不为其他平台提供二进制文件;请参阅 system requirements。在 FreeBSD 上,安装程序报告平台不受支持。在 v2.1.205 之前,它将 FreeBSD 视为 Linux 并下载了无法运行的二进制文件。 - 企业 npm 镜像缺少平台包。 确保您的注册表除了元包外还镜像所有八个
@anthropic-ai/claude-code-*平台包。
npm ENOTEMPTY 错误在更新或重新安装期间
当您在现有安装上运行 npm install -g @anthropic-ai/claude-code 时,npm 在移动旧包目录时可能会失败:
npm error path 行命名 npm 无法移动的目录。删除该目录和其旁边的任何剩余 .claude-code-* 目录,这些目录早期中断的运行可能会留下。下面的命令使用 npm root -g 找到您的全局包目录;如果 npm error path 行命名的目录不在 npm root -g 打印的目录下,例如因为您使用 nvm 切换了 Node 版本,请删除错误命名的目录:
- macOS/Linux
- Windows PowerShell
no matches found,则没有要删除的目录:claude --version 确认,它打印版本号,例如 2.1.211 (Claude Code)。
登录和身份验证
这些部分解决登录失败、OAuth 错误和令牌问题。重置您的登录
当登录失败且原因不明显时,干净的重新身份验证可以解决大多数情况:- 运行
/logout完全注销 - 关闭 Claude Code
- 使用
claude重启并再次完成身份验证过程
c 将 OAuth URL 复制到您的剪贴板,然后手动将其粘贴到浏览器中。当 URL 在狭窄或 SSH 终端中跨行换行且无法直接点击时,这也有效。
OAuth 错误:无效代码
如果您看到OAuth error: Invalid code. Please make sure the full code was copied,登录代码已过期或在复制粘贴期间被截断。
解决方案:
- 按 Enter 重试,并在浏览器打开后快速完成登录
- 如果浏览器不会自动打开,输入
c复制完整 URL - 如果使用远程/SSH 会话,浏览器可能在错误的机器上打开。复制终端中显示的 URL 并在您的本地浏览器中打开它。
登录后 403 Forbidden
如果登录后看到API Error: 403 {"error":{"type":"forbidden","message":"Request not allowed"}}:
- Claude Pro/Max 用户:在 claude.ai/settings 验证您的订阅是否有效
- Anthropic Console 用户:确认您的账户具有”Claude Code”或”Developer”角色。管理员在 Anthropic Console 的”Settings → Members”中分配此角色。
- 在代理后面:企业代理可能干扰 API 请求。有关代理设置,请参阅 network configuration。
此组织已被禁用,但有活跃订阅
如果您看到API Error: 400 ... "This organization has been disabled",尽管有活跃的 Claude 订阅,ANTHROPIC_API_KEY 环境变量正在覆盖您的订阅。这通常发生在来自前一个雇主或项目的旧 API 密钥仍在您的 shell 配置文件中设置时。
当 ANTHROPIC_API_KEY 存在且您已批准它时,Claude Code 使用该密钥而不是您的订阅的 OAuth 凭证。在使用 -p 标志的非交互模式下,当存在时始终使用该密钥。有关完整的解决顺序,请参阅 authentication precedence。
要改用您的订阅,请取消设置环境变量并从您的 shell 配置文件中删除它:
- macOS/Linux
- Windows PowerShell
~/.zshrc、~/.bashrc 或 ~/.profile 中的 export ANTHROPIC_API_KEY=... 行并删除它们以使更改永久生效。在 Windows 上,检查您的 PowerShell 配置文件(位于 $PROFILE)和您的用户环境变量中的 ANTHROPIC_API_KEY。在 Claude Code 内运行 /status 以确认哪种身份验证方法处于活跃状态。
OAuth 登录在 WSL2、SSH 或容器中失败
当 Claude Code 在 WSL2 中运行、通过 SSH 在远程机器上运行或在容器内运行时,浏览器通常在不同的主机上打开,其重定向无法到达 Claude Code 的本地回调服务器。登录后,浏览器显示登录代码而不是自动重定向回来。将该代码粘贴到终端的Paste code here if prompted 提示处以完成登录。
如果浏览器根本不从 WSL2 打开,请将 BROWSER 环境变量设置为您的 Windows 浏览器路径:
c 复制 OAuth URL,或复制 claude auth login 打印的 URL,并在您的本地机器上的浏览器中打开它。
如果将代码粘贴到交互式提示中没有任何反应,您的终端的粘贴绑定可能无法到达输入字段。尝试您的终端的替代粘贴快捷键,通常在 Windows Terminal 中是右键单击或 Shift+Insert,或改用 claude auth login,它从标准输入读取粘贴的代码:
未登录或令牌已过期
如果 Claude Code 在会话后提示您再次登录,您的 OAuth 令牌可能已过期。 运行/login 重新身份验证。如果这经常发生,检查您的系统时钟是否准确,因为令牌验证取决于正确的时间戳。
一台机器上的并行会话共享已保存的登录并协调其续期,以便只有一个进程一次刷新令牌。在 v2.1.211 之前,从睡眠状态唤醒机器可能导致两个会话使用相同令牌续期,这会撤销已保存的登录并提示每个打开的会话立即再次登录。
在 macOS 上,Claude Code 将凭证保存到登录 Keychain。当 Keychain 拒绝写入时,例如当它在 SSH 会话中被锁定或其密码与您的账户密码不同步时,Claude Code 改为将您的登录保存到纯文本 ~/.claude/.credentials.json 文件。Console 登录创建 API 密钥会失败,直到 Keychain 再次可写。
要使 Keychain 再次可写并将您的登录移回加密的 Keychain:
1
检查 Keychain 访问
运行
claude doctor 检查 Keychain 访问。当 Keychain 拒绝写入时,报告列出以 macOS Keychain is not writable 开头的警告,后跟建议的修复。当报告未列出 Keychain 警告时,Keychain 可写,您可以跳到最后一步。2
解锁 Keychain
claude doctor。当解锁成功时,报告不再列出 Keychain 警告。3
如果解锁无法帮助,请重新同步 Keychain 密码
打开 Keychain Access,选择
login keychain,并选择 Edit > Change Password for Keychain “login” 以将其与您的账户密码重新同步。然后再次运行 claude doctor。一旦报告不再列出 Keychain 警告,继续下一步。4
注销并重新登录
一旦 Keychain 再次可写,Claude Code 在下次写入凭证时将凭证移回。要立即强制执行,请运行
/logout 然后 /login。注销会删除所有存储的凭证,包括纯文本文件的内容、已保存的 MCP 服务器登录和插件敏感值,因此预期之后需要重新授权 MCP 服务器和重新输入插件密钥。再次登录会将您的登录存储在 Keychain 中。Bedrock、Agent Platform 或 Foundry 凭证未加载
如果您配置了 Claude Code 以使用云提供商,并在 Amazon Bedrock 上看到Could not load credentials from any providers、在 Google Cloud 的 Agent Platform 上看到 Could not load the default credentials 或在 Microsoft Foundry 上看到 ChainedTokenCredential authentication failed,您的云提供商 CLI 可能在当前 shell 中未进行身份验证。
对于 Amazon Bedrock,确认您的 AWS 凭证有效:
ANTHROPIC_VERTEX_PROJECT_ID 和 CLOUD_ML_REGION 在您的 shell 中设置,然后设置应用默认凭证:
ANTHROPIC_FOUNDRY_API_KEY 已设置,或使用 Azure CLI 登录以便默认凭证链可以找到您的账户:
仍然卡住
如果上述任何方法都无法解决您的问题:- 检查 GitHub repository 以了解已知问题,或使用您的操作系统、您运行的安装命令和完整错误输出打开新问题
- 如果
claude --version有效但其他内容有问题,运行claude doctor以获取自动诊断报告 - 如果您可以启动会话,在 Claude Code 内使用
/feedback报告问题 - 如果问题与您的账户而非安装有关,例如登录循环、无法识别的订阅或被禁用的组织,请联系 Anthropic 支持:在 claude.ai(Console 用户:platform.claude.com)登录,点击左下角的您的首字母缩写,然后选择获取帮助。有关完整流程,请参阅 How to get support。