This release fixes several ways that requests from coding agents failed when sent to models in another API format. Tool results with images now reach Chat Completions models, and Codex tool namespaces no longer repeat their descriptions. Anthropic, DeepSeek, Mistral and Groq targets now accept requests from OpenAI apps, Claude Code and MCP clients that failed against them before. A fresh install starts with KPMR's models and prices as of 1 November 2026.
Contributors: @dvnold
Full changes: v0.5.0...v0.5.1(在新标签页中打开)
变更
Gateway
- A fresh install starts with KPMR's models and prices as of 1 November 2026. The snapshot adds Ollama Cloud's MiMo V2.6 Flash and Pro, and changes OpenRouter's prices for five models, the output limit of GPT OSS 20B and Mistral Large 4's effort levels. (#578(在新标签页中打开))
修复
- Codex requests to models outside OpenAI now send each tool namespace's description once, in front of its first tool, instead of in front of every tool. MCP servers group many tools under one namespace, so the repeated text could push a single turn past Claude's 1M context window. (#573(在新标签页中打开))
- Images and files a tool returns reach Chat Completions models in the user message after the tool results, instead of the whole request being refused, so Claude Code's Read and Codex's
view_imagework through DeepSeek, Mistral and OpenRouter. The tool message keeps the result's text and says that the rest follows, and the user message names the tool call before its images and files. (#574(在新标签页中打开)) - Anthropic and DeepSeek refused tool schemas whose root has no
type: "object", and Mistral refused functions withoutparameters. Kaeso now writestype: "object"first in such roots for Anthropic and, through the ToolSchemaRoot::TypedObjectUnions profile setting, for DeepSeek, and Mistral's profile sends the empty object schema for a function without parameters. Requests from OpenAI apps and MCP clients no longer fail only because of the target. (#575(在新标签页中打开)) - Kaeso sends the end user to Chat Completions providers as
safety_identifier, which Groq rejects with a 400 error. Groq's profile now sends the id asuserthrough the newend_user_as_user()setting, so Claude Code and other Anthropic apps no longer fail on Groq models. (#576(在新标签页中打开))