{
  "name": "wait_for_channel",
  "wireName": "wait_for_channel",
  "source": {
    "repo": "libtmux/libtmux-rs",
    "revision": "f0e37052c232636b61d095817046e6bfc8f2ca40",
    "extractedRevision": "7a5def5921b12f58d47327cf625c039de5fa8ea7",
    "file": "crates/tmux-mcp/src/tools/observe.rs",
    "line": 490
  },
  "description": "Block until something signals a tmux wait-for channel. A pending signal is consumed. Pair this with a shell command that ends in `tmux wait-for -S <channel>` to synchronise with work this server did not start. Change tmux state; no client-supplied executable input.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "additionalProperties": false,
    "properties": {
      "channel": {
        "description": "The channel name, which is any string both sides agree on.",
        "type": "string"
      },
      "seconds": {
        "description": "How long to wait, in seconds. Defaults to 30, capped at 600.",
        "minimum": 0,
        "type": [
          "integer",
          "null"
        ]
      }
    },
    "required": [
      "channel"
    ],
    "type": "object"
  },
  "outputSchema": {
    "$defs": {
      "ChannelWaitOutcomeSchema": {
        "enum": [
          "signalled",
          "deadline"
        ],
        "type": "string"
      }
    },
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "properties": {
      "channel": {
        "description": "The channel that was waited on.",
        "type": "string"
      },
      "outcome": {
        "$ref": "#/$defs/ChannelWaitOutcomeSchema",
        "description": "`signalled` or `deadline`."
      }
    },
    "required": [
      "channel",
      "outcome"
    ],
    "type": "object"
  },
  "annotations": {
    "destructiveHint": false,
    "idempotentHint": false,
    "openWorldHint": false,
    "readOnlyHint": false,
    "title": "Wait For Channel"
  },
  "meta": {
    "com.git-pull.libtmux-mcp/capability": {
      "amplifiesFutureInput": false,
      "inputLiteralization": {},
      "mayExposeSecrets": true,
      "mayReturnUntrustedContent": true,
      "nestedAuthority": [],
      "outputClasses": [
        "tmux-metadata"
      ],
      "processReach": "none",
      "tmuxEffects": [
        "change"
      ],
      "toolset": "manage"
    }
  }
}
