### The problem
When OpenAI conversation just calls a tool without text respons…e, TTS gets "Unable to get response". I asked the assistant to not answer if the command is successfully executed to avoid useless responses like "OK"/"Done"/"Turned off", so it should not be considered as error.
### What version of Home Assistant Core has the issue?
core-2026.8.3
### What was the last working version of Home Assistant Core?
_No response_
### What type of installation are you running?
Home Assistant Core
### Integration causing the issue
OpenAI
### Link to integration documentation on our website
https://www.home-assistant.io/integrations/openai_conversation
### Diagnostics information
_No response_
### Example YAML snippet
```yaml
```
### Anything in the logs that might be useful for us?
```txt
```
### Additional information
I've truncated identifiers and tools definition from the logs for readability.
```
2026-08-25 03:29:42.498 DEBUG (MainThread) [homeassistant.components.openai_conversation] Received event: ResponseOutputItemDoneEvent(item=ResponseOutputMessage(id='truncated', content=[ResponseOutputText(annotations=[], text='', type='output_text', logprobs=[])], role='assistant', status='completed', type='message', phase='final_answer'), output_index=0, sequence_number=6, type='response.output_item.done')
2026-08-25 03:29:42.711 DEBUG (MainThread) [homeassistant.components.openai_conversation] Received event: ResponseCompletedEvent(response=Response(id='truncated', created_at=1787614181.0, error=None, incomplete_details=None, instructions=None, metadata={}, model='gpt-5.4-nano-2026-03-17', object='response', output=[ResponseOutputMessage(id='truncated', content=[ResponseOutputText(annotations=[], text='', type='output_text', logprobs=[])], role='assistant', status='completed', type='message', phase='final_answer')], parallel_tool_calls=True, temperature=1.0, tool_choice='auto', tools=[<truncated>], top_p=0.98, background=False, completed_at=1787614182.0, conversation=None, max_output_tokens=100000, max_tool_calls=None, moderation=None, previous_response_id=None, prompt=None, prompt_cache_key=None, prompt_cache_options=None, prompt_cache_retention='24h', reasoning=Reasoning(context='current_turn', effort='low', generate_summary=None, mode='standard', summary='concise'), safety_identifier=None, service_tier='default', status='completed', text=ResponseTextConfig(format=ResponseFormatText(type='text'), verbosity='low'), top_logprobs=0, truncation='disabled', usage=ResponseUsage(input_tokens=8785, input_tokens_details=InputTokensDetails(cache_write_tokens=0, cached_tokens=7808), output_tokens=4, output_tokens_details=OutputTokensDetails(reasoning_tokens=0), total_tokens=8789), user='truncated', frequency_penalty=0.0, presence_penalty=0.0, store=True, tool_usage={'image_gen': {'input_tokens': 0, 'input_tokens_details': {'image_tokens': 0, 'text_tokens': 0}, 'output_tokens': 0, 'output_tokens_details': {'image_tokens': 0, 'text_tokens': 0}, 'total_tokens': 0}, 'web_search': {'num_requests': 0}}), sequence_number=7, type='response.completed')
2026-08-25 03:29:42.713 ERROR (MainThread) [homeassistant.components.conversation.util] Last content in chat log is not an AssistantContent: ToolResultContent(role='tool_result', agent_id='conversation.jody', tool_call_id='truncated', tool_name='HassTurnOn', tool_result={'speech': {}, 'response_type': 'action_done', 'data': {'success': [{'name': 'Living Room', 'type': <IntentResponseTargetType.AREA: 'area'>, 'id': 'living_room'}, {'name': 'Chandelier', 'type': <IntentResponseTargetType.ENTITY: 'entity'>, 'id': 'light.chandelier_living_room'}], 'failed': []}}, created=datetime.datetime(2026, 8, 24, 23, 29, 28, 581156, tzinfo=datetime.timezone.utc)). This could be due to the model not returning a valid response
```