# tmux_buffer:delete/2

- **Package:** libtmux_erlang
- **Language:** Erlang
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-erlang/blob/d1b6308440cf9eb8f6647e7ae434bce60e849368/apps/libtmux_erlang/src/tmux_buffer.erl#L126
- **Page:** https://libtmux.org/en/erlang/latest/reference/tmux_buffer-delete-2/

```
delete(Server, Buffer)
-spec delete(tmux_server:t(), target()) ->
                {ok, tmux_operation:completed()} |
                {error, map()}.
```

Delete a named buffer or latest. Missing buffers return buffer_not_found. This performs I/O and affects the server-wide buffer store.

On 3.3/3.3a, named deletion first checks existence with a zero-output `show/3`
read because native deletion falls back to the newest buffer when a name is
absent. This check does not collect a payload or depend on the list bounds.
It is not atomic: concurrent removal after the check can trigger that fallback.
Use external serialization or tmux 3.4+ when that race is unacceptable.

## Parameters

- `Server` (`tmux_server:t()`)
- `Buffer` (`target()`)

## tmux command

The tmux commands behind `delete/2`.

- [`delete-buffer`](/en/tmux/latest/manual/delete-buffer/)

## tmux C API

The C declarations in tmux that implement these commands.

- [`cmd_delete_buffer_entry`](/en/tmux/latest/reference/c-variable-cmd_delete_buffer_entry/) (attribute)
- [`cmd_set_buffer_exec`](/en/tmux/latest/reference/c-function-cmd-set-buffer-c-cmd_set_buffer_exec/) (function)

## In other ports

Delete a paste buffer

| Language | Equivalent |
| --- | --- |
| Python | [`libtmux.Server.delete_buffer`](/en/py/latest/reference/libtmux-server-delete_buffer/) (method) |
| Ruby | [`LibTmux::Server#delete_buffer`](/en/ruby/latest/reference/libtmux-server-delete_buffer/) (method) |
| Lua | [`libtmux.Server:delete_buffer`](/en/lua/latest/reference/libtmux-server-delete_buffer/) (method) |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | [`server.Server.deleteBuffer`](/en/ts/latest/reference/server-server-deletebuffer/) (method) |
| Rust | [`server.Server.delete_buffer`](/en/rs/latest/reference/server-server-delete_buffer/) (method) |
| Go | [`tmux.Server.DeleteBuffer`](/en/go/latest/reference/tmux-server-deletebuffer/) (method) |
| Java | no equivalent on `Server` |
| C# | [`LibTmux.TmuxBuffers.DeleteAsync`](/en/csharp/latest/reference/libtmux-tmuxbuffers-deleteasync/) (method) |
| C++ | no equivalent on `Server` |
| Swift | [`Server.deleteBuffer(named:)`](/en/swift/latest/reference/server-deletebuffer(named-)/) (method) |
| OCaml | No direct public OCaml equivalent is recorded for this operation. |
| Perl | [`LibTmux::Server::delete_buffer`](/en/perl/latest/reference/libtmux-server-delete_buffer/) (method). Explicit Server operation. Captured entities remain local observations; use a new snapshot to observe changes. |

No equivalent is recorded in PowerShell, Julia, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.
