![[Bug]: Drop down menu of ´Add Lora to prompt´ does nont have a ´none´ selection and always charge the last Lora selected](https://www.chat-gpts.plus/wp-content/uploads/2026/07/9041-6fefaf96.jpg)
[Bug]: Drop down menu of ´Add Lora to prompt´ does nont have a ´none´ selection and always charge the last Lora selected
快速结论:该报错出现在 Stable Diffusion WebUI 的 LoRA 下拉菜单中,用户无法取消已选 LoRA,且关闭 UI 后最后一个选中的 LoRA 会自动保留。优先排查 config.json 中是否存在残留的 "sd_lora" 配置,或通过编辑 lora_script.py 在选项列表中添加 "None" 条目。
问题场景
用户在 Stable Diffusion WebUI(commit 955df7751eef11bb7697e2d77f6b8a6226b21e13)的“设置”中启用了 sd_lora 后,下拉菜单“Add Lora to prompt”缺少空选项(None),导致无法取消已选 LoRA。用户尝试创建一个空 LoRA 文件作为变通方案,但触发 SafetensorError: HeaderTooSmall 错误。
报错原文
activating extra network lora: SafetensorError
Traceback (most recent call last):
File "...\modules\extra_networks.py", line 85, in activate
extra_network.activate(p, [])
File "...\extensions-builtin\Lora\extra_networks_lora.py", line 23, in activate
lora.load_loras(names, multipliers)
File "...\extensions-builtin\Lora\lora.py", line 214, in load_loras
lora = load_lora(name, lora_on_disk.filename)
File "...\extensions-builtin\Lora\lora.py", line 133, in load_lora
sd = sd_models.read_state_dict(filename)
File "...\modules\sd_models.py", line 241, in read_state_dict
pl_sd = safetensors.torch.load_file(checkpoint_file, device=device)
File "...\venv\lib\site-packages\safetensors\torch.py", line 99, in load_file
with safe_open(filename, framework="pt", device=device) as f:
safetensors_rust.SafetensorError: Error while deserializing header: HeaderTooSmall
原因分析
可能原因:
- WebUI 的下拉菜单组件未内置“None”选项,且设置项
sd_lora的值无法被清空,导致重启或刷新后仍保留上次选中的 LoRA。 - 用户创建的空
none.safetensors文件虽然可以作为占位选项,但因其非标准 safetensors 格式(头部不完整),触发SafetensorError。 - 某些第三方扩展(如
stable-diffusion-webui-state)可能额外持久化 LoRA 选择状态,干扰下拉菜单的初始化。
环境排查
- 确认 Stable Diffusion WebUI 版本是否为 Issue 中提到的
955df7751eef11bb7697e2d77f6b8a6226b21e13(较旧版本)。 - 检查
config.json中是否存在"sd_lora": "某个LoRA名称"条目。 - 检查
extensions-builtin\Lora\ui.py或lora_script.py中下拉菜单的选项列表定义。 - 列出已安装的第三方扩展,尤其是
stable-diffusion-webui-state等可能持久化 UI 状态的扩展。
解决步骤
- 修改
config.json清理残留配置(可优先尝试):
关闭 WebUI,打开 WebUI 根目录下的config.json,搜索"sd_lora",将其值改为"None",然后保存文件并重启 WebUI。 - 编辑
lora_script.py添加“None”选项:
打开extensions-builtin\Lora\lora_script.py(或extensions-builtin\Lora/ui.py),找到定义sd_lora下拉菜单的行,将 choices 列表修改为["None"] + [x for x in lora.available_loras]。保存后重启 WebUI。 - 排查并禁用干扰扩展:
前往 Extensions 标签页,逐一禁用可能持久化 UI 状态的扩展(如stable-diffusion-webui-state),点击“Apply and restart UI”,观察问题是否消失。 - 变通方案(创建空 LoRA 文件并忽略错误):
如果暂时无法添加“None”选项,可在models/Lora/目录下创建一个空文件并命名为none.safetensors,然后修改extensions-builtin\Lora\lora.py中的逻辑,在读取 safetensors 元数据前添加条件判断(如if 'none' not in filename),以避免触发SafetensorError。此方法仅为临时绕过。
验证方法
重启 WebUI 后,打开设置中的 sd_lora 下拉菜单,确认存在名称为“None”的选项,并在选择其他 LoRA 后仍能切换回“None”以清除 LoRA。生成的图片中不再自动附加之前选中的 LoRA 即表示问题已解决。



