Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Open Responses API doesn't accept "output_text" as an input Item

Open Beginner friendly
#12,337 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
go
Domain
api, backend

Research direction

Start in core/http/endpoints/openresponses/responses.go around lines 727 and 750-754, then reproduce the /v1/responses request using a previous response's output as input. Check how output_text items are converted into backend input. Done means copied output containing output_text is accepted and the previous response content reaches the model context.

Written by the indexing model from the issue text.

Description

bug unconfirmed

LocalAI version:
v4.10.0 (7ad0cbf259f0c7bf9920fe2438fc3630ecd6c672)

Environment, CPU architecture, OS, and Version:
Docker, x86, Linux

Describe the bug
Open Response API doesn't accept output_text as an Item per the spec.
https://www.openresponses.org/reference#request-body
https://github.com/mudler/LocalAI/blob/b77937f61c522feb64f362a1ce322b5ef979cb7d/core/http/endpoints/openresponses/responses.go#L727

You should be able to exactly copy the "output" JSON from one call into the "input" JSON of the next call.

To Reproduce
Start a new OR API request (/v1/responses) with output messages from a previous response.

Expected behavior
The model sees the previous responses in the context for the new response

Logs

Example input:

Input JSON
{
  "model": "gemma-4-26b-a4b-it",
  "instructions": "These are scanned hand-written notes. Combine the notes, but do not reorder or change the wording of the notes except for the footnotes and endnotes. ",
  "input": [
    {
      "id": "msg_8c030eaa-8eca-402d-9a37-3b81097dedf8",
      "role": "assistant",
      "type": "message",
      "status": "completed",
      "content": [
        {
          "text": "text 1",
          "type": "output_text",
          "logprobs": [],
          "annotations": []
        }
      ],
      "summary": [],
      "arguments": ""
    },
    {
      "id": "msg_936e093d-e8b7-46b1-a3ed-c5058f5092af",
      "role": "assistant",
      "type": "message",
      "status": "completed",
      "content": [
        {
          "text": "text 2",
          "type": "output_text",
          "logprobs": [],
          "annotations": []
        }
      ],
      "summary": [],
      "arguments": ""
    },
    {
      "id": "msg_259556ea-700d-42e6-905a-9897fb6674d9",
      "role": "assistant",
      "type": "message",
      "status": "completed",
      "content": [
        {
          "text": "text 3",
          "type": "output_text",
          "logprobs": [],
          "annotations": []
        }
      ],
      "summary": [],
      "arguments": ""
    },
    {
      "id": "msg_427a8eff-6185-402e-99a6-1a93c3b3f705",
      "role": "assistant",
      "type": "message",
      "status": "completed",
      "content": [
        {
          "text": "text 4",
          "type": "output_text",
          "logprobs": [],
          "annotations": []
        }
      ],
      "summary": [],
      "arguments": ""
    }
  ],
  "temperature": 0.8
}

Example Backend Input:

Backend Input
[
  {
    "role": "system",
    "content": "These are scanned hand-written notes. Combine the notes, but do not reorder or change the wording of the notes except for the footnotes and endnotes. "
  }
]
Backend Output
{
  "id": "resp_ac7c7791-7680-4685-a4cc-c206264b073f",
  "object": "response",
  "created_at": 1790610865,
  "completed_at": 1790610910,
  "status": "completed",
  "model": "gemma-4-26b-a4b-it",
  "output": [
    {
      "type": "message",
      "id": "msg_8f7ba482-ca80-4cc9-8633-9d71dd0e8fa3",
      "status": "completed",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "Please provide the scanned hand-written notes (by uploading the images or providing the text). \n\nOnce you provide them, I will combine them according to your exact constraints:\n1. **No reordering:** I will keep the notes in their original sequence.\n2. **No wording changes:** I will not change a single word in the body of the notes.\n3. **Footnotes/Endnotes exception:** I will only adjust the footnotes and endnotes to ensure they are correctly placed or formatted according to your requirements.",
          "annotations": [],
          "logprobs": []
        }
      ],
      "arguments": "",
      "summary": []
    }
  ],
  "error": null,
  "incomplete_details": null,
  "previous_response_id": null,
  "instructions": "These are scanned hand-written notes. Combine the notes, but do not reorder or change the wording of the notes except for the footnotes and endnotes. ",
  "tools": [],
  "tool_choice": "none",
  "parallel_tool_calls": true,
  "max_tool_calls": null,
  "temperature": 0.8,
  "top_p": 1,
  "presence_penalty": 0,
  "frequency_penalty": 0,
  "top_logprobs": 0,
  "max_output_tokens": null,
  "text": {
    "format": {
      "type": "text"
    }
  },
  "truncation": "auto",
  "reasoning": null,
  "usage": {
    "input_tokens": 43,
    "output_tokens": 1546,
    "total_tokens": 1589,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens_details": {
      "reasoning_tokens": 0
    }
  },
  "metadata": {},
  "store": true,
  "background": false,
  "service_tier": "default",
  "safety_identifier": null,
  "prompt_cache_key": null
}

Additional context
I believe | "output_text" (Pseudo code since I am unfamiliar with go) needs to be added here as a quick solution, but I'm unsure if it will cause downstream problems.
https://github.com/mudler/LocalAI/blob/b77937f61c522feb64f362a1ce322b5ef979cb7d/core/http/endpoints/openresponses/responses.go#L750-L754

Dominant language
Go
Stars
49.2k
Forks
4.5k
Avg merge
1d 7h
Merged PRs (30d)
362

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from mudler/LocalAI

All issues in mudler/LocalAI

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.