[bug] AI_APICallError: Item '...' of type 'reasoning' was provided without its required following item #1723

Closed
opened 2026-02-16 17:32:20 -05:00 by yindo · 16 comments
Owner

Originally created by @monotykamary on GitHub (Sep 15, 2025).

Originally assigned to: @rekram1-node on GitHub.

Happens with GPT-5 in-between responses and tool calls. It is not possible to continue any chat with GPT-5 after this error.

A quick bisect reveals a regression introduced in e3e459fc50.

Originally created by @monotykamary on GitHub (Sep 15, 2025). Originally assigned to: @rekram1-node on GitHub. Happens with GPT-5 in-between responses and tool calls. It is **not possible** to continue any chat with GPT-5 after this error. A quick bisect reveals a regression introduced in e3e459fc50a81657930cc73d6bc63adf08ad9d62.
yindo closed this issue 2026-02-16 17:32:20 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Sep 15, 2025):

This issue might be a duplicate of existing issues. Please check:

  • #1086: Exact same error message with OpenAI o3 model - 'AI_APICallError: Item of type 'reasoning' was provided without its required following item'
  • #793: Same error pattern with o4-mini model showing identical reasoning-related API call error
  • #770: Similar reasoning error during /init command with OpenAI reasoning models
  • #441: Related reasoning type validation errors on Azure OpenAI models

All of these issues appear to be related to problems with reasoning token handling in various OpenAI models and could have the same root cause.

Feel free to ignore if none of these address your specific case.

@github-actions[bot] commented on GitHub (Sep 15, 2025): This issue might be a duplicate of existing issues. Please check: - #1086: Exact same error message with OpenAI o3 model - 'AI_APICallError: Item of type 'reasoning' was provided without its required following item' - #793: Same error pattern with o4-mini model showing identical reasoning-related API call error - #770: Similar reasoning error during /init command with OpenAI reasoning models - #441: Related reasoning type validation errors on Azure OpenAI models All of these issues appear to be related to problems with reasoning token handling in various OpenAI models and could have the same root cause. Feel free to ignore if none of these address your specific case.
Author
Owner

@simicvm commented on GitHub (Sep 15, 2025):

yeap, makes gpt5 unusable for the time being 🤷‍♂️

@simicvm commented on GitHub (Sep 15, 2025): yeap, makes gpt5 unusable for the time being 🤷‍♂️
Author
Owner

@rekram1-node commented on GitHub (Sep 15, 2025):

I can't replicate this for some reason...

Can anyone provide steps to reproduce? I tested with gpt5 doing quite a few loops and I cant get it to error

@rekram1-node commented on GitHub (Sep 15, 2025): I can't replicate this for some reason... Can anyone provide steps to reproduce? I tested with gpt5 doing quite a few loops and I cant get it to error
Author
Owner

@rekram1-node commented on GitHub (Sep 15, 2025):

Do you have custom config for gpt5? are you using openai?

@simicvm @monotykamary

@rekram1-node commented on GitHub (Sep 15, 2025): Do you have custom config for gpt5? are you using openai? @simicvm @monotykamary
Author
Owner

@rekram1-node commented on GitHub (Sep 15, 2025):

what do you see if you run:

cd ~/.cache/opencode && BUN_BE_BUN=1 opencode pm ls

regarding: -> @ai-sdk/openai@2.0.22

@rekram1-node commented on GitHub (Sep 15, 2025): what do you see if you run: ``` cd ~/.cache/opencode && BUN_BE_BUN=1 opencode pm ls ``` regarding: -> @ai-sdk/openai@2.0.22
Author
Owner

@simicvm commented on GitHub (Sep 15, 2025):

this is the output

├── @ai-sdk/anthropic@2.0.6
├── @ai-sdk/openai@2.0.19
├── opencode-anthropic-auth@0.0.2
└── opencode-copilot-auth@0.0.2

I am on opencode 0.9.0

the config I have is

{ "$schema": "https://opencode.ai/config.json",
  "provider": {
    "openai": {
      "models": {
        "gpt-5": {
          "options": {
            "reasoningEffort": "high",
            "textVerbosity": "low",
            "reasoningSummary": "auto",
            "include": ["reasoning.encrypted_content"],
          },
        },
      },
    },
    "lmstudio": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "LM Studio (local)",
      "options": {
        "baseURL": "http://127.0.0.1:1234/v1"
      },
      "models": {
        "zai/glm-4.5-air-8bit": {
          "name": "GLM-4.5 Air"
        },
        "qwen/qwen3-coder-30b-a3b-instruct-mlx@5bit": {
          "name": "Qwen-3 Coder"
        }
      }
    }
  }
}
@simicvm commented on GitHub (Sep 15, 2025): this is the output ``` ├── @ai-sdk/anthropic@2.0.6 ├── @ai-sdk/openai@2.0.19 ├── opencode-anthropic-auth@0.0.2 └── opencode-copilot-auth@0.0.2 ``` I am on opencode 0.9.0 the config I have is ``` { "$schema": "https://opencode.ai/config.json", "provider": { "openai": { "models": { "gpt-5": { "options": { "reasoningEffort": "high", "textVerbosity": "low", "reasoningSummary": "auto", "include": ["reasoning.encrypted_content"], }, }, }, }, "lmstudio": { "npm": "@ai-sdk/openai-compatible", "name": "LM Studio (local)", "options": { "baseURL": "http://127.0.0.1:1234/v1" }, "models": { "zai/glm-4.5-air-8bit": { "name": "GLM-4.5 Air" }, "qwen/qwen3-coder-30b-a3b-instruct-mlx@5bit": { "name": "Qwen-3 Coder" } } } } } ```
Author
Owner

@rekram1-node commented on GitHub (Sep 15, 2025):

sweet we will fix this, for time being you can get around issue if you remove:

          "reasoningSummary": "auto",
            "include": ["reasoning.encrypted_content"],

Obviously just a short term get around but I will try to get this fixed for you

@rekram1-node commented on GitHub (Sep 15, 2025): sweet we will fix this, for time being you can get around issue if you remove: ``` "reasoningSummary": "auto", "include": ["reasoning.encrypted_content"], ``` Obviously just a short term get around but I will try to get this fixed for you
Author
Owner

@monotykamary commented on GitHub (Sep 15, 2025):

Image
@monotykamary commented on GitHub (Sep 15, 2025): <img width="640" height="360" alt="Image" src="https://github.com/user-attachments/assets/39f27b10-e6ac-4543-aa3e-bbb2166f4937" />
Author
Owner

@rekram1-node commented on GitHub (Sep 17, 2025):

Can anyone try reverting my last suggestion and testing latest? I think this may have been fixed.

If you still run into it you can hide the reasoning summaries again (this is UI only basically, doesn't impact model performance) and then we will get a better fix

@rekram1-node commented on GitHub (Sep 17, 2025): Can anyone try reverting my last suggestion and testing latest? I think this may have been fixed.<br><br>If you still run into it you can hide the reasoning summaries again (this is UI only basically, doesn't impact model performance) and then we will get a better fix
Author
Owner

@SebDuf commented on GitHub (Sep 17, 2025):

I'm on latest and get the error, no matter what I do

I'm routing the requests via litellm, but the error is coming from OpenAI and it worked until I updated this morning (updated a few versions, don't remember which exactly but I use opencode every day, shouldn't have been too old)

Here's my versions:

├── @ai-sdk/openai@2.0.31
├── opencode-anthropic-auth@0.0.2
└── opencode-copilot-auth@0.0.2

Here's my config:

{
  "$schema": "https://opencode.ai/config.json",
  "model": "litellm-openai/gpt-5",
  "small_model": "litellm-openai/gpt-5-nano",
  "snapshot": true,
  "share": "manual",
  "autoupdate": true,
  "provider": {
    "litellm-openai": {
      "npm": "@ai-sdk/openai",
      "name": "LiteLLM",
      "options": {
        "baseURL": <litellm url>,
        "reasoningEffort": "high",
        "textVerbosity": "low",
        "reasoningSummary": "auto",
        "include": ["reasoning.encrypted_content"],
      },
      "models": {
        "gpt-5-nano": {
          "id": "gpt-5-nano",
          "name": "GPT-5 nano",
          "release_date": "2025-08-07",
          "attachment": true,
          "reasoning": true,
          "tool_call": true,
          "cost": {
            "input": 0.05,
            "output": 0.4,
            "cache_read": 0.005
          },
          "limit": {
            "context": 272000,
            "output": 128000
          }
        },
        "gpt-5-mini": {
          "id": "gpt-5-mini",
          "name": "GPT-5 mini",
          "release_date": "2025-08-07",
          "attachment": true,
          "reasoning": true,
          "tool_call": true,
          "cost": {
            "input": 0.25,
            "output": 2.0,
            "cache_read": 0.025
          },
          "limit": {
            "context": 272000,
            "output": 128000
          }
        },
        "gpt-5": {
          "id": "gpt-5",
          "name": "GPT-5",
          "release_date": "2025-08-07",
          "attachment": true,
          "reasoning": true,
          "tool_call": true,
          "cost": {
            "input": 1.25,
            "output": 10.0,
            "cache_read": 0.125
          },
          "limit": {
            "context": 272000,
            "output": 128000
          },
        }
      }
    }
  },
}

here's my exact error:

AI_APICallError: litellm.BadRequestError: OpenAIException - {
  "error": {
    "message": "Item 'msg_0e75830a28fa23af0068cad90882408196aae0cb73d0953a10' of type
'message' was provided without its required 'reasoning' item:
'rs_0e75830a28fa23af0068cad904b1f08196a01790c747e0c995'.",
    "type": "invalid_request_error",
    "param": "input",
    "code": null
  }
}. Received Model Group=gpt-5
Available Model Group Fallbacks=None
@SebDuf commented on GitHub (Sep 17, 2025): I'm on latest and get the error, no matter what I do I'm routing the requests via litellm, but the error is coming from OpenAI and it worked until I updated this morning (updated a few versions, don't remember which exactly but I use opencode every day, shouldn't have been too old) Here's my versions: ``` ├── @ai-sdk/openai@2.0.31 ├── opencode-anthropic-auth@0.0.2 └── opencode-copilot-auth@0.0.2 ``` Here's my config: ```json { "$schema": "https://opencode.ai/config.json", "model": "litellm-openai/gpt-5", "small_model": "litellm-openai/gpt-5-nano", "snapshot": true, "share": "manual", "autoupdate": true, "provider": { "litellm-openai": { "npm": "@ai-sdk/openai", "name": "LiteLLM", "options": { "baseURL": <litellm url>, "reasoningEffort": "high", "textVerbosity": "low", "reasoningSummary": "auto", "include": ["reasoning.encrypted_content"], }, "models": { "gpt-5-nano": { "id": "gpt-5-nano", "name": "GPT-5 nano", "release_date": "2025-08-07", "attachment": true, "reasoning": true, "tool_call": true, "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.005 }, "limit": { "context": 272000, "output": 128000 } }, "gpt-5-mini": { "id": "gpt-5-mini", "name": "GPT-5 mini", "release_date": "2025-08-07", "attachment": true, "reasoning": true, "tool_call": true, "cost": { "input": 0.25, "output": 2.0, "cache_read": 0.025 }, "limit": { "context": 272000, "output": 128000 } }, "gpt-5": { "id": "gpt-5", "name": "GPT-5", "release_date": "2025-08-07", "attachment": true, "reasoning": true, "tool_call": true, "cost": { "input": 1.25, "output": 10.0, "cache_read": 0.125 }, "limit": { "context": 272000, "output": 128000 }, } } } }, } ``` here's my exact error: ``` AI_APICallError: litellm.BadRequestError: OpenAIException - { "error": { "message": "Item 'msg_0e75830a28fa23af0068cad90882408196aae0cb73d0953a10' of type 'message' was provided without its required 'reasoning' item: 'rs_0e75830a28fa23af0068cad904b1f08196a01790c747e0c995'.", "type": "invalid_request_error", "param": "input", "code": null } }. Received Model Group=gpt-5 Available Model Group Fallbacks=None ```
Author
Owner

@rekram1-node commented on GitHub (Sep 17, 2025):

Yeah :/ it seems like it is still borked ugh, this started happening a few versions ago

@rekram1-node commented on GitHub (Sep 17, 2025): Yeah :/ it seems like it is still borked ugh, this started happening a few versions ago
Author
Owner

@rekram1-node commented on GitHub (Sep 17, 2025):

it will work if you remove:

 "reasoningSummary": "auto",
        "include": ["reasoning.encrypted_content"],

but Im sorry this is annoying

@rekram1-node commented on GitHub (Sep 17, 2025): it will work if you remove: ``` "reasoningSummary": "auto", "include": ["reasoning.encrypted_content"], ``` but Im sorry this is annoying
Author
Owner

@SebDuf commented on GitHub (Sep 17, 2025):

No worries! That's the thing though, even removing those two properties does not fix the issue for me

I've just noticed to my error is slightly different then the one from OP, so it might be two different issues (Item '...' of type 'reasoning' vs. Item '...' of type 'message'). Sorry for the red herring if that's the case

@SebDuf commented on GitHub (Sep 17, 2025): No worries! That's the thing though, even removing those two properties does not fix the issue for me I've just noticed to my error is slightly different then the one from OP, so it might be two different issues (`Item '...' of type 'reasoning'` vs. `Item '...' of type 'message'`). Sorry for the red herring if that's the case
Author
Owner

@rekram1-node commented on GitHub (Sep 17, 2025):

Damn okay reverting it

Edit: reverted the commit, this issue is still open but you can get around itt with that config thing I mentioned above

@rekram1-node commented on GitHub (Sep 17, 2025): Damn okay reverting it Edit: reverted the commit, this issue is still open but you can get around itt with that config thing I mentioned above
Author
Owner

@SebDuf commented on GitHub (Sep 17, 2025):

For what's it's worth, I've just tried 0.9.11 and that fixes the issue I was having, and my config does not have reasoningSummary and include properties

@SebDuf commented on GitHub (Sep 17, 2025): For what's it's worth, I've just tried 0.9.11 and that fixes the issue I was having, and my config does not have `reasoningSummary` and `include` properties
Author
Owner

@ferenci84 commented on GitHub (Sep 24, 2025):

I just resolved a similar issue while I was implementing the responses API endpoint support in Continue.dev. The easiest resolution of the issue is to save the id field for all LLM-generated blocks and feed it back to the model. The problem with not including the encrypted_content is that the reasoning is lost between the tool calls, and the model have to think again.

Below is my findings in details:

Actual input (with bug):

{
  "input": [
    {
      "role": "developer",
      "content": "[REDACTED_LONG_TEXT]"
    },
    {
      "role": "developer", 
      "content": "[REDACTED_LONG_TEXT]"
    },
    {
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "Show me the file tree of the ./src directory. Use the bash tool."
        }
      ]
    },
    {
      "type": "reasoning",
      "id": "rs_68d39705879881968df1eb77287e9d280454b285d187bb88",
      "summary": [
        {
          "type": "summary_text",
          "text": "**Exploring command options**\n\n[REDACTED_REASONING_CONTENT]"
        },
        {
          "type": "summary_text", 
          "text": "**Planning Python file listing**\n\n[REDACTED_REASONING_CONTENT]"
        },
        {
          "type": "summary_text",
          "text": "**Implementing file tree logic**\n\n[REDACTED_REASONING_CONTENT]"
        },
        {
          "type": "summary_text",
          "text": "**Implementing Python tree structure**\n\n[REDACTED_REASONING_CONTENT]"
        },
        {
          "type": "summary_text", 
          "text": "**Constructing command for file tree**\n\n[REDACTED_REASONING_CONTENT]"
        }
      ]
    },
    {
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "Goal: Display a tree view of the ./src directory using the bash tool.\n\nPlan:\n- Use a Python one-liner via bash to recursively walk the src directory and print a hierarchical tree.\n- Avoid disallowed commands like ls/find/grep and ensure paths are quoted and absolute.\n- Return the printed tree directly.\n\nExecuting now..."
        }
      ]
    },
    {
      "type": "function_call",
      "call_id": "call_LzJHggt1Y0E5vEI2AZuGexvG", 
      "name": "bash",
      "arguments": "{\"command\":\"python3 -c \\\"import os; from pathlib import Path; root=Path('./src'); print(root.name); import sys; \\nfor current, dirs, files in os.walk(root):\\n    current=Path(current); depth = 0 if current==root else len(current.relative_to(root).parts); indent = '    ' * depth; \\n    if current != root: print(indent + current.name); \\n    for f in sorted(files): print(indent + '    ' + f)\\\"\",\"timeout\":120000,\"description\":\"Prints tree view of src directory\"}"
    },
    {
      "type": "function_call_output",
      "call_id": "call_LzJHggt1Y0E5vEI2AZuGexvG",
      "output": "[REDACTED_LONG_OUTPUT]"
    }
  ]
}

Working input:

{
  "input": [
    {
      "role": "developer",
      "content": "You are intelligent, helpful and an expert developer, who always gives the correct answer and follow instructions.",
      "type": "message"
    },
    {
      "role": "user", 
      "content": "Show me the file tree of the ./src directory. Use the run_terminal_command tool.",
      "type": "message"
    },
    {
      "id": "rs_68d399138740819494f52fc24c0cd08a0632cb035d829222",
      "type": "reasoning", 
      "summary": [
        {
          "type": "summary_text",
          "text": "**Executing terminal command**\n\n[REDACTED_REASONING_CONTENT]"
        }
      ],
      "encrypted_content": "gAAAAABo05kTutMoY2GZA4Be61B99_WBl4Kd3RuMHfExK8SUGT0XQzsNx_pBPpNHLPre3b8q8OYqJVBAzn4yFbS8MQIpAAz1MIu2VpvGs6osIlYWXDx85OxEJJPgm-NJob7NV4MZ9t1jJpQ9fWvEhFWTwmbZKC_2pU2D7datNQvMuLuNvsMHlQwNdxO043-y4dXL7hWBOZ9GsmUrTHqyDXOM9zYTZQF1B51W59-THzKmFPoHne4vMC5qstxwrMF7FjoWYO2mE7O5Yrot347uhdf9nimvJ7SkIzXgkmo8g-81o3MBJh-sulJhMZuj3Deot06BHaz31c_4faSNqTUO-NMitRvJZm_GhOl1K7o0I_NYMoRSX50cJw6Q1dV8lMpFcwCloyKBG-hnsyNQOyk9Zff92S1Ox59PKU2QAPo7kD8PcR6oMosZ2lVJtijSQdWJdb6fPf822qqbVhKLWsrbg-CVjoAmur9NL3UYH9jtu-B1Z1K14MmbMzAMxCbvxIGqV_Rl_nx0X5jJsIpIzrVjfYSAxkd1SIudR8ekenWEJ98DHQFIQgBInYm_Ildb6TzXMgXCddoOaZORzJfQ_yLgpERYqDlbCnQ3EY76uNaih7lsvdpx7UHYV2MUJKSjqcDoxZ3R5i8jkCk0X_U8Hs8JUEj9ei40ju9aCpQJsGqmvWbnjzmYQ8YuZh2JvCkfU40S56Ny5bQt1m_GfVaPXZvZte5udkrn9-8vV9x6JXgW3gtVDe5Drw6N0lvmxw1GhIQzjiJvtRace6WW_mtctx_ygD6FK4G2oWhRjMwkgaksK9bwHxszLgzCvH4="
    },
    {
      "id": "fc_68d3991a25c481948ed501f489af4b9c0632cb035d829222",
      "type": "function_call",
      "name": "run_terminal_command", 
      "arguments": "{\"command\": \"ls -laR ./src\", \"waitForCompletion\": true}",
      "call_id": "call_E2EH6FD4vea7tWphlai0HVDo"
    },
    {
      "type": "function_call_output",
      "call_id": "call_E2EH6FD4vea7tWphlai0HVDo",
      "output": "[REDACTED_LONG_OUTPUT]"
    }
  ]
}

Differences:

  • In the opencode generated input, the ID is missing from the tool call - this is what causes the
  • encrypted content is not fed back to the model - this doesn't cause API error, but the model may need to rethink everything after each tool call

Note: The above buggy input was generated with the version 0.11.3. I am using the 0.7.9 version, and it's generated input is similar to the above "Working input", it has the id in the function call, and has the encrypted_content in the reasoning blocks.

@ferenci84 commented on GitHub (Sep 24, 2025): I just resolved a similar issue while I was implementing the responses API endpoint support in Continue.dev. The easiest resolution of the issue is to save the `id` field for all LLM-generated blocks and feed it back to the model. The problem with not including the encrypted_content is that the reasoning is lost between the tool calls, and the model have to think again. Below is my findings in details: **Actual input (with bug):** ```json { "input": [ { "role": "developer", "content": "[REDACTED_LONG_TEXT]" }, { "role": "developer", "content": "[REDACTED_LONG_TEXT]" }, { "role": "user", "content": [ { "type": "input_text", "text": "Show me the file tree of the ./src directory. Use the bash tool." } ] }, { "type": "reasoning", "id": "rs_68d39705879881968df1eb77287e9d280454b285d187bb88", "summary": [ { "type": "summary_text", "text": "**Exploring command options**\n\n[REDACTED_REASONING_CONTENT]" }, { "type": "summary_text", "text": "**Planning Python file listing**\n\n[REDACTED_REASONING_CONTENT]" }, { "type": "summary_text", "text": "**Implementing file tree logic**\n\n[REDACTED_REASONING_CONTENT]" }, { "type": "summary_text", "text": "**Implementing Python tree structure**\n\n[REDACTED_REASONING_CONTENT]" }, { "type": "summary_text", "text": "**Constructing command for file tree**\n\n[REDACTED_REASONING_CONTENT]" } ] }, { "role": "assistant", "content": [ { "type": "output_text", "text": "Goal: Display a tree view of the ./src directory using the bash tool.\n\nPlan:\n- Use a Python one-liner via bash to recursively walk the src directory and print a hierarchical tree.\n- Avoid disallowed commands like ls/find/grep and ensure paths are quoted and absolute.\n- Return the printed tree directly.\n\nExecuting now..." } ] }, { "type": "function_call", "call_id": "call_LzJHggt1Y0E5vEI2AZuGexvG", "name": "bash", "arguments": "{\"command\":\"python3 -c \\\"import os; from pathlib import Path; root=Path('./src'); print(root.name); import sys; \\nfor current, dirs, files in os.walk(root):\\n current=Path(current); depth = 0 if current==root else len(current.relative_to(root).parts); indent = ' ' * depth; \\n if current != root: print(indent + current.name); \\n for f in sorted(files): print(indent + ' ' + f)\\\"\",\"timeout\":120000,\"description\":\"Prints tree view of src directory\"}" }, { "type": "function_call_output", "call_id": "call_LzJHggt1Y0E5vEI2AZuGexvG", "output": "[REDACTED_LONG_OUTPUT]" } ] } ``` **Working input:** ```json { "input": [ { "role": "developer", "content": "You are intelligent, helpful and an expert developer, who always gives the correct answer and follow instructions.", "type": "message" }, { "role": "user", "content": "Show me the file tree of the ./src directory. Use the run_terminal_command tool.", "type": "message" }, { "id": "rs_68d399138740819494f52fc24c0cd08a0632cb035d829222", "type": "reasoning", "summary": [ { "type": "summary_text", "text": "**Executing terminal command**\n\n[REDACTED_REASONING_CONTENT]" } ], "encrypted_content": "gAAAAABo05kTutMoY2GZA4Be61B99_WBl4Kd3RuMHfExK8SUGT0XQzsNx_pBPpNHLPre3b8q8OYqJVBAzn4yFbS8MQIpAAz1MIu2VpvGs6osIlYWXDx85OxEJJPgm-NJob7NV4MZ9t1jJpQ9fWvEhFWTwmbZKC_2pU2D7datNQvMuLuNvsMHlQwNdxO043-y4dXL7hWBOZ9GsmUrTHqyDXOM9zYTZQF1B51W59-THzKmFPoHne4vMC5qstxwrMF7FjoWYO2mE7O5Yrot347uhdf9nimvJ7SkIzXgkmo8g-81o3MBJh-sulJhMZuj3Deot06BHaz31c_4faSNqTUO-NMitRvJZm_GhOl1K7o0I_NYMoRSX50cJw6Q1dV8lMpFcwCloyKBG-hnsyNQOyk9Zff92S1Ox59PKU2QAPo7kD8PcR6oMosZ2lVJtijSQdWJdb6fPf822qqbVhKLWsrbg-CVjoAmur9NL3UYH9jtu-B1Z1K14MmbMzAMxCbvxIGqV_Rl_nx0X5jJsIpIzrVjfYSAxkd1SIudR8ekenWEJ98DHQFIQgBInYm_Ildb6TzXMgXCddoOaZORzJfQ_yLgpERYqDlbCnQ3EY76uNaih7lsvdpx7UHYV2MUJKSjqcDoxZ3R5i8jkCk0X_U8Hs8JUEj9ei40ju9aCpQJsGqmvWbnjzmYQ8YuZh2JvCkfU40S56Ny5bQt1m_GfVaPXZvZte5udkrn9-8vV9x6JXgW3gtVDe5Drw6N0lvmxw1GhIQzjiJvtRace6WW_mtctx_ygD6FK4G2oWhRjMwkgaksK9bwHxszLgzCvH4=" }, { "id": "fc_68d3991a25c481948ed501f489af4b9c0632cb035d829222", "type": "function_call", "name": "run_terminal_command", "arguments": "{\"command\": \"ls -laR ./src\", \"waitForCompletion\": true}", "call_id": "call_E2EH6FD4vea7tWphlai0HVDo" }, { "type": "function_call_output", "call_id": "call_E2EH6FD4vea7tWphlai0HVDo", "output": "[REDACTED_LONG_OUTPUT]" } ] } ``` Differences: - In the opencode generated input, the ID is missing from the tool call - this is what causes the - encrypted content is not fed back to the model - this doesn't cause API error, but the model may need to rethink everything after each tool call Note: The above buggy input was generated with the version 0.11.3. I am using the 0.7.9 version, and it's generated input is similar to the above "Working input", it has the `id` in the function call, and has the `encrypted_content` in the reasoning blocks.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#1723