---
type: email
from: NateRVance <notifications@github.com>
subject: Re: [openai/openai-agents-python] Tool results as model input fails

 with harmony backed models (gpt-oss) (Issue #1605)
received: 2026-03-06 07:26:34
date_header: Tue, 09 Sep 2025 06:46:41 -0700
priority: normal
status: awaiting_approval
uid: 29927
---

## Email Content

**From:** NateRVance <notifications@github.com>
**Subject:** Re: [openai/openai-agents-python] Tool results as model input fails

 with harmony backed models (gpt-oss) (Issue #1605)
**Date:** Tue, 09 Sep 2025 06:46:41 -0700

### Body (preview)

NateRVance left a comment (openai/openai-agents-python#1605)



@seratch,



> If you add a function tool to this simple example, it works without any issues: https://github.com/openai/openai-agents-python/blob/main/examples/basic/hello_world_gpt_oss.py



I have previously tested that code on a bare vLLM server, and it works as intended. However, the `requests` route is not available on my company's infrastructure (GPUStack). This issue is specifically regarding the `chat-completions` route, with which tool calling does not yet work with vLLM stable, though I believe that this will become a viable option next vLLM release (https://github.com/vllm-project/vllm/pull/23318 was merged just after the current stable release).



> First off, using qwen3 models to check this behavior is not recommended because the model works differently for details while it works for simple chat through chat completions format.



Is watt-tool a viable alternative? Apologies for the multiple openai clients:



```python3

#!/usr/bin/env python3

from openai import AsyncOpenAI

from agents import Agent, Runner, set_default_openai_client, set_tracing_disabled, set_default_openai_api, function_tool, ModelSettings

import os



set_tracing_disabled(True)

set_default_openai_api('chat_completions')



@function_tool

def get_weather(city: str) -> str:

    """returns weather info for the specified city."""

    return f"The weather in {city} is sunny"



_client = AsyncOpenAI(base_url=os.getenv("OPENAI_URL_WATT_TOOL"), # This is a GPUStack server wrapping watt-tool

                      api_key=os.getenv("OPENAI_API_KEY_WATT_TOOL"))

set_default_openai_client(_client)



fc_agent = Agent(name="fc_agent", model="watt-tool-70b", tools=[get_weather],

                      model_settings=ModelSettings(tool_choice="required"), tool_use_behavior="stop_on_first_tool")



result = Runner.run_sync(fc_agent, "What's the weather like in Seattle?")



intermediate = result.to_input_list()



print(f"In

---

## Suggested Actions
- [ ] Reply
- [ ] Archive
- [ ] Escalate
