File editing broken with Claude Code/Ollama – sends invalid parameters line_start/line_end

用户在 macOS 上运行 Ollama 0.15.6,搭配 Claude Code 工具,使用模型 gpt-oss:20b ,通过 /v1/chat/completions API 进行文件编辑操作时触发。此外,也有用户报告在 Mac + Qwen 3.6 模型组合下使用 Claude Code

File editing broken with Claude Code/Ollama - sends invalid parameters line_start/line_end

File editing broken with Claude Code/Ollama – sends invalid parameters line_start/line_end

快速结论:当使用 Claude Code 配合 Ollama 运行时,文件编辑操作可能因传递了 Ollama 不支持的参数 line_startline_end 而失败,报错为 InputValidationError for unexpected parameters。优先排查上下文窗口(context window)配置,以及 Ollama 是否支持 cache_control 特性。

问题场景

用户在 macOS 上运行 Ollama 0.15.6,搭配 Claude Code 工具,使用模型 gpt-oss:20b,通过 /v1/chat/completions API 进行文件编辑操作时触发。此外,也有用户报告在 Mac + Qwen 3.6 模型组合下使用 Claude Code 出现类似文件编辑失败问题。

报错原文

Error: InputValidationError: Edit failed due to the following issues:
   The required parameter `old_string` is missing
   An unexpected parameter `line_start` was provided
   An unexpected parameter `line_end` was provided

后续亦可能出现 cat 命令相关错误:

⏺ Bash(sed -n '29p' /Volumes/Code/app/Models/Energy/Whitelist.php | cat -A)
  ⎿  Error: Exit code 1
     cat: illegal option -- A
     usage: cat [-belnstuv] [file ...]

原因分析

可能原因:

  • 上下文窗口配置不足或不当:用户报告将上下文窗口从 64K 提升至 128K+ 后仍出现问题。Ollama 目前不支持 cache_control,导致 Claude Code 每次交互都会携带大量冗余上下文(约 14K),最终影响文件编辑参数的正确传递。
  • 模型工具调用生成错误参数:Claude Code 在请求 Ollama API 时,生成了 line_startline_end 这两个未预期的参数,Ollama 的 /v1/chat/completions 接口没有对这些参数做容错处理,直接抛出 InputValidationError
  • 模型训练数据差异:对于 Qwen 3.6 等模型,生成的 shell 命令(如 cat -A)可能基于训练数据中的不同版本,导致在目标系统上执行失败。

环境排查

  • 确认 Ollama 版本(用户报告使用 0.15.6)
  • 确认 Claude Code 版本
  • 确认模型名称(如 gpt-oss:20bqwen3.6
  • 确认上下文窗口(context window)配置(用户尝试 64K、128K+)
  • 确认 Ollama 是否启用 cache_control 支持(当前版本不原生支持)
  • 检查本地使用的 catsed 命令版本,确认与模型生成的命令参数兼容

解决步骤

  1. 调整上下文窗口:在 Ollama 启动参数或模型配置中,尝试增大上下文窗口(例如设置为 128K 或更高),观察问题是否缓解。注意:即使增加窗口,由于缺乏 cache_control 支持,冗余上下文仍可能持续累积。可优先尝试。
  2. 等待 Ollama 支持 cache_control:根据 Issue 讨论,Ollama 团队已将 cache_control 支持列入待办列表,用户可关注官方更新。在支持完成前,这是根本性解决方案的前置条件。
  3. 排查模型生成的命令参数:如果遇到 cat -A 等命令报错,可检查本地 macOS 的 cat 版本(macOS 默认 cat 不支持 -A 选项),考虑通过网关或工具链约束模型生成兼容当前系统的命令。
  4. 检查 Ollama API 输入验证:查看 Ollama 完整日志,确认是否有其他未预期参数被传递。可参考 Ollama 服务端日志收集指南 获取日志。

验证方法

重新使用 Claude Code 执行文件编辑操作(如 Update(...)),检查是否不再出现 InputValidationError 报错,且没有 cat: illegal option 等命令执行错误。同时观察模型能否正确完成文件内容替换或编辑。

参考来源

ollama/ollama #14205

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 12944

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注