{
  "name": "libtmux for TypeScript",
  "url": "https://libtmux.org/en/ts/latest/",
  "description": "Guides, examples and API reference for libtmux.",
  "sourceRepository": "https://github.com/libtmux/libtmux-ts",
  "agentEntrypoints": {
    "manifest": "/en/ts/latest/docs.json",
    "llms": "/en/ts/latest/llms.txt",
    "llmsFull": "/en/ts/latest/llms-full.txt",
    "inventory": "/en/ts/latest/objects.inv",
    "inventoryFull": "/en/objects-full.inv",
    "targets": "/en/ts/latest/targets.json"
  },
  "ports": [
    {
      "slug": "ts",
      "name": "TypeScript",
      "language": "TypeScript",
      "referenceKind": "model",
      "package": "libtmux",
      "reference": "/en/ts/latest/reference/",
      "products": [
        {
          "slug": "workspace",
          "name": "Workspace Manager",
          "availability": "available",
          "inDevelopment": true,
          "support": "concept",
          "supportDescription": "A working example of the core library. It can change without notice.",
          "cli": "tmux-workspace load",
          "cliAvailability": "published",
          "url": "/en/ts/latest/workspace/",
          "reference": "/en/ts/latest/workspace/reference/",
          "source": {
            "product": "workspace",
            "package": "@libtmux/workspace",
            "repo": "libtmux/libtmux-ts",
            "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
            "extractedRevision": "46cccfef2a546de55ce8b308249b8c76339089a0",
            "version": "0.1.0-alpha.12"
          }
        },
        {
          "slug": "mcp",
          "name": "MCP",
          "availability": "available",
          "inDevelopment": true,
          "support": "concept",
          "supportDescription": "A working example of the core library. It can change without notice.",
          "url": "/en/ts/latest/mcp/",
          "reference": "/en/ts/latest/mcp/reference/",
          "protocol": "/en/ts/latest/mcp/tools.json",
          "source": {
            "product": "mcp",
            "package": "@libtmux/mcp",
            "repo": "libtmux/libtmux-ts",
            "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
            "extractedRevision": "46cccfef2a546de55ce8b308249b8c76339089a0",
            "version": "0.1.0-alpha.12"
          }
        }
      ],
      "extracted": {
        "symbols": 945,
        "extractor": "@libtmux/api-model@0.0.1",
        "inventory": "/en/ts/latest/objects.inv"
      },
      "documentation": [
        {
          "id": "core",
          "name": "Core library",
          "kind": "core",
          "availability": "available",
          "url": "/en/ts/latest/core/"
        },
        {
          "id": "workspace",
          "name": "Workspace Manager",
          "kind": "product",
          "availability": "available",
          "url": "/en/ts/latest/workspace/"
        },
        {
          "id": "mcp",
          "name": "MCP",
          "kind": "product",
          "availability": "available",
          "url": "/en/ts/latest/mcp/"
        }
      ]
    }
  ],
  "pages": [
    {
      "title": "AI policy",
      "description": "Use the libtmux packages with AI tools. When contributing, check what you submit and wait for a maintainer's invitation before preparing a pull request.",
      "section": "Documentation",
      "url": "https://libtmux.org/en/ts/latest/meta/ai-policy/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/meta/ai-policy.md",
      "headings": [
        {
          "id": "1-for-users-about-these-packages",
          "level": 2,
          "text": "1. For users: About these packages"
        },
        {
          "id": "how-the-ports-are-made",
          "level": 3,
          "text": "How the ports are made"
        },
        {
          "id": "stability",
          "level": 3,
          "text": "Stability"
        },
        {
          "id": "2-for-contributors-how-to-report-issues-ideas-suggestions-and-security-issues",
          "level": 2,
          "text": "2. For contributors: How to report issues, ideas, suggestions, and security issues"
        },
        {
          "id": "bugs",
          "level": 3,
          "text": "Bugs"
        },
        {
          "id": "ideas-and-suggestions",
          "level": 3,
          "text": "Ideas and suggestions"
        },
        {
          "id": "security-issues",
          "level": 3,
          "text": "Security issues"
        },
        {
          "id": "writing-your-report",
          "level": 3,
          "text": "Writing your report"
        },
        {
          "id": "using-ai-tools",
          "level": 3,
          "text": "Using AI tools"
        },
        {
          "id": "pull-requests",
          "level": 3,
          "text": "Pull requests"
        }
      ]
    },
    {
      "title": "Link to libtmux from Sphinx",
      "description": "Use Intersphinx inventories to reference libtmux APIs and documentation.",
      "section": "Linking and consuming our docs",
      "url": "https://libtmux.org/en/ts/latest/meta/intersphinx/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/meta/intersphinx.md",
      "headings": [
        {
          "id": "configure-intersphinx",
          "level": 2,
          "text": "Configure Intersphinx"
        },
        {
          "id": "choose-a-reference",
          "level": 2,
          "text": "Choose a reference"
        },
        {
          "id": "stable-labels",
          "level": 2,
          "text": "Stable labels"
        },
        {
          "id": "preserve-published-links",
          "level": 3,
          "text": "Preserve published links"
        }
      ]
    },
    {
      "title": "Intersphinx examples",
      "description": "Compare Sphinx and MyST references to APIs, tmux C declarations, hooks, format variables, CLI commands and schema fields.",
      "section": "Linking and consuming our docs",
      "url": "https://libtmux.org/en/ts/latest/meta/intersphinx/examples/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/meta/intersphinx/examples.md",
      "headings": [
        {
          "id": "configure-the-inventories",
          "level": 2,
          "text": "Configure the inventories"
        },
        {
          "id": "native-python-roles",
          "level": 2,
          "text": "Native Python roles"
        },
        {
          "id": "portable-labels",
          "level": 2,
          "text": "Portable labels"
        },
        {
          "id": "myst-roles-and-inventory-urls",
          "level": 2,
          "text": "MyST roles and inventory URLs"
        },
        {
          "id": "tmux-c-declarations",
          "level": 2,
          "text": "tmux C declarations"
        },
        {
          "id": "tmux-hooks",
          "level": 2,
          "text": "tmux hooks"
        },
        {
          "id": "tmux-formats",
          "level": 2,
          "text": "tmux formats"
        },
        {
          "id": "tmux-cli-manual",
          "level": 2,
          "text": "tmux CLI manual"
        },
        {
          "id": "command-options-environment-variables-and-terms",
          "level": 2,
          "text": "Command options, environment variables, and terms"
        },
        {
          "id": "mcp-tools-and-schema-fields",
          "level": 2,
          "text": "MCP tools and schema fields"
        },
        {
          "id": "shared-documentation-and-headings",
          "level": 2,
          "text": "Shared documentation and headings"
        },
        {
          "id": "local-files-and-fallback-locations",
          "level": 2,
          "text": "Local files and fallback locations"
        }
      ]
    },
    {
      "title": "Linking and consuming our docs",
      "description": "Find documentation exports for search engines, bots, LLMs and other documentation sites.",
      "section": "Linking and consuming our docs",
      "url": "https://libtmux.org/en/ts/latest/meta/linking/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/meta/linking.md",
      "headings": [
        {
          "id": "choose-an-export",
          "level": 2,
          "text": "Choose an export"
        },
        {
          "id": "link-from-sphinx",
          "level": 2,
          "text": "Link from Sphinx"
        },
        {
          "id": "discover-and-index-pages",
          "level": 2,
          "text": "Discover and index pages"
        }
      ]
    },
    {
      "title": "Third-party notices",
      "description": "Thanks to tmux's creator and contributors, with licences and attribution for the software behind libtmux.org.",
      "section": "Documentation",
      "url": "https://libtmux.org/en/ts/latest/meta/third-party-notices/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/meta/third-party-notices.md",
      "headings": [
        {
          "id": "tmux",
          "level": 2,
          "text": "tmux"
        },
        {
          "id": "tmux-artwork",
          "level": 3,
          "text": "tmux artwork"
        },
        {
          "id": "programming-language-artwork",
          "level": 2,
          "text": "Programming-language artwork"
        },
        {
          "id": "terminal-artwork",
          "level": 2,
          "text": "Terminal artwork"
        },
        {
          "id": "documentation-toolchain",
          "level": 2,
          "text": "Documentation toolchain"
        },
        {
          "id": "a-note-on-doxygen",
          "level": 3,
          "text": "A note on Doxygen"
        },
        {
          "id": "reference-hosting",
          "level": 2,
          "text": "Reference hosting"
        },
        {
          "id": "libtmux-itself",
          "level": 2,
          "text": "libtmux itself"
        }
      ]
    },
    {
      "title": "Concepts",
      "description": "tmux objects, command transports, queries, and workspaces.",
      "section": "Concepts",
      "url": "https://libtmux.org/en/ts/latest/concepts/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/concepts/index.md",
      "headings": []
    },
    {
      "title": "Filtering and queries",
      "description": "Match names, handle missing and ambiguous results, traverse linked windows, refresh snapshots, and validate saved TypeScript queries.",
      "section": "Concepts",
      "url": "https://libtmux.org/en/ts/latest/concepts/queries/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/concepts/queries.md",
      "headings": [
        {
          "id": "setup-and-run",
          "level": 2,
          "text": "Setup and run"
        },
        {
          "id": "match-names-and-combine-conditions",
          "level": 2,
          "text": "Match names and combine conditions"
        },
        {
          "id": "regular-expression-limits",
          "level": 3,
          "text": "Regular expression limits"
        },
        {
          "id": "handle-zero-one-and-several-matches",
          "level": 2,
          "text": "Handle zero, one, and several matches"
        },
        {
          "id": "query-relations-and-linked-windows",
          "level": 2,
          "text": "Query relations and linked windows"
        },
        {
          "id": "refresh-after-a-mutation",
          "level": 2,
          "text": "Refresh after a mutation"
        },
        {
          "id": "save-and-validate-criteria",
          "level": 2,
          "text": "Save and validate criteria"
        },
        {
          "id": "filter-a-live-tmux-listing",
          "level": 2,
          "text": "Filter a live tmux listing"
        },
        {
          "id": "api-and-related-tasks",
          "level": 2,
          "text": "API and related tasks"
        }
      ]
    },
    {
      "title": "Server, session, window, pane",
      "description": "How tmux servers, sessions, windows, panes and attached clients relate to each other.",
      "section": "Concepts",
      "url": "https://libtmux.org/en/ts/latest/concepts/server-session-window-pane/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/concepts/server-session-window-pane.md",
      "headings": [
        {
          "id": "stable-identity-not-name-or-index",
          "level": 2,
          "text": "Stable identity, not name or index"
        },
        {
          "id": "client-a-view-not-a-child",
          "level": 2,
          "text": "Client: a view, not a child"
        }
      ]
    },
    {
      "title": "Control mode vs one-shot",
      "description": "Choose subprocesses, command batches, or persistent connections to send commands and receive events.",
      "section": "Concepts",
      "url": "https://libtmux.org/en/ts/latest/concepts/transports/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/concepts/transports.md",
      "headings": [
        {
          "id": "available-transports",
          "level": 2,
          "text": "Available transports"
        },
        {
          "id": "notifications-and-commands-are-separable",
          "level": 2,
          "text": "Notifications and commands are separable"
        },
        {
          "id": "a-control-client-is-a-real-client",
          "level": 2,
          "text": "A control client is a real client"
        },
        {
          "id": "why-fold-several-commands-into-one-invocation",
          "level": 2,
          "text": "Why fold several commands into one invocation"
        },
        {
          "id": "what-this-costs-in-practice",
          "level": 2,
          "text": "What this costs in practice"
        },
        {
          "id": "sending-a-command",
          "level": 2,
          "text": "Sending a command"
        }
      ]
    },
    {
      "title": "Workspaces",
      "description": "Build pane layouts with the object API or a workspace configuration file.",
      "section": "Concepts",
      "url": "https://libtmux.org/en/ts/latest/concepts/workspaces/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/concepts/workspaces.md",
      "headings": [
        {
          "id": "building-one-imperatively",
          "level": 2,
          "text": "Building one imperatively"
        },
        {
          "id": "building-one-declaratively",
          "level": 2,
          "text": "Building one declaratively"
        },
        {
          "id": "cleaning-up",
          "level": 2,
          "text": "Cleaning up"
        }
      ]
    },
    {
      "title": "tmux client library for TypeScript",
      "description": "tmux client library for TypeScript. Control tmux, connect to and create servers, navigate sessions, windows, and panes, send keys, watch for changes via control mode, capture pane contents",
      "section": "Documentation",
      "url": "https://libtmux.org/en/ts/latest/core/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/core/index.md",
      "headings": []
    },
    {
      "title": "Examples",
      "description": "Programs for sending input, capturing output, and building workspaces.",
      "section": "Examples",
      "url": "https://libtmux.org/en/ts/latest/examples/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/examples/index.md",
      "headings": [
        {
          "id": "source-and-verification",
          "level": 2,
          "text": "Source and verification"
        }
      ]
    },
    {
      "title": "Attach and send keys",
      "description": "Get a session handle, send a command to a pane, and capture output.",
      "section": "Examples",
      "url": "https://libtmux.org/en/ts/latest/examples/attach-and-send-keys/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/examples/attach-and-send-keys.md",
      "headings": [
        {
          "id": "finding-an-existing-session-instead",
          "level": 2,
          "text": "Finding an existing session instead"
        },
        {
          "id": "where-this-comes-from",
          "level": 2,
          "text": "Where this comes from"
        },
        {
          "id": "source-inclusion",
          "level": 3,
          "text": "Source inclusion"
        }
      ]
    },
    {
      "title": "Capture pane output",
      "description": "Run a complete program that captures a pane and waits for a complete output line.",
      "section": "Examples",
      "url": "https://libtmux.org/en/ts/latest/examples/capture-pane-output/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/examples/capture-pane-output.md",
      "headings": [
        {
          "id": "read-whats-on-screen",
          "level": 2,
          "text": "Read what’s on screen"
        },
        {
          "id": "wait-for-output-or-completion",
          "level": 2,
          "text": "Wait for output or completion"
        },
        {
          "id": "setup-and-run",
          "level": 2,
          "text": "Setup and run"
        },
        {
          "id": "where-this-comes-from",
          "level": 2,
          "text": "Where this comes from"
        }
      ]
    },
    {
      "title": "Guides",
      "description": "Task-oriented walkthroughs that sit between the concepts and each port's own API reference.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/guides/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/guides/index.md",
      "headings": []
    },
    {
      "title": "Attaching to tmux",
      "description": "Connect to an existing tmux server and find a session with TypeScript.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/guides/attaching-to-tmux/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/guides/attaching-to-tmux.md",
      "headings": [
        {
          "id": "connect-to-an-existing-server",
          "level": 2,
          "text": "Connect to an existing server"
        },
        {
          "id": "setup-and-run",
          "level": 2,
          "text": "Setup and run"
        },
        {
          "id": "find-or-create-a-session",
          "level": 2,
          "text": "Find or create a session"
        }
      ]
    },
    {
      "title": "Capturing output",
      "description": "Read pane output with an explicit completion condition.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/guides/capturing-output/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/guides/capturing-output.md",
      "headings": [
        {
          "id": "run-the-complete-program",
          "level": 2,
          "text": "Run the complete program"
        },
        {
          "id": "visible-pane-vs-scrollback",
          "level": 2,
          "text": "Visible pane vs. scrollback"
        },
        {
          "id": "wait-for-the-expected-text",
          "level": 2,
          "text": "Wait for the expected text"
        },
        {
          "id": "wait-for-a-completion-signal",
          "level": 2,
          "text": "Wait for a completion signal"
        }
      ]
    },
    {
      "title": "Getting started",
      "description": "Run a complete program with this language library.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/guides/getting-started/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/guides/getting-started.md",
      "headings": [
        {
          "id": "run-the-smallest-thing-that-proves-it-works",
          "level": 2,
          "text": "Run the smallest thing that proves it works"
        },
        {
          "id": "what-just-happened",
          "level": 2,
          "text": "What just happened"
        },
        {
          "id": "connect-to-an-existing-server",
          "level": 2,
          "text": "Connect to an existing server"
        },
        {
          "id": "where-to-go-next",
          "level": 2,
          "text": "Where to go next"
        }
      ]
    },
    {
      "title": "Querying and filtering",
      "description": "Choose a target and handle missing or ambiguous results.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/guides/querying-and-filtering/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/guides/querying-and-filtering.md",
      "headings": [
        {
          "id": "require-exactly-one-match",
          "level": 2,
          "text": "Require exactly one match"
        },
        {
          "id": "declarative-filters",
          "level": 2,
          "text": "Declarative filters"
        },
        {
          "id": "case-insensitive-matching",
          "level": 2,
          "text": "Case-insensitive matching"
        },
        {
          "id": "push-the-filter-into-tmux-or-read-once-and-filter-locally",
          "level": 2,
          "text": "Push the filter into tmux, or read once and filter locally"
        }
      ]
    },
    {
      "title": "Sending keys",
      "description": "Send text and named keys, then wait for the result.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/guides/sending-keys/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/guides/sending-keys.md",
      "headings": [
        {
          "id": "run-the-complete-program",
          "level": 2,
          "text": "Run the complete program"
        },
        {
          "id": "literal-text-key-names-and-whether-enter-follows",
          "level": 2,
          "text": "Literal text, key names, and whether Enter follows"
        },
        {
          "id": "the-race-you-cant-see-from-the-call-site",
          "level": 2,
          "text": "The race you can’t see from the call site"
        },
        {
          "id": "where-to-go-next",
          "level": 2,
          "text": "Where to go next"
        }
      ]
    },
    {
      "title": "Testing with libtmux",
      "description": "Use an isolated server and check cleanup failures.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/guides/testing-with-libtmux/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/guides/testing-with-libtmux.md",
      "headings": [
        {
          "id": "run-a-complete-example",
          "level": 2,
          "text": "Run a complete example"
        },
        {
          "id": "keep-server-ownership-explicit",
          "level": 2,
          "text": "Keep server ownership explicit"
        },
        {
          "id": "wait-for-the-state-you-assert",
          "level": 2,
          "text": "Wait for the state you assert"
        }
      ]
    },
    {
      "title": "tmux MCP, built in TypeScript",
      "description": "Run or embed @libtmux/mcp to inspect tmux, drive panes, and wait for commands.",
      "section": "Documentation",
      "url": "https://libtmux.org/en/ts/latest/mcp/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/index.md",
      "headings": [
        {
          "id": "start-here",
          "level": 2,
          "text": "Start here"
        }
      ]
    },
    {
      "title": "TypeScript MCP examples",
      "description": "Connect an embedded TypeScript MCP client and list a private tmux session.",
      "section": "Documentation",
      "url": "https://libtmux.org/en/ts/latest/mcp/examples/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/examples.md",
      "headings": [
        {
          "id": "list-sessions",
          "level": 2,
          "text": "List sessions"
        },
        {
          "id": "internals",
          "level": 2,
          "text": "Internals"
        },
        {
          "id": "prepare-the-project",
          "level": 3,
          "text": "Prepare the project"
        },
        {
          "id": "connect-an-embedded-client",
          "level": 3,
          "text": "Connect an embedded client"
        },
        {
          "id": "run-the-examples-checks",
          "level": 3,
          "text": "Run the example’s checks"
        }
      ]
    },
    {
      "title": "Connect a TypeScript MCP client",
      "description": "Launch @libtmux/mcp on a named socket and select the tools the client receives.",
      "section": "Documentation",
      "url": "https://libtmux.org/en/ts/latest/mcp/guides/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/guides.md",
      "equivalence": "mcp-client-setup",
      "headings": [
        {
          "id": "start-the-stdio-server",
          "level": 2,
          "text": "Start the stdio server"
        },
        {
          "id": "verify-and-expand-the-surface",
          "level": 2,
          "text": "Verify and expand the surface"
        },
        {
          "id": "choose-another-endpoint",
          "level": 2,
          "text": "Choose another endpoint"
        }
      ]
    },
    {
      "title": "TypeScript MCP API",
      "description": "Find the TypeScript server factory and the MCP tool, schema, and capability contracts.",
      "section": "Documentation",
      "url": "https://libtmux.org/en/ts/latest/mcp/reference/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/reference.md",
      "headings": [
        {
          "id": "embedding-api",
          "level": 2,
          "text": "Embedding API"
        },
        {
          "id": "mcp-reference",
          "level": 2,
          "text": "MCP reference"
        }
      ]
    },
    {
      "title": "TypeScript MCP topics",
      "description": "Understand immutable tool selection, tmux provenance, pane protections, and output cursors.",
      "section": "Documentation",
      "url": "https://libtmux.org/en/ts/latest/mcp/topics/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/topics.md",
      "headings": [
        {
          "id": "toolsets-and-startup-provenance",
          "level": 2,
          "text": "Toolsets and startup provenance"
        },
        {
          "id": "pane-input-and-human-activity",
          "level": 2,
          "text": "Pane input and human activity"
        },
        {
          "id": "commands-waits-and-cursors",
          "level": 2,
          "text": "Commands, waits, and cursors"
        }
      ]
    },
    {
      "title": "Topics",
      "description": "Object traversal, cleanup, pane I/O, configuration, and failure handling.",
      "section": "Topics",
      "url": "https://libtmux.org/en/ts/latest/topics/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/topics/index.md",
      "headings": []
    },
    {
      "title": "Architecture",
      "description": "Locate operations, distinguish snapshots from live commands, and find their implementation.",
      "section": "Topics",
      "url": "https://libtmux.org/en/ts/latest/topics/architecture/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/topics/architecture.md",
      "headings": [
        {
          "id": "calling-operations",
          "level": 2,
          "text": "Calling operations"
        },
        {
          "id": "reading-tmux-fields",
          "level": 2,
          "text": "Reading tmux fields"
        },
        {
          "id": "source-layout",
          "level": 2,
          "text": "Source layout"
        }
      ]
    },
    {
      "title": "Ownership and cleanup",
      "description": "Scope-based cleanup for tmux objects, and when your program must kill them explicitly.",
      "section": "Topics",
      "url": "https://libtmux.org/en/ts/latest/topics/context-managers/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/topics/context-managers.md",
      "headings": [
        {
          "id": "release-connections-and-kill-owned-sessions",
          "level": 2,
          "text": "Release connections and kill owned sessions"
        },
        {
          "id": "testing-cleanup",
          "level": 2,
          "text": "Testing cleanup"
        }
      ]
    },
    {
      "title": "Environment",
      "description": "Locate tmux objects from process variables and manage the environment inherited by new panes.",
      "section": "Topics",
      "url": "https://libtmux.org/en/ts/latest/topics/environment/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/topics/environment.md",
      "headings": [
        {
          "id": "locating-yourself-from-inside-a-pane",
          "level": 2,
          "text": "Locating yourself from inside a pane"
        },
        {
          "id": "examples",
          "level": 3,
          "text": "Examples"
        },
        {
          "id": "tmuxs-own-environment-variable-store",
          "level": 2,
          "text": "tmux’s own environment variable store"
        },
        {
          "id": "examples-1",
          "level": 3,
          "text": "Examples"
        }
      ]
    },
    {
      "title": "Errors and exceptions",
      "description": "Handle command failures, inspect delivery status, and decide when a retry is safe.",
      "section": "Topics",
      "url": "https://libtmux.org/en/ts/latest/topics/errors-and-exceptions/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/topics/errors-and-exceptions.md",
      "headings": [
        {
          "id": "a-failed-command-as-a-value",
          "level": 2,
          "text": "A failed command, as a value"
        },
        {
          "id": "is-it-safe-to-retry",
          "level": 2,
          "text": "Is it safe to retry?"
        }
      ]
    },
    {
      "title": "Format-token fields",
      "description": "The typed fields every object exposes, mirroring tmux's own format tokens, and why a field is sometimes absent.",
      "section": "Topics",
      "url": "https://libtmux.org/en/ts/latest/topics/format-tokens/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/topics/format-tokens.md",
      "headings": [
        {
          "id": "handling-an-absent-field",
          "level": 2,
          "text": "Handling an absent field"
        },
        {
          "id": "field-availability",
          "level": 2,
          "text": "Field availability"
        },
        {
          "id": "fields-promoted-from-the-active-child",
          "level": 2,
          "text": "Fields promoted from the active child"
        }
      ]
    },
    {
      "title": "Options and hooks",
      "description": "Read and update tmux options, and register commands for tmux events.",
      "section": "Topics",
      "url": "https://libtmux.org/en/ts/latest/topics/options-and-hooks/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/topics/options-and-hooks.md",
      "headings": [
        {
          "id": "reading-and-writing-options",
          "level": 2,
          "text": "Reading and writing options"
        },
        {
          "id": "examples",
          "level": 3,
          "text": "Examples"
        },
        {
          "id": "hooks",
          "level": 2,
          "text": "Hooks"
        },
        {
          "id": "examples-1",
          "level": 3,
          "text": "Examples"
        },
        {
          "id": "supported-hook-scopes",
          "level": 2,
          "text": "Supported hook scopes"
        },
        {
          "id": "tmux-version-compatibility",
          "level": 2,
          "text": "tmux version compatibility"
        }
      ]
    },
    {
      "title": "Pane interaction",
      "description": "Input defaults, screen capture, and waiting for a command to finish.",
      "section": "Topics",
      "url": "https://libtmux.org/en/ts/latest/topics/pane-interaction/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/topics/pane-interaction.md",
      "headings": [
        {
          "id": "typing-into-a-pane",
          "level": 2,
          "text": "Typing into a pane"
        },
        {
          "id": "examples",
          "level": 3,
          "text": "Examples"
        },
        {
          "id": "reading-a-pane-back",
          "level": 2,
          "text": "Reading a pane back"
        },
        {
          "id": "waiting-for-something-to-finish",
          "level": 2,
          "text": "Waiting for something to finish"
        }
      ]
    },
    {
      "title": "Socket and servers",
      "description": "Select a server socket, check liveness, and detect a replacement daemon.",
      "section": "Topics",
      "url": "https://libtmux.org/en/ts/latest/topics/socket-and-servers/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/topics/socket-and-servers.md",
      "headings": [
        {
          "id": "naming-a-server",
          "level": 2,
          "text": "Naming a server"
        },
        {
          "id": "is-the-server-actually-there",
          "level": 2,
          "text": "Is the server actually there?"
        },
        {
          "id": "killing-a-server-and-telling-two-apart",
          "level": 2,
          "text": "Killing a server, and telling two apart"
        }
      ]
    },
    {
      "title": "Traversal",
      "description": "Moving up and down the server/session/window/pane tree, and the two questions that come up once you have more than one object.",
      "section": "Topics",
      "url": "https://libtmux.org/en/ts/latest/topics/traversal/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/topics/traversal.md",
      "headings": [
        {
          "id": "down-the-hierarchy",
          "level": 2,
          "text": "Down the hierarchy"
        },
        {
          "id": "all-panes-in-a-session",
          "level": 2,
          "text": "All panes in a session"
        },
        {
          "id": "up-the-hierarchy",
          "level": 2,
          "text": "Up the hierarchy"
        },
        {
          "id": "one-walk-down-and-back-up",
          "level": 2,
          "text": "One walk, down and back up"
        },
        {
          "id": "the-active-child",
          "level": 2,
          "text": "The active child"
        },
        {
          "id": "is-it-in-that-collection",
          "level": 2,
          "text": "Is it in that collection?"
        },
        {
          "id": "is-this-the-same-object",
          "level": 2,
          "text": "Is this the same object?"
        }
      ]
    },
    {
      "title": "Waiting and retrying",
      "description": "Polling a condition instead of guessing a sleep, and tmux's own wait-for signal channel as the alternative to polling.",
      "section": "Topics",
      "url": "https://libtmux.org/en/ts/latest/topics/waiting-and-retry/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/topics/waiting-and-retry.md",
      "headings": [
        {
          "id": "polling-a-condition",
          "level": 2,
          "text": "Polling a condition"
        },
        {
          "id": "examples",
          "level": 3,
          "text": "Examples"
        },
        {
          "id": "tmuxs-own-wait-for-channel",
          "level": 2,
          "text": "tmux’s own wait-for channel"
        }
      ]
    },
    {
      "title": "TypeScript-based tmux workspace manager",
      "description": "Describe a tmux session in a file, then load, inspect and capture it.",
      "section": "Documentation",
      "url": "https://libtmux.org/en/ts/latest/workspace/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/index.md",
      "headings": [
        {
          "id": "load-a-workspace-from-the-terminal",
          "level": 2,
          "text": "Load a workspace from the terminal"
        },
        {
          "id": "automate-and-inspect",
          "level": 2,
          "text": "Automate and inspect"
        },
        {
          "id": "build-from-application-code",
          "level": 2,
          "text": "Build from application code"
        }
      ]
    },
    {
      "title": "tmux-workspace CLI manual",
      "description": "Use `tmux-workspace` to load, inspect and save workspace files.",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/index.md",
      "headings": [
        {
          "id": "sessions",
          "level": 2,
          "text": "Sessions"
        },
        {
          "id": "workspace-files",
          "level": 2,
          "text": "Workspace files"
        },
        {
          "id": "diagnostics-and-completion",
          "level": 2,
          "text": "Diagnostics and completion"
        },
        {
          "id": "command-options",
          "level": 2,
          "text": "Command options"
        },
        {
          "id": "machine-output",
          "level": 2,
          "text": "Machine output"
        }
      ]
    },
    {
      "title": "Shell completion",
      "description": "Generate completion for the installed workspace command.",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/completion/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/completion.md",
      "headings": [
        {
          "id": "enable-bash-completion",
          "level": 2,
          "text": "Enable Bash completion"
        },
        {
          "id": "other-shells",
          "level": 2,
          "text": "Other shells"
        }
      ]
    },
    {
      "title": "Convert workspace files",
      "description": "Convert a complete workspace document between YAML and JSON.",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/convert/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/convert.md",
      "headings": [
        {
          "id": "inspect-the-result",
          "level": 2,
          "text": "Inspect the result"
        },
        {
          "id": "save-a-file",
          "level": 2,
          "text": "Save a file"
        }
      ]
    },
    {
      "title": "Inspect runtime diagnostics",
      "description": "Collect the workspace CLI runtime, configuration and tmux diagnostics..",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/debug-info/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/debug-info.md",
      "headings": [
        {
          "id": "collect-a-report",
          "level": 2,
          "text": "Collect a report"
        }
      ]
    },
    {
      "title": "Edit a workspace",
      "description": "Resolve a workspace file or saved name and open it in an editor.",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/edit/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/edit.md",
      "headings": [
        {
          "id": "open-the-file",
          "level": 2,
          "text": "Open the file"
        }
      ]
    },
    {
      "title": "Capture a workspace",
      "description": "Capture a running tmux session as a starting point for a workspace file.",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/freeze/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/freeze.md",
      "headings": [
        {
          "id": "inspect-a-session",
          "level": 2,
          "text": "Inspect a session"
        },
        {
          "id": "save-the-captured-document",
          "level": 2,
          "text": "Save the captured document"
        }
      ]
    },
    {
      "title": "Import a workspace",
      "description": "Choose a source format and translate it into a workspace document.",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/import/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/import.md",
      "headings": []
    },
    {
      "title": "Import from Teamocil",
      "description": "Translate Teamocil windows and pane commands into a workspace document.",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/import-teamocil/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/import-teamocil.md",
      "headings": [
        {
          "id": "preview-the-translation",
          "level": 2,
          "text": "Preview the translation"
        },
        {
          "id": "save-the-workspace",
          "level": 2,
          "text": "Save the workspace"
        }
      ]
    },
    {
      "title": "Import from tmuxinator",
      "description": "Translate a tmuxinator project into a workspace document.",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/import-tmuxinator/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/import-tmuxinator.md",
      "headings": [
        {
          "id": "preview-the-translation",
          "level": 2,
          "text": "Preview the translation"
        },
        {
          "id": "save-the-workspace",
          "level": 2,
          "text": "Save the workspace"
        }
      ]
    },
    {
      "title": "Load a workspace",
      "description": "Create or reuse a session from a workspace file, with explicit attachment and output choices.",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/load/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/load.md",
      "headings": [
        {
          "id": "load-without-attaching",
          "level": 2,
          "text": "Load without attaching"
        },
        {
          "id": "existing-sessions-and-append",
          "level": 2,
          "text": "Existing sessions and append"
        },
        {
          "id": "attachment-and-output",
          "level": 2,
          "text": "Attachment and output"
        }
      ]
    },
    {
      "title": "List saved workspaces",
      "description": "List the workspace files found in project and global configuration locations.",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/ls/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/ls.md",
      "headings": [
        {
          "id": "list-records",
          "level": 2,
          "text": "List records"
        }
      ]
    },
    {
      "title": "Search workspaces",
      "description": "Search the fields of discovered workspace documents.",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/search/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/search.md",
      "headings": [
        {
          "id": "find-a-session-name",
          "level": 2,
          "text": "Find a session name"
        }
      ]
    },
    {
      "title": "Evaluate in a workspace",
      "description": "Use the optional Python runtime to inspect a workspace through the native command.",
      "section": "CLI reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/cli/shell/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/cli/shell.md",
      "headings": [
        {
          "id": "runtime-requirement",
          "level": 2,
          "text": "Runtime requirement"
        },
        {
          "id": "evaluate-with-a-selected-server",
          "level": 2,
          "text": "Evaluate with a selected server"
        }
      ]
    },
    {
      "title": "Workspace configuration",
      "description": "Define the session, windows, panes and commands loaded by the workspace CLI.",
      "section": "Configuration",
      "url": "https://libtmux.org/en/ts/latest/workspace/configuration/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/configuration/index.md",
      "headings": [
        {
          "id": "choose-the-fields-for-your-task",
          "level": 2,
          "text": "Choose the fields for your task"
        },
        {
          "id": "cli-and-application-code",
          "level": 2,
          "text": "CLI and application code"
        }
      ]
    },
    {
      "title": "Workspace commands",
      "description": "Order pane setup and command delivery, Enter handling and delays.",
      "section": "Configuration",
      "url": "https://libtmux.org/en/ts/latest/workspace/configuration/commands/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/configuration/commands.md",
      "headings": [
        {
          "id": "enter-and-timing",
          "level": 2,
          "text": "Enter and timing"
        },
        {
          "id": "history-and-readiness",
          "level": 2,
          "text": "History and readiness"
        }
      ]
    },
    {
      "title": "Files and directories",
      "description": "Resolve saved workspace files and the working directories used by panes.",
      "section": "Configuration",
      "url": "https://libtmux.org/en/ts/latest/workspace/configuration/directories/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/configuration/directories.md",
      "headings": [
        {
          "id": "set-a-starting-directory",
          "level": 2,
          "text": "Set a starting directory"
        },
        {
          "id": "verify-the-running-pane",
          "level": 2,
          "text": "Verify the running pane"
        }
      ]
    },
    {
      "title": "Workspace environment",
      "description": "Configure the loader process and the variables available to pane commands.",
      "section": "Configuration",
      "url": "https://libtmux.org/en/ts/latest/workspace/configuration/environment/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/configuration/environment.md",
      "headings": [
        {
          "id": "variable-expressions",
          "level": 2,
          "text": "Variable expressions"
        },
        {
          "id": "loader-settings",
          "level": 2,
          "text": "Loader settings"
        }
      ]
    },
    {
      "title": "Bootstrap scripts and extensions",
      "description": "Run a checked bootstrap process before workspace commands.",
      "section": "Configuration",
      "url": "https://libtmux.org/en/ts/latest/workspace/configuration/hooks/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/configuration/hooks.md",
      "headings": [
        {
          "id": "paths-and-output",
          "level": 2,
          "text": "Paths and output"
        },
        {
          "id": "prompt-readiness",
          "level": 2,
          "text": "Prompt readiness"
        },
        {
          "id": "optional-extensions",
          "level": 2,
          "text": "Optional extensions"
        }
      ]
    },
    {
      "title": "Window layouts",
      "description": "Arrange panes with tmux layout names or a saved layout.",
      "section": "Configuration",
      "url": "https://libtmux.org/en/ts/latest/workspace/configuration/layouts/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/configuration/layouts.md",
      "headings": [
        {
          "id": "saved-layouts-and-terminal-size",
          "level": 2,
          "text": "Saved layouts and terminal size"
        }
      ]
    },
    {
      "title": "Pane configuration",
      "description": "Choose pane commands, launch settings and focus.",
      "section": "Configuration",
      "url": "https://libtmux.org/en/ts/latest/workspace/configuration/panes/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/configuration/panes.md",
      "headings": [
        {
          "id": "overrides",
          "level": 2,
          "text": "Overrides"
        }
      ]
    },
    {
      "title": "Session configuration",
      "description": "Name a workspace and apply session options and environment.",
      "section": "Configuration",
      "url": "https://libtmux.org/en/ts/latest/workspace/configuration/session/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/configuration/session.md",
      "headings": [
        {
          "id": "session-fields",
          "level": 2,
          "text": "Session fields"
        }
      ]
    },
    {
      "title": "Window configuration",
      "description": "Set window names, indexes, layouts, options and focus.",
      "section": "Configuration",
      "url": "https://libtmux.org/en/ts/latest/workspace/configuration/windows/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/configuration/windows.md",
      "headings": [
        {
          "id": "launch-settings",
          "level": 2,
          "text": "Launch settings"
        }
      ]
    },
    {
      "title": "Examples",
      "description": "Workspace configurations and complete command walkthroughs.",
      "section": "Examples",
      "url": "https://libtmux.org/en/ts/latest/workspace/examples/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/examples/index.md",
      "headings": []
    },
    {
      "title": "Workspace examples",
      "description": "Start from complete configurations for pane layout, commands and environment.",
      "section": "Examples",
      "url": "https://libtmux.org/en/ts/latest/workspace/examples/gallery/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/examples/gallery.md",
      "headings": [
        {
          "id": "two-blank-panes",
          "level": 2,
          "text": "Two blank panes"
        },
        {
          "id": "setup-before-pane-commands",
          "level": 2,
          "text": "Setup before pane commands"
        },
        {
          "id": "more-complete-examples",
          "level": 2,
          "text": "More complete examples"
        }
      ]
    },
    {
      "title": "Guides",
      "description": "Install the workspace command, find configurations and automate tmux sessions.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/workspace/guides/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/guides/index.md",
      "headings": []
    },
    {
      "title": "Automate workspace operations",
      "description": "Run detached commands with explicit inputs and machine-readable results.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/workspace/guides/automation/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/guides/automation.md",
      "headings": [
        {
          "id": "follow-progress",
          "level": 2,
          "text": "Follow progress"
        },
        {
          "id": "make-retries-deliberate",
          "level": 2,
          "text": "Make retries deliberate"
        }
      ]
    },
    {
      "title": "Find saved workspaces",
      "description": "Resolve explicit files, project directories and saved workspace names.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/workspace/guides/discovery/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/guides/discovery.md",
      "headings": [
        {
          "id": "list-available-files",
          "level": 2,
          "text": "List available files"
        },
        {
          "id": "search-by-content",
          "level": 2,
          "text": "Search by content"
        }
      ]
    },
    {
      "title": "Export and reload a session",
      "description": "Capture a running session, inspect the document and load a second copy.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/workspace/guides/export-session/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/guides/export-session.md",
      "headings": [
        {
          "id": "load-a-second-copy",
          "level": 2,
          "text": "Load a second copy"
        }
      ]
    },
    {
      "title": "Inspect a workspace through MCP",
      "description": "Connect the development TypeScript MCP server to a session loaded by its native workspace CLI.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/workspace/guides/inspect-with-mcp/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/guides/inspect-with-mcp.md",
      "headings": [
        {
          "id": "build-the-mcp-server",
          "level": 2,
          "text": "Build the MCP server"
        },
        {
          "id": "select-the-same-socket",
          "level": 2,
          "text": "Select the same socket"
        },
        {
          "id": "inspect-and-wait",
          "level": 2,
          "text": "Inspect and wait"
        },
        {
          "id": "close-the-connection",
          "level": 2,
          "text": "Close the connection"
        }
      ]
    },
    {
      "title": "Install and load a workspace",
      "description": "Build the workspace command and load a session on a private tmux socket.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/workspace/guides/installation/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/guides/installation.md",
      "headings": [
        {
          "id": "build-the-command",
          "level": 2,
          "text": "Build the command"
        },
        {
          "id": "create-the-input",
          "level": 2,
          "text": "Create the input"
        },
        {
          "id": "load-and-inspect",
          "level": 2,
          "text": "Load and inspect"
        },
        {
          "id": "capture-and-clean-up",
          "level": 2,
          "text": "Capture and clean up"
        },
        {
          "id": "continue",
          "level": 2,
          "text": "Continue"
        }
      ]
    },
    {
      "title": "Troubleshoot a workspace",
      "description": "Find the failed stage before retrying a workspace operation.",
      "section": "Guides",
      "url": "https://libtmux.org/en/ts/latest/workspace/guides/troubleshooting/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/guides/troubleshooting.md",
      "headings": [
        {
          "id": "confirm-the-command-and-input",
          "level": 2,
          "text": "Confirm the command and input"
        },
        {
          "id": "common-failures",
          "level": 2,
          "text": "Common failures"
        },
        {
          "id": "record-a-load",
          "level": 2,
          "text": "Record a load"
        }
      ]
    },
    {
      "title": "TypeScript workspace internals",
      "description": "Architecture and development interfaces of the TypeScript workspace builder.",
      "section": "Internals",
      "url": "https://libtmux.org/en/ts/latest/workspace/internals/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/internals/index.md",
      "headings": [
        {
          "id": "builder-pipeline",
          "level": 2,
          "text": "Builder pipeline"
        },
        {
          "id": "read-the-implementation",
          "level": 2,
          "text": "Read the implementation"
        },
        {
          "id": "implementation-scope",
          "level": 2,
          "text": "Implementation scope"
        },
        {
          "id": "package-and-runtime",
          "level": 2,
          "text": "Package and runtime"
        }
      ]
    },
    {
      "title": "Workspace reference generation",
      "description": "Generate command references from the parser and verify task examples against the CLI.",
      "section": "Internals",
      "url": "https://libtmux.org/en/ts/latest/workspace/internals/documentation/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/internals/documentation.md",
      "headings": [
        {
          "id": "command-metadata",
          "level": 2,
          "text": "Command metadata"
        },
        {
          "id": "site-integration",
          "level": 2,
          "text": "Site integration"
        }
      ]
    },
    {
      "title": "TypeScript workspace builder examples",
      "description": "Build and inspect a workspace on a private tmux server with TypeScript.",
      "section": "Internals",
      "url": "https://libtmux.org/en/ts/latest/workspace/internals/examples/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/internals/examples.md",
      "headings": [
        {
          "id": "prepare-the-project",
          "level": 2,
          "text": "Prepare the project"
        },
        {
          "id": "build-and-remove-a-workspace",
          "level": 2,
          "text": "Build and remove a workspace"
        },
        {
          "id": "verification",
          "level": 2,
          "text": "Verification"
        }
      ]
    },
    {
      "title": "Use the TypeScript workspace builder",
      "description": "Apply a workspace, review planned changes, and handle partial failures.",
      "section": "Internals",
      "url": "https://libtmux.org/en/ts/latest/workspace/internals/guides/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/internals/guides.md",
      "headings": [
        {
          "id": "create-a-session",
          "level": 2,
          "text": "Create a session"
        },
        {
          "id": "read-configuration",
          "level": 2,
          "text": "Read configuration"
        },
        {
          "id": "review-changes-and-failures",
          "level": 2,
          "text": "Review changes and failures"
        }
      ]
    },
    {
      "title": "TypeScript workspace builder behavior",
      "description": "Internal configuration, application, and failure contracts of the TypeScript workspace builder.",
      "section": "Internals",
      "url": "https://libtmux.org/en/ts/latest/workspace/internals/topics/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/internals/topics.md",
      "headings": [
        {
          "id": "ownership-and-shared-objects",
          "level": 2,
          "text": "Ownership and shared objects"
        },
        {
          "id": "commands-and-options",
          "level": 2,
          "text": "Commands and options"
        },
        {
          "id": "plans-and-failures",
          "level": 2,
          "text": "Plans and failures"
        }
      ]
    },
    {
      "title": "TypeScript workspace builder API",
      "description": "Internal reference for the TypeScript workspace builder and configuration APIs.",
      "section": "Internals",
      "url": "https://libtmux.org/en/ts/latest/workspace/reference/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/reference.md",
      "headings": [
        {
          "id": "parse-and-validate",
          "level": 2,
          "text": "Parse and validate"
        },
        {
          "id": "plan-and-apply",
          "level": 2,
          "text": "Plan and apply"
        },
        {
          "id": "handle-failure",
          "level": 2,
          "text": "Handle failure"
        }
      ]
    },
    {
      "title": "Runtime and configuration support",
      "description": "Runtime requirements and configuration boundaries for the TypeScript workspace command.",
      "section": "Reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/reference/compatibility/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/reference/compatibility.md",
      "headings": [
        {
          "id": "runtime-and-execution",
          "level": 2,
          "text": "Runtime and execution"
        },
        {
          "id": "configuration-and-failure-handling",
          "level": 2,
          "text": "Configuration and failure handling"
        }
      ]
    },
    {
      "title": "Exit codes and errors",
      "description": "Use process status and structured error codes to handle workspace failures.",
      "section": "Reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/reference/exit-codes/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/reference/exit-codes.md",
      "headings": [
        {
          "id": "machine-errors",
          "level": 2,
          "text": "Machine errors"
        }
      ]
    },
    {
      "title": "Output formats",
      "description": "Read JSON results, NDJSON events and diagnostics from the workspace command.",
      "section": "Reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/reference/output/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/reference/output.md",
      "headings": [
        {
          "id": "choose-a-stream",
          "level": 2,
          "text": "Choose a stream"
        },
        {
          "id": "partial-work-and-interrupted-streams",
          "level": 2,
          "text": "Partial work and interrupted streams"
        },
        {
          "id": "child-output-and-logging",
          "level": 2,
          "text": "Child output and logging"
        },
        {
          "id": "human-output",
          "level": 2,
          "text": "Human output"
        }
      ]
    },
    {
      "title": "API glossary",
      "description": "Kinds, modifiers and package labels in the TypeScript API reference.",
      "section": "API reference",
      "url": "https://libtmux.org/en/ts/latest/reference/glossary/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/reference/glossary.md",
      "jsonUrl": "https://libtmux.org/en/ts/latest/reference/glossary.json",
      "headings": [
        {
          "id": "symbol-kinds",
          "level": 2,
          "text": "Symbol kinds"
        },
        {
          "id": "class",
          "level": 3,
          "text": "class"
        },
        {
          "id": "interface",
          "level": 3,
          "text": "interface"
        },
        {
          "id": "function",
          "level": 3,
          "text": "function"
        },
        {
          "id": "method",
          "level": 3,
          "text": "method"
        },
        {
          "id": "property",
          "level": 3,
          "text": "property"
        },
        {
          "id": "attribute",
          "level": 3,
          "text": "attribute"
        },
        {
          "id": "typealias",
          "level": 3,
          "text": "typealias"
        },
        {
          "id": "modifiers",
          "level": 2,
          "text": "Modifiers"
        },
        {
          "id": "static",
          "level": 3,
          "text": "static"
        },
        {
          "id": "async",
          "level": 3,
          "text": "async"
        },
        {
          "id": "readonly",
          "level": 3,
          "text": "readonly"
        },
        {
          "id": "overload",
          "level": 3,
          "text": "overload"
        },
        {
          "id": "private",
          "level": 3,
          "text": "private"
        },
        {
          "id": "package-context",
          "level": 2,
          "text": "Package context"
        },
        {
          "id": "package",
          "level": 3,
          "text": "package"
        }
      ]
    },
    {
      "title": "MCP API glossary",
      "description": "What MCP tool annotations tell clients about a tool.",
      "section": "API reference",
      "url": "https://libtmux.org/en/ts/latest/mcp/reference/glossary/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/reference/glossary.md",
      "jsonUrl": "https://libtmux.org/en/ts/latest/mcp/reference/glossary.json",
      "headings": [
        {
          "id": "mcp-tool-annotations",
          "level": 2,
          "text": "MCP tool annotations"
        },
        {
          "id": "readOnlyHint",
          "level": 3,
          "text": "readOnlyHint"
        },
        {
          "id": "destructiveHint",
          "level": 3,
          "text": "destructiveHint"
        },
        {
          "id": "idempotentHint",
          "level": 3,
          "text": "idempotentHint"
        },
        {
          "id": "openWorldHint",
          "level": 3,
          "text": "openWorldHint"
        },
        {
          "id": "title",
          "level": 3,
          "text": "title"
        },
        {
          "id": "symbol-kinds",
          "level": 2,
          "text": "Symbol kinds"
        },
        {
          "id": "class",
          "level": 3,
          "text": "class"
        },
        {
          "id": "interface",
          "level": 3,
          "text": "interface"
        },
        {
          "id": "function",
          "level": 3,
          "text": "function"
        },
        {
          "id": "method",
          "level": 3,
          "text": "method"
        },
        {
          "id": "property",
          "level": 3,
          "text": "property"
        },
        {
          "id": "attribute",
          "level": 3,
          "text": "attribute"
        },
        {
          "id": "typealias",
          "level": 3,
          "text": "typealias"
        },
        {
          "id": "modifiers",
          "level": 2,
          "text": "Modifiers"
        },
        {
          "id": "static",
          "level": 3,
          "text": "static"
        },
        {
          "id": "async",
          "level": 3,
          "text": "async"
        },
        {
          "id": "readonly",
          "level": 3,
          "text": "readonly"
        },
        {
          "id": "overload",
          "level": 3,
          "text": "overload"
        },
        {
          "id": "private",
          "level": 3,
          "text": "private"
        },
        {
          "id": "package-context",
          "level": 2,
          "text": "Package context"
        },
        {
          "id": "package",
          "level": 3,
          "text": "package"
        }
      ]
    },
    {
      "title": "API glossary",
      "description": "Kinds, modifiers and package labels in the TypeScript API reference.",
      "section": "API reference",
      "url": "https://libtmux.org/en/ts/latest/workspace/reference/glossary/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/workspace/reference/glossary.md",
      "jsonUrl": "https://libtmux.org/en/ts/latest/workspace/reference/glossary.json",
      "headings": [
        {
          "id": "symbol-kinds",
          "level": 2,
          "text": "Symbol kinds"
        },
        {
          "id": "class",
          "level": 3,
          "text": "class"
        },
        {
          "id": "interface",
          "level": 3,
          "text": "interface"
        },
        {
          "id": "function",
          "level": 3,
          "text": "function"
        },
        {
          "id": "method",
          "level": 3,
          "text": "method"
        },
        {
          "id": "property",
          "level": 3,
          "text": "property"
        },
        {
          "id": "attribute",
          "level": 3,
          "text": "attribute"
        },
        {
          "id": "typealias",
          "level": 3,
          "text": "typealias"
        },
        {
          "id": "modifiers",
          "level": 2,
          "text": "Modifiers"
        },
        {
          "id": "static",
          "level": 3,
          "text": "static"
        },
        {
          "id": "async",
          "level": 3,
          "text": "async"
        },
        {
          "id": "readonly",
          "level": 3,
          "text": "readonly"
        },
        {
          "id": "overload",
          "level": 3,
          "text": "overload"
        },
        {
          "id": "private",
          "level": 3,
          "text": "private"
        },
        {
          "id": "package-context",
          "level": 2,
          "text": "Package context"
        },
        {
          "id": "package",
          "level": 3,
          "text": "package"
        }
      ]
    },
    {
      "title": "API reference",
      "description": "188 declarations in the TypeScript reference index. The symbol index also includes their members.",
      "section": "API reference",
      "url": "https://libtmux.org/en/ts/latest/reference/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/reference/index.md",
      "symbolIndexUrl": "https://libtmux.org/en/ts/latest/reference/tree.json",
      "headings": [
        {
          "id": "section-server",
          "level": 2,
          "text": "Server"
        },
        {
          "id": "section-session",
          "level": 2,
          "text": "Session"
        },
        {
          "id": "section-window",
          "level": 2,
          "text": "Window"
        },
        {
          "id": "section-pane",
          "level": 2,
          "text": "Pane"
        },
        {
          "id": "section-client",
          "level": 2,
          "text": "Client"
        },
        {
          "id": "section-hooks",
          "level": 2,
          "text": "Hooks"
        },
        {
          "id": "section-options",
          "level": 2,
          "text": "Options"
        },
        {
          "id": "section-layout",
          "level": 2,
          "text": "Layout and geometry"
        },
        {
          "id": "section-environment",
          "level": 2,
          "text": "Environment"
        },
        {
          "id": "section-version",
          "level": 2,
          "text": "Versions"
        },
        {
          "id": "section-commands",
          "level": 2,
          "text": "Commands"
        },
        {
          "id": "section-formats",
          "level": 2,
          "text": "Formats"
        },
        {
          "id": "section-queries",
          "level": 2,
          "text": "Queries"
        },
        {
          "id": "section-queries-fields",
          "level": 2,
          "text": "Queries — Fields"
        },
        {
          "id": "section-snapshots",
          "level": 2,
          "text": "Snapshots"
        },
        {
          "id": "section-workspace-plan",
          "level": 2,
          "text": "Workspaces — Plans"
        },
        {
          "id": "section-workspace-session",
          "level": 2,
          "text": "Workspaces — Session"
        },
        {
          "id": "section-workspace-functions",
          "level": 2,
          "text": "Workspaces — Functions"
        },
        {
          "id": "section-requests",
          "level": 2,
          "text": "Requests"
        },
        {
          "id": "section-errors",
          "level": 2,
          "text": "Errors"
        },
        {
          "id": "section-errors-server",
          "level": 2,
          "text": "Errors — Server"
        },
        {
          "id": "section-constants",
          "level": 2,
          "text": "Constants and enums"
        },
        {
          "id": "section-constants-server",
          "level": 2,
          "text": "Constants and enums — Server"
        },
        {
          "id": "section-constants-session",
          "level": 2,
          "text": "Constants and enums — Session"
        },
        {
          "id": "section-constants-window",
          "level": 2,
          "text": "Constants and enums — Window"
        },
        {
          "id": "section-constants-pane",
          "level": 2,
          "text": "Constants and enums — Pane"
        },
        {
          "id": "section-constants-client",
          "level": 2,
          "text": "Constants and enums — Client"
        },
        {
          "id": "section-testing",
          "level": 2,
          "text": "Testing utilities"
        },
        {
          "id": "section-__unplaced",
          "level": 2,
          "text": "Other"
        }
      ],
      "symbols": [
        {
          "id": "server.Server",
          "name": "Server",
          "kind": "class",
          "qualifiedName": "server.Server",
          "namespace": "server",
          "url": "https://libtmux.org/en/ts/latest/reference/server-server/"
        },
        {
          "id": "types.ConnectedServer",
          "name": "ConnectedServer",
          "kind": "interface",
          "qualifiedName": "types.ConnectedServer",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-connectedserver/"
        },
        {
          "id": "common.DaemonEpoch",
          "name": "DaemonEpoch",
          "kind": "typealias",
          "qualifiedName": "common.DaemonEpoch",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-daemonepoch/"
        },
        {
          "id": "server.DaemonIdentity",
          "name": "DaemonIdentity",
          "kind": "typealias",
          "qualifiedName": "server.DaemonIdentity",
          "namespace": "server",
          "url": "https://libtmux.org/en/ts/latest/reference/server-daemonidentity/"
        },
        {
          "id": "session.Session",
          "name": "Session",
          "kind": "class",
          "qualifiedName": "session.Session",
          "namespace": "session",
          "url": "https://libtmux.org/en/ts/latest/reference/session-session/"
        },
        {
          "id": "selection.SessionWhere",
          "name": "SessionWhere",
          "kind": "interface",
          "qualifiedName": "selection.SessionWhere",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-sessionwhere/"
        },
        {
          "id": "common.SessionId",
          "name": "SessionId",
          "kind": "typealias",
          "qualifiedName": "common.SessionId",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-sessionid/"
        },
        {
          "id": "common.SessionIdInput",
          "name": "SessionIdInput",
          "kind": "typealias",
          "qualifiedName": "common.SessionIdInput",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-sessionidinput/"
        },
        {
          "id": "common.SessionRef",
          "name": "SessionRef",
          "kind": "typealias",
          "qualifiedName": "common.SessionRef",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-sessionref/"
        },
        {
          "id": "field_types.SessionAliasMap",
          "name": "SessionAliasMap",
          "kind": "typealias",
          "qualifiedName": "field_types.SessionAliasMap",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-sessionaliasmap/"
        },
        {
          "id": "session.SessionRow",
          "name": "SessionRow",
          "kind": "typealias",
          "qualifiedName": "session.SessionRow",
          "namespace": "session",
          "url": "https://libtmux.org/en/ts/latest/reference/session-sessionrow/"
        },
        {
          "id": "window.Window",
          "name": "Window",
          "kind": "class",
          "qualifiedName": "window.Window",
          "namespace": "window",
          "url": "https://libtmux.org/en/ts/latest/reference/window-window/"
        },
        {
          "id": "constants.WindowDirection",
          "name": "WindowDirection",
          "kind": "typealias",
          "qualifiedName": "constants.WindowDirection",
          "namespace": "constants",
          "url": "https://libtmux.org/en/ts/latest/reference/constants-windowdirection/"
        },
        {
          "id": "selection.WindowWhere",
          "name": "WindowWhere",
          "kind": "interface",
          "qualifiedName": "selection.WindowWhere",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-windowwhere/"
        },
        {
          "id": "builder.ApplyWindowContext",
          "name": "ApplyWindowContext",
          "kind": "interface",
          "qualifiedName": "builder.ApplyWindowContext",
          "namespace": "builder",
          "url": "https://libtmux.org/en/ts/latest/reference/builder-applywindowcontext/"
        },
        {
          "id": "common.WindowId",
          "name": "WindowId",
          "kind": "typealias",
          "qualifiedName": "common.WindowId",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-windowid/"
        },
        {
          "id": "common.WindowIdInput",
          "name": "WindowIdInput",
          "kind": "typealias",
          "qualifiedName": "common.WindowIdInput",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-windowidinput/"
        },
        {
          "id": "common.WindowRef",
          "name": "WindowRef",
          "kind": "typealias",
          "qualifiedName": "common.WindowRef",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-windowref/"
        },
        {
          "id": "field_types.WindowAliasMap",
          "name": "WindowAliasMap",
          "kind": "typealias",
          "qualifiedName": "field_types.WindowAliasMap",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-windowaliasmap/"
        },
        {
          "id": "types.WindowTarget",
          "name": "WindowTarget",
          "kind": "typealias",
          "qualifiedName": "types.WindowTarget",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-windowtarget/"
        },
        {
          "id": "window.WindowRow",
          "name": "WindowRow",
          "kind": "typealias",
          "qualifiedName": "window.WindowRow",
          "namespace": "window",
          "url": "https://libtmux.org/en/ts/latest/reference/window-windowrow/"
        },
        {
          "id": "pane.Pane",
          "name": "Pane",
          "kind": "class",
          "qualifiedName": "pane.Pane",
          "namespace": "pane",
          "url": "https://libtmux.org/en/ts/latest/reference/pane-pane/"
        },
        {
          "id": "constants.PaneDirection",
          "name": "PaneDirection",
          "kind": "typealias",
          "qualifiedName": "constants.PaneDirection",
          "namespace": "constants",
          "url": "https://libtmux.org/en/ts/latest/reference/constants-panedirection/"
        },
        {
          "id": "selection.PaneWhere",
          "name": "PaneWhere",
          "kind": "interface",
          "qualifiedName": "selection.PaneWhere",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-panewhere/"
        },
        {
          "id": "common.PaneId",
          "name": "PaneId",
          "kind": "typealias",
          "qualifiedName": "common.PaneId",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-paneid/"
        },
        {
          "id": "common.PaneIdInput",
          "name": "PaneIdInput",
          "kind": "typealias",
          "qualifiedName": "common.PaneIdInput",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-paneidinput/"
        },
        {
          "id": "common.PaneRef",
          "name": "PaneRef",
          "kind": "typealias",
          "qualifiedName": "common.PaneRef",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-paneref/"
        },
        {
          "id": "field_types.PaneAliasMap",
          "name": "PaneAliasMap",
          "kind": "typealias",
          "qualifiedName": "field_types.PaneAliasMap",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-panealiasmap/"
        },
        {
          "id": "pane.PaneRow",
          "name": "PaneRow",
          "kind": "typealias",
          "qualifiedName": "pane.PaneRow",
          "namespace": "pane",
          "url": "https://libtmux.org/en/ts/latest/reference/pane-panerow/"
        },
        {
          "id": "client.Client",
          "name": "Client",
          "kind": "class",
          "qualifiedName": "client.Client",
          "namespace": "client",
          "url": "https://libtmux.org/en/ts/latest/reference/client-client/"
        },
        {
          "id": "selection.ClientWhere",
          "name": "ClientWhere",
          "kind": "interface",
          "qualifiedName": "selection.ClientWhere",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-clientwhere/"
        },
        {
          "id": "client.ClientRow",
          "name": "ClientRow",
          "kind": "typealias",
          "qualifiedName": "client.ClientRow",
          "namespace": "client",
          "url": "https://libtmux.org/en/ts/latest/reference/client-clientrow/"
        },
        {
          "id": "field_types.ClientAliasMap",
          "name": "ClientAliasMap",
          "kind": "typealias",
          "qualifiedName": "field_types.ClientAliasMap",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-clientaliasmap/"
        },
        {
          "id": "types.HookScope",
          "name": "HookScope",
          "kind": "typealias",
          "qualifiedName": "types.HookScope",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-hookscope/"
        },
        {
          "id": "constants.OptionScope",
          "name": "OptionScope",
          "kind": "typealias",
          "qualifiedName": "constants.OptionScope",
          "namespace": "constants",
          "url": "https://libtmux.org/en/ts/latest/reference/constants-optionscope/"
        },
        {
          "id": "constants.DefaultOptionScope",
          "name": "DefaultOptionScope",
          "kind": "typealias",
          "qualifiedName": "constants.DefaultOptionScope",
          "namespace": "constants",
          "url": "https://libtmux.org/en/ts/latest/reference/constants-defaultoptionscope/"
        },
        {
          "id": "constants.ResizeAdjustmentDirection",
          "name": "ResizeAdjustmentDirection",
          "kind": "typealias",
          "qualifiedName": "constants.ResizeAdjustmentDirection",
          "namespace": "constants",
          "url": "https://libtmux.org/en/ts/latest/reference/constants-resizeadjustmentdirection/"
        },
        {
          "id": "types.SplitCellSize",
          "name": "SplitCellSize",
          "kind": "typealias",
          "qualifiedName": "types.SplitCellSize",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-splitcellsize/"
        },
        {
          "id": "types.SplitPercentage",
          "name": "SplitPercentage",
          "kind": "typealias",
          "qualifiedName": "types.SplitPercentage",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-splitpercentage/"
        },
        {
          "id": "types.SplitSize",
          "name": "SplitSize",
          "kind": "typealias",
          "qualifiedName": "types.SplitSize",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-splitsize-1i84/"
        },
        {
          "id": "types.isSplitSize",
          "name": "isSplitSize",
          "kind": "function",
          "qualifiedName": "types.isSplitSize",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-issplitsize/"
        },
        {
          "id": "types.splitSize",
          "name": "splitSize",
          "kind": "function",
          "qualifiedName": "types.splitSize",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-splitsize-1ync/"
        },
        {
          "id": "types.EnvironmentScope",
          "name": "EnvironmentScope",
          "kind": "typealias",
          "qualifiedName": "types.EnvironmentScope",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-environmentscope/"
        },
        {
          "id": "types.EnvironmentValue",
          "name": "EnvironmentValue",
          "kind": "typealias",
          "qualifiedName": "types.EnvironmentValue",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-environmentvalue/"
        },
        {
          "id": "types.TmuxVersion",
          "name": "TmuxVersion",
          "kind": "interface",
          "qualifiedName": "types.TmuxVersion",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxversion/"
        },
        {
          "id": "common.CommandOutcome",
          "name": "CommandOutcome",
          "kind": "interface",
          "qualifiedName": "common.CommandOutcome",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-commandoutcome/"
        },
        {
          "id": "common.ConnectionAlias",
          "name": "ConnectionAlias",
          "kind": "typealias",
          "qualifiedName": "common.ConnectionAlias",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-connectionalias/"
        },
        {
          "id": "engine.DaemonGuard",
          "name": "DaemonGuard",
          "kind": "typealias",
          "qualifiedName": "engine.DaemonGuard",
          "namespace": "engine",
          "url": "https://libtmux.org/en/ts/latest/reference/engine-daemonguard/"
        },
        {
          "id": "engine.TmuxCommand",
          "name": "TmuxCommand",
          "kind": "typealias",
          "qualifiedName": "engine.TmuxCommand",
          "namespace": "engine",
          "url": "https://libtmux.org/en/ts/latest/reference/engine-tmuxcommand/"
        },
        {
          "id": "engine.TmuxEngine",
          "name": "TmuxEngine",
          "kind": "typealias",
          "qualifiedName": "engine.TmuxEngine",
          "namespace": "engine",
          "url": "https://libtmux.org/en/ts/latest/reference/engine-tmuxengine/"
        },
        {
          "id": "types.FormatSubscription",
          "name": "FormatSubscription",
          "kind": "interface",
          "qualifiedName": "types.FormatSubscription",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-formatsubscription/"
        },
        {
          "id": "field_types.FormatScope",
          "name": "FormatScope",
          "kind": "typealias",
          "qualifiedName": "field_types.FormatScope",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-formatscope/"
        },
        {
          "id": "field_types.FormatFieldName",
          "name": "FormatFieldName",
          "kind": "typealias",
          "qualifiedName": "field_types.FormatFieldName",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-formatfieldname/"
        },
        {
          "id": "field_types.FormatValueType",
          "name": "FormatValueType",
          "kind": "typealias",
          "qualifiedName": "field_types.FormatValueType",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-formatvaluetype/"
        },
        {
          "id": "field_types.FormatIdentityType",
          "name": "FormatIdentityType",
          "kind": "typealias",
          "qualifiedName": "field_types.FormatIdentityType",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-formatidentitytype/"
        },
        {
          "id": "field_types.FormatValueTypes",
          "name": "FormatValueTypes",
          "kind": "typealias",
          "qualifiedName": "field_types.FormatValueTypes",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-formatvaluetypes/"
        },
        {
          "id": "field_types.RawFormatValue",
          "name": "RawFormatValue",
          "kind": "typealias",
          "qualifiedName": "field_types.RawFormatValue",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-rawformatvalue/"
        },
        {
          "id": "field_types.DecodedFormatValue",
          "name": "DecodedFormatValue",
          "kind": "typealias",
          "qualifiedName": "field_types.DecodedFormatValue",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-decodedformatvalue/"
        },
        {
          "id": "selection.RegexCriteriaData",
          "name": "RegexCriteriaData",
          "kind": "interface",
          "qualifiedName": "selection.RegexCriteriaData",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-regexcriteriadata/"
        },
        {
          "id": "selection.ModelKindOf",
          "name": "ModelKindOf",
          "kind": "typealias",
          "qualifiedName": "selection.ModelKindOf",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-modelkindof/"
        },
        {
          "id": "selection.StringFilter",
          "name": "StringFilter",
          "kind": "typealias",
          "qualifiedName": "selection.StringFilter",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-stringfilter/"
        },
        {
          "id": "selection.NonZeroDigit",
          "name": "NonZeroDigit",
          "kind": "typealias",
          "qualifiedName": "selection.NonZeroDigit",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-nonzerodigit/"
        },
        {
          "id": "selection.RawNumber",
          "name": "RawNumber",
          "kind": "typealias",
          "qualifiedName": "selection.RawNumber",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-rawnumber/"
        },
        {
          "id": "selection.RawFlag",
          "name": "RawFlag",
          "kind": "typealias",
          "qualifiedName": "selection.RawFlag",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-rawflag/"
        },
        {
          "id": "selection.ScalarCriteria",
          "name": "ScalarCriteria",
          "kind": "typealias",
          "qualifiedName": "selection.ScalarCriteria",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-scalarcriteria/"
        },
        {
          "id": "selection.ManyRelation",
          "name": "ManyRelation",
          "kind": "typealias",
          "qualifiedName": "selection.ManyRelation",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-manyrelation/"
        },
        {
          "id": "selection.OneRelation",
          "name": "OneRelation",
          "kind": "typealias",
          "qualifiedName": "selection.OneRelation",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-onerelation/"
        },
        {
          "id": "selection.WhereOf",
          "name": "WhereOf",
          "kind": "typealias",
          "qualifiedName": "selection.WhereOf",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-whereof/"
        },
        {
          "id": "selection.WhereDocumentV1",
          "name": "WhereDocumentV1",
          "kind": "typealias",
          "qualifiedName": "selection.WhereDocumentV1",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-wheredocumentv1/"
        },
        {
          "id": "selection.compileBoundedRegex",
          "name": "compileBoundedRegex",
          "kind": "function",
          "qualifiedName": "selection.compileBoundedRegex",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-compileboundedregex/"
        },
        {
          "id": "selection.decodeWhereDocument",
          "name": "decodeWhereDocument",
          "kind": "function",
          "qualifiedName": "selection.decodeWhereDocument",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-decodewheredocument/"
        },
        {
          "id": "selection.encodeWhereDocument",
          "name": "encodeWhereDocument",
          "kind": "function",
          "qualifiedName": "selection.encodeWhereDocument",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-encodewheredocument/"
        },
        {
          "id": "selection.parseLegacyWhere",
          "name": "parseLegacyWhere",
          "kind": "function",
          "qualifiedName": "selection.parseLegacyWhere",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-parselegacywhere/"
        },
        {
          "id": "field_types.AliasedFields",
          "name": "AliasedFields",
          "kind": "typealias",
          "qualifiedName": "field_types.AliasedFields",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-aliasedfields/"
        },
        {
          "id": "selection.StringFilterFields",
          "name": "StringFilterFields",
          "kind": "typealias",
          "qualifiedName": "selection.StringFilterFields",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-stringfilterfields/"
        },
        {
          "id": "types.ServerSnapshot",
          "name": "ServerSnapshot",
          "kind": "interface",
          "qualifiedName": "types.ServerSnapshot",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-serversnapshot/"
        },
        {
          "id": "pane.PanePlans",
          "name": "PanePlans",
          "kind": "interface",
          "qualifiedName": "pane.PanePlans",
          "namespace": "pane",
          "url": "https://libtmux.org/en/ts/latest/reference/pane-paneplans/"
        },
        {
          "id": "session.SessionPlans",
          "name": "SessionPlans",
          "kind": "interface",
          "qualifiedName": "session.SessionPlans",
          "namespace": "session",
          "url": "https://libtmux.org/en/ts/latest/reference/session-sessionplans/"
        },
        {
          "id": "types.PlannedOperation",
          "name": "PlannedOperation",
          "kind": "interface",
          "qualifiedName": "types.PlannedOperation",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-plannedoperation/"
        },
        {
          "id": "window.WindowPlans",
          "name": "WindowPlans",
          "kind": "interface",
          "qualifiedName": "window.WindowPlans",
          "namespace": "window",
          "url": "https://libtmux.org/en/ts/latest/reference/window-windowplans/"
        },
        {
          "id": "operation_options.normalizeApplyWorkspaceOptions",
          "name": "normalizeApplyWorkspaceOptions",
          "kind": "function",
          "qualifiedName": "operation_options.normalizeApplyWorkspaceOptions",
          "namespace": "operation_options",
          "url": "https://libtmux.org/en/ts/latest/reference/operation_options-normalizeapplyworkspaceoptions/"
        },
        {
          "id": "operation_options.normalizePlanWorkspaceOptions",
          "name": "normalizePlanWorkspaceOptions",
          "kind": "function",
          "qualifiedName": "operation_options.normalizePlanWorkspaceOptions",
          "namespace": "operation_options",
          "url": "https://libtmux.org/en/ts/latest/reference/operation_options-normalizeplanworkspaceoptions/"
        },
        {
          "id": "planning.planWorkspace",
          "name": "planWorkspace",
          "kind": "function",
          "qualifiedName": "planning.planWorkspace",
          "namespace": "planning",
          "url": "https://libtmux.org/en/ts/latest/reference/planning-planworkspace/"
        },
        {
          "id": "planning.runningSession",
          "name": "runningSession",
          "kind": "function",
          "qualifiedName": "planning.runningSession",
          "namespace": "planning",
          "url": "https://libtmux.org/en/ts/latest/reference/planning-runningsession/"
        },
        {
          "id": "planning.windowIsShared",
          "name": "windowIsShared",
          "kind": "function",
          "qualifiedName": "planning.windowIsShared",
          "namespace": "planning",
          "url": "https://libtmux.org/en/ts/latest/reference/planning-windowisshared/"
        },
        {
          "id": "engine.TmuxInvocationRequest",
          "name": "TmuxInvocationRequest",
          "kind": "typealias",
          "qualifiedName": "engine.TmuxInvocationRequest",
          "namespace": "engine",
          "url": "https://libtmux.org/en/ts/latest/reference/engine-tmuxinvocationrequest/"
        },
        {
          "id": "engine.GuardedTmuxRequest",
          "name": "GuardedTmuxRequest",
          "kind": "typealias",
          "qualifiedName": "engine.GuardedTmuxRequest",
          "namespace": "engine",
          "url": "https://libtmux.org/en/ts/latest/reference/engine-guardedtmuxrequest/"
        },
        {
          "id": "errors.ExceptionOptions",
          "name": "ExceptionOptions",
          "kind": "interface",
          "qualifiedName": "errors.ExceptionOptions",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-exceptionoptions/"
        },
        {
          "id": "errors.ObjectNotFoundOptions",
          "name": "ObjectNotFoundOptions",
          "kind": "interface",
          "qualifiedName": "errors.ObjectNotFoundOptions",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-objectnotfoundoptions/"
        },
        {
          "id": "errors.MultipleObjectsErrorOptions",
          "name": "MultipleObjectsErrorOptions",
          "kind": "interface",
          "qualifiedName": "errors.MultipleObjectsErrorOptions",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-multipleobjectserroroptions/"
        },
        {
          "id": "errors.TmuxCommandFailureOptions",
          "name": "TmuxCommandFailureOptions",
          "kind": "interface",
          "qualifiedName": "errors.TmuxCommandFailureOptions",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-tmuxcommandfailureoptions/"
        },
        {
          "id": "errors.LibTmuxError",
          "name": "LibTmuxError",
          "kind": "class",
          "qualifiedName": "errors.LibTmuxError",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-libtmuxerror/"
        },
        {
          "id": "errors.TmuxTransportError",
          "name": "TmuxTransportError",
          "kind": "class",
          "qualifiedName": "errors.TmuxTransportError",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-tmuxtransporterror/"
        },
        {
          "id": "errors.TmuxTransportErrorOptions",
          "name": "TmuxTransportErrorOptions",
          "kind": "interface",
          "qualifiedName": "errors.TmuxTransportErrorOptions",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-tmuxtransporterroroptions/"
        },
        {
          "id": "errors.ObjectNotFoundError",
          "name": "ObjectNotFoundError",
          "kind": "class",
          "qualifiedName": "errors.ObjectNotFoundError",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-objectnotfounderror/"
        },
        {
          "id": "errors.MultipleObjectsError",
          "name": "MultipleObjectsError",
          "kind": "class",
          "qualifiedName": "errors.MultipleObjectsError",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-multipleobjectserror/"
        },
        {
          "id": "errors.TmuxObjectNotFoundError",
          "name": "TmuxObjectNotFoundError",
          "kind": "class",
          "qualifiedName": "errors.TmuxObjectNotFoundError",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-tmuxobjectnotfounderror/"
        },
        {
          "id": "errors.VersionTooLowError",
          "name": "VersionTooLowError",
          "kind": "class",
          "qualifiedName": "errors.VersionTooLowError",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-versiontoolowerror/"
        },
        {
          "id": "errors.WaitTimeoutError",
          "name": "WaitTimeoutError",
          "kind": "class",
          "qualifiedName": "errors.WaitTimeoutError",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-waittimeouterror/"
        },
        {
          "id": "errors.NoMatchError",
          "name": "NoMatchError",
          "kind": "class",
          "qualifiedName": "errors.NoMatchError",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-nomatcherror/"
        },
        {
          "id": "errors.MultipleMatchesError",
          "name": "MultipleMatchesError",
          "kind": "class",
          "qualifiedName": "errors.MultipleMatchesError",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-multiplematcheserror/"
        },
        {
          "id": "errors.QueryValidationError",
          "name": "QueryValidationError",
          "kind": "class",
          "qualifiedName": "errors.QueryValidationError",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-queryvalidationerror/"
        },
        {
          "id": "errors.TmuxCommandError",
          "name": "TmuxCommandError",
          "kind": "class",
          "qualifiedName": "errors.TmuxCommandError",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-tmuxcommanderror/"
        },
        {
          "id": "errors.Query",
          "name": "Query",
          "kind": "typealias",
          "qualifiedName": "errors.Query",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-query/"
        },
        {
          "id": "errors.LibTmuxErrorCode",
          "name": "LibTmuxErrorCode",
          "kind": "typealias",
          "qualifiedName": "errors.LibTmuxErrorCode",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-libtmuxerrorcode/"
        },
        {
          "id": "errors.TmuxTransportErrorKind",
          "name": "TmuxTransportErrorKind",
          "kind": "typealias",
          "qualifiedName": "errors.TmuxTransportErrorKind",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-tmuxtransporterrorkind/"
        },
        {
          "id": "errors.QueryValidationErrorCode",
          "name": "QueryValidationErrorCode",
          "kind": "typealias",
          "qualifiedName": "errors.QueryValidationErrorCode",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-queryvalidationerrorcode/"
        },
        {
          "id": "errors.QueryValidationReason",
          "name": "QueryValidationReason",
          "kind": "typealias",
          "qualifiedName": "errors.QueryValidationReason",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-queryvalidationreason/"
        },
        {
          "id": "errors.TmuxServerRestartedError",
          "name": "TmuxServerRestartedError",
          "kind": "class",
          "qualifiedName": "errors.TmuxServerRestartedError",
          "namespace": "errors",
          "url": "https://libtmux.org/en/ts/latest/reference/errors-tmuxserverrestartederror/"
        },
        {
          "id": "common.CommandOptions",
          "name": "CommandOptions",
          "kind": "interface",
          "qualifiedName": "common.CommandOptions",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-commandoptions/"
        },
        {
          "id": "common.CommandResult",
          "name": "CommandResult",
          "kind": "interface",
          "qualifiedName": "common.CommandResult",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-commandresult/"
        },
        {
          "id": "types.SnapshotOptions",
          "name": "SnapshotOptions",
          "kind": "interface",
          "qualifiedName": "types.SnapshotOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-snapshotoptions/"
        },
        {
          "id": "types.SplitOptions",
          "name": "SplitOptions",
          "kind": "interface",
          "qualifiedName": "types.SplitOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-splitoptions/"
        },
        {
          "id": "types.SendKeysOptions",
          "name": "SendKeysOptions",
          "kind": "interface",
          "qualifiedName": "types.SendKeysOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-sendkeysoptions/"
        },
        {
          "id": "types.CmdOptions",
          "name": "CmdOptions",
          "kind": "interface",
          "qualifiedName": "types.CmdOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-cmdoptions/"
        },
        {
          "id": "types.JoinOptions",
          "name": "JoinOptions",
          "kind": "interface",
          "qualifiedName": "types.JoinOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-joinoptions/"
        },
        {
          "id": "types.SetOptionOptions",
          "name": "SetOptionOptions",
          "kind": "interface",
          "qualifiedName": "types.SetOptionOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-setoptionoptions/"
        },
        {
          "id": "types.CaptureOptions",
          "name": "CaptureOptions",
          "kind": "interface",
          "qualifiedName": "types.CaptureOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-captureoptions/"
        },
        {
          "id": "types.SaveBufferOptions",
          "name": "SaveBufferOptions",
          "kind": "interface",
          "qualifiedName": "types.SaveBufferOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-savebufferoptions/"
        },
        {
          "id": "types.SetHookOptions",
          "name": "SetHookOptions",
          "kind": "interface",
          "qualifiedName": "types.SetHookOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-sethookoptions/"
        },
        {
          "id": "types.ResizeOptions",
          "name": "ResizeOptions",
          "kind": "interface",
          "qualifiedName": "types.ResizeOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-resizeoptions/"
        },
        {
          "id": "types.RunShellOptions",
          "name": "RunShellOptions",
          "kind": "interface",
          "qualifiedName": "types.RunShellOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-runshelloptions/"
        },
        {
          "id": "types.IfShellOptions",
          "name": "IfShellOptions",
          "kind": "interface",
          "qualifiedName": "types.IfShellOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-ifshelloptions/"
        },
        {
          "id": "types.RespawnOptions",
          "name": "RespawnOptions",
          "kind": "interface",
          "qualifiedName": "types.RespawnOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-respawnoptions/"
        },
        {
          "id": "types.PopupOptions",
          "name": "PopupOptions",
          "kind": "interface",
          "qualifiedName": "types.PopupOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-popupoptions/"
        },
        {
          "id": "types.ChooseTreeOptions",
          "name": "ChooseTreeOptions",
          "kind": "interface",
          "qualifiedName": "types.ChooseTreeOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-choosetreeoptions/"
        },
        {
          "id": "types.SetEnvironmentOptions",
          "name": "SetEnvironmentOptions",
          "kind": "interface",
          "qualifiedName": "types.SetEnvironmentOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-setenvironmentoptions/"
        },
        {
          "id": "types.TmuxOutputEvent",
          "name": "TmuxOutputEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxOutputEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxoutputevent/"
        },
        {
          "id": "types.TmuxSubscriptionEvent",
          "name": "TmuxSubscriptionEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxSubscriptionEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxsubscriptionevent/"
        },
        {
          "id": "types.TmuxLayoutChangeEvent",
          "name": "TmuxLayoutChangeEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxLayoutChangeEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxlayoutchangeevent/"
        },
        {
          "id": "types.TmuxPasteBufferEvent",
          "name": "TmuxPasteBufferEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxPasteBufferEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxpastebufferevent/"
        },
        {
          "id": "types.TmuxMessageEvent",
          "name": "TmuxMessageEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxMessageEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxmessageevent/"
        },
        {
          "id": "types.TmuxExitEvent",
          "name": "TmuxExitEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxExitEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxexitevent/"
        },
        {
          "id": "types.TmuxUnknownEvent",
          "name": "TmuxUnknownEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxUnknownEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxunknownevent/"
        },
        {
          "id": "types.TmuxReconnectedEvent",
          "name": "TmuxReconnectedEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxReconnectedEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxreconnectedevent/"
        },
        {
          "id": "types.TmuxReconnectingEvent",
          "name": "TmuxReconnectingEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxReconnectingEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxreconnectingevent/"
        },
        {
          "id": "types.ConnectionOptions",
          "name": "ConnectionOptions",
          "kind": "interface",
          "qualifiedName": "types.ConnectionOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-connectionoptions/"
        },
        {
          "id": "types.WaitForOptions",
          "name": "WaitForOptions",
          "kind": "interface",
          "qualifiedName": "types.WaitForOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-waitforoptions/"
        },
        {
          "id": "types.WatchOptions",
          "name": "WatchOptions",
          "kind": "interface",
          "qualifiedName": "types.WatchOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-watchoptions/"
        },
        {
          "id": "common.TmuxIdKind",
          "name": "TmuxIdKind",
          "kind": "typealias",
          "qualifiedName": "common.TmuxIdKind",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-tmuxidkind/"
        },
        {
          "id": "engine.TmuxCommandResult",
          "name": "TmuxCommandResult",
          "kind": "typealias",
          "qualifiedName": "engine.TmuxCommandResult",
          "namespace": "engine",
          "url": "https://libtmux.org/en/ts/latest/reference/engine-tmuxcommandresult/"
        },
        {
          "id": "selection.WhereForKind",
          "name": "WhereForKind",
          "kind": "typealias",
          "qualifiedName": "selection.WhereForKind",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-whereforkind/"
        },
        {
          "id": "types.TmuxEvent",
          "name": "TmuxEvent",
          "kind": "typealias",
          "qualifiedName": "types.TmuxEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxevent/"
        },
        {
          "id": "types.ConnectOptions",
          "name": "ConnectOptions",
          "kind": "typealias",
          "qualifiedName": "types.ConnectOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-connectoptions/"
        },
        {
          "id": "server.ServerOptions",
          "name": "ServerOptions",
          "kind": "interface",
          "qualifiedName": "server.ServerOptions",
          "namespace": "server",
          "url": "https://libtmux.org/en/ts/latest/reference/server-serveroptions/"
        },
        {
          "id": "types.NewSessionOptions",
          "name": "NewSessionOptions",
          "kind": "interface",
          "qualifiedName": "types.NewSessionOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-newsessionoptions/"
        },
        {
          "id": "types.TmuxSessionEvent",
          "name": "TmuxSessionEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxSessionEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxsessionevent/"
        },
        {
          "id": "types.TmuxSessionsChangedEvent",
          "name": "TmuxSessionsChangedEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxSessionsChangedEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxsessionschangedevent/"
        },
        {
          "id": "types.TmuxSessionWindowChangedEvent",
          "name": "TmuxSessionWindowChangedEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxSessionWindowChangedEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxsessionwindowchangedevent/"
        },
        {
          "id": "types.TmuxClientSessionChangedEvent",
          "name": "TmuxClientSessionChangedEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxClientSessionChangedEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxclientsessionchangedevent/"
        },
        {
          "id": "types.NewWindowOptions",
          "name": "NewWindowOptions",
          "kind": "interface",
          "qualifiedName": "types.NewWindowOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-newwindowoptions/"
        },
        {
          "id": "types.MoveWindowOptions",
          "name": "MoveWindowOptions",
          "kind": "interface",
          "qualifiedName": "types.MoveWindowOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-movewindowoptions/"
        },
        {
          "id": "types.ResizeWindowOptions",
          "name": "ResizeWindowOptions",
          "kind": "interface",
          "qualifiedName": "types.ResizeWindowOptions",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-resizewindowoptions/"
        },
        {
          "id": "types.TmuxWindowLifecycleEvent",
          "name": "TmuxWindowLifecycleEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxWindowLifecycleEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxwindowlifecycleevent/"
        },
        {
          "id": "types.TmuxWindowRenamedEvent",
          "name": "TmuxWindowRenamedEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxWindowRenamedEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxwindowrenamedevent/"
        },
        {
          "id": "types.TmuxWindowPaneChangedEvent",
          "name": "TmuxWindowPaneChangedEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxWindowPaneChangedEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxwindowpanechangedevent/"
        },
        {
          "id": "types.TmuxPaneModeChangedEvent",
          "name": "TmuxPaneModeChangedEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxPaneModeChangedEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxpanemodechangedevent/"
        },
        {
          "id": "types.TmuxPaneFlowEvent",
          "name": "TmuxPaneFlowEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxPaneFlowEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxpaneflowevent/"
        },
        {
          "id": "types.TmuxClientDetachedEvent",
          "name": "TmuxClientDetachedEvent",
          "kind": "interface",
          "qualifiedName": "types.TmuxClientDetachedEvent",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxclientdetachedevent/"
        },
        {
          "id": "testing.RecordedCall",
          "name": "RecordedCall",
          "kind": "interface",
          "qualifiedName": "testing.RecordedCall",
          "namespace": "testing",
          "url": "https://libtmux.org/en/ts/latest/reference/testing-recordedcall/"
        },
        {
          "id": "testing.RecordedAnswer",
          "name": "RecordedAnswer",
          "kind": "interface",
          "qualifiedName": "testing.RecordedAnswer",
          "namespace": "testing",
          "url": "https://libtmux.org/en/ts/latest/reference/testing-recordedanswer/"
        },
        {
          "id": "testing.RecordedError",
          "name": "RecordedError",
          "kind": "interface",
          "qualifiedName": "testing.RecordedError",
          "namespace": "testing",
          "url": "https://libtmux.org/en/ts/latest/reference/testing-recordederror/"
        },
        {
          "id": "testing.RecordedFailure",
          "name": "RecordedFailure",
          "kind": "interface",
          "qualifiedName": "testing.RecordedFailure",
          "namespace": "testing",
          "url": "https://libtmux.org/en/ts/latest/reference/testing-recordedfailure/"
        },
        {
          "id": "testing.TmuxRecording",
          "name": "TmuxRecording",
          "kind": "interface",
          "qualifiedName": "testing.TmuxRecording",
          "namespace": "testing",
          "url": "https://libtmux.org/en/ts/latest/reference/testing-tmuxrecording/"
        },
        {
          "id": "testing.RecordedInvocation",
          "name": "RecordedInvocation",
          "kind": "typealias",
          "qualifiedName": "testing.RecordedInvocation",
          "namespace": "testing",
          "url": "https://libtmux.org/en/ts/latest/reference/testing-recordedinvocation/"
        },
        {
          "id": "testing.recordInvocations",
          "name": "recordInvocations",
          "kind": "function",
          "qualifiedName": "testing.recordInvocations",
          "namespace": "testing",
          "url": "https://libtmux.org/en/ts/latest/reference/testing-recordinvocations/"
        },
        {
          "id": "testing.replayInvocations",
          "name": "replayInvocations",
          "kind": "function",
          "qualifiedName": "testing.replayInvocations",
          "namespace": "testing",
          "url": "https://libtmux.org/en/ts/latest/reference/testing-replayinvocations/"
        },
        {
          "id": "common.TmuxInvocationReport",
          "name": "TmuxInvocationReport",
          "kind": "interface",
          "qualifiedName": "common.TmuxInvocationReport",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-tmuxinvocationreport/"
        },
        {
          "id": "common.LogicalRefBase",
          "name": "LogicalRefBase",
          "kind": "interface",
          "qualifiedName": "common.LogicalRefBase",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-logicalrefbase/"
        },
        {
          "id": "selection.Selection",
          "name": "Selection",
          "kind": "interface",
          "qualifiedName": "selection.Selection",
          "namespace": "selection",
          "url": "https://libtmux.org/en/ts/latest/reference/selection-selection/"
        },
        {
          "id": "types.MenuEntry",
          "name": "MenuEntry",
          "kind": "interface",
          "qualifiedName": "types.MenuEntry",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-menuentry/"
        },
        {
          "id": "types.AbortLike",
          "name": "AbortLike",
          "kind": "interface",
          "qualifiedName": "types.AbortLike",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-abortlike/"
        },
        {
          "id": "types.TmuxEventStream",
          "name": "TmuxEventStream",
          "kind": "interface",
          "qualifiedName": "types.TmuxEventStream",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-tmuxeventstream/"
        },
        {
          "id": "common.TmuxId",
          "name": "TmuxId",
          "kind": "typealias",
          "qualifiedName": "common.TmuxId",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-tmuxid/"
        },
        {
          "id": "common.TmuxIdInput",
          "name": "TmuxIdInput",
          "kind": "typealias",
          "qualifiedName": "common.TmuxIdInput",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-tmuxidinput/"
        },
        {
          "id": "common.SafeInteger",
          "name": "SafeInteger",
          "kind": "typealias",
          "qualifiedName": "common.SafeInteger",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-safeinteger-1ul1/"
        },
        {
          "id": "common.DeliveryStatus",
          "name": "DeliveryStatus",
          "kind": "typealias",
          "qualifiedName": "common.DeliveryStatus",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-deliverystatus/"
        },
        {
          "id": "common.OperationStatus",
          "name": "OperationStatus",
          "kind": "typealias",
          "qualifiedName": "common.OperationStatus",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-operationstatus/"
        },
        {
          "id": "common.TmuxInvocationObserver",
          "name": "TmuxInvocationObserver",
          "kind": "typealias",
          "qualifiedName": "common.TmuxInvocationObserver",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-tmuxinvocationobserver/"
        },
        {
          "id": "common.LogicalRef",
          "name": "LogicalRef",
          "kind": "typealias",
          "qualifiedName": "common.LogicalRef",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-logicalref/"
        },
        {
          "id": "field_types.RowWithIdentities",
          "name": "RowWithIdentities",
          "kind": "typealias",
          "qualifiedName": "field_types.RowWithIdentities",
          "namespace": "field_types",
          "url": "https://libtmux.org/en/ts/latest/reference/field_types-rowwithidentities/"
        },
        {
          "id": "types.Digit",
          "name": "Digit",
          "kind": "typealias",
          "qualifiedName": "types.Digit",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-digit/"
        },
        {
          "id": "types.NonZeroDigit",
          "name": "NonZeroDigit",
          "kind": "typealias",
          "qualifiedName": "types.NonZeroDigit",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-nonzerodigit/"
        },
        {
          "id": "types.ZeroToNinetyNine",
          "name": "ZeroToNinetyNine",
          "kind": "typealias",
          "qualifiedName": "types.ZeroToNinetyNine",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-zerotoninetynine/"
        },
        {
          "id": "types.MenuItem",
          "name": "MenuItem",
          "kind": "typealias",
          "qualifiedName": "types.MenuItem",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-menuitem/"
        },
        {
          "id": "common.isSafeInteger",
          "name": "isSafeInteger",
          "kind": "function",
          "qualifiedName": "common.isSafeInteger",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-issafeinteger/"
        },
        {
          "id": "types.isTmuxName",
          "name": "isTmuxName",
          "kind": "function",
          "qualifiedName": "types.isTmuxName",
          "namespace": "types",
          "url": "https://libtmux.org/en/ts/latest/reference/types-istmuxname/"
        },
        {
          "id": "common.safeInteger",
          "name": "safeInteger",
          "kind": "function",
          "qualifiedName": "common.safeInteger",
          "namespace": "common",
          "url": "https://libtmux.org/en/ts/latest/reference/common-safeinteger-solv/"
        }
      ]
    },
    {
      "title": "Tools",
      "description": "Browse the operations the server exposes to MCP clients. Use the registered name and arguments when sending a tools/call request.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools.md",
      "headings": [
        {
          "id": "tools-server",
          "level": 2,
          "text": "Server3 tools"
        },
        {
          "id": "tools-session",
          "level": 2,
          "text": "Session5 tools"
        },
        {
          "id": "tools-window",
          "level": 2,
          "text": "Window9 tools"
        },
        {
          "id": "tools-pane",
          "level": 2,
          "text": "Pane18 tools"
        },
        {
          "id": "tools-hooks",
          "level": 2,
          "text": "Hooks1 tool"
        },
        {
          "id": "tools-options-and-environment",
          "level": 2,
          "text": "Options and environment4 tools"
        },
        {
          "id": "tools-coordination",
          "level": 2,
          "text": "Coordination2 tools"
        },
        {
          "id": "tools-other-tools",
          "level": 2,
          "text": "Other tools3 tools"
        },
        {
          "id": "resources",
          "level": 2,
          "text": "rResources"
        },
        {
          "id": "resource-templates",
          "level": 2,
          "text": "RResource templates"
        },
        {
          "id": "prompts",
          "level": 2,
          "text": "PPrompts"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b"
      }
    },
    {
      "title": "call_read_tools_batch",
      "description": "Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Invoke a serial batch of at most 16 inspect tools. One client approval covers every nested name; inner tools receive no separate approval. The structured result is capped below 1,000,000 bytes, preserves every operation row, and reports explicit stop and truncation accounting.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/call_read_tools_batch/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/call_read_tools_batch.md",
      "headings": [
        {
          "id": "mcp.tool.call_read_tools_batch.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.call_read_tools_batch.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.call_read_tools_batch.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.call_read_tools_batch.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 618
      }
    },
    {
      "title": "capture_pane",
      "description": "Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. The text a pane is showing, or its scrollback. Negative start reaches back into history (-100 is a hundred lines above the top of the screen). For repeated reads of the same pane use capture_since instead — it returns only what is new.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/capture_pane/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/capture_pane.md",
      "headings": [
        {
          "id": "mcp.tool.capture_pane.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.capture_pane.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.capture_pane.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.capture_pane.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/capture.ts",
        "line": 27
      }
    },
    {
      "title": "capture_since",
      "description": "Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. What a pane has printed since you last looked. Call it once with no cursor to start watching and get the current screen; keep the cursor it returns and pass it back each time after that, and you are charged only for what is new. This is the tool for watching a build, a log, or a test run — not a capture_pane loop. Set waitMs to block until something arrives rather than returning empty. Reports the stream in the order it was written, so a program that draws by moving the cursor (a progress bar, a full-screen TUI) reads jumbled here — capture_pane renders those.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/capture_since/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/capture_since.md",
      "headings": [
        {
          "id": "mcp.tool.capture_since.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.capture_since.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.capture_since.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.capture_since.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/capture.ts",
        "line": 132
      }
    },
    {
      "title": "clear_pane_scrollback",
      "description": "Delete tmux state; accepts no command payload. Discard the retained scrollback history for one pane.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/clear_pane_scrollback/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/clear_pane_scrollback.md",
      "headings": [
        {
          "id": "mcp.tool.clear_pane_scrollback.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.clear_pane_scrollback.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.clear_pane_scrollback.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.clear_pane_scrollback.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 575
      }
    },
    {
      "title": "create_session",
      "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.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/create_session/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/create_session.md",
      "headings": [
        {
          "id": "mcp.tool.create_session.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.create_session.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.create_session.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.create_session.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/lifecycle.ts",
        "line": 68
      }
    },
    {
      "title": "create_window",
      "description": "Start a pane's configured process; accepts no command payload. Add a window to a session and return it with its pane.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/create_window/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/create_window.md",
      "headings": [
        {
          "id": "mcp.tool.create_window.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.create_window.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.create_window.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.create_window.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/lifecycle.ts",
        "line": 147
      }
    },
    {
      "title": "find_pane_by_position",
      "description": "Inspect tmux metadata; accepts no client-supplied executable input. Find the pane occupying a named corner of a window.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/find_pane_by_position/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/find_pane_by_position.md",
      "headings": [
        {
          "id": "mcp.tool.find_pane_by_position.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.find_pane_by_position.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.find_pane_by_position.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.find_pane_by_position.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 233
      }
    },
    {
      "title": "get_pane_info",
      "description": "Inspect tmux metadata; accepts no client-supplied executable input. One pane's metadata: what it runs, where, how big, and whether it is yours or watched. Does not read its contents — capture_pane does that.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/get_pane_info/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/get_pane_info.md",
      "headings": [
        {
          "id": "mcp.tool.get_pane_info.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.get_pane_info.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.get_pane_info.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.get_pane_info.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/discovery.ts",
        "line": 196
      }
    },
    {
      "title": "get_server_info",
      "description": "Inspect tmux metadata; accepts no client-supplied executable input. The tmux server this process drives: its socket, version, daemon pid, and totals. Check the version before using a feature that needs a recent tmux.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/get_server_info/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/get_server_info.md",
      "headings": [
        {
          "id": "mcp.tool.get_server_info.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.get_server_info.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.get_server_info.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.get_server_info.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/discovery.ts",
        "line": 216
      }
    },
    {
      "title": "get_session_info",
      "description": "Inspect tmux metadata; accepts no client-supplied executable input. Return metadata for one session without listing every session.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/get_session_info/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/get_session_info.md",
      "headings": [
        {
          "id": "mcp.tool.get_session_info.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.get_session_info.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.get_session_info.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.get_session_info.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 190
      }
    },
    {
      "title": "get_tmux_variables",
      "description": "Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration. Resolve validated tmux variable names without accepting raw format syntax.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/get_tmux_variables/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/get_tmux_variables.md",
      "headings": [
        {
          "id": "mcp.tool.get_tmux_variables.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.get_tmux_variables.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.get_tmux_variables.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.get_tmux_variables.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 263
      }
    },
    {
      "title": "get_window_info",
      "description": "Inspect tmux metadata; accepts no client-supplied executable input. Return metadata and placements for one window.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/get_window_info/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/get_window_info.md",
      "headings": [
        {
          "id": "mcp.tool.get_window_info.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.get_window_info.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.get_window_info.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.get_window_info.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 216
      }
    },
    {
      "title": "kill_pane",
      "description": "Delete tmux state; accepts no command payload. Close a pane and the process in it. Refuses the pane this server runs in and every pane a person is watching; force confirms only this server's exact caller pane.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/kill_pane/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/kill_pane.md",
      "headings": [
        {
          "id": "mcp.tool.kill_pane.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.kill_pane.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.kill_pane.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.kill_pane.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/lifecycle.ts",
        "line": 323
      }
    },
    {
      "title": "kill_session",
      "description": "Delete tmux state; accepts no command payload. Remove a session. Windows and panes shared with another session remain available there.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/kill_session/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/kill_session.md",
      "headings": [
        {
          "id": "mcp.tool.kill_session.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.kill_session.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.kill_session.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.kill_session.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/lifecycle.ts",
        "line": 386
      }
    },
    {
      "title": "kill_window",
      "description": "Delete tmux state; accepts no command payload. Close a window and every pane in it.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/kill_window/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/kill_window.md",
      "headings": [
        {
          "id": "mcp.tool.kill_window.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.kill_window.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.kill_window.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.kill_window.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/lifecycle.ts",
        "line": 352
      }
    },
    {
      "title": "list_panes",
      "description": "Inspect tmux metadata; accepts no client-supplied executable input. Panes on this server, with the command each is running and its directory. Marks the pane this server runs in (isCallerPane) and panes a person is watching (isAttended). Metadata only — search_panes reads their contents.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/list_panes/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/list_panes.md",
      "headings": [
        {
          "id": "mcp.tool.list_panes.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.list_panes.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.list_panes.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.list_panes.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/discovery.ts",
        "line": 150
      }
    },
    {
      "title": "list_sessions",
      "description": "Inspect tmux metadata; accepts no client-supplied executable input. Every session on this server with its id, name, window count, and whether anyone is attached. Metadata only — for what a pane shows, use capture_pane or search_panes.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/list_sessions/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/list_sessions.md",
      "headings": [
        {
          "id": "mcp.tool.list_sessions.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.list_sessions.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.list_sessions.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.list_sessions.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/discovery.ts",
        "line": 60
      }
    },
    {
      "title": "list_windows",
      "description": "Inspect tmux metadata; accepts no client-supplied executable input. Windows on this server, optionally restricted to one session by id or name.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/list_windows/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/list_windows.md",
      "headings": [
        {
          "id": "mcp.tool.list_windows.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.list_windows.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.list_windows.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.list_windows.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/discovery.ts",
        "line": 105
      }
    },
    {
      "title": "move_window",
      "description": "Change tmux state; no client-supplied executable input. Move a window to another index, or into another session.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/move_window/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/move_window.md",
      "headings": [
        {
          "id": "mcp.tool.move_window.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.move_window.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.move_window.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.move_window.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/layout.ts",
        "line": 268
      }
    },
    {
      "title": "paste_text",
      "description": "Send input to a pane's program; a shell that receives it runs it with your user's permissions. Put text into a pane without tmux interpreting any of it as key names. Use for content — a password, a code block, anything with characters a key parser would claim.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/paste_text/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/paste_text.md",
      "headings": [
        {
          "id": "mcp.tool.paste_text.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.paste_text.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.paste_text.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.paste_text.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/input.ts",
        "line": 189
      }
    },
    {
      "title": "rename_session",
      "description": "Change tmux state; no client-supplied executable input. Rename a session. Its id does not change, so targets by id keep working.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/rename_session/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/rename_session.md",
      "headings": [
        {
          "id": "mcp.tool.rename_session.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.rename_session.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.rename_session.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.rename_session.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/lifecycle.ts",
        "line": 234
      }
    },
    {
      "title": "rename_window",
      "description": "Change tmux state; no client-supplied executable input. Rename a window. Its id does not change.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/rename_window/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/rename_window.md",
      "headings": [
        {
          "id": "mcp.tool.rename_window.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.rename_window.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.rename_window.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.rename_window.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/lifecycle.ts",
        "line": 260
      }
    },
    {
      "title": "resize_pane",
      "description": "Change tmux state; no client-supplied executable input. Resize a pane, either to a size or by an amount in a direction. Give width/height for an absolute size, or direction with amount for a nudge.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/resize_pane/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/resize_pane.md",
      "headings": [
        {
          "id": "mcp.tool.resize_pane.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.resize_pane.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.resize_pane.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.resize_pane.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/layout.ts",
        "line": 85
      }
    },
    {
      "title": "resize_window",
      "description": "Change tmux state; no client-supplied executable input. Set a window's size in cells. A detached window is whatever size tmux guessed, and a program that formats to its terminal width truncates to that at the source — no capture option recovers those columns, because they were never printed. resize_pane only redistributes space inside a window and cannot grow one. A client attached to the window will overwrite this when it next changes; window-size manual makes a size of your own stick.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/resize_window/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/resize_window.md",
      "headings": [
        {
          "id": "mcp.tool.resize_window.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.resize_window.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.resize_window.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.resize_window.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/layout.ts",
        "line": 311
      }
    },
    {
      "title": "respawn_pane",
      "description": "Start a pane's configured process; accepts no command payload. Restart a pane's command in place, keeping the pane and its id. Use to recover a pane whose process died, rather than killing and re-splitting.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/respawn_pane/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/respawn_pane.md",
      "headings": [
        {
          "id": "mcp.tool.respawn_pane.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.respawn_pane.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.respawn_pane.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.respawn_pane.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/lifecycle.ts",
        "line": 282
      }
    },
    {
      "title": "run_shell_command",
      "description": "Run a shell command in a pane with your user's permissions. Run a shell command in a pane, wait for it to finish, and report its exit status and output. Prefer this over send_keys plus capture_pane: it frames the command so a pane's echo of what you typed can never be mistaken for what the command printed, and it knows when the command actually ended rather than guessing from the screen. The command runs in a subshell, so cd and export do not persist to a later call. A pane is effectively single-writer: this server reserves it until the command settles, but another process with the same tmux socket can still write into it.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/run_shell_command/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/run_shell_command.md",
      "headings": [
        {
          "id": "mcp.tool.run_shell_command.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.run_shell_command.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.run_shell_command.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.run_shell_command.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/input.ts",
        "line": 304
      }
    },
    {
      "title": "search_panes",
      "description": "Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Find which panes are showing something. Searches pane contents, not their names — use list_panes for metadata. Returns the matching lines with their pane, so you can target one without capturing them all. Literal matching stops at one 256 KiB aggregate UTF-8 byte budget.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/search_panes/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/search_panes.md",
      "headings": [
        {
          "id": "mcp.tool.search_panes.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.search_panes.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.search_panes.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.search_panes.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/search.ts",
        "line": 78
      }
    },
    {
      "title": "select_layout",
      "description": "Change tmux state; no client-supplied executable input. Rearrange a window's panes. Takes one of tmux's named layouts, or a layout string from an earlier window whose metadataComplete is true to reproduce it exactly.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/select_layout/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/select_layout.md",
      "headings": [
        {
          "id": "mcp.tool.select_layout.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.select_layout.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.select_layout.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.select_layout.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/layout.ts",
        "line": 201
      }
    },
    {
      "title": "select_pane",
      "description": "Change tmux state; no client-supplied executable input. Make a pane the active one in its window. Moves the cursor of anyone attached to that window.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/select_pane/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/select_pane.md",
      "headings": [
        {
          "id": "mcp.tool.select_pane.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.select_pane.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.select_pane.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.select_pane.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/layout.ts",
        "line": 151
      }
    },
    {
      "title": "select_window",
      "description": "Change tmux state; no client-supplied executable input. Make a window the current one in its session.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/select_window/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/select_window.md",
      "headings": [
        {
          "id": "mcp.tool.select_window.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.select_window.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.select_window.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.select_window.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/layout.ts",
        "line": 173
      }
    },
    {
      "title": "send_keys",
      "description": "Send input to a pane's program; a shell that receives it runs it with your user's permissions. Send keystrokes to a pane. Use for TUIs, control keys (C-c), and partial lines. For a shell command whose result you want, use run_shell_command — it waits for completion and reports exit status, which this does not.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/send_keys/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/send_keys.md",
      "headings": [
        {
          "id": "mcp.tool.send_keys.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.send_keys.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.send_keys.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.send_keys.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/input.ts",
        "line": 116
      }
    },
    {
      "title": "send_keys_batch",
      "description": "Send input to a pane's program; a shell that receives it runs it with your user's permissions. Send an ordered batch of pane-input operations, resolving and checking each row's configured cohort immediately before input. Stop or continue on error.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/send_keys_batch/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/send_keys_batch.md",
      "headings": [
        {
          "id": "mcp.tool.send_keys_batch.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.send_keys_batch.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.send_keys_batch.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.send_keys_batch.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 468
      }
    },
    {
      "title": "set_history_limit",
      "description": "Change tmux state; no client-supplied executable input. Set the default retained scrollback line limit through a bounded integer.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/set_history_limit/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/set_history_limit.md",
      "headings": [
        {
          "id": "mcp.tool.set_history_limit.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.set_history_limit.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.set_history_limit.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.set_history_limit.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 420
      }
    },
    {
      "title": "set_mouse_enabled",
      "description": "Change tmux state; no client-supplied executable input. Set the global tmux mouse option through a closed boolean schema.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/set_mouse_enabled/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/set_mouse_enabled.md",
      "headings": [
        {
          "id": "mcp.tool.set_mouse_enabled.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.set_mouse_enabled.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.set_mouse_enabled.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.set_mouse_enabled.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 404
      }
    },
    {
      "title": "set_pane_title",
      "description": "Change tmux state; no client-supplied executable input. Give a pane a title. Useful for labelling what an agent put where, since the title shows in list_panes and survives the command changing.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/set_pane_title/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/set_pane_title.md",
      "headings": [
        {
          "id": "mcp.tool.set_pane_title.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.set_pane_title.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.set_pane_title.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.set_pane_title.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/layout.ts",
        "line": 350
      }
    },
    {
      "title": "set_synchronize_panes",
      "description": "Change tmux state; no client-supplied executable input. Set the window default for synchronized pane input. Pane overrides still determine each effective configured cohort.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/set_synchronize_panes/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/set_synchronize_panes.md",
      "headings": [
        {
          "id": "mcp.tool.set_synchronize_panes.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.set_synchronize_panes.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.set_synchronize_panes.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.set_synchronize_panes.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 441
      }
    },
    {
      "title": "show_environment",
      "description": "Read the tmux environment; accepts no client-supplied executable input. Returned values may contain secrets. The environment tmux gives processes it starts, at server or session scope. This is what a new pane will inherit, not what a running one has.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/show_environment/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/show_environment.md",
      "headings": [
        {
          "id": "mcp.tool.show_environment.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.show_environment.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.show_environment.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.show_environment.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/settings.ts",
        "line": 199
      }
    },
    {
      "title": "show_hooks",
      "description": "Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration. Read the hooks a server or session runs. Read-only: a hook set here would outlive this process and keep firing in somebody's tmux. Put hooks a server should keep in its config file.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/show_hooks/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/show_hooks.md",
      "headings": [
        {
          "id": "mcp.tool.show_hooks.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.show_hooks.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.show_hooks.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.show_hooks.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/settings.ts",
        "line": 138
      }
    },
    {
      "title": "show_option",
      "description": "Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration. Read one named tmux option at server, session, window, or pane scope.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/show_option/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/show_option.md",
      "headings": [
        {
          "id": "mcp.tool.show_option.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.show_option.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.show_option.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.show_option.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/settings.ts",
        "line": 105
      }
    },
    {
      "title": "signal_channel",
      "description": "Change tmux state; no client-supplied executable input. Signal a tmux wait-for channel.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/signal_channel/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/signal_channel.md",
      "headings": [
        {
          "id": "mcp.tool.signal_channel.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.signal_channel.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.signal_channel.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.signal_channel.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 386
      }
    },
    {
      "title": "snapshot_pane",
      "description": "Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Return bounded terminal content and pane metadata in one MCP response. The metadata and capture come from separate tmux requests and are not an atomic snapshot.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/snapshot_pane/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/snapshot_pane.md",
      "headings": [
        {
          "id": "mcp.tool.snapshot_pane.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.snapshot_pane.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.snapshot_pane.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.snapshot_pane.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 305
      }
    },
    {
      "title": "split_window",
      "description": "Start a pane's configured process; accepts no command payload. Split a pane and return the new one. Direction is where the new pane goes relative to the one you split.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/split_window/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/split_window.md",
      "headings": [
        {
          "id": "mcp.tool.split_window.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.split_window.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.split_window.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.split_window.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/lifecycle.ts",
        "line": 190
      }
    },
    {
      "title": "swap_pane",
      "description": "Change tmux state; no client-supplied executable input. Exchange two panes' positions. Their ids and contents travel with them.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/swap_pane/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/swap_pane.md",
      "headings": [
        {
          "id": "mcp.tool.swap_pane.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.swap_pane.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.swap_pane.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.swap_pane.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/layout.ts",
        "line": 230
      }
    },
    {
      "title": "wait_for_channel",
      "description": "Change tmux state; no client-supplied executable input. Wait until a tmux wait-for channel is signalled.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/wait_for_channel/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/wait_for_channel.md",
      "headings": [
        {
          "id": "mcp.tool.wait_for_channel.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.wait_for_channel.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.wait_for_channel.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.wait_for_channel.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/target.ts",
        "line": 358
      }
    },
    {
      "title": "wait_for_text",
      "description": "Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Wait until a pane prints something, streaming tmux's notifications rather than polling. Use for output you did NOT author — another process, a person, a background job. For a command you wrote, use run_shell_command: it knows when the command ended and reports exit status, which no text match can. This discounts text this server itself typed into the pane, for as long as it is unsubmitted or was submitted within the last ten seconds, so a command you just sent cannot match its own echo — but a pane not yet reading input can still echo type-ahead back once it starts, so wait for a prompt before typing into a cold shell. Whatever happens you get back what the pane printed and why the wait ended — a timeout is never an empty answer.",
      "section": "TypeScript MCP tools",
      "url": "https://libtmux.org/en/ts/latest/mcp/tools/wait_for_text/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/tools/wait_for_text.md",
      "headings": [
        {
          "id": "mcp.tool.wait_for_text.parameters",
          "level": 2,
          "text": "Arguments"
        },
        {
          "id": "mcp.tool.wait_for_text.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.tool.wait_for_text.annotations",
          "level": 2,
          "text": "Annotations"
        },
        {
          "id": "mcp.tool.wait_for_text.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
        "file": "packages/mcp/src/tools/wait.ts",
        "line": 503
      }
    },
    {
      "title": "Prompts",
      "description": "Browse the reusable workflows the server provides through prompts/get. Each prompt documents its arguments and the messages it returns.",
      "section": "TypeScript MCP prompts",
      "url": "https://libtmux.org/en/ts/latest/mcp/prompts/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/prompts.md",
      "headings": [],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b"
      }
    },
    {
      "title": "Resources",
      "description": "Browse the data the server exposes through resources/read. Resource templates describe URI patterns and the variables used to select a resource.",
      "section": "TypeScript MCP resources",
      "url": "https://libtmux.org/en/ts/latest/mcp/resources/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/resources.md",
      "headings": [
        {
          "id": "resources-fixed-resources",
          "level": 2,
          "text": "Fixed resources1 object"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b"
      }
    },
    {
      "title": "capabilities",
      "description": "The frozen structured-tool surface and its capability declarations.",
      "section": "TypeScript MCP resources",
      "url": "https://libtmux.org/en/ts/latest/mcp/resources/capabilities/",
      "markdownUrl": "https://libtmux.org/en/ts/latest/mcp/resources/capabilities.md",
      "headings": [
        {
          "id": "mcp.resource.tmux://capabilities.parameters",
          "level": 2,
          "text": "URI parameters"
        },
        {
          "id": "mcp.resource.tmux://capabilities.result",
          "level": 2,
          "text": "Result"
        },
        {
          "id": "mcp.resource.tmux://capabilities.schemas",
          "level": 2,
          "text": "Protocol data"
        }
      ],
      "source": {
        "repo": "libtmux/libtmux-ts",
        "revision": "46cccfef2a546de55ce8b308249b8c76339089a0",
        "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b"
      }
    }
  ]
}
