# io.github.libtmux.Pane.Pane.paste

- **Module:** io.github.libtmux.Pane.Pane
- **Package:** io.github.libtmux:libtmux
- **Language:** Java
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-java/blob/842228310449e879ebcaa3f910597757c9dbffd6/libtmux/src/main/java/io/github/libtmux/Pane.java#L984
- **Page:** https://libtmux.org/en/java/latest/reference/io-github-libtmux-pane-pane-paste/

```
io.github.libtmux.Pane.Pane.paste(text: String) -> void
```

Pastes text into this pane as one block, leaving nothing behind on the server.

Nothing in the text is looked up as a key name, so a line containing {@code Enter} or a
bracket arrives as those characters. That is what an editor, a REPL, or anything reading a
here-document needs, and it is the difference from {@link #send}.

tmux needs a buffer to paste from, and this one travels in the same invocation as the paste
that consumes it. A caller that stops in between therefore cannot leave the text in the paste
history every session on the server can read.

The text goes to tmux on standard input rather than as an argument, so it is not bounded by
the size of a tmux command and never reaches tmux's parser.

## Raises

- `IllegalArgumentException`: if the text contains NUL, which a terminal cannot receive and {@link #send} refuses too
- `UnsupportedTmuxVersionException`: before tmux 3.4, where deleting the buffer left by a failed paste can remove one this did not create
