bug: `ollama launch claude` fails with `Input must be provided either through stdin or as a prompt argument`

该报错发生在通过 `ollama launch claude --model -- "提示词"` 向 Claude Code 传递初始提示时,Claude Code 被错误地以 `--print` 非交互模式启动,但 Ollama 未向其提供任何输入。优先检查 Ollama 版本是否为 0.24.0

快速结论:该报错发生在通过 `ollama launch claude –model — “提示词”` 向 Claude Code 传递初始提示时,Claude Code 被错误地以 `–print` 非交互模式启动,但 Ollama 未向其提供任何输入。优先检查 Ollama 版本是否为 0.24.0(该版本已确认存在此问题),并尝试升级到更新版本或去掉 `–` 之后的提示词参数。

适用环境:Ollama 0.24.0、Claude Code CLI 2.1.233、macOS(Issue 分析者推测可能影响所有操作系统)。Issue 中未提供 Python、CUDA、显卡等环境信息。

最快修复方案:暂无确认的一步修复方案。可优先尝试不传提示词运行 `ollama launch claude –model qwen3-coder-next:latest`,进入交互界面后再手动输入内容,此方法在 Issue 中被用户验证为可用的临时绕过方案。

注意事项:上述绕过方案仅适用于手动交互场景,无法满足自动化或一次性传参需求。Issue 最终被关闭,作者表示在后续版本中无法复现该问题,因此升级 Ollama 到 0.24.0 之后的版本可能已修复,但 Issue 中未明确验证具体修复版本。

问题场景

用户通过 `ollama run qwen3-coder-next:latest` 运行模型正常,但使用 `ollama launch claude –model qwen3-coder-next:latest — “hi”` 向 Claude Code 传递初始提示词时触发报错。交互式会话(不带提示词参数)可以正常启动并工作,但一旦在 `–` 之后传入任何非空提示词,Claude Code 就会尝试以 `–print`(非交互)模式运行,由于没有提供输入而报错。

报错原文

Error: Input must be provided either through stdin or as a prompt argument when using --print

原因分析

根据 Issue 中的根因分析,`ollama launch claude` 确实成功启动了 Claude Code(日志已确认),但在通过 `–` 传递提示词时,Ollama 错误地调用了 `claude –print`(非交互模式)而非交互模式。`–print` 模式要求必须有输入(stdin 或提示词参数),而 Ollama 没有提供任何输入,因此报错。

可能原因:Ollama 与 Claude Code CLI 之间对 `–` 参数的解释存在兼容性问题——Ollama 可能将 `–` 后的内容误解析为 `–print` 参数,而非向 Claude Code 传递的初始消息。

环境排查

  • 确认 Ollama 版本是否为 0.24.0(Issue 确认触发问题的版本)。
  • 确认 Claude Code CLI 版本是否为 2.1.233(Issue 确认测试的版本)。
  • 检查操作系统是否为 macOS(Issue 中明确报告的环境,分析者推测可能影响所有平台)。
  • (可选)将 Ollama 升级到 0.24.0 之后的版本,确认问题是否仍然存在。

解决步骤

  1. 先绕过报错:不传提示词参数,直接运行 ollama launch claude --model qwen3-coder-next:latest,进入交互界面后手动确认工作区信任并输入内容,此方法已验证可用。
  2. 如果必须传递初始提示词,尝试将 -- 后的内容用引号包裹完整命令,例如 ollama launch claude --model qwen3-coder-next:latest -- "hi"(Issue 中已测试此写法仍会触发报错)。
  3. 可优先尝试升级 Ollama 到最新版本:Issue 作者在较新版本(0.32.12)中尝试复现,但无法重现该问题,说明后续版本可能已通过兼容性调整修复此 bug。
  4. 如果升级后问题仍然存在,检查是否有其他方式向 Claude Code 传递初始提示,例如通过 stdin 管道(如 echo "hi" | ollama launch claude --model qwen3-coder-next:latest),但此方法在 Issue 中未被验证。

验证方法

在问题环境中重新执行 ollama launch claude --model qwen3-coder-next:latest -- "hi",确认不再出现 Input must be provided either through stdin or as a prompt argument when using --print 报错,且 Claude Code 正常进入交互界面并显示 “hi” 作为输入内容。或者升级 Ollama 后执行相同命令,确认行为是否符合预期。

参考来源

ollama/ollama #17811

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 19152

发表回复

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