# wait_for_channel

Source: https://libtmux.org/en/csharp/latest/mcp/tools/wait_for_channel/

> Change tmux state; no client-supplied executable input. Block until something signals a tmux wait-for channel with 'tmux wait-for -S <channel>'. Use when you composed a shell command that signals it. For an ordinary command whose completion you want, run_shell_command already does this and also reports the exit status.

MCP is in development

Server behavior and tool contracts may change. Tool availability depends on the server configuration.

Change tmux state; no client-supplied executable input. Block until something signals a tmux wait-for channel with ‘tmux wait-for -S ’. Use when you composed a shell command that signals it. For an ordinary command whose completion you want, [run_shell_command](https://libtmux.org/en/csharp/latest/mcp/tools/run_shell_command/) already does this and also reports the exit status.

[All C# tools](https://libtmux.org/en/csharp/latest/mcp/tools/) · [JSON](https://libtmux.org/en/csharp/latest/mcp/tools/wait_for_channel.json) · [Source](https://github.com/libtmux/libtmux-dotnet/blob/cf34b255c896d19a97e7d7fabea58609c916012d/src/LibTmux.Mcp/Policy/CapabilityModel.cs#L598)

## Arguments

* `channel` required · string

  The tmux wait-for channel.

* `timeoutSeconds` optional · number | null

  Seconds to wait, lowered to the server's ceiling. Omit to wait the whole ceiling, 30 unless LIBTMUX_MCP_WAIT_MAX_SECONDS sets another.

  Default: `null`.

## Schemas

The schema defines required fields, nested values, defaults, and validation constraints.

Input schema

```json
{
  "additionalProperties": false,
  "properties": {
    "channel": {
      "description": "The tmux wait-for channel.",
      "type": "string"
    },
    "timeoutSeconds": {
      "default": null,
      "description": "Seconds to wait, lowered to the server's ceiling. Omit to wait the whole ceiling, 30 unless LIBTMUX_MCP_WAIT_MAX_SECONDS sets another.",
      "type": [
        "number",
        "null"
      ]
    }
  },
  "required": [
    "channel"
  ],
  "type": "object"
}
```

Output schema

```json
{
  "properties": {
    "changed": {
      "type": "string"
    },
    "channel": {
      "type": "string"
    },
    "effectiveTimeoutSeconds": {
      "type": "number"
    },
    "elapsedSeconds": {
      "type": "number"
    },
    "signalled": {
      "type": "boolean"
    }
  },
  "required": [
    "changed",
    "channel",
    "signalled",
    "elapsedSeconds",
    "effectiveTimeoutSeconds"
  ],
  "type": "object"
}
```

Tool annotations

```json
{
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": true,
  "readOnlyHint": false,
  "title": "Wait for channel"
}
```
