Skip to Content
用户指南权限与信任

权限与工作区信任

Qwen Code 可以读写文件、执行命令并调用连接的工具。权限机制决定工具请求被允许、拒绝还是交由用户审批。工作区信任还决定是否加载项目配置。

选择权限模式

qwen --permission-mode default
模式行为
default保留尚未被适用规则处理的授权请求。
accept_edits自动接受符合条件的编辑请求;其他请求、安全异议及适用的 Hook 请求仍可能要求授权。
auto在可用时使用自动权限分类器评估请求,不保证所有请求都无需人工介入。
dont_ask拒绝原本需要询问授权的请求;已经获准的操作仍可执行。
bypass_permissions跳过普通授权请求;不可跳过或不受绕过模式影响的请求仍然存在,并非覆盖所有策略。

在用户配置中设置默认值:

{ "general": { "defaultPermissionMode": "default" } }

--dangerously-skip-permissions 使用绕过模式。只有在你确实打算直接授权普通工具操作、不逐条检查请求时才使用。权限模式不是操作系统沙箱,模式选择和工作区信任都不会隔离文件系统或网络。

检查规则

使用 /permissions 管理工具权限规则、查看最近的拒绝记录和受信任目录。保存规则前检查作用范围:持久化的用户规则,比单次会话中的决定影响更广。

仅为本次启动指定允许或拒绝规则:

qwen --allowed-tools 'Bash(ls:*)' qwen --disallowed-tools 'Bash'

规则字符串标识工具,也可以约束工具参数。请加上引号,避免 shell 解释括号或通配符。不要将仅允许某条命令的需求,扩大为允许所有 shell 操作。

允许规则不会让已经禁用的工具重新可用,也不保证其他适用检查全部通过。请求被拒绝时,先查看具体原因,不要直接切换到绕过模式。

限制可用工具

--tools 改变可用的内置工具集合,与权限系统中允许工具执行不同。

qwen --tools "" -p "不使用内置工具回答。"

空值禁用内置工具,但不代表禁用了所有单独配置的 MCP 能力。--tools default 选择正常的内置工具集合。此参数接受多个值,因此应使用 -p 或 -- 分隔提示词,避免将提示词误认为工具名称。

需要限制本次运行的 MCP 服务器时,可以使用 --allowed-mcp-server-names。除了权限,也应检查服务器定义及工具说明。

工作区信任

正常配置合并不会加载未受信任的项目和本地配置。项目的 .qwen/.env 文件仍会读取,但项目未受信任时,会忽略其中控制执行程序的变量(shell 前缀、Git Bash 路径,Windows 上还包括 PATH 等相关变量)。用户配置独立生效。显式指定 --settings 文件属于主动覆盖,不受项目是否可信的过滤保护。

非交互运行会把当前目录视为可信。使用 -p、输入或输出被管道或重定向、CI=true 或 GITHUB_ACTIONS=true 时,项目和本地配置、Hook 以及项目 MCP 服务器都会加载,不经过信任确认。只对已审阅过配置的仓库做自动化,或传入 --setting-sources user。

用 /permissions 中的信任和目录管理功能,检查当前工作区之外的目录。/add-dir 和 --add-dir 用于加入工作区目录;向额外目录授予访问权限,会扩大任务能够操作的文件范围。

“项目可信”不等于其中所有文件、Hook、插件或 shell 命令均无风险。请检查配置,以及当前准备授权的具体工具请求。

非交互任务

自动化运行前先准备认证和明确的权限。如果需要新增授权的操作应直接失败而不是等待提示,可以选择 dont_ask。先用有代表性的小请求验证流程,并将权限拒绝作为失败处理。

配置来源优先级见配置,意外拒绝的处理见故障排查。

Last updated on