使用SecretManagement.1Password扩展时Get-SecretInfo报op未知命令list错误
故障根因
报错核心原因是SecretManagement.1Password 扩展仅适配 1Password CLI v1 版本,你本地安装的是 1Password CLI v2 版本:
- v1 版 op CLI 采用扁平命令结构,查询 vault 条目的命令为
op list items,这是该扩展默认调用的命令格式 - v2 版 op CLI 重构了全量命令层级,将资源类型调整为一级子命令,等价查询命令为
op item list,顶层不存在list子命令,因此触发「op的未知命令"list"」报错
你手动使用 1Password Power CLI 能正常查看 vault 内容,是因为你执行的是适配 v2 版本的命令语法,和扩展内置的调用逻辑不匹配。
解决方案
两种方案选其一即可:
方案1:开启op v2的v1兼容层(推荐,无需降级CLI)
1Password 在 v2 版本中内置了 v1 命令兼容支持,只需要执行一行命令开启配置,就能让依赖v1命令的工具正常运行,不影响你日常使用v2版本的新命令语法:
op cli enable-legacy-api
执行完成后重新运行Get-SecretInfo即可正常拉取vault中的密钥信息,无需调整扩展的注册配置。
方案2:降级op CLI到v1版本
如果不需要v2版本的新增特性,可以卸载当前安装的op v2,安装1Password CLI v1版本,完成账号登录授权后,扩展即可正常调用。
验证方法
配置完成后可以先手动执行扩展依赖的v1版查询命令做校验,命令能正常返回结果就说明配置生效:
op list items
如果执行上述命令依然报错,先检查本地是否存在多版本op共存的情况,确认PowerShell会话加载的op程序路径符合预期,避免调用到错误版本的程序。
内容的提问来源于stack exchange,提问作者bstetson
相关产品推荐
相关产品推荐

