{
  "name": "set_option",
  "wireName": "set_option",
  "source": {
    "repo": "tmux-python/libtmux-mcp",
    "revision": "4daddc0dfca96c43bf521d818bf91564e1434760",
    "extractedRevision": "4daddc0dfca96c43bf521d818bf91564e1434760",
    "file": "src/libtmux_mcp/tools/option_tools.py",
    "line": 158
  },
  "description": "Set a tmux option value.\n\nSome option values are executable. tmux runs a ``#(...)`` job inside\nthe status formats when it draws them, and repeats it on the status\ninterval; ``default-command`` and ``default-shell`` decide what every\nfuture pane runs, and ``command-alias`` rewrites later commands. The\nvalue is stored verbatim, so an option that interprets it later runs\nwhat is stored, not what this call did.\n\nUse to change tmux behavior at runtime. Common uses: adjusting\nhistory-limit, enabling mouse support, changing status bar format.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "additionalProperties": false,
    "properties": {
      "global_": {
        "default": false,
        "description": "Whether to set the global option.",
        "type": "boolean"
      },
      "option": {
        "description": "The tmux option name to set.",
        "type": "string"
      },
      "scope": {
        "anyOf": [
          {
            "enum": [
              "server",
              "session",
              "window",
              "pane"
            ],
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "Option scope."
      },
      "socket_name": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "tmux socket name."
      },
      "target": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "Target identifier. For session scope: session name\n(e.g. 'mysession'). For window scope: window ID (e.g. '@1').\nFor pane scope: pane ID (e.g. '%1'). Requires scope."
      },
      "value": {
        "description": "The value to set.",
        "type": "string"
      }
    },
    "required": [
      "option",
      "value"
    ],
    "type": "object"
  },
  "outputSchema": {
    "description": "Result of a set_option call.",
    "properties": {
      "option": {
        "description": "Option name",
        "type": "string"
      },
      "status": {
        "description": "Operation status",
        "type": "string"
      },
      "value": {
        "description": "Value that was set",
        "type": "string"
      }
    },
    "required": [
      "option",
      "value",
      "status"
    ],
    "type": "object"
  },
  "annotations": {
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": true,
    "readOnlyHint": false
  },
  "meta": {
    "fastmcp": {
      "tags": [
        "execute"
      ]
    }
  }
}
