# API reference

Source: https://libtmux.org/en/perl/latest/reference/

> Types, methods, and functions in libtmux for Perl.

Browse the Perl types and operations for working with tmux. Start with the core objects below, or search for a type or member.

Server 1 type

[Server](https://libtmux.org/en/perl/latest/reference/libtmux-server/) class In LibTmux 43 members

Explicit tmux acquisition and commands

Session 1 type

[Session](https://libtmux.org/en/perl/latest/reference/libtmux-session/) class 11 members

Captured session entity

Window 2 types

[Window](https://libtmux.org/en/perl/latest/reference/libtmux-window/) class 13 members

Captured window entity

[WindowLink](https://libtmux.org/en/perl/latest/reference/libtmux-windowlink/) class 10 members

Captured window_link entity

Pane 1 type

[Pane](https://libtmux.org/en/perl/latest/reference/libtmux-pane/) class 18 members

Captured pane entity

Client 1 type

[Client](https://libtmux.org/en/perl/latest/reference/libtmux-client/) class 12 members

Captured client entity

Commands 3 types

[Operation](https://libtmux.org/en/perl/latest/reference/libtmux-operation/) class 6 members

Executor-independent prepared command continuations

[ProcessJob](https://libtmux.org/en/perl/latest/reference/libtmux-processjob/) class 8 members

Shared owned process-supervision boundary

[Transport](https://libtmux.org/en/perl/latest/reference/libtmux-transport/) class In LibTmux 2 members

Supervised literal process execution

Queries 10 types

[ClientSelection](https://libtmux.org/en/perl/latest/reference/libtmux-clientselection/) class 10 members

Native array selection of captured client entities

[Filter](https://libtmux.org/en/perl/latest/reference/libtmux-filter/) class 9 members

Validated, reusable local criteria and explicit wire data

[PaneSelection](https://libtmux.org/en/perl/latest/reference/libtmux-paneselection/) class 10 members

Native array selection of captured pane entities

[QueryPlan](https://libtmux.org/en/perl/latest/reference/libtmux-queryplan/) class 4 members

Explainable explicit pane acquisition

[Schema](https://libtmux.org/en/perl/latest/reference/libtmux-schema/) class 1 member

Catalog and explicit record adapters

[Selection](https://libtmux.org/en/perl/latest/reference/libtmux-selection/) class 10 members

Native array selections with fixed query returns

[Iterator](https://libtmux.org/en/perl/latest/reference/libtmux-selection-iterator-cvun/) class 1 member

Local cursor over frozen membership

[SessionSelection](https://libtmux.org/en/perl/latest/reference/libtmux-sessionselection/) class 10 members

Native array selection of captured session entities

[WindowLinkSelection](https://libtmux.org/en/perl/latest/reference/libtmux-windowlinkselection/) class 10 members

Native array selection of captured window_link entities

[WindowSelection](https://libtmux.org/en/perl/latest/reference/libtmux-windowselection/) class 10 members

Native array selection of captured window entities

Snapshots 1 type

[Snapshot](https://libtmux.org/en/perl/latest/reference/libtmux-snapshot/) class 14 members

Captured graph with explicit completeness

Errors 24 types

[X](https://libtmux.org/en/perl/latest/reference/libtmux-async-x/) class In LibTmux::Async

Shutdown has started and new work is refused. Callers may still observe cleanup through "close" in LibTmux::Async::Transport.

[Closed](https://libtmux.org/en/perl/latest/reference/libtmux-async-x-closed/) exception

Shutdown has started and new work is refused. Callers may still observe cleanup through [`"close" in LibTmux::Async::Transport`](https://libtmux.org/en/perl/latest/reference/libtmux-async-transport-close/ "method").

[QueueFull](https://libtmux.org/en/perl/latest/reference/libtmux-async-x-queuefull/) exception

The configured running and pending limits are occupied. No command was submitted for this request. Returned through a failed [Future](https://metacpan.org/pod/Future).

[X](https://libtmux.org/en/perl/latest/reference/libtmux-x/) class In LibTmux 12 members

Typed failures with readable diagnostics

[AcquisitionRace](https://libtmux.org/en/perl/latest/reference/libtmux-x-acquisitionrace/) exception 12 members

Observed generations or topology changed during capture.

[Cancelled](https://libtmux.org/en/perl/latest/reference/libtmux-x-cancelled/) exception 12 members

Execution was cancelled; cancellation does not roll back effects.

[Codec](https://libtmux.org/en/perl/latest/reference/libtmux-x-codec/) exception 12 members

A tmux record or field could not be decoded.

[Command](https://libtmux.org/en/perl/latest/reference/libtmux-x-command/) exception 12 members

tmux reported nonzero status; result retains stdout/stderr/status.

[Creation](https://libtmux.org/en/perl/latest/reference/libtmux-x-creation/) exception 14 members

A creation command succeeded but subsequent receipt decoding or capture failed. `created` returns a minimal generation-scoped entity handle when the command's receipt was decoded; other fields remain unloaded. `cause` preserves the original acquisition failure. `dispatched` is true. The returned handle permits explicit, generation-checked cleanup; absent receipts leave effects uncertain. See [`"new_session" in LibTmux::Server`](https://libtmux.org/en/perl/latest/reference/libtmux-server-new_session/ "method").

[InvalidArgument](https://libtmux.org/en/perl/latest/reference/libtmux-x-invalidargument/) exception 12 members

Invalid operation or transport argument before dispatch.

[InvalidFilter](https://libtmux.org/en/perl/latest/reference/libtmux-x-invalidfilter/) exception 12 members

Invalid criteria data; path, expected, and received describe the boundary.

[InvalidSelection](https://libtmux.org/en/perl/latest/reference/libtmux-x-invalidselection/) exception 12 members

Undefined, hole, wrong-kind, or incompatible-generation membership.

[MultipleMatches](https://libtmux.org/en/perl/latest/reference/libtmux-x-multiplematches/) exception 12 members

At least two occurrences matched. matched_ids preserves occurrence diagnostics.

[NoMatch](https://libtmux.org/en/perl/latest/reference/libtmux-x-nomatch/) exception 12 members

No occurrence matched one().

[NoSuchTarget](https://libtmux.org/en/perl/latest/reference/libtmux-x-nosuchtarget/) exception 12 members

The selected stable target no longer exists. Native result diagnostics are retained. This differs from a stale generation and from an arbitrary command failure; acquire a new snapshot before choosing recovery.

[OutputLimit](https://libtmux.org/en/perl/latest/reference/libtmux-x-outputlimit/) exception 12 members

Retained process output exceeded the configured bound.

[QueryMismatch](https://libtmux.org/en/perl/latest/reference/libtmux-x-querymismatch/) exception 12 members

Native candidates disagree with captured local matches, or an expert native query returned an uncaptured ID. `details->{verification}` contains the detached [`"VERIFICATION REPORT" in LibTmux::Server`](https://libtmux.org/en/perl/latest/reference/libtmux-server/#LibTmux%3A%3AServer.section.VERIFICATION%2520REPORT "class"). The cause may be concurrent change, a translation defect or backend semantics; the comparison does not identify it. [`"query_panes" in LibTmux::Server`](https://libtmux.org/en/perl/latest/reference/libtmux-server-query_panes/ "method") throws this for require or expert queries, while auto reports fallback through its optional observer.

[Spawn](https://libtmux.org/en/perl/latest/reference/libtmux-x-spawn/) exception 12 members

The executable could not start; dispatch is distinguished from command failure.

[StaleReference](https://libtmux.org/en/perl/latest/reference/libtmux-x-stalereference/) exception 12 members

A captured generation or contextual target no longer identifies the same resource.

[Timeout](https://libtmux.org/en/perl/latest/reference/libtmux-x-timeout/) exception 12 members

Execution exceeded its deadline; effects may already have occurred.

[Transport](https://libtmux.org/en/perl/latest/reference/libtmux-x-transport/) exception In LibTmux::X 12 members

Process supervision or result framing failed.

[Unloaded](https://libtmux.org/en/perl/latest/reference/libtmux-x-unloaded/) exception 12 members

A required field or relation is not available in captured data.

[Unsupported](https://libtmux.org/en/perl/latest/reference/libtmux-x-unsupported/) exception 12 members

A daemon or execution capability is unavailable.

[UnsupportedValue](https://libtmux.org/en/perl/latest/reference/libtmux-x-unsupportedvalue/) exception 12 members

A local value has no supported portable wire representation.

Errors — Server 1 type

[NoServer](https://libtmux.org/en/perl/latest/reference/libtmux-x-noserver/) exception 12 members

The selected server cannot be reached.

Constants and enums 1 type

[CommandResult](https://libtmux.org/en/perl/latest/reference/libtmux-commandresult/) class 6 members

Completed or partial subprocess outcome

Async 3 types

[Async](https://libtmux.org/en/perl/latest/reference/libtmux-async/) module

Optional Future-based libtmux execution

[Server](https://libtmux.org/en/perl/latest/reference/libtmux-async-server/) class In LibTmux::Async 43 members

Optional Future facade over the core protocol

[Transport](https://libtmux.org/en/perl/latest/reference/libtmux-async-transport/) class In LibTmux::Async 3 members

Bounded asynchronous process execution

Other 2 types

[LibTmux](https://libtmux.org/en/perl/latest/reference/libtmux/) module

Explicit tmux commands and captured graph queries

[Entity](https://libtmux.org/en/perl/latest/reference/libtmux-entity/) class 5 members

Read-only handle retaining a captured graph

## By module 8 modules

* LibTmux 24

  * [Client](https://libtmux.org/en/perl/latest/reference/libtmux-client/)
  * [Client​Selection](https://libtmux.org/en/perl/latest/reference/libtmux-clientselection/)
  * [Command​Result](https://libtmux.org/en/perl/latest/reference/libtmux-commandresult/)
  * [Entity](https://libtmux.org/en/perl/latest/reference/libtmux-entity/)
  * [Filter](https://libtmux.org/en/perl/latest/reference/libtmux-filter/)
  * [Operation](https://libtmux.org/en/perl/latest/reference/libtmux-operation/)
  * [Pane](https://libtmux.org/en/perl/latest/reference/libtmux-pane/)
  * [Pane​Selection](https://libtmux.org/en/perl/latest/reference/libtmux-paneselection/)
  * [Process​Job](https://libtmux.org/en/perl/latest/reference/libtmux-processjob/)
  * [Query​Plan](https://libtmux.org/en/perl/latest/reference/libtmux-queryplan/)
  * [Schema](https://libtmux.org/en/perl/latest/reference/libtmux-schema/)
  * [Selection](https://libtmux.org/en/perl/latest/reference/libtmux-selection/)
  * [Server](https://libtmux.org/en/perl/latest/reference/libtmux-server/)
  * [Session](https://libtmux.org/en/perl/latest/reference/libtmux-session/)
  * [Session​Selection](https://libtmux.org/en/perl/latest/reference/libtmux-sessionselection/)
  * [Snapshot](https://libtmux.org/en/perl/latest/reference/libtmux-snapshot/)
  * [Transport](https://libtmux.org/en/perl/latest/reference/libtmux-transport/)
  * [Window](https://libtmux.org/en/perl/latest/reference/libtmux-window/)
  * [Window​Link](https://libtmux.org/en/perl/latest/reference/libtmux-windowlink/)
  * [Window​Link​Selection](https://libtmux.org/en/perl/latest/reference/libtmux-windowlinkselection/)
  * [Window​Selection](https://libtmux.org/en/perl/latest/reference/libtmux-windowselection/)
  * [Workspace](https://libtmux.org/en/perl/latest/workspace/reference/libtmux-workspace/)
  * [X](https://libtmux.org/en/perl/latest/reference/libtmux-x/)
  * [Async](https://libtmux.org/en/perl/latest/reference/libtmux-async/)

* LibTmux::Async 3

  * [Server](https://libtmux.org/en/perl/latest/reference/libtmux-async-server/)
  * [Transport](https://libtmux.org/en/perl/latest/reference/libtmux-async-transport/)
  * [X](https://libtmux.org/en/perl/latest/reference/libtmux-async-x/)

* LibTmux::Selection 1

  * [Iterator](https://libtmux.org/en/perl/latest/reference/libtmux-selection-iterator-cvun/)

* LibTmux::Workspace 1

  * [X](https://libtmux.org/en/perl/latest/workspace/reference/libtmux-workspace-x/)

* LibTmux::X 21

  * [Acquisition​Race](https://libtmux.org/en/perl/latest/reference/libtmux-x-acquisitionrace/)
  * [Cancelled](https://libtmux.org/en/perl/latest/reference/libtmux-x-cancelled/)
  * [Codec](https://libtmux.org/en/perl/latest/reference/libtmux-x-codec/)
  * [Command](https://libtmux.org/en/perl/latest/reference/libtmux-x-command/)
  * [Creation](https://libtmux.org/en/perl/latest/reference/libtmux-x-creation/)
  * [Invalid​Argument](https://libtmux.org/en/perl/latest/reference/libtmux-x-invalidargument/)
  * [Invalid​Filter](https://libtmux.org/en/perl/latest/reference/libtmux-x-invalidfilter/)
  * [Invalid​Selection](https://libtmux.org/en/perl/latest/reference/libtmux-x-invalidselection/)
  * [Multiple​Matches](https://libtmux.org/en/perl/latest/reference/libtmux-x-multiplematches/)
  * [No​Match](https://libtmux.org/en/perl/latest/reference/libtmux-x-nomatch/)
  * [No​Server](https://libtmux.org/en/perl/latest/reference/libtmux-x-noserver/)
  * [No​Such​Target](https://libtmux.org/en/perl/latest/reference/libtmux-x-nosuchtarget/)
  * [Output​Limit](https://libtmux.org/en/perl/latest/reference/libtmux-x-outputlimit/)
  * [Query​Mismatch](https://libtmux.org/en/perl/latest/reference/libtmux-x-querymismatch/)
  * [Spawn](https://libtmux.org/en/perl/latest/reference/libtmux-x-spawn/)
  * [Stale​Reference](https://libtmux.org/en/perl/latest/reference/libtmux-x-stalereference/)
  * [Timeout](https://libtmux.org/en/perl/latest/reference/libtmux-x-timeout/)
  * [Transport](https://libtmux.org/en/perl/latest/reference/libtmux-x-transport/)
  * [Unloaded](https://libtmux.org/en/perl/latest/reference/libtmux-x-unloaded/)
  * [Unsupported](https://libtmux.org/en/perl/latest/reference/libtmux-x-unsupported/)
  * [Unsupported​Value](https://libtmux.org/en/perl/latest/reference/libtmux-x-unsupportedvalue/)

* LibTmux::Async::X 2

  * [Closed](https://libtmux.org/en/perl/latest/reference/libtmux-async-x-closed/)
  * [Queue​Full](https://libtmux.org/en/perl/latest/reference/libtmux-async-x-queuefull/)

* LibTmux::Workspace::X 3

  * [Config](https://libtmux.org/en/perl/latest/workspace/reference/libtmux-workspace-x-config/)
  * [Conflict](https://libtmux.org/en/perl/latest/workspace/reference/libtmux-workspace-x-conflict/)
  * [Load](https://libtmux.org/en/perl/latest/workspace/reference/libtmux-workspace-x-load/)

* Types 7

  * [Async](https://libtmux.org/en/perl/latest/reference/libtmux-async/)
  * [Closed](https://libtmux.org/en/perl/latest/reference/libtmux-async-x-closed/)
  * [Lib​Tmux](https://libtmux.org/en/perl/latest/reference/libtmux/)
  * [Queue​Full](https://libtmux.org/en/perl/latest/reference/libtmux-async-x-queuefull/)
  * [X](https://libtmux.org/en/perl/latest/reference/libtmux-async-x/)
  * [X](https://libtmux.org/en/perl/latest/workspace/reference/libtmux-workspace-x/)
  * [Lib​Tmux](https://libtmux.org/en/perl/latest/reference/libtmux/)
