[GH-ISSUE #24746] issue: v0.9.5 assistant message Copy button collapses Markdown line breaks when pasted into Obsidian / text editors #123703

Open
opened 2026-05-21 03:09:56 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @george3430 on GitHub (May 15, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/24746

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

v0.9.5

Ollama Version (if applicable)

ollama version is 0.20.7

Operating System

Ubuntu 22.04

Browser (if applicable)

FF, Brave, Safari

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 on v0.9.2 and using the built-in assistant message Copy button should preserves Markdown structure correctly when pasting into an Obsidian Note or other markdown editor.

Expected behavior

The copied content should preserve Markdown line breaks and structure:

# Header Test

## Sub Header

- Bullet 1
- Bullet 2

| A | B |
|---|---|
| 1 | 2 |
Image Image

Actual Behavior

Summary

After upgrading Open WebUI from v0.9.2 to v0.9.5, the built-in assistant message Copy button no longer preserves Markdown structure correctly.

The response renders correctly on screen, but when using the Open WebUI message-level Copy button and pasting into Obsidian or Notepad++, headings, bullet points and tables are flattened into a single line.

Browser selection copy/paste works correctly, so the model output and rendered page appear to be correct. The issue seems isolated to the Open WebUI built-in assistant message copy-to-clipboard function.

Environment

  • Open WebUI version: v0.9.5
  • Previous known-good version: v0.9.2
  • Installation method: native Python / pip install
  • OS: Debian 12 VM
  • Browser tested:
    • Brave
    • Firefox
  • Target paste applications:
    • Obsidian
    • Notepad++
  • Backend model provider:
    • Ollama
  • Ollama host:
    • Remote Ollama endpoint
  • Model used for reproduction:
    • qwen3-thinking-distill-q5km:latest

Upgrade context

The same prompts and workflows preserved Markdown correctly on v0.9.2.

After upgrading to v0.9.5, the Open WebUI built-in message Copy button started flattening Markdown output.

Rolling back another Open WebUI VM from v0.9.5 to v0.9.2 restored the expected Markdown copy behaviour.

Reproduction steps

  1. Open a new chat in Open WebUI v0.9.5.
  2. Use a model that outputs clean Markdown.
  3. Enter the following prompt:
Return raw markdown only.

Do not wrap the answer in a code fence.
Do not explain.
Do not add anything before or after the markdown.

# Header Test

## Sub Header

- Bullet 1
- Bullet 2

| A | B |
|---|---|
| 1 | 2 |
  1. Observe that the response renders correctly in the Open WebUI chat window.
  2. Use the Open WebUI assistant message-level Copy button.
  3. Paste into Obsidian or Notepad++.

Expected behaviour

The copied content should preserve Markdown line breaks and structure:

# Header Test

## Sub Header

- Bullet 1
- Bullet 2

| A | B |
|---|---|
| 1 | 2 |

Actual behaviour

The copied content is flattened into a single line, similar to:

# Header Test ## Sub Header - Bullet 1 - Bullet 2 | A | B | |---|---| | 1 | 2 |

Important observation

If I manually select the rendered response in the browser and use normal browser copy/paste, the Markdown structure is preserved much better.

The issue appears to be specific to the Open WebUI built-in assistant message Copy button.

Impact

This is a significant workflow issue for users who rely on Open WebUI to generate Markdown documents for tools such as Obsidian.

In my case, Open WebUI is used to generate technical reports, consultation notes, clinical-adjacent documentation and structured Markdown reports. The current copy behaviour breaks the document structure and makes the output difficult to use.

Suspected area

This may be related to the message copy-to-clipboard pipeline converting rendered HTML back into plain text or Markdown without preserving block-level newline boundaries.

It may also be related to recent Markdown rendering / copy behaviour changes in the v0.9.x series.

Requested fix

Please preserve Markdown line breaks and block structure when using the assistant message-level Copy button.

Ideally, the Copy button should copy the original assistant message Markdown text, not a flattened rendering of the displayed HTML.

Workaround

Using browser selection copy works better, but this is not practical for longer Markdown reports.

Wrapping the entire output in a fenced Markdown code block is also not reliable enough for normal documentation workflows.

Steps to Reproduce

Reproduction steps

  1. Open a new chat in Open WebUI v0.9.5.
  2. Use a model that outputs clean Markdown.
  3. Enter the following prompt:
Return raw markdown only.

Do not wrap the answer in a code fence.
Do not explain.
Do not add anything before or after the markdown.

# Header Test

## Sub Header

- Bullet 1
- Bullet 2

| A | B |
|---|---|
| 1 | 2 |
  1. Observe that the response renders correctly in the Open WebUI chat window.
  2. Use the Open WebUI assistant message-level Copy button.
  3. Paste into Obsidian or Notepad++.

Expected behaviour

The copied content should preserve Markdown line breaks and structure:

# Header Test

## Sub Header

- Bullet 1
- Bullet 2

| A | B |
|---|---|
| 1 | 2 |

Actual behaviour

The copied content is flattened into a single line, similar to:

# Header Test ## Sub Header - Bullet 1 - Bullet 2 | A | B | |---|---| | 1 | 2 |

Important observation

If I manually select the rendered response in the browser and use normal browser copy/paste, the Markdown structure is preserved much better.

The issue appears to be specific to the Open WebUI built-in assistant message Copy button.

Impact

This is a significant workflow issue for users who rely on Open WebUI to generate Markdown documents for tools such as Obsidian.

In my case, Open WebUI is used to generate technical reports, consultation notes, clinical-adjacent documentation and structured Markdown reports. The current copy behaviour breaks the document structure and makes the output difficult to use.

Suspected area

This may be related to the message copy-to-clipboard pipeline converting rendered HTML back into plain text or Markdown without preserving block-level newline boundaries.

It may also be related to recent Markdown rendering / copy behaviour changes in the v0.9.x series.

Requested fix

Please preserve Markdown line breaks and block structure when using the assistant message-level Copy button.

Ideally, the Copy button should copy the original assistant message Markdown text, not a flattened rendering of the displayed HTML.

Workaround

Using browser selection copy works better, but this is not practical for longer Markdown reports.

Wrapping the entire output in a fenced Markdown code block is also not reliable enough for normal documentation workflows.

Logs & Screenshots

N/A

Additional Information

No response

Originally created by @george3430 on GitHub (May 15, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/24746 ### 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 v0.9.5 ### Ollama Version (if applicable) ollama version is 0.20.7 ### Operating System Ubuntu 22.04 ### Browser (if applicable) FF, Brave, Safari ### 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 on v0.9.2 and using the built-in assistant message **Copy** button should preserves Markdown structure correctly when pasting into an Obsidian Note or other markdown editor. ## Expected behavior The copied content should preserve Markdown line breaks and structure: ```markdown # Header Test ## Sub Header - Bullet 1 - Bullet 2 | A | B | |---|---| | 1 | 2 | ``` <img width="733" height="1103" alt="Image" src="https://github.com/user-attachments/assets/8bf72be8-3abc-417d-95ef-d78bd1794cbf" /> <img width="1419" height="689" alt="Image" src="https://github.com/user-attachments/assets/afd683f6-0494-404d-affe-5466593db247" /> ### Actual Behavior ## Summary After upgrading Open WebUI from v0.9.2 to v0.9.5, the built-in assistant message **Copy** button no longer preserves Markdown structure correctly. The response renders correctly on screen, but when using the Open WebUI message-level Copy button and pasting into Obsidian or Notepad++, headings, bullet points and tables are flattened into a single line. Browser selection copy/paste works correctly, so the model output and rendered page appear to be correct. The issue seems isolated to the Open WebUI built-in assistant message copy-to-clipboard function. ## Environment - Open WebUI version: v0.9.5 - Previous known-good version: v0.9.2 - Installation method: native Python / pip install - OS: Debian 12 VM - Browser tested: - Brave - Firefox - Target paste applications: - Obsidian - Notepad++ - Backend model provider: - Ollama - Ollama host: - Remote Ollama endpoint - Model used for reproduction: - qwen3-thinking-distill-q5km:latest ## Upgrade context The same prompts and workflows preserved Markdown correctly on v0.9.2. After upgrading to v0.9.5, the Open WebUI built-in message Copy button started flattening Markdown output. Rolling back another Open WebUI VM from v0.9.5 to v0.9.2 restored the expected Markdown copy behaviour. ## Reproduction steps 1. Open a new chat in Open WebUI v0.9.5. 2. Use a model that outputs clean Markdown. 3. Enter the following prompt: ```text Return raw markdown only. Do not wrap the answer in a code fence. Do not explain. Do not add anything before or after the markdown. # Header Test ## Sub Header - Bullet 1 - Bullet 2 | A | B | |---|---| | 1 | 2 | ``` 4. Observe that the response renders correctly in the Open WebUI chat window. 5. Use the Open WebUI assistant message-level **Copy** button. 6. Paste into Obsidian or Notepad++. ## Expected behaviour The copied content should preserve Markdown line breaks and structure: ```markdown # Header Test ## Sub Header - Bullet 1 - Bullet 2 | A | B | |---|---| | 1 | 2 | ``` ## Actual behaviour The copied content is flattened into a single line, similar to: ```text # Header Test ## Sub Header - Bullet 1 - Bullet 2 | A | B | |---|---| | 1 | 2 | ``` ## Important observation If I manually select the rendered response in the browser and use normal browser copy/paste, the Markdown structure is preserved much better. The issue appears to be specific to the Open WebUI built-in assistant message Copy button. ## Impact This is a significant workflow issue for users who rely on Open WebUI to generate Markdown documents for tools such as Obsidian. In my case, Open WebUI is used to generate technical reports, consultation notes, clinical-adjacent documentation and structured Markdown reports. The current copy behaviour breaks the document structure and makes the output difficult to use. ## Suspected area This may be related to the message copy-to-clipboard pipeline converting rendered HTML back into plain text or Markdown without preserving block-level newline boundaries. It may also be related to recent Markdown rendering / copy behaviour changes in the v0.9.x series. ## Requested fix Please preserve Markdown line breaks and block structure when using the assistant message-level Copy button. Ideally, the Copy button should copy the original assistant message Markdown text, not a flattened rendering of the displayed HTML. ## Workaround Using browser selection copy works better, but this is not practical for longer Markdown reports. Wrapping the entire output in a fenced Markdown code block is also not reliable enough for normal documentation workflows. ### Steps to Reproduce ## Reproduction steps 1. Open a new chat in Open WebUI v0.9.5. 2. Use a model that outputs clean Markdown. 3. Enter the following prompt: ```text Return raw markdown only. Do not wrap the answer in a code fence. Do not explain. Do not add anything before or after the markdown. # Header Test ## Sub Header - Bullet 1 - Bullet 2 | A | B | |---|---| | 1 | 2 | ``` 4. Observe that the response renders correctly in the Open WebUI chat window. 5. Use the Open WebUI assistant message-level **Copy** button. 6. Paste into Obsidian or Notepad++. ## Expected behaviour The copied content should preserve Markdown line breaks and structure: ```markdown # Header Test ## Sub Header - Bullet 1 - Bullet 2 | A | B | |---|---| | 1 | 2 | ``` ## Actual behaviour The copied content is flattened into a single line, similar to: ```text # Header Test ## Sub Header - Bullet 1 - Bullet 2 | A | B | |---|---| | 1 | 2 | ``` ## Important observation If I manually select the rendered response in the browser and use normal browser copy/paste, the Markdown structure is preserved much better. The issue appears to be specific to the Open WebUI built-in assistant message Copy button. ## Impact This is a significant workflow issue for users who rely on Open WebUI to generate Markdown documents for tools such as Obsidian. In my case, Open WebUI is used to generate technical reports, consultation notes, clinical-adjacent documentation and structured Markdown reports. The current copy behaviour breaks the document structure and makes the output difficult to use. ## Suspected area This may be related to the message copy-to-clipboard pipeline converting rendered HTML back into plain text or Markdown without preserving block-level newline boundaries. It may also be related to recent Markdown rendering / copy behaviour changes in the v0.9.x series. ## Requested fix Please preserve Markdown line breaks and block structure when using the assistant message-level Copy button. Ideally, the Copy button should copy the original assistant message Markdown text, not a flattened rendering of the displayed HTML. ## Workaround Using browser selection copy works better, but this is not practical for longer Markdown reports. Wrapping the entire output in a fenced Markdown code block is also not reliable enough for normal documentation workflows. ### Logs & Screenshots N/A ### Additional Information _No response_
GiteaMirror added the bug label 2026-05-21 03:09:56 -05:00
Author
Owner

@owui-terminator[bot] commented on GitHub (May 15, 2026):

🔍 Related Issues Found

I found some existing issues that might be related. Please check if any of these are duplicates or contain helpful solutions:

  1. 🟢 #24657 bug: Rendered HTML paste creates duplicated Markdown table blocks
    This is the closest current issue around clipboard/paste behavior with rendered Markdown and tables. It reports that rendered HTML content becomes broken/duplicated when moved through the clipboard, which is likely in the same copy/paste pipeline as the flattened Markdown-copy problem.
    by alexander9846 · bug

  2. 🟣 #19083 issue: output always copied with formatting (chrome)
    This older issue is about the chat copy behavior producing unwanted rich formatting when copied. It targets the same message-copy-to-clipboard path, so it is relevant as a prior clipboard-formatting bug even though the symptom differs.
    by tomasloksa · bug, good first issue

  3. 🟣 #12962 *issue: copied when using the bottom "copy" of a message, when copying from a "code only" response** *This is directly about the message copy button copying the wrong Markdown content (extra fences) from code-only responses. It shows the same copy-button implementation has had Markdown-specific copy bugs before.
    by darkBuddha · bug


💡 If your issue is a duplicate, please close it and add any additional details to the existing issue instead.

This comment was generated automatically. React with 👍 if helpful, 👎 if not.

<!-- gh-comment-id:4456860569 --> @owui-terminator[bot] commented on GitHub (May 15, 2026): <!-- terminator-bot:related-issues-reply --> 🔍 **Related Issues Found** I found some existing issues that might be related. Please check if any of these are duplicates or contain helpful solutions: 1. 🟢 [#24657](https://github.com/open-webui/open-webui/issues/24657) **bug: Rendered HTML paste creates duplicated Markdown table blocks** *This is the closest current issue around clipboard/paste behavior with rendered Markdown and tables. It reports that rendered HTML content becomes broken/duplicated when moved through the clipboard, which is likely in the same copy/paste pipeline as the flattened Markdown-copy problem.* *by alexander9846 · `bug`* 2. 🟣 [#19083](https://github.com/open-webui/open-webui/issues/19083) **issue: output always copied with formatting (chrome)** *This older issue is about the chat copy behavior producing unwanted rich formatting when copied. It targets the same message-copy-to-clipboard path, so it is relevant as a prior clipboard-formatting bug even though the symptom differs.* *by tomasloksa · `bug`, `good first issue`* 3. 🟣 [#12962](https://github.com/open-webui/open-webui/issues/12962) **issue: ``` copied when using the bottom "copy" of a message, when copying from a "code only" response** *This is directly about the message copy button copying the wrong Markdown content (extra ``` fences) from code-only responses. It shows the same copy-button implementation has had Markdown-specific copy bugs before.* *by darkBuddha · `bug`* --- 💡 If your issue is a duplicate, please close it and add any additional details to the existing issue instead. *This comment was generated automatically.* React with 👍 if helpful, 👎 if not.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#123703