Codex++ 插件市场修复失败:config.toml TOML parse failed的解决方法
摘要:本文详细介绍了 Codex++ 插件市场修复失败并提示
config.toml TOML parse failed错误的完整解决方案。文章分析了常见的 TOML 语法错误原因(如重复定义配置段、JSON 格式误用、Windows 路径转义错误等),提供了一键修复的 PowerShell 脚本,并指导用户如何验证配置问题、安全恢复原有配置,最终确保插件市场功能恢复正常。
一、问题现象
在 Windows 上使用 Codex++ 时,点击“插件市场修复”或“一键修复”后,出现以下报错:
插件市场修复失败:config.toml TOML parse failed有时还会伴随以下现象:
- Codex++ 可以打开,但插件市场无法注册;
- “工具与插件”页面无法正常使用;
- Codex 启动后长时间停留在 Logo 页面;
- 重启 Codex++ 后问题依旧;
- 本地插件目录存在,但配置状态显示“未注册”。
此时通常不是插件目录本身损坏,而是 Codex 的配置文件:
C:\Users\<你的用户名>\.codex\config.toml存在 TOML 语法错误,导致 Codex++ 无法读取和修改配置。
二、问题原因
config.toml是 Codex 使用的 TOML 配置文件。
常见错误包括:
1. 重复定义配置段
例如:
[mcp_servers.test] command = "node" [mcp_servers.test] command = "python"同一个配置段不能重复声明。
2. 把 JSON 内容直接写进 TOML
错误示例:
{"model":"deepseek-v4-flash"}正确的 TOML 写法应为:
model = "deepseek-v4-flash"3. Windows 路径中的反斜杠转义错误
可能出错的写法:
command = "C:\Users\23670\test.exe"推荐改成:
command = "C:/Users/23670/test.exe"或者使用 TOML 单引号字符串:
command = 'C:\Users\23670\test.exe'4. 字符串缺少引号
错误:
base_url = https://api.example.com/v1正确:
base_url = "https://api.example.com/v1"5. 手动修改配置时漏写括号、引号或换行格式错误
只要config.toml中有一处语法错误,Codex++ 就可能无法继续注册插件市场。
三、解决思路
处理流程如下:
- 关闭 Codex 和 Codex++;
- 备份原来的
config.toml; - 将损坏配置移走;
- 创建一个最小且合法的 TOML 配置;
- 重新启动 Codex++;
- 再次执行插件市场修复;
- 修复成功后,逐段恢复原配置。
这样既能恢复 Codex++,也不会直接丢失原有配置。
四、一键修复 PowerShell 脚本
打开 Windows PowerShell,复制并执行以下完整脚本:
$CodexHome="$env:USERPROFILE\.codex"$Config=Join-Path$CodexHome"config.toml"$Stamp=Get-Date-Format"yyyyMMdd-HHmmss"# 1. 关闭 Codex 和 Codex++Get-Process-ErrorAction SilentlyContinue|Where-Object{$_.ProcessName-match"Codex|codex-plus-plus"}|Stop-Process-Force-ErrorAction SilentlyContinueStart-Sleep-Seconds 2# 2. 确保 .codex 目录存在New-Item-ItemType Directory-Path$CodexHome-Force|Out-Null# 3. 备份并移走损坏的配置if(Test-Path$Config){$Backup=Join-Path$CodexHome"config.toml.bad-$Stamp"Move-Item-Path$Config-Destination$Backup-ForceWrite-Host"旧配置已备份到:"$Backup-ForegroundColor Yellow}# 4. 创建最小、合法、无 BOM 的 TOML 文件$Utf8NoBom=New-ObjectSystem.Text.UTF8Encoding($false)[System.IO.File]::WriteAllText($Config,"# Temporary clean Codex configuration`r`n",$Utf8NoBom)Write-Host"`n当前配置内容:"-ForegroundColor GreenGet-Content$ConfigWrite-Host"`n配置文件信息:"-ForegroundColor GreenGet-Item$Config|Select-ObjectFullName,Length,LastWriteTime执行成功后,会生成新的配置文件:
C:\Users\<你的用户名>\.codex\config.toml其内容只有:
# Temporary clean Codex configuration这是一份合法的最小 TOML 配置。
原来的配置不会被删除,而是备份为类似:
config.toml.bad-20260729-225000五、重新启动并修复插件市场
完成上面的 PowerShell 操作后:
- 重新启动 Codex++;
- 打开“关于”页面;
- 再次点击“插件市场修复”或“一键修复”;
- 等待修复完成;
- 点击“重启 Codex++”;
- 打开“工具与插件”,检查插件市场是否恢复。
如果不再出现:
config.toml TOML parse failed说明配置文件问题已经解决。
六、如何验证问题是否来自config.toml
若系统已安装 Python 3.11 或更高版本,可以使用内置的tomllib检查 TOML 语法。
在 PowerShell 中执行:
@' import pathlib import tomllib path = pathlib.Path.home() / ".codex" / "config.toml" try: with path.open("rb") as f: tomllib.load(f) print("config.toml 语法正常") except Exception as e: print("config.toml 语法错误:") print(e) '@|py-如果配置有问题,通常会显示:
Invalid value at line xx, column xx或者:
Cannot declare (...) twice根据提示的行号检查原配置即可。
七、恢复原有模型或 MCP 配置
修复成功后,不建议直接把整个备份文件覆盖回去,否则原来的 TOML 错误也会一起恢复。
建议使用记事本或 VS Code 打开备份文件:
notepad"$env:USERPROFILE\.codex\config.toml.bad-时间"然后逐段复制以下配置到新的config.toml:
- 模型名称;
- 模型供应商;
- API Base URL;
- MCP 服务;
- 项目信任配置;
- 其他自定义选项。
每恢复一部分,就重启一次 Codex++ 验证。
这样可以快速定位到底是哪一段配置有问题。
八、不要直接删除整个.codex目录
不建议执行:
Remove-Item"$env:USERPROFILE\.codex"-Recurse-Force因为.codex目录中可能还包含:
- 用户配置;
- 模型供应商信息;
- MCP 配置;
- 会话相关数据;
- 插件市场信息;
- 其他 Codex 本地状态。
本次问题只需要处理:
C:\Users\<你的用户名>\.codex\config.toml即可。
九、最终结论
当 Codex++ 出现:
插件市场修复失败:config.toml TOML parse failed并且 Codex 长时间停留在启动 Logo 页面时,应优先检查:
%USERPROFILE%\.codex\config.toml最稳妥的处理方式是:
关闭进程 → 备份损坏配置 → 创建最小合法配置 → 重启 Codex++ → 修复插件市场 → 逐段恢复旧配置本次实际问题通过重置config.toml后已成功解决。