Skip to content

docs: clarify LLM/LiteLLM parsing failures are upstream responsibilities - #4614

Open
all-hands-bot wants to merge 1 commit into
mainfrom
docs/llm-parsing-upstream-responsibility
Open

docs: clarify LLM/LiteLLM parsing failures are upstream responsibilities#4614
all-hands-bot wants to merge 1 commit into
mainfrom
docs/llm-parsing-upstream-responsibility

Conversation

@all-hands-bot

@all-hands-bot all-hands-bot commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Why

We've seen a few issues/PRs complaining about tool calls or thinking blocks not being parsed correctly. Those failures originate in the LLM provider or LiteLLM, not OpenHands, so we want a blanket policy directing such reports upstream.

Summary

  • Add a CONTRIBUTING.md note explaining that malformed tool calls and reasoning (thinking) blocks are the responsibility of the LLM provider or LiteLLM.
  • Recommend filing upstream (provider or LiteLLM) and list mitigations (switch provider, bump LiteLLM, use the existing non-native tool-calling conversion layer).
  • State that we generally won't accept PRs that only patch around a specific provider's/LiteLLM's malformed output.

Notes

Created by an AI agent (OpenHands) on behalf of a maintainer.


🐳 Agent Server images for this PR — GHCR package, pull/run commands, and all pushed tags (click to expand)

GHCR package: https://github.com/OpenHands/agent-sdk/pkgs/container/agent-server

Variants & Base Images

Variant Architectures Base Image Docs / Tags
java amd64, arm64 eclipse-temurin:17-jdk Link
python amd64, arm64 nikolaik/python-nodejs:python3.13-nodejs22-slim Link
golang amd64, arm64 golang:1.21-bookworm Link

Pull (multi-arch manifest)

# Each variant is a multi-arch manifest supporting both amd64 and arm64
docker pull ghcr.io/openhands/agent-server:c7114d3-python

Run

docker run -it --rm \
  -p 8000:8000 \
  --name agent-server-c7114d3-python \
  ghcr.io/openhands/agent-server:c7114d3-python

All tags pushed for this build

ghcr.io/openhands/agent-server:c7114d3-golang-amd64
ghcr.io/openhands/agent-server:c7114d393886602f55bce9ae8a64ccd9d3e92b89-golang-amd64
ghcr.io/openhands/agent-server:docs-llm-parsing-upstream-responsibility-golang-amd64
ghcr.io/openhands/agent-server:c7114d3-golang_tag_1.21-bookworm-amd64
ghcr.io/openhands/agent-server:c7114d3-golang-arm64
ghcr.io/openhands/agent-server:c7114d393886602f55bce9ae8a64ccd9d3e92b89-golang-arm64
ghcr.io/openhands/agent-server:docs-llm-parsing-upstream-responsibility-golang-arm64
ghcr.io/openhands/agent-server:c7114d3-golang_tag_1.21-bookworm-arm64
ghcr.io/openhands/agent-server:c7114d3-java-amd64
ghcr.io/openhands/agent-server:c7114d393886602f55bce9ae8a64ccd9d3e92b89-java-amd64
ghcr.io/openhands/agent-server:docs-llm-parsing-upstream-responsibility-java-amd64
ghcr.io/openhands/agent-server:c7114d3-eclipse-temurin_tag_17-jdk-amd64
ghcr.io/openhands/agent-server:c7114d3-java-arm64
ghcr.io/openhands/agent-server:c7114d393886602f55bce9ae8a64ccd9d3e92b89-java-arm64
ghcr.io/openhands/agent-server:docs-llm-parsing-upstream-responsibility-java-arm64
ghcr.io/openhands/agent-server:c7114d3-eclipse-temurin_tag_17-jdk-arm64
ghcr.io/openhands/agent-server:c7114d3-python-amd64
ghcr.io/openhands/agent-server:c7114d393886602f55bce9ae8a64ccd9d3e92b89-python-amd64
ghcr.io/openhands/agent-server:docs-llm-parsing-upstream-responsibility-python-amd64
ghcr.io/openhands/agent-server:c7114d3-nikolaik_s_python-nodejs_tag_python3.13-nodejs22-slim-amd64
ghcr.io/openhands/agent-server:c7114d3-python-arm64
ghcr.io/openhands/agent-server:c7114d393886602f55bce9ae8a64ccd9d3e92b89-python-arm64
ghcr.io/openhands/agent-server:docs-llm-parsing-upstream-responsibility-python-arm64
ghcr.io/openhands/agent-server:c7114d3-nikolaik_s_python-nodejs_tag_python3.13-nodejs22-slim-arm64
ghcr.io/openhands/agent-server:c7114d3-golang
ghcr.io/openhands/agent-server:c7114d393886602f55bce9ae8a64ccd9d3e92b89-golang
ghcr.io/openhands/agent-server:docs-llm-parsing-upstream-responsibility-golang
ghcr.io/openhands/agent-server:c7114d3-golang_tag_1.21-bookworm
ghcr.io/openhands/agent-server:c7114d3-java
ghcr.io/openhands/agent-server:c7114d393886602f55bce9ae8a64ccd9d3e92b89-java
ghcr.io/openhands/agent-server:docs-llm-parsing-upstream-responsibility-java
ghcr.io/openhands/agent-server:c7114d3-eclipse-temurin_tag_17-jdk
ghcr.io/openhands/agent-server:c7114d3-python
ghcr.io/openhands/agent-server:c7114d393886602f55bce9ae8a64ccd9d3e92b89-python
ghcr.io/openhands/agent-server:docs-llm-parsing-upstream-responsibility-python
ghcr.io/openhands/agent-server:c7114d3-nikolaik_s_python-nodejs_tag_python3.13-nodejs22-slim

About Multi-Architecture Support

  • Each variant tag (e.g., c7114d3-python) is a multi-arch manifest supporting both amd64 and arm64
  • Docker automatically pulls the correct architecture for your platform
  • Individual architecture tags (e.g., c7114d3-python-amd64) are also available if needed

…bilities

Adds a policy note to CONTRIBUTING.md explaining that malformed tool
calls or reasoning (thinking) blocks are the responsibility of the LLM
provider or LiteLLM, not OpenHands, and recommending that users file an
issue upstream and/or switch providers.

Co-authored-by: openhands <openhands@all-hands.dev>
@github-actions

Copy link
Copy Markdown
Contributor

Python API breakage checks — ✅ PASSED

Result:PASSED

Action log

@github-actions

Copy link
Copy Markdown
Contributor

REST API breakage checks (OpenAPI) — ✅ PASSED

Result:PASSED

Action log

@all-hands-bot

Copy link
Copy Markdown
Collaborator Author

👋 This PR needs a couple of things fixed before OpenHands can review it:

  • the PR description's HUMAN: section needs at least 20 characters describing what you tested, not just the template placeholder

Push an update once this is addressed and this check re-runs automatically.

This is an automated check - no AI was used to generate this comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants