{
  "name": "wait_for_channel",
  "wireName": "wait_for_channel",
  "source": {
    "repo": "libtmux/libtmux-go",
    "revision": "52968a3181c1c9e6d1b26c565d4b170968ae61c0",
    "extractedRevision": "52968a3181c1c9e6d1b26c565d4b170968ae61c0",
    "file": "mcp/manifest_catalog.go",
    "line": 400
  },
  "description": "Change tmux state; no client-supplied executable input. Waits on tmux's channel state with a bounded timeout.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "additionalProperties": false,
    "properties": {
      "channel": {
        "description": "a server-wide tmux channel name",
        "type": "string"
      },
      "drain_first": {
        "description": "consume a pending signal before waiting",
        "type": "boolean"
      },
      "timeout": {
        "description": "seconds to wait before giving up",
        "minimum": 0,
        "type": "number"
      }
    },
    "required": [
      "channel"
    ],
    "type": "object"
  },
  "outputSchema": {
    "additionalProperties": false,
    "properties": {
      "effectiveTimeoutSeconds": {
        "type": "integer"
      },
      "signalled": {
        "type": "boolean"
      },
      "timeoutClamped": {
        "type": "boolean"
      }
    },
    "required": [
      "signalled",
      "effectiveTimeoutSeconds"
    ],
    "type": "object"
  },
  "annotations": {
    "destructiveHint": true,
    "openWorldHint": true,
    "title": "Wait for a channel"
  },
  "meta": {
    "com.git-pull.libtmux-mcp/capability": {
      "amplifiesFutureInput": false,
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false
      },
      "description": "Change tmux state; no client-supplied executable input. Waits on tmux's channel state with a bounded timeout.",
      "inputLiteralization": {},
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "description": "a server-wide tmux channel name",
            "type": "string"
          },
          "drain_first": {
            "description": "consume a pending signal before waiting",
            "type": "boolean"
          },
          "timeout": {
            "description": "seconds to wait before giving up",
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "channel"
        ],
        "type": "object"
      },
      "mayExposeSecrets": false,
      "mayReturnUntrustedContent": true,
      "name": "wait_for_channel",
      "nestedAuthority": null,
      "outputClasses": [
        "tmux-metadata"
      ],
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "effectiveTimeoutSeconds": {
            "type": "integer"
          },
          "signalled": {
            "type": "boolean"
          },
          "timeoutClamped": {
            "type": "boolean"
          }
        },
        "required": [
          "signalled",
          "effectiveTimeoutSeconds"
        ],
        "type": "object"
      },
      "processReach": "none",
      "title": "Wait for a channel",
      "tmuxEffects": [
        "change"
      ],
      "toolset": "manage"
    }
  }
}
