A VNC-style console has no clipboard channel, so Ctrl+V sends nothing. Your options: the console's own clipboard panel if it has one, a serial or SSH session instead, the hypervisor's send-text feature, or a tool that types the clipboard as keystrokes.
A web or VNC console forwards keys and mouse, not your clipboard, so Ctrl+V pastes the guest's own (empty) clipboard. In order of preference: use SSH or a serial console instead, use the console's clipboard panel or guest tools if they exist, use the hypervisor's send-text feature (Hyper-V has one), or run a tool on the host that types the clipboard as keystrokes. This is a different problem from Citrix or Horizon, where a clipboard channel exists and policy turns it off.
A hypervisor's graphical console is a picture of the VM's screen plus a pipe for input. In the protocol behind VNC, key presses travel as key events identified by keysym values, and pointer moves travel as pointer events.
So when you press Ctrl+V, the console does exactly what it is built to do: it delivers Ctrl and V to the guest as a key combination. The guest then pastes from its own clipboard, which has never seen the text you copied on the host.
To be precise, the VNC protocol does define a "cut text" message, but a hypervisor's built-in VNC server has nowhere to put that text unless an agent is running inside the guest. A browser console has a second problem: the Apache Guacamole project's FAQ calls browser copy and paste events "extremely problematic" to rely on, which is why web consoles give you a clipboard panel rather than honoring Ctrl+V.
This is not the same as the corporate VDI case. In Citrix and VMware Horizon a clipboard channel exists and an administrator's policy switches it off. Here nobody blocked anything. The channel is simply not there. (For web forms that reject paste, see why paste does not work.)
The best fix is to stop needing the console. In a terminal session your own terminal emulator does the pasting and sends the result as text.
qm set <VMID> -serial0 socket), add console=tty0 console=ttyS0 to the guest's kernel command line, and connect with qm terminal <VMID> or the web UI's xterm.js console.The graphical console is for the minutes before any of that works: installers, boot loaders, disk-encryption prompts, a broken network config.
isolation.tools.copy.disable = FALSE, isolation.tools.paste.disable = FALSE and isolation.tools.setGUIOptions.enable = TRUE. It is text only, and the same KB says it stays disabled at the logon screen for security reasons.
The catch most of them share: they need tools or an agent inside the guest, which a fresh install does not have. For first-boot secrets, avoid the problem instead. Proxmox's cloud-init support can inject an SSH public key (qm set <VMID> --sshkey ~/.ssh/id_rsa.pub), and its documentation recommends key-based login over setting a password.
Some hypervisor clients ship the keystroke approach natively.
| Console | Clipboard channel? | Native send-text? | Best fix |
|---|---|---|---|
| Proxmox noVNC | Optional: clipboard=vnc plus SPICE agent, used through a panel |
No | Serial terminal or SSH; clipboard panel once the agent is in |
| Proxmox SPICE (virt-viewer) | Yes, with the SPICE agent in the guest | No | Install the agent, paste normally |
| Hyper-V VMConnect | With enhanced session mode, which Microsoft documents for Windows 10 / Server 2016 or later guests | Yes: Clipboard > Type clipboard text | Type clipboard text |
| VMware Remote Console | After VMware Tools plus three advanced settings; not at the logon screen | Yes: Send clipboard as typed text, per Broadcom's KB | Send clipboard as typed text; Tools plus settings if you own the VM |
| vSphere browser console | None documented | None documented | SSH, RDP or VMRC; otherwise a host-side typer |
| VirtualBox | Optional, after Guest Additions | None documented | Install Guest Additions |
| Apache Guacamole | Yes, through its menu and the browser Clipboard API | No | Ctrl+Alt+Shift menu |
Proxmox is the worked example because older answers are stale. There are now two routes.
Route A: the VNC clipboard. The Proxmox VE documentation gives the command:
qm set <vmid> -vga <displaytype>,clipboard=vnc
The guest needs the SPICE guest tools (on Debian-based systems, spice-vdagent). Then, in the words of a Proxmox staff member on the support forum: "click the clipboard button in the noVNC panel and paste the text you want to send to the VM into the text box that opens." It is a side panel, not Ctrl+V. The documentation lists two costs: the VNC clipboard replaces the default SPICE clipboard on that VM, and VMs on a QEMU or machine version below 10.1 with the VNC clipboard enabled cannot be live-migrated.
Route B: the serial terminal. In a forum thread marked solved, a long-standing community member's fix for an Ubuntu VM was: add a serial port, set GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0,115200" in /etc/default/grub, run update-grub and reboot. The xterm.js console then pastes like a terminal.
Both routes need a guest you can already log in to and change. Shift+Insert, which older posts suggest, is for containers: one write-up that tested it found it works in an LXC console and not in a Linux or Windows VM. For the installer, the boot loader or a guest you cannot modify, you are down to fix 4.
The one channel every console has is the keyboard. A host-side typer reads your clipboard and presses the keys for you. Nothing is installed in the guest.
SendEvent, and {Raw} stops characters like ^ and + being read as modifiers.^+v::{
SetKeyDelay 30, 10
SendEvent "{Raw}" A_Clipboard
}
There are more, including macOS options, on our clipboard typing tools page.
copypaster is one option in the same category, for Windows and macOS: copy, focus the console, press play, and it types the clipboard after a short countdown. The part that matters here is adjustable speed. A laggy remote console can drop or reorder characters that arrive too fast, so being able to slow the typing down matters. It does what Hyper-V's Type clipboard text does, in consoles that lack it, and it changes how text enters the console and nothing else.
copypaster sends your clipboard as real keystrokes at 20 to 250 WPM, with pause and stop, so long commands, keys and config land in noVNC and other web consoles that only accept a keyboard. Windows and Mac.
-k keymap option exists for displays such as VNC where raw keycodes are hard to get, and defaults to en-us. Proxmox exposes it as the VM's keyboard option, while noting it is "often better handled from within the guest OS." If the layers disagree, letters usually survive and @ # " | \ ~ move. Broadcom documents the same class of fault for special characters in the vSphere web console under several European keyboard locales. Type a test string of symbols before you trust a password.Some hosted lab viewers behave the same way, but we have not verified any specific one, so check your provider's documentation. If a lab disables the clipboard as an assessment control, that is a rule to follow, not a bug to work around.
In order of preference: use SSH or a serial console instead, which paste normally. Use the console's own clipboard feature if it has one, such as the noVNC clipboard panel or guest tools. Use the hypervisor's send-text feature, such as Type clipboard text in Hyper-V. Or run a tool on the host that types the clipboard as keystrokes.
The console forwards keyboard and mouse events and nothing else. Ctrl+V reaches the guest as a key combination, and the guest pastes from its own clipboard, which does not hold what you copied on the host.
Set the VM's display clipboard to VNC (qm set <vmid> -vga <displaytype>,clipboard=vnc) and install the SPICE guest tools in the guest. Proxmox staff say a clipboard button then appears in the noVNC panel. You paste into its text box, not with Ctrl+V.
Not into a VM. One write-up that tested it found Shift+Insert works in an LXC container console, which is a terminal, but not in the noVNC console of a Linux or Windows VM. Use the serial terminal for a VM.
A keyboard layout mismatch between the host, the hypervisor's VNC keymap and the guest. Letters usually survive and symbols such as @, #, quotes and slashes move. Set the same layout at every layer and test with a string of symbols first.
It works, but the password stays on your host clipboard afterwards, and clipboard history or sync may keep a copy. Clear it when you are done. For first-boot credentials, an SSH key injected with cloud-init avoids typing a secret at all.
copypaster types your clipboard as real keystrokes at a speed you choose, so long commands, keys and config land in consoles that only accept a keyboard. Windows and macOS. Free trial, 5 pastes, no credit card. It changes how text is entered, nothing more.
Download copypaster