{
  "name": "show_environment",
  "wireName": "show_environment",
  "source": {
    "repo": "libtmux/libtmux-rs",
    "revision": "2cef1aa642182dd1970c3688feb6a568ff666e64",
    "extractedRevision": "2cef1aa642182dd1970c3688feb6a568ff666e64",
    "file": "crates/tmux-mcp/src/tools/inspect.rs",
    "line": 510
  },
  "description": "List the variables tmux hands to processes it starts, for the server or for one session, and whether each is set or marked for removal. Values are withheld: a tmux server inherits the environment of the shell that started it, tokens and keys included. A value is returned only for a name the operator listed in LIBTMUX_ENVIRONMENT_VALUES at startup, and is then returned in clear. This is not the environment of anything already running: a pane started before a change keeps what it was given. Read the tmux environment; accepts no client-supplied executable input. Values are withheld unless the operator allowed the name.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "additionalProperties": false,
    "properties": {
      "session": {
        "description": "The session whose environment to read, by `$`-prefixed id or name.\n\nOmit for the server's own.",
        "type": [
          "string",
          "null"
        ]
      }
    },
    "type": "object"
  },
  "outputSchema": {
    "$defs": {
      "EnvironmentEntry": {
        "description": "One tmux environment entry.",
        "properties": {
          "name": {
            "description": "The variable name.",
            "type": "string"
          },
          "state": {
            "$ref": "#/$defs/EnvironmentState",
            "description": "Whether the name holds a value or is marked for removal."
          },
          "value": {
            "description": "The value, only for a set variable whose name the operator allowed in\n`LIBTMUX_ENVIRONMENT_VALUES` at startup.",
            "type": [
              "string",
              "null"
            ]
          },
          "withheld": {
            "description": "True for a set variable whose value was not returned because the\noperator did not allow its name.",
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "state",
          "withheld"
        ],
        "type": "object"
      },
      "EnvironmentState": {
        "description": "What tmux holds under one environment name.",
        "oneOf": [
          {
            "const": "set",
            "description": "tmux holds a value and hands it to processes it starts.",
            "type": "string"
          },
          {
            "const": "removed",
            "description": "tmux removes the name from the environment of processes it starts.",
            "type": "string"
          }
        ]
      }
    },
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "properties": {
      "entries": {
        "description": "The entries, in tmux's own order.",
        "items": {
          "$ref": "#/$defs/EnvironmentEntry"
        },
        "type": "array"
      },
      "session": {
        "description": "The session the environment belongs to, or absent for the server's.",
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [
      "entries"
    ],
    "type": "object"
  },
  "annotations": {
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false,
    "readOnlyHint": true,
    "title": "Show tmux Environment"
  },
  "meta": {
    "com.git-pull.libtmux-mcp/capability": {
      "amplifiesFutureInput": false,
      "inputLiteralization": {},
      "mayExposeSecrets": true,
      "mayReturnUntrustedContent": true,
      "nestedAuthority": [],
      "outputClasses": [
        "process-environment"
      ],
      "processReach": "none",
      "tmuxEffects": [
        "observe"
      ],
      "toolset": "inspect"
    }
  }
}
