# Libtmux_eio.Client.capture_hooks

- **Module:** Libtmux_eio
- **Package:** libtmux-eio
- **Language:** OCaml
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-ocaml/blob/205dfda49742592b479247049d186956e4a4cfe9/eio/libtmux_eio.mli#L364
- **Public owner:** Libtmux_eio
- **Page:** https://libtmux.org/en/ocaml/latest/reference/libtmux_eio-client-capture_hooks/

```
val capture_hooks :
  t -> Libtmux.Options.scope -> (Libtmux.Options.t, Libtmux.Error.t) result
```

Capture locally configured built-in hooks. Command values are tmux's printed representation, retained as data.

## Parameters

- `arg1` (`t`)
- `arg2` (`Libtmux.Options.scope`)

## tmux command

The tmux commands behind `capture_hooks`.

- [`show-hooks`](/en/tmux/latest/manual/show-hooks/)

## tmux C API

The C declarations in tmux that implement these commands.

- [`cmd_show_hooks_entry`](/en/tmux/latest/reference/c-variable-cmd_show_hooks_entry/) (attribute)
- [`cmd_show_options_exec`](/en/tmux/latest/reference/c-function-cmd-show-options-c-cmd_show_options_exec/) (function)

## tmux hooks

Events that run tmux commands, with the scope each hook belongs to and where tmux fires it.

- [Hooks](/en/tmux/latest/catalog/hooks/) (hook)

## In other ports

Read the server's global hooks

| Language | Equivalent |
| --- | --- |
| Python | [`libtmux.Server.show_hooks`](/en/py/latest/reference/libtmux-server-show_hooks/) (method) |
| Ruby | [`LibTmux::Server#hooks`](/en/ruby/latest/reference/libtmux-server-hooks/) (method) |
| Lua | [`libtmux.Server:list_hooks`](/en/lua/latest/reference/libtmux-server-list_hooks/) (method) |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | [`server.Server.showHooks`](/en/ts/latest/reference/server-server-showhooks/) (method) |
| Rust | [`server.Server.hooks`](/en/rs/latest/reference/server-server-hooks/) (method) |
| Go | no equivalent on `Server` |
| Java | [`io.github.libtmux.Server.hooks`](/en/java/latest/reference/io-github-libtmux-server-server-hooks/) (method) |
| C# | [`LibTmux.Server.Hooks`](/en/csharp/latest/reference/libtmux-server-hooks/) (property) |
| C++ | [`libtmux::Server::hooks`](/en/cxx/latest/reference/libtmux-server-hooks/) (method) |
| Swift | [`Server.hooks(_:)`](/en/swift/latest/reference/server-hooks(_-)/) (method) |
| Perl | [`LibTmux::Server::show_hooks`](/en/perl/latest/reference/libtmux-server-show_hooks/) (method). Use global => true; raw bytes preserve sparse hook indexes and tmux quoting. |

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

Read a session's hooks

| Language | Equivalent |
| --- | --- |
| Python | [`libtmux.Session.show_hooks`](/en/py/latest/reference/libtmux-session-show_hooks/) (method) |
| Ruby | [`LibTmux::Session#hooks`](/en/ruby/latest/reference/libtmux-session-hooks/) (method) |
| Lua | [`libtmux.Session:list_hooks`](/en/lua/latest/reference/libtmux-session-list_hooks/) (method) |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | [`session.Session.showHooks`](/en/ts/latest/reference/session-session-showhooks/) (method) |
| Rust | [`session.Session.hooks`](/en/rs/latest/reference/session-session-hooks/) (method) |
| Go | [`tmux.Session.Hooks`](/en/go/latest/reference/tmux-session-hooks/) (method) |
| Java | [`io.github.libtmux.Session.hooks`](/en/java/latest/reference/io-github-libtmux-session-session-hooks/) (method) |
| C# | [`LibTmux.Session.Hooks`](/en/csharp/latest/reference/libtmux-session-hooks/) (property) |
| C++ | [`libtmux::Session::hooks`](/en/cxx/latest/reference/libtmux-session-hooks/) (method) |
| Swift | [`Server.hooks(_:)`](/en/swift/latest/reference/server-hooks(_-)/) (method) |
| Perl | [`LibTmux::Server::show_hooks`](/en/perl/latest/reference/libtmux-server-show_hooks/) (method). Use an explicit session target ID; raw bytes preserve sparse hook indexes and tmux quoting. |

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

Read a window's hooks

| Language | Equivalent |
| --- | --- |
| Python | [`libtmux.Window.show_hooks`](/en/py/latest/reference/libtmux-window-show_hooks/) (method) |
| Ruby | [`LibTmux::Window#hooks`](/en/ruby/latest/reference/libtmux-window-hooks/) (method) |
| Lua | [`libtmux.Window:list_hooks`](/en/lua/latest/reference/libtmux-window-list_hooks/) (method) |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | [`window.Window.showHooks`](/en/ts/latest/reference/window-window-showhooks/) (method) |
| Rust | no whole-table read; `Window.hook` reads one |
| Go | [`tmux.Window.Hooks`](/en/go/latest/reference/tmux-window-hooks/) (method) |
| Java | [`io.github.libtmux.Window.hooks`](/en/java/latest/reference/io-github-libtmux-window-window-hooks/) (method) |
| C# | [`LibTmux.Window.Hooks`](/en/csharp/latest/reference/libtmux-window-hooks/) (property) |
| C++ | no equivalent on `Window` |
| Swift | [`Server.hooks(_:)`](/en/swift/latest/reference/server-hooks(_-)/) (method) |
| Perl | No dedicated equivalent in the selected Perl surface. Explicit Server::cmd remains available for native tmux commands. |

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

Read a pane's hooks

| Language | Equivalent |
| --- | --- |
| Python | [`libtmux.Pane.show_hooks`](/en/py/latest/reference/libtmux-pane-show_hooks/) (method) |
| Ruby | [`LibTmux::Pane#hooks`](/en/ruby/latest/reference/libtmux-pane-hooks/) (method) |
| Lua | [`libtmux.Pane:list_hooks`](/en/lua/latest/reference/libtmux-pane-list_hooks/) (method) |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | [`pane.Pane.showHooks`](/en/ts/latest/reference/pane-pane-showhooks/) (method) |
| Rust | no whole-table read; `Pane.hook` reads one |
| Go | [`tmux.Pane.Hooks`](/en/go/latest/reference/tmux-pane-hooks/) (method) |
| Java | [`io.github.libtmux.Pane.hooks`](/en/java/latest/reference/io-github-libtmux-pane-pane-hooks/) (method) |
| C# | [`LibTmux.Pane.Hooks`](/en/csharp/latest/reference/libtmux-pane-hooks/) (property) |
| C++ | no equivalent on `Pane` |
| Swift | [`Server.hooks(_:)`](/en/swift/latest/reference/server-hooks(_-)/) (method) |
| Perl | No dedicated equivalent in the selected Perl surface. Explicit Server::cmd remains available for native tmux commands. |

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