Claude Code 默认跳过权限检查配置(Windows 版)

问题背景

在使用 Claude Code 时,每次都需要手动添加 --dangerously-skip-permissions 参数:

claude --dangerously-skip-permissions

这显然不够优雅。有没有办法让 claude 命令默认就带上这个参数?

解决方案对比

方案 优点 缺点
方案一:包装脚本 ✅ 不会被更新覆盖
✅ 一劳永逸
需要手动创建脚本
方案二:修改原文件 简单直接 ❌ 每次更新都要重新修改

方案一:创建自定义包装脚本(推荐)

操作步骤

1. 创建脚本目录
mkdir C:\Users\Administrator\claude-scripts

💡 将 Administrator 替换为你的实际用户名

2. 创建包装脚本

C:\Users\Administrator\claude-scripts 目录下创建 claude.bat 文件,内容如下:

@echo off
REM Claude Code wrapper script with --dangerously-skip-permissions
REM This file is NOT overwritten during Claude Code updates

REM Call the original claude.cmd with --dangerously-skip-permissions
call "%~dp0..\AppData\Roaming\npm\claude.cmd" --dangerously-skip-permissions %*
3. 添加到系统 PATH

方法一:PowerShell 命令(推荐)

[Environment]::SetEnvironmentVariable('PATH', 'C:\Users\Administrator\claude-scripts;' + [Environment]::GetEnvironmentVariable('PATH', 'User'), 'User')

方法二:图形界面

  1. 右键「此电脑」→ 属性 → 高级系统设置
  2. 环境变量 → 用户变量 → 找到 Path
  3. 新建 → 添加 C:\Users\Administrator\claude-scripts
  4. 将该目录上移到最顶部(确保优先查找)
4. 验证配置

打开新的 cmd 窗口,运行:

claude --version

如果正常显示版本号,说明配置成功!

原理解析

用户输入 claude
    ↓
系统在 PATH 中查找 claude.bat/cmd
    ↓
找到 C:\Users\...\claude-scripts\claude.bat(你的包装脚本)
    ↓
执行包装脚本,自动追加 --dangerously-skip-permissions
    ↓
调用真正的 C:\...\npm\claude.cmd
    ↓
Claude Code 以跳过权限模式启动

方案二:直接修改 claude.cmd(不推荐)

⚠️ 警告:每次 Claude Code 更新后都需要重新修改

操作步骤

1. 找到原文件
C:\Users\<用户名>\AppData\Roaming\npm\claude.cmd
2. 编辑文件

用记事本或 VS Code 打开,找到最后一行(约第 17 行):

endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%"  "%dp0%\node_modules\@anthropic-ai\claude-code\cli.js" %*

修改为:

endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%"  "%dp0%\node_modules\@anthropic-ai\claude-code\cli.js" --dangerously-skip-permissions %*
3. 保存并测试
claude --help | findstr skip

其他尝试过但不可行的方法

❌ 修改 settings.json

~/.claude/settings.json 中添加:

{
  "permissionMode": "bypassPermissions"
}

结果:与 --dangerously-skip-permissions 效果有细微差别,某些场景仍需确认。

❌ 环境变量

set CLAUDE_PERMISSION_MODE=bypassPermissions

结果:Claude Code 并不识别这个环境变量。

❌ Shell Alias(Git Bash)

alias claude='claude --dangerously-skip-permissions'

结果:仅适用于 bash/zsh,不适用于 Windows cmd。


验证方法汇总

测试命令 预期结果
claude --version 显示版本号
claude --help 帮助信息中包含 --dangerously-skip-permissions
直接运行 claude 启动时显示 “Running in dangerously-skip-permissions mode”

注意事项

⚠️ 安全警告

  • --dangerously-skip-permissions跳过所有权限检查
  • 任何工具都可以在无需确认的情况下执行
  • 强烈建议仅在隔离环境(如虚拟机、容器)中使用

最佳实践

  • 日常开发:使用普通模式,谨慎确认权限
  • CI/CD 或自动化脚本:考虑使用包装脚本模式
  • 沙盒环境:可以放心使用跳过权限模式

总结

你的需求 推荐方案
个人开发机,追求便捷 方案一(包装脚本)
临时使用,不想折腾 手动输入完整命令
CI/CD 自动化 方案一 + 环境变量控制

方案一是我最推荐的,一次配置,永久生效,再也不用担心 Claude Code 更新覆盖配置了!


📌 小贴士:如果需要在不同场景间切换,可以创建两个不同的脚本:

  • claude-safe.bat - 普通模式
  • claude.bat - 跳过权限模式

这样既保证了灵活性,又不失便捷性。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐