> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/rdm/knowledge-base/troubleshooting-articles/clipboard-diagnostic.md).

# Clipboard diagnostic

Diagnose Remote Desktop Manager clipboard issues, such as failed pastes, early clearing, or blocked apps, with the Clipboard diagnostics tool.

This article helps diagnose clipboard issues in Remote Desktop Manager: values that do not paste, a username pasted instead of the password, values that disappear before they are pasted, or applications that never receive the value.

The ***Clipboard diagnostics*** tool is available only in Remote Desktop Manager on Windows.

Find the symptom in this list, then go to the section named next to it.

* **A browser or chat application pastes the username again instead of the password**: the application reads the clipboard without a window handle. Read the section named Applications that read the clipboard without a window handle.
* **Nothing pastes when pasting right after the copy**: the read arrived less than 500 milliseconds after the copy and was refused. Read the section named Applications that read the clipboard without a window handle.
* **The value pastes once, then the clipboard is empty**: this is how the ***Paste once (secure)*** copy method works. Read the section named Paste once and delays.
* **The clipboard clears itself after a few seconds**: read the section named Clear clipboard delay.
* **A specific application never receives the value**: the application can be on the block list. Read the section named Block list and allowlist.

### Open the Clipboard diagnostics tool <a href="#open-the-clipboard-diagnostics-tool" id="open-the-clipboard-diagnostics-tool"></a>

In the ribbon, go to ***Help*** – ***Clipboard diagnostics***. With the menu bar, go to ***Help*** – ***Troubleshooting*** – ***Clipboard diagnostics***. In the main window, holding <kbd>Ctrl</kbd>+<kbd>Alt</kbd> while typing `CLIP` also opens the tool.

The window contains three tabs:

<table><thead><tr><th width="180">TAB</th><th>DESCRIPTION</th></tr></thead><tbody><tr><td><strong>Configuration</strong></td><td>The same settings as <em><strong>File</strong></em> – <em><strong>Settings</strong></em> – <em><strong>Application</strong></em> – <em><strong>Clipboard</strong></em> – <em><strong>Advanced</strong></em>: copy method, clear clipboard delay, null requester check, background clipboard access, password generator, <em><strong>Delays</strong></em>, <em><strong>Block list</strong></em>, and <em><strong>Auto-readers</strong></em>. Changes made in this tab are saved immediately.</td></tr><tr><td><strong>Status</strong></td><td>The processes that Remote Desktop Manager blocked (<em><strong>Blacklisted</strong></em>) or served (<em><strong>Allowlisted</strong></em>) since it started. Each row shows the <em><strong>ID</strong></em>, <em><strong>Name</strong></em>, <em><strong>Description</strong></em>, <em><strong>Command-line</strong></em>, <em><strong>Requester</strong></em> (window handle), and whether the process requested a <em><strong>Private format</strong></em>.</td></tr><tr><td><strong>Debug</strong></td><td>Test buttons that copy sample values (<em><strong>Paste once</strong></em>, <em><strong>Paste once - 2 items</strong></em>, <em><strong>Legacy</strong></em>), a <em><strong>Clear</strong></em> button that empties the profiler, and the <em><strong>Profiler</strong></em>, which logs each clipboard operation while the window is open.</td></tr></tbody></table>

### Run a two-value test <a href="#test-in-30-seconds" id="test-in-30-seconds"></a>

Before changing any settings, confirm where the problem is with a two-value test:

1. Open the ***Clipboard diagnostics*** window.
2. Click the ***Debug*** tab.
3. Click ***Paste once - 2 items***. Remote Desktop Manager copies ***Item 1*** and ***Item 2*** as a sequence, like the ***Copy username and password*** action.
4. In Notepad, press <kbd>Ctrl</kbd>+<kbd>V</kbd> twice.
5. Click ***Paste once - 2 items*** again.
6. In the target application, press <kbd>Ctrl</kbd>+<kbd>V</kbd> twice.

Interpret the results as follows:

* Notepad pastes ***Item 1***, then ***Item 2***: Remote Desktop Manager copies correctly, and the problem is with how the target application reads the clipboard.
* Nothing pastes in Notepad: review the ***Profiler*** lines and the ***Status*** tab.
* The target application pastes ***Item 1*** twice: it reads the clipboard without a window handle. Press <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>V</kbd>, then <kbd>Ctrl</kbd>+<kbd>V</kbd> to paste ***Item 2***.
* The target application pastes nothing: check the ***Profiler*** for a `Refused` or `Blocked` line.

### Applications that read the clipboard without a window handle <a href="#null-requester-check" id="null-requester-check"></a>

Most applications identify themselves with a window handle when they read the clipboard. Some applications read the clipboard without one, which Remote Desktop Manager calls a null requester. This is the case for Chromium-based browsers, such as Google Chrome and Microsoft Edge, and for Electron-based applications, such as Slack, Microsoft Teams, Discord, and Visual Studio Code.

Remote Desktop Manager cannot tell whether such a read is a paste or a background read. Chromium-based applications can read the clipboard as soon as a text box receives focus. For this reason, Remote Desktop Manager handles these reads as follows:

* A read that arrives less than 500 milliseconds after the copy is refused, to protect the value from processes that read the clipboard automatically.
* A later read receives the current value, but Remote Desktop Manager does not move to the next value. The value stays on the clipboard until it is cleared, so pasting again in the same application pastes the same value.

For a copy with several values, such as ***Copy username and password***, paste the values in the target application as follows:

1. Paste the username with <kbd>Ctrl</kbd>+<kbd>V</kbd>.
2. Press <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>V</kbd> to move to the next value.
3. Paste the password with <kbd>Ctrl</kbd>+<kbd>V</kbd>.

While Remote Desktop Manager waits for the next-value shortcut, the status bar displays a message such as `Press 'Ctrl+Alt+V' for the next value. Clearing clipboard in 10 sec.`

{% hint style="info" %} <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>V</kbd> is the default binding of the ***Clipboard - Next value*** shortcut. The shortcut works globally, including when another application has the focus. To change it, go to ***File*** – ***Settings*** – ***User interface*** – ***Keyboard***, then restart Remote Desktop Manager. The shortcut has no effect when no value is waiting, or when Remote Desktop Manager no longer owns the clipboard content.
{% endhint %}

In the profiler, each read logs a `Render - Requester : 0 - Format : 13` line, where `Requester : 0` means the application did not provide a window handle. The next line indicates the result:

| Log line                                                       | Description                                                                                                                      |
| -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `Render - Served - Null requester (<n>ms)`                     | The application received the current value, `<n>` milliseconds after the copy.                                                   |
| `Render - Served - Null requester, user asked for this value`  | The application received the value that follows a press of the next-value shortcut.                                              |
| `Render - Sequence held at <i> of <n> (unidentifiable reader)` | Value `<i>` of `<n>` was served and other values remain. Remote Desktop Manager waits for the next-value shortcut.               |
| `Render - Refused - Null requester - Format : <id> (<n>ms)`    | The read arrived less than 500 milliseconds after the copy, or requested a format other than `13`, and was refused. Paste again. |
| `Next value - Advancing held sequence`                         | The next-value shortcut moved the sequence to the next value.                                                                    |
| `Next value - Nothing held, ignored`                           | The next-value shortcut was pressed while no value was waiting.                                                                  |
| `Next value - RDM no longer owns the clipboard, ignored`       | The next-value shortcut was pressed after the clipboard was cleared or replaced by another copy.                                 |

#### Disable null requester check <a href="#disable-null-requester-check" id="disable-null-requester-check"></a>

The ***Disable null requester check (advanced)*** setting only removes the refusal of reads that arrive less than 500 milliseconds after the copy. Reads without a window handle still receive the current value without moving to the next value, so the next-value shortcut is still required for copies with several values. The setting is available only with the ***Paste once (secure)*** copy method.

Enabling this setting lowers the protection against processes that read the clipboard automatically. Only enable it on machines where the running applications are trusted.

1. Go to ***File*** – ***Settings*** – ***Application*** – ***Clipboard*** – ***Advanced***.
2. Enable ***Disable null requester check (advanced)***.
3. Click ***Save***.

### How to read the profiler <a href="#how-to-read-the-profiler" id="how-to-read-the-profiler"></a>

The ***Profiler*** in the ***Debug*** tab logs each step of a copy and paste cycle while the ***Clipboard diagnostics*** window is open. The lines in this article omit the `Clipboard -` prefix that each profiler line contains. The following table maps the most common lines to their meaning and the action to take.

| Log line                                                                  | Description                                                                                                                                                                                   | Action                                                                                   |
| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `CopyMethod : Legacy` or `CopyMethod : PasteOnce`                         | The copy method used for this copy.                                                                                                                                                           | No action.                                                                               |
| `Paste Once - Count : <n>`                                                | A paste-once sequence of `<n>` values started, for example `2` for a username and a password.                                                                                                 | No action.                                                                               |
| `Promise - Format : <id>`                                                 | Remote Desktop Manager advertises a format that it provides on request (delayed rendering).                                                                                                   | No action.                                                                               |
| `Render - Requester : <hwnd> - Format : <id>`                             | A process requested format `<id>`. `<hwnd>` is the window handle of the process, or `0` when the process provided none.                                                                       | Check the next line for the result.                                                      |
| `Requester : <hwnd> - Process Id : <pid> - Name : <name>`                 | The process that matches the window handle.                                                                                                                                                   | No action.                                                                               |
| `Render - Allowlisted - Requester : <hwnd>`                               | The process received the value and was added to the ***Allowlisted*** list of the ***Status*** tab.                                                                                           | No action.                                                                               |
| `Render - Allow listed - Requester : <hwnd>`                              | The process is already in the ***Allowlisted*** list and was served.                                                                                                                          | No action.                                                                               |
| `Render - Private Format` then `Render - Blocklisted - Requester: <hwnd>` | The process requested one of the private formats, which clipboard managers and the Windows clipboard history read. It was added to the ***Blacklisted*** list and does not receive the value. | If the process is trusted, select it in the ***Blacklisted*** list and use ***Delete***. |
| `Render - Blocked - Requester: <hwnd>`                                    | The process is in the ***Blacklisted*** list and did not receive the value.                                                                                                                   | If the process is trusted, select it in the ***Blacklisted*** list and use ***Delete***. |
| `Render - Blocklsited`                                                    | The process matches an entry of the ***Block list*** setting and did not receive the value.                                                                                                   | If the process is trusted, disable or delete the entry in the ***Block list***.          |
| `Render - ClipboardSvcGroup(Clipboard History) - Blocked`                 | The Windows clipboard history service did not receive the value.                                                                                                                              | No action.                                                                               |
| `Render - AutoReader feeding : <name> (<n>ms) - Re-arming`                | The process read the clipboard less than 500 milliseconds after the copy. It received the current value once, without moving to the next value.                                               | No action.                                                                               |
| `Render - AutoReader blocked (already fed) : <name> (<n>ms)`              | The process already received the current value and did not receive it again.                                                                                                                  | No action.                                                                               |
| `Render - Unknown Format`                                                 | The process requested a format that Remote Desktop Manager does not provide.                                                                                                                  | No action.                                                                               |
| `Render - Delay : <n>ms`                                                  | A ***Delays*** entry matches the process. Remote Desktop Manager waits `<n>` milliseconds before moving to the next value.                                                                    | No action.                                                                               |
| `Next Clipboard Data`                                                     | Remote Desktop Manager moved to the next value of the sequence.                                                                                                                               | No action.                                                                               |
| `Done!`                                                                   | The last value of the sequence was pasted. Remote Desktop Manager empties the clipboard.                                                                                                      | No action.                                                                               |
| `Empty`                                                                   | Remote Desktop Manager emptied the clipboard, before a copy or after the last value of a sequence.                                                                                            | No action.                                                                               |
| `Clear`                                                                   | The clear clipboard delay expired, and Remote Desktop Manager cleared the clipboard content it owned.                                                                                         | If this happens too early, increase the ***Clear clipboard delay***.                     |

#### Common format IDs <a href="#common-format-ids" id="common-format-ids"></a>

| Format ID          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `13`               | `CF_UNICODETEXT`: the copied text.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `49152` and higher | <p>Private formats registered with Windows. The numbers are assigned by Windows and can differ from one Windows session to another.</p><ul><li><code>Clipboard Viewer Ignore</code>, <code>CanIncludeInClipboardHistory</code>, <code>CanUploadToCloudClipboard</code>, and <code>ExcludeClipboardContentFromMonitorProcessing</code>: formats that tell clipboard managers, the Windows clipboard history, and the cloud clipboard to ignore the content. Remote Desktop Manager advertises them with the <em><strong>Paste once (secure)</strong></em> copy method.</li><li><code>RDMClipboardContent</code>: identifies content copied by Remote Desktop Manager, which only clears clipboard content it owns.</li></ul> |

### Paste once and delays <a href="#paste-once-and-delays" id="paste-once-and-delays"></a>

The ***Clipboard copy method*** setting, in ***File*** – ***Settings*** – ***Application*** – ***Clipboard*** – ***Advanced***, determines how single values are copied:

* ***Legacy*** (default): the value is placed on the clipboard and can be pasted several times.
* ***Paste once (secure)***: Remote Desktop Manager provides the value when an application requests it, then removes it from the clipboard. The ***Disable null requester check (advanced)***, ***Background clipboard access***, ***Match auto-readers by***, ***Password generator***, ***Delays***, ***Block list***, and ***Auto-readers*** settings are available only with this method.

A copy with several values, such as ***Copy username and password***, always uses a paste-once sequence: each paste in an application that provides a window handle receives the current value, then Remote Desktop Manager moves to the next value. After the last value, Remote Desktop Manager empties the clipboard.

#### Processes that read the clipboard automatically <a href="#processes-that-read-the-clipboard-automatically" id="processes-that-read-the-clipboard-automatically"></a>

Clipboard managers and similar tools read the clipboard as soon as it changes. Remote Desktop Manager considers that a process reading the clipboard less than 500 milliseconds after the copy is an automatic reader, not a paste.

* ***Background clipboard access***: ***Feed once*** (default) gives each automatic reader the current value once, without moving to the next value. ***Block all*** turns off this behavior.
* ***Match auto-readers by***: how Remote Desktop Manager recognizes a reader that already received the value, by ***Process ID*** (default) or by ***Requester handle***.
* ***Auto-readers***: processes that always receive the current value, on every read, without ever moving to the next value. Use ***New*** to add a process in the ***Auto-reader editor***.

#### Password generator <a href="#password-generator" id="password-generator"></a>

The ***Clear clipboard after*** setting of the ***Password generator*** section sets how many times a password copied from the password generator can be pasted before the clipboard is cleared: from 1 to 10 times, 3 by default.

#### Delays <a href="#delays" id="delays"></a>

Some applications read the clipboard more than once for a single paste. A delay makes Remote Desktop Manager wait after serving the value to a matching process, before moving to the next value. Delays apply only to applications that provide a window handle.

The ***Delays*** list includes predefined entries for Google Chrome (`chrome`), Microsoft Edge and Edge WebView2 (`msedge`), Brave (`brave`), the Windows host process (`rundll32`), and the Essential Objects worker process (`eowp.`), with a delay of 100 milliseconds.

To add a delay:

1. Open the ***Clipboard diagnostics*** window.
2. In the ***Configuration*** tab, under ***Delays***, click ***New***.
3. Enter a ***Description***.
4. Enter the ***Process name*** of the target application, without the `.exe` extension.
5. Optionally, enter a ***Command-line*** value to match.
6. Set the ***Delay***, from 100 to 5000 milliseconds.
7. Click ***Save***.

### Clear clipboard delay <a href="#clear-clipboard-delay" id="clear-clipboard-delay"></a>

Remote Desktop Manager can clear the clipboard automatically a set number of seconds after a copy. This delay is time based, and it applies to both copy methods. In a sequence with several values, the countdown restarts each time Remote Desktop Manager moves to the next value. The status bar displays the countdown, for example `Clearing clipboard in 10 sec.`

Remote Desktop Manager only clears clipboard content that it copied. When it closes while a countdown is running, it also clears the clipboard.

#### How to configure <a href="#how-to-configure" id="how-to-configure"></a>

1. Go to ***File*** – ***Settings*** – ***Application*** – ***Clipboard*** – ***Advanced***.
2. Enable ***Clear clipboard delay***.
3. Set the delay, from 10 to 300 seconds. The default value is 10 seconds.
4. Click ***Save***.

{% hint style="info" %}
An administrator policy can enforce the clear clipboard delay. In that case, the setting cannot be changed.
{% endhint %}

#### Symptoms that point to this setting <a href="#symptoms-that-point-to-this-setting" id="symptoms-that-point-to-this-setting"></a>

* The value pastes right after the copy, but the clipboard empties on its own some seconds later.
* The profiler shows a `Clear` line some seconds after the copy, without any `Refused`, `Blocked`, or `Blocklisted` line.

### Block list and allowlist <a href="#blocklist-management" id="blocklist-management"></a>

The ***Status*** tab of the ***Clipboard diagnostics*** window contains two lists, which are reset when Remote Desktop Manager restarts:

* ***Blacklisted***: processes that do not receive the value, because they requested a private format, matched a ***Block list*** entry, or are known clipboard readers, such as the Windows clipboard history service.
* ***Allowlisted***: processes that received the value. Remote Desktop Manager adds them automatically.

The ***Block list*** setting, in the ***Configuration*** tab or in ***File*** – ***Settings*** – ***Application*** – ***Clipboard*** – ***Advanced***, contains the processes that are always blocked. Each entry has a ***Description***, a ***Process name***, and an optional ***Command-line***.

#### Add a process to the block list <a href="#add-a-process-to-the-blocklist" id="add-a-process-to-the-blocklist"></a>

1. Open the ***Clipboard diagnostics*** window.
2. In the ***Status*** tab, right-click the process in the ***Blacklisted*** or ***Allowlisted*** list.
3. Select ***Add***.
4. In the ***Block list editor***, review the ***Process name*** and ***Command-line*** values.
5. Click ***Save***.

To add a process that is not in the lists, click ***New*** under ***Block list*** in the ***Configuration*** tab.

#### Remove a process from the lists <a href="#remove-a-process-from-either-list" id="remove-a-process-from-either-list"></a>

1. In the ***Status*** tab, right-click the process.
2. Select ***Delete*** to remove the process, or ***Delete all*** to empty the list.

Remote Desktop Manager evaluates the process again the next time it reads the clipboard. A process that matches a ***Block list*** entry is blocked again: to unblock it, select the entry under ***Block list*** in the ***Configuration*** tab, then click ***Disable*** or ***Delete***.

### Send a diagnostic report to support <a href="#send-a-diagnostic-report-to-support" id="send-a-diagnostic-report-to-support"></a>

If the issue persists, send a diagnostic report so the support team can review the profiler output. The report includes the clipboard settings, the ***Blacklisted*** and ***Allowlisted*** lists, the ***Block list*** and ***Delays*** entries, and the profiler lines.

1. Open the ***Clipboard diagnostics*** window.
2. Reproduce the failing copy and paste so the profiler captures the event.
3. Click ***Send***.
4. In the ***Send message to Devolutions support team*** window, describe the source entry type, the target application and its version, and whether the same copy works in another application.
5. Click ***Send***.

### See also

* [Third-party clipboard issues](/rdm/knowledge-base/troubleshooting-articles/third-party-clipboard-issues.md)
* [Clipboard settings](/rdm/ribbon-menu-bar/file/settings/application/clipboard.md)
* [Devolutions Academy - How to perform a clipboard diagnostic](https://academy.devolutions.net/student/page/2397682-how-to-use-the-clipboard-diagnostic)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/rdm/knowledge-base/troubleshooting-articles/clipboard-diagnostic.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
