# CallerIdentity

- **Package:** libtmux-swift
- **Language:** Swift
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-swift/blob/f02a4668570e1cc5198c941413750e021f42c214/Sources/LibTmuxMCP/Caller.swift#L9
- **Page:** https://libtmux.org/reference/swift/calleridentity/

Where this MCP server is itself running, when that is inside tmux.

An agent driving tmux from a pane is one `kill-pane` away from ending the
conversation it is having. Knowing which pane is its own is what lets the
tools refuse that, and lets a listing mark the row that is the caller so the
agent never has to ask.

## Members

- `!=(_:_:)` (function) — Returns a Boolean value indicating whether two values are not equal.
- `paneID` (property) — From `TMUX_PANE`, which tmux sets in every process it starts.
- `sessionID` (property) — From `TMUX`, in the same `$…` spelling as a session id.
- `socketPath` (property)
- `serverProcessID` (property) — The surrounding server's process id. This, rather than the socket path, is what identifies a server: a daemon that died and was replaced binds the same path, and comparing paths would then call the replacement "ours" and refuse to touch panes that only reuse an id.
- `current(environment:)` (method) — Reads the surrounding tmux, or `nil` when there is none.
- `isOn(serverProcessID:)` (method) — Whether `server` is the tmux this process is running inside.
- `init(from:)` (method) — Creates a new instance by decoding from the given decoder.
