If you run Burp Suite on Hyprland, you might know this one already. Copy a request from Repeater, switch to Chromium to paste it into your notes, and Chrome just dies. No warning. No error dialog. Just gone. You end up running pkill -9 chromium, reopening it, restoring your tabs, and getting back to work. Then you copy from Burp again and it happens again.

I put up with this for about three months before I sat down and actually fixed it.

What’s going on

Burp is a Java app. On Hyprland it runs under XWayland because Java’s AWT toolkit has no native Wayland support. That bit is fine. The clipboard is where it falls apart.

When you copy something in Burp, Java doesn’t just put text on the clipboard. AWT advertises every format it could conceivably provide: text/plain, text/html, text/rtf, application/x-java-serialized-object, and a pile of other Java-specific MIME types. On X11, nobody cares. The receiving app picks the format it wants and moves on.

On Hyprland, that clipboard data has to cross the XWayland bridge. Hyprland proxies all those X11 clipboard formats and re-advertises them on the Wayland side. When Chromium tries to read the clipboard, it negotiates those MIME types, hits the Java nonsense coming through the bridge, and falls over. Dead.

JADX does the same thing. Any Java AWT app will. One HyDE bug report describes it as a “copy-paste bomb” which is about right. There’s a Hyprland issue specifically about Burp, and a broader one about clipboard sync between Wayland and XWayland that’s been open since mid-2024. People on the EndeavourOS forums have been hitting it too.

The Hyprland team have been patching clipboard bridge bugs through 2025 and into 2026, but the root cause is Java hosing the clipboard with formats that nothing on the Wayland side knows what to do with.

What I was doing instead

Right-click the request in Burp, save it to a file, open the file in a text editor. Every time. For three months. Mid-engagement, bouncing between Burp and a Google Doc, this gets old fast. You lose your train of thought, you forget which file you saved it to, and it turns a two-second copy-paste into a 30-second detour.

The fix

A shell script that watches the clipboard and strips the formatting whenever you copy from Burp. It runs in the background, you set it up once, and you stop thinking about it.

Create ~/.local/bin/burp-clipboard-fix.sh:

#!/bin/bash

# wl-paste --watch triggers every time you copy something
wl-paste --watch bash -c '
    # Get the active window class from Hyprland
    ACTIVE_CLASS=$(hyprctl activewindow -j | jq -r ".class" 2>/dev/null)

    # Only act if the copy came from Burp
    if [[ "$ACTIVE_CLASS" == "install4j-burp-StartBurp" ]]; then

        # Check how many formats are in the clipboard
        # Java sends many (html, rtf, etc); scrubbed text is just 1
        TYPE_COUNT=$(wl-paste --list-types | wc -l)

        if [ "$TYPE_COUNT" -gt 1 ]; then
            # Strip everything except plain text
            wl-paste -n --type text/plain | wl-copy --type text/plain

            # Desktop notification so you know it fired
            notify-send "Burp Clipboard" "Formatting scrubbed for Chrome stability" \
                -i security-medium \
                -t 1500 \
                -h string:x-canonical-private-synchronous:burp-fix
        fi
    fi
'

How it works

wl-paste --watch fires on every clipboard change. The script checks which window is active via hyprctl. If it’s Burp (window class install4j-burp-StartBurp), it counts the MIME types on the clipboard.

Java’s clipboard will have several. A clean plain text copy has one.

If there’s more than one, the script reads just the text/plain content and writes it back as plain text only. The HTML, RTF, serialized Java objects are all gone. The type count drops to one after the scrub, so the script won’t re-trigger on its own output. You get a desktop notification when it catches one.

Chromium never sees the problematic types. No crash.

Setup

Make it executable:

chmod +x ~/.local/bin/burp-clipboard-fix.sh

Dependencies — jq, wl-clipboard, and libnotify. On Arch:

pacman -S jq wl-clipboard libnotify

If you’re on Hyprland you probably have most of these already. Add the script to your Hyprland config so it starts on login:

exec-once = ~/.local/bin/burp-clipboard-fix.sh

Restart Hyprland or just run the script manually. Copy something from Burp, you should see the notification. Paste into Chrome. No crash.

Wayland and pen testing tools

Wayland works for offensive security now. Mostly. The edges that still bite are almost always Java apps coming through XWayland, and clipboard is the worst of them. The Hyprland team have been chipping away at the bridge bugs, so this might get fixed upstream eventually. But I’m not waiting around for that.

If you’ve been quietly dealing with this — saving requests to files, pasting into terminal intermediaries, or just swearing at your screen — try the script. It’s 20 lines and it would have saved me a lot of annoyance if I’d written it sooner.