# show_hooks

Source: https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/

> Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration. Read the hooks a server or session runs. Read-only: a hook set here would outlive this process and keep firing in somebody's tmux. Put hooks a server should keep in its config file.

tool MCPlatest

MCP concept example

A working example of the core library. It can change without notice.

[What concept means](https://libtmux.org/en/meta/support/#concept-and-alpha)

* **show_hooks**( [session](https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/#mcp.tool.show_hooks.input%2Fproperties%2Fsession)?: [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"), )

  tool \[[source](https://github.com/libtmux/libtmux-ts/blob/46cccfef2a546de55ce8b308249b8c76339089a0/packages/mcp/src/tools/settings.ts#L138)][¶](https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/#mcp.tool.show_hooks)

  Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration. Read the hooks a server or session runs. Read-only: a hook set here would outlive this process and keep firing in somebody’s tmux. Put hooks a server should keep in its config file.

  * MCP request method

    `tools/call` Send `show_hooks` as the tool name, with the arguments below.

  ## Arguments[#](https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/#mcp.tool.show_hooks.parameters)

  * **[`session`](https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/#mcp.tool.show_hooks.input%2Fproperties%2Fsession)**? ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

    Session scope; omit for server scope.

  ## Result[#](https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/#mcp.tool.show_hooks.result)

  Returns [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)")

  * **[`complete`](https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/#mcp.tool.show_hooks.output%2Fproperties%2Fcomplete)** ([boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)"))

  * **[`hooks`](https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/#mcp.tool.show_hooks.output%2Fproperties%2Fhooks)** ([Record](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)")\<string, [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)")>)

  * **[`omittedEntries`](https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/#mcp.tool.show_hooks.output%2Fproperties%2FomittedEntries)** ([integer](https://json-schema.org/understanding-json-schema/reference/numeric "numeric (JSON Schema)"))

    * minimum

      `-9007199254740991`

    * maximum

      `9007199254740991`

  * **[`unset`](https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/#mcp.tool.show_hooks.output%2Fproperties%2Funset)** ([integer](https://json-schema.org/understanding-json-schema/reference/numeric "numeric (JSON Schema)"))

    Hook names tmux defines that carry no command, and so are not listed.

    * minimum

      `-9007199254740991`

    * maximum

      `9007199254740991`

  No other properties are accepted.

  ## Annotations[#](https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/#mcp.tool.show_hooks.annotations)

  * [`destructiveHint`](https://libtmux.org/en/ts/latest/mcp/reference/glossary/#destructiveHint)

    `true`

  * [`idempotentHint`](https://libtmux.org/en/ts/latest/mcp/reference/glossary/#idempotentHint)

    `false`

  * [`openWorldHint`](https://libtmux.org/en/ts/latest/mcp/reference/glossary/#openWorldHint)

    `true`

  * [`readOnlyHint`](https://libtmux.org/en/ts/latest/mcp/reference/glossary/#readOnlyHint)

    `false`

  ## Protocol data[#](https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/#mcp.tool.show_hooks.schemas)

  Use the complete advertised contract for validation and client integration.

  Input schema

  ```json
  {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
      "session": {
        "description": "Session scope; omit for server scope.",
        "type": "string"
      }
    },
    "type": "object"
  }
  ```

  Output schema

  ```json
  {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "complete": {
        "type": "boolean"
      },
      "hooks": {
        "additionalProperties": {
          "type": "string"
        },
        "propertyNames": {
          "type": "string"
        },
        "type": "object"
      },
      "omittedEntries": {
        "maximum": 9007199254740991,
        "minimum": -9007199254740991,
        "type": "integer"
      },
      "unset": {
        "description": "Hook names tmux defines that carry no command, and so are not listed.",
        "maximum": 9007199254740991,
        "minimum": -9007199254740991,
        "type": "integer"
      }
    },
    "required": [
      "complete",
      "hooks",
      "omittedEntries",
      "unset"
    ],
    "type": "object"
  }
  ```
