github / github/copilot-cli

Ollama Cloud Does Not Support custom_tool_call Payload Used by Copilot CLI

未关闭
#3,839 1 条评论 8 个 reaction 已指派 0 人 在 GitHub 查看
area:agents area:models
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

## Summary

When using Copilot CLI v1.0.63 in **Fleet Mode** with a BYOK model routed through Ollama Cloud, requests may fail with the following error:

```text
400 litellm.BadRequestError: OpenAIException - {"error":{"message":"input[69]: unknown input item type: \"custom_tool_call\"","type":"invalid_request_error","param":null,"code":null}}

Received Model Group=glm-5.2:cloud
Available Model Group Fallbacks=None
```

The failure does not appear to be model-specific.

Instead, the request generated by Copilot CLI Fleet Mode contains a `custom_tool_call` input item type that Ollama Cloud currently does not support.

## Environment

* Copilot CLI
* Fleet Mode enabled
* BYOK Provider: Ollama Cloud
* Gateway: LiteLLM
* Example Model: `glm-5.2:cloud`

## Actual Behavior

When Fleet Mode invokes tools or agent workflows, Copilot CLI sends one or more `custom_tool_call` items within the request payload.

Ollama Cloud rejects the request with:

```text
unknown input item type: "custom_tool_call"
```

The request is rejected before reaching model inference.

## Expected Behavior

One of the following should happen:

* Ollama Cloud supports the `custom_tool_call` input type used by Fleet Mode.
* Copilot CLI detects that the target provider does not support `custom_tool_call` and falls back to a compatible format.
* Copilot CLI provides a configuration option to disable Fleet-specific tool payloads for OpenAI-compatible providers with limited feature support.

## Reproduction

1. Configure Copilot CLI to use a BYOK model through LiteLLM.
2. Configure LiteLLM to route requests to Ollama Cloud.
3. Enable Fleet Mode.
4. Execute a prompt that triggers agent or tool execution.
5. Observe the following error:

```text
400 litellm.BadRequestError: OpenAIException - {"error":{"message":"input[69]: unknown input item type: \"custom_tool_call\"","type":"invalid_request_error","param":null,"code":null}}
```

## Notes

Based on the error message, the request appears to be rejected by the Ollama Cloud API compatibility layer before reaching the underlying model.

This suggests the issue is related to Fleet Mode request formatting and provider capability compatibility rather than the specific model being used.

Any model hosted through Ollama Cloud may be affected when Fleet Mode emits `custom_tool_call` payloads.

贡献指南

打开贡献指南

调研方向

Start by tracing the Fleet Mode request path that emits custom_tool_call items and how provider capabilities are handled for Ollama Cloud through LiteLLM. Reproduce the failure with the documented BYOK setup, then define completion as a compatible request path or an explicit provider fallback that avoids the rejected payload.

由索引模型根据 Issue 内容生成。

评估

技术栈
ollama
领域
api, cli, cloud
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
冷清
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。