{
  "name": "create_session",
  "wireName": "create_session",
  "source": {
    "repo": "libtmux/libtmux-ts",
    "revision": "b3f338c1a21e614ebf0dd6d55aa36a60db816618",
    "extractedRevision": "b3f338c1a21e614ebf0dd6d55aa36a60db816618",
    "file": "packages/mcp/src/tools/lifecycle.ts",
    "line": 68
  },
  "description": "Start a pane's configured process; accepts no command payload. Create a detached session and return it with its first window and pane, so you can start working without listing anything first.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
      "height": {
        "description": "Rows. Default 24, because a detached session has no client to size it.",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991,
        "type": "integer"
      },
      "name": {
        "description": "Session name; tmux picks a number when omitted.",
        "type": "string",
        "x-libtmux-tmux-format": "literalized-once"
      },
      "startDirectory": {
        "description": "Working directory for the first pane. Defaults to the server's.",
        "type": "string",
        "x-libtmux-tmux-format": "literalized-once"
      },
      "width": {
        "description": "Columns. Default 80, and a program that formats to its terminal width — ps, git log --graph, docker ps — truncates to that at the source, where no capture option can recover it.",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991,
        "type": "integer"
      },
      "windowName": {
        "description": "Name for the first window, so the session does not open with a stray shell.",
        "type": "string",
        "x-libtmux-tmux-format": "literalized-once"
      }
    },
    "type": "object"
  },
  "outputSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "paneId": {
        "description": "The new session's first pane. Target this.",
        "pattern": "^%\\d+$",
        "type": "string"
      },
      "session": {
        "additionalProperties": false,
        "properties": {
          "attachedClients": {
            "description": "Raw client count from tmux; 0 means detached. Includes control-mode clients - this server's own wait_for_text or other live read holds one open while it runs, and another program on this socket may hold others. See humanAttachedClients for a person-only count.",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "humanAttachedClients": {
            "description": "attachedClients minus every control-mode client, this server's own included.",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "id": {
            "description": "Stable session id, e.g. $1.",
            "pattern": "^\\$\\d+$",
            "type": "string"
          },
          "metadataComplete": {
            "description": "Whether the session name is complete.",
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "omittedMetadataBytes": {
            "description": "UTF-8 bytes omitted from the session name.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "windows": {
            "description": "How many windows it holds.",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "attachedClients",
          "humanAttachedClients",
          "id",
          "metadataComplete",
          "name",
          "omittedMetadataBytes",
          "windows"
        ],
        "type": "object"
      },
      "windowId": {
        "description": "Stable window id, e.g. @1.",
        "pattern": "^@\\d+$",
        "type": "string"
      }
    },
    "required": [
      "paneId",
      "session",
      "windowId"
    ],
    "type": "object"
  },
  "annotations": {
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": true,
    "readOnlyHint": false
  },
  "meta": {
    "com.git-pull.libtmux-mcp/capability": {
      "amplifiesFutureInput": false,
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false
      },
      "description": "Start a pane's configured process; accepts no command payload. Create a detached session and return it with its first window and pane, so you can start working without listing anything first.",
      "inputLiteralization": {
        "name": "double-hash-once",
        "startDirectory": "double-hash-once",
        "windowName": "double-hash-once"
      },
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "height": {
            "description": "Rows. Default 24, because a detached session has no client to size it.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "name": {
            "description": "Session name; tmux picks a number when omitted.",
            "type": "string",
            "x-libtmux-tmux-format": "literalized-once"
          },
          "startDirectory": {
            "description": "Working directory for the first pane. Defaults to the server's.",
            "type": "string",
            "x-libtmux-tmux-format": "literalized-once"
          },
          "width": {
            "description": "Columns. Default 80, and a program that formats to its terminal width — ps, git log --graph, docker ps — truncates to that at the source, where no capture option can recover it.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "windowName": {
            "description": "Name for the first window, so the session does not open with a stray shell.",
            "type": "string",
            "x-libtmux-tmux-format": "literalized-once"
          }
        },
        "type": "object"
      },
      "mayExposeSecrets": true,
      "mayReturnUntrustedContent": true,
      "name": "create_session",
      "nestedAuthority": [],
      "outputClasses": [
        "tmux-metadata"
      ],
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "paneId": {
            "description": "The new session's first pane. Target this.",
            "pattern": "^%\\d+$",
            "type": "string"
          },
          "session": {
            "properties": {
              "attachedClients": {
                "description": "Raw client count from tmux; 0 means detached. Includes control-mode clients - this server's own wait_for_text or other live read holds one open while it runs, and another program on this socket may hold others. See humanAttachedClients for a person-only count.",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "type": "integer"
              },
              "humanAttachedClients": {
                "description": "attachedClients minus every control-mode client, this server's own included.",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "type": "integer"
              },
              "id": {
                "description": "Stable session id, e.g. $1.",
                "pattern": "^\\$\\d+$",
                "type": "string"
              },
              "metadataComplete": {
                "description": "Whether the session name is complete.",
                "type": "boolean"
              },
              "name": {
                "type": "string"
              },
              "omittedMetadataBytes": {
                "description": "UTF-8 bytes omitted from the session name.",
                "maximum": 9007199254740991,
                "minimum": 0,
                "type": "integer"
              },
              "windows": {
                "description": "How many windows it holds.",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "type": "integer"
              }
            },
            "required": [
              "attachedClients",
              "humanAttachedClients",
              "id",
              "metadataComplete",
              "name",
              "omittedMetadataBytes",
              "windows"
            ],
            "type": "object"
          },
          "windowId": {
            "description": "Stable window id, e.g. @1.",
            "pattern": "^@\\d+$",
            "type": "string"
          }
        },
        "required": [
          "paneId",
          "session",
          "windowId"
        ],
        "type": "object"
      },
      "processReach": "configured-process",
      "title": "Create session",
      "tmuxEffects": [
        "observe",
        "change"
      ],
      "toolset": "execute"
    }
  }
}
