{
  "name": "run_shell_command",
  "wireName": "run_shell_command",
  "source": {
    "repo": "libtmux/libtmux-java",
    "revision": "842228310449e879ebcaa3f910597757c9dbffd6",
    "extractedRevision": "a960145afeefb340d85ea76ea0d62c29517b1c85",
    "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/Catalog.java",
    "line": 778
  },
  "description": "Runs one authored command in a trusted pane shell and waits for singular framed output and completion. Its two preflights refuse caller or attended panes and an effective cohort larger than one. Pre-existing exact-client-path, trap, eval, or exit functions are outside the supported boundary; marker display-message commands honor the trusted server's command aliases and hooks. Run a shell command in a pane with your user's permissions.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "additionalProperties": false,
    "properties": {
      "command": {
        "description": "The shell command, run in the pane's interactive shell.",
        "type": "string"
      },
      "max_lines": {
        "default": 200,
        "description": "Maximum output lines, keeping the newest. Defaults to 200.",
        "type": "integer"
      },
      "pane_id": {
        "description": "The pane to act on, such as %1. Every listing tool returns these.",
        "type": "string"
      },
      "suppress_history": {
        "default": true,
        "description": "Best-effort persistent history suppression. Defaults to true.",
        "type": "boolean"
      },
      "timeout": {
        "default": 30,
        "description": "Seconds to wait before giving up. Defaults to 30.0.",
        "type": "number"
      }
    },
    "required": [
      "pane_id",
      "command"
    ],
    "type": "object"
  },
  "outputSchema": {
    "additionalProperties": false,
    "properties": {
      "effective_timeout": {
        "type": "number"
      },
      "exit_status": {
        "type": "integer"
      },
      "framed": {
        "type": "boolean"
      },
      "lines_dropped": {
        "type": "integer"
      },
      "note": {
        "type": "string"
      },
      "outcome": {
        "type": "string"
      },
      "output": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "pane_id": {
        "type": "string"
      },
      "seconds": {
        "type": "number"
      },
      "truncated": {
        "type": "boolean"
      }
    },
    "required": [
      "pane_id",
      "outcome",
      "output",
      "truncated",
      "lines_dropped",
      "framed",
      "seconds",
      "effective_timeout"
    ],
    "type": "object"
  },
  "annotations": {
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": true,
    "readOnlyHint": false,
    "title": "Run a shell command"
  },
  "meta": {
    "com.git-pull.libtmux-mcp/capability": {
      "amplifiesFutureInput": false,
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false
      },
      "description": "Runs one authored command in a trusted pane shell and waits for singular framed output and completion. Its two preflights refuse caller or attended panes and an effective cohort larger than one. Pre-existing exact-client-path, trap, eval, or exit functions are outside the supported boundary; marker display-message commands honor the trusted server's command aliases and hooks. Run a shell command in a pane with your user's permissions.",
      "inputLiteralization": {},
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "command": {
            "description": "The shell command, run in the pane's interactive shell.",
            "type": "string"
          },
          "max_lines": {
            "default": 200,
            "description": "Maximum output lines, keeping the newest. Defaults to 200.",
            "type": "integer"
          },
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          },
          "suppress_history": {
            "default": true,
            "description": "Best-effort persistent history suppression. Defaults to true.",
            "type": "boolean"
          },
          "timeout": {
            "default": 30,
            "description": "Seconds to wait before giving up. Defaults to 30.0.",
            "type": "number"
          }
        },
        "required": [
          "pane_id",
          "command"
        ],
        "type": "object"
      },
      "mayExposeSecrets": true,
      "mayReturnUntrustedContent": true,
      "name": "run_shell_command",
      "nestedAuthority": [],
      "outputClasses": [
        "tmux-metadata",
        "terminal-content"
      ],
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "effective_timeout": {
            "type": "number"
          },
          "exit_status": {
            "type": "integer"
          },
          "framed": {
            "type": "boolean"
          },
          "lines_dropped": {
            "type": "integer"
          },
          "note": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "output": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "pane_id": {
            "type": "string"
          },
          "seconds": {
            "type": "number"
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "required": [
          "pane_id",
          "outcome",
          "output",
          "truncated",
          "lines_dropped",
          "framed",
          "seconds",
          "effective_timeout"
        ],
        "type": "object"
      },
      "processReach": "pane-command",
      "title": "Run a shell command",
      "tmuxEffects": [
        "observe",
        "change"
      ],
      "toolset": "execute"
    }
  }
}
