[GH-ISSUE #23847] issue: Images generated by code interpeter integration are not displayed in chat #35616

Open
opened 2026-04-25 09:47:16 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @pro100vald on GitHub (Apr 17, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/23847

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
  • I am using the latest version of Open WebUI.

Installation Method

Pip Install

Open WebUI Version

0.8.12

Ollama Version (if applicable)

No response

Operating System

Windows 11 (client), Debian 12 (server)

Browser (if applicable)

Chrome 147

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

When I ask model to generate a graph using code interpreter integration via native tool calling, I expect to see the generated image contents in model's response message. Either the OpenWebUI should automatically append any generated media to model's messages, or model should be prompted about adding images into it's response.

Actual Behavior

Generated images are not getting included in model's response message (see screenshots). As it can be seen from tool response, the image was generated successfully (stdout contains [Output Image](/api/v1/files/e571***/content)), yet the image is not shown in UI, and the model recommends to browse for it manually, instead displaying it in response. Image is accessible if entering the /api/v1 URL manually in browser; so the code interpreter correctly generated and saved it, but the image was not appended to model's chat message.

Steps to Reproduce

  1. Use OpenWebUI 0.8.12 hosted on Debian 12 via pip install.
  2. Connect Qwen 3.5 35B model, hosted via vllm 0.19. Note that model runs with enabled native tool calling
    vllm serve cyankiwi/Qwen3.5-35B-A3B-AWQ-4bit --enable-auto-tool-choice --tool-call-parser qwen3_coder --reasoning-parser qwen3 --attention-backend FLASHINFER --enable-prefix-caching --mamba-cache-mode=align
  3. In OpenWebUI admin panel, all code enterpreters are set to enabled and pyodide is selected
  4. In OpenWebUI Workspace, set model's tool calling to native option
  5. In chat window, activate "code interpeter" integration
  6. Ask "Can you get me a graph of logistic function bifurcation?"
    Due to the nature of this bug, I suspect that it is replicable with any inference engine, it shouldn't be specific to vllm. It also should replicate with any request that makes model use matplotlib.

Logs & Screenshots

Whole chat

Image

Message from execute_code tool, showing how graph is saved and the tool generating the [Output Image] URL.

Image

[Output Image] contains correct url that points to correct image and is accessible from client browser.

Additional Information

No response

Originally created by @pro100vald on GitHub (Apr 17, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/23847 ### Check Existing Issues - [x] I have searched for any existing and/or related issues. - [x] I have searched for any existing and/or related discussions. - [x] I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!). - [x] I am using the latest version of Open WebUI. ### Installation Method Pip Install ### Open WebUI Version 0.8.12 ### Ollama Version (if applicable) _No response_ ### Operating System Windows 11 (client), Debian 12 (server) ### Browser (if applicable) Chrome 147 ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior When I ask model to generate a graph using code interpreter integration via native tool calling, I expect to see the generated image contents in model's response message. Either the OpenWebUI should automatically append any generated media to model's messages, or model should be prompted about adding images into it's response. ### Actual Behavior Generated images are not getting included in model's response message (see screenshots). As it can be seen from tool response, the image was generated successfully (stdout contains `[Output Image](/api/v1/files/e571***/content)`), yet the image is not shown in UI, and the model recommends to browse for it manually, instead displaying it in response. Image is accessible if entering the /api/v1 URL manually in browser; so the code interpreter correctly generated and saved it, but the image was not appended to model's chat message. ### Steps to Reproduce 1) Use OpenWebUI 0.8.12 hosted on Debian 12 via pip install. 2) Connect Qwen 3.5 35B model, hosted via vllm 0.19. Note that model runs with enabled native tool calling `vllm serve cyankiwi/Qwen3.5-35B-A3B-AWQ-4bit --enable-auto-tool-choice --tool-call-parser qwen3_coder --reasoning-parser qwen3 --attention-backend FLASHINFER --enable-prefix-caching --mamba-cache-mode=align` 3) In OpenWebUI admin panel, all code enterpreters are set to enabled and pyodide is selected 4) In OpenWebUI Workspace, set model's tool calling to `native` option 5) In chat window, activate "code interpeter" integration 6) Ask "Can you get me a graph of logistic function bifurcation?" Due to the nature of this bug, I suspect that it is replicable with any inference engine, it shouldn't be specific to vllm. It also should replicate with any request that makes model use matplotlib. ### Logs & Screenshots Whole chat <img width="1043" height="1003" alt="Image" src="https://github.com/user-attachments/assets/5e5eeddc-eee3-492f-8713-0c0af4713017" /> Message from execute_code tool, showing how graph is saved and the tool generating the [Output Image] URL. <img width="946" height="394" alt="Image" src="https://github.com/user-attachments/assets/4eede278-aa1b-4ec7-a6fa-e639ef1ac2ef" /> [Output Image] contains correct url that points to correct image and is accessible from client browser. ### Additional Information _No response_
GiteaMirror added the bug label 2026-04-25 09:47:16 -05:00
Author
Owner

@rutger-follo commented on GitHub (Apr 20, 2026):

We're also hitting this. Our setup: Open WebUI v0.8.12 with OpenRouter (Claude Sonnet, GPT-4o) and an external OpenAPI tool server.

After switching to Native function calling mode (needed for proper multi-step tool chaining with our external tools), the code interpreter stopped rendering matplotlib charts. The images are generated and accessible via /api/v1/files/.../content, but the model doesn't include them in its final response.

Switching back to Default mode fixes chart rendering but breaks our tool server workflow (no autonomous tool chaining).

Workaround for now: We set function calling to Native on models used for tool calling, and Default on models used for code/charting. Would be great to have both working in Native mode.

This is blocking for teams that need both external tool servers and code interpreter charts in the same conversation.

<!-- gh-comment-id:4278863131 --> @rutger-follo commented on GitHub (Apr 20, 2026): We're also hitting this. Our setup: Open WebUI v0.8.12 with OpenRouter (Claude Sonnet, GPT-4o) and an external OpenAPI tool server. After switching to **Native function calling mode** (needed for proper multi-step tool chaining with our external tools), the code interpreter stopped rendering matplotlib charts. The images are generated and accessible via `/api/v1/files/.../content`, but the model doesn't include them in its final response. Switching back to Default mode fixes chart rendering but breaks our tool server workflow (no autonomous tool chaining). **Workaround for now**: We set function calling to Native on models used for tool calling, and Default on models used for code/charting. Would be great to have both working in Native mode. This is blocking for teams that need both external tool servers and code interpreter charts in the same conversation.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#35616