{
  "name": "send_keys",
  "wireName": "send_keys",
  "source": {
    "repo": "libtmux/libtmux-dotnet",
    "revision": "320dc64f4b8b7815842471327a5e6b84a1499bf8",
    "extractedRevision": "b243b2cf82de4e98e2172aba4f54a52b9c363dc4",
    "file": "src/LibTmux.Mcp/Policy/CapabilityModel.cs",
    "line": 597
  },
  "description": "Send input to a pane's program; a shell that receives it runs it with your user's permissions. Send raw keystrokes to a pane and return immediately. Use for driving an interactive program — a key in vim, a menu choice, Ctrl-C. Set literal=false to send named keys such as C-c, Escape or F5. It refuses the named pane in a human-owned mode and, when source input expands, every synchronized input cohort peer. To run a shell command and learn whether it worked, use run_shell_command instead; this reports nothing about what happens next. Tracks what it sends — including edits such as backspace, Ctrl-U or Ctrl-C — so wait_for_text can tell this pane's echo apart from real output for a short time afterward.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "additionalProperties": false,
    "properties": {
      "enter": {
        "default": false,
        "description": "Press Enter after the keys.",
        "type": "boolean"
      },
      "keys": {
        "description": "Text or a tmux key name.",
        "type": "string"
      },
      "literal": {
        "default": true,
        "description": "Treat keys as literal text.",
        "type": "boolean"
      },
      "paneId": {
        "default": null,
        "description": "A pane id. Omit for the active pane.",
        "type": [
          "string",
          "null"
        ]
      },
      "suppressHistory": {
        "default": false,
        "description": "Keep text out of shell history on a best-effort basis.",
        "type": "boolean"
      }
    },
    "required": [
      "keys"
    ],
    "type": "object"
  },
  "outputSchema": {
    "properties": {
      "changed": {
        "type": "string"
      },
      "paneId": {
        "type": "string"
      },
      "targetPaneIds": {
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "changed",
      "paneId",
      "targetPaneIds"
    ],
    "type": "object"
  },
  "annotations": {
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": true,
    "readOnlyHint": false,
    "title": "Send keys"
  },
  "meta": {
    "com.git-pull.libtmux-mcp/capability": {
      "amplifiesFutureInput": false,
      "inputLiteralization": {},
      "mayExposeSecrets": false,
      "mayReturnUntrustedContent": false,
      "name": "send_keys",
      "nestedAuthority": [],
      "outputClasses": [
        "tmux-metadata"
      ],
      "processReach": "pane-input",
      "tmuxEffects": [
        "change",
        "observe"
      ],
      "toolset": "execute"
    }
  }
}
