tmux MCP for TypeScript
Install
Choose your client and configuration scope, then run the command or paste the configuration.
$ claude mcp add tmux -- npx -y @libtmux/mcp
Config file: ~/.claude.json (this project)
$ claude mcp add tmux -- npx -y @libtmux/mcpnpx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: ~/.claude.json (this project)
$ claude mcp add tmux -- npx -y --min-release-age=0 @libtmux/mcp
Config file: ~/.claude.json (this project)
$ claude mcp add tmux --scope user -- npx -y @libtmux/mcp
Config file: ~/.claude.json (all projects)
$ claude mcp add tmux --scope user -- npx -y @libtmux/mcpnpx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: ~/.claude.json (all projects)
$ claude mcp add tmux --scope user -- npx -y --min-release-age=0 @libtmux/mcp
Config file: ~/.claude.json (all projects)
$ claude mcp add tmux --scope project -- npx -y @libtmux/mcp
Config file: .mcp.json (in repo, version-controlled)
$ claude mcp add tmux --scope project -- npx -y @libtmux/mcpnpx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: .mcp.json (in repo, version-controlled)
$ claude mcp add tmux --scope project -- npx -y --min-release-age=0 @libtmux/mcp
Config file: .mcp.json (in repo, version-controlled)
Build or install the server first:
$ npm install --global @libtmux/mcpThen register:
$ claude mcp add tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.claude.json (this project)
Build or install the server first:
Then register:
$ claude mcp add tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.claude.json (this project)
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen register:
$ claude mcp add tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.claude.json (this project)
Build or install the server first:
$ npm install --global @libtmux/mcpThen register:
$ claude mcp add tmux --scope user -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.claude.json (all projects)
Build or install the server first:
Then register:
$ claude mcp add tmux --scope user -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.claude.json (all projects)
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen register:
$ claude mcp add tmux --scope user -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.claude.json (all projects)
Build or install the server first:
$ npm install --global @libtmux/mcpThen register:
$ claude mcp add tmux --scope project -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: .mcp.json (in repo, version-controlled)
Build or install the server first:
Then register:
$ claude mcp add tmux --scope project -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: .mcp.json (in repo, version-controlled)
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen register:
$ claude mcp add tmux --scope project -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: .mcp.json (in repo, version-controlled)
Config file: claude_desktop_config.json
npx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: claude_desktop_config.json
Config file: claude_desktop_config.json
Build or install the server first:
$ npm install --global @libtmux/mcpThen use this config:
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: claude_desktop_config.json
Build or install the server first:
Then use this config:
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: claude_desktop_config.json
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen use this config:
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: claude_desktop_config.json
$ codex mcp add tmux -- npx -y @libtmux/mcp
Config file: ~/.codex/config.toml
$ codex mcp add tmux -- npx -y @libtmux/mcpnpx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: ~/.codex/config.toml
$ codex mcp add tmux -- npx -y --min-release-age=0 @libtmux/mcp
Config file: ~/.codex/config.toml
Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.
Config file: .codex/config.toml (in repo)
Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.
npx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: .codex/config.toml (in repo)
Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.
Config file: .codex/config.toml (in repo)
Build or install the server first:
$ npm install --global @libtmux/mcpThen register:
$ codex mcp add tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.codex/config.toml
Build or install the server first:
Then register:
$ codex mcp add tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.codex/config.toml
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen register:
$ codex mcp add tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.codex/config.toml
Build or install the server first:
$ npm install --global @libtmux/mcpThen register:
Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: .codex/config.toml (in repo)
Build or install the server first:
Then register:
Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: .codex/config.toml (in repo)
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen register:
Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: .codex/config.toml (in repo)
$ gemini mcp add --scope user tmux npx -- -y @libtmux/mcp
Config file: ~/.gemini/settings.json
$ gemini mcp add --scope user tmux npx -- -y @libtmux/mcpnpx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: ~/.gemini/settings.json
$ gemini mcp add --scope user tmux npx -- -y --min-release-age=0 @libtmux/mcp
Config file: ~/.gemini/settings.json
$ gemini mcp add --scope project tmux npx -- -y @libtmux/mcp
Config file: .gemini/settings.json (in repo)
$ gemini mcp add --scope project tmux npx -- -y @libtmux/mcpnpx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: .gemini/settings.json (in repo)
$ gemini mcp add --scope project tmux npx -- -y --min-release-age=0 @libtmux/mcp
Config file: .gemini/settings.json (in repo)
Build or install the server first:
$ npm install --global @libtmux/mcpThen register:
$ gemini mcp add --scope user tmux libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.gemini/settings.json
Build or install the server first:
Then register:
$ gemini mcp add --scope user tmux libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.gemini/settings.json
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen register:
$ gemini mcp add --scope user tmux libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.gemini/settings.json
Build or install the server first:
$ npm install --global @libtmux/mcpThen register:
$ gemini mcp add --scope project tmux libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: .gemini/settings.json (in repo)
Build or install the server first:
Then register:
$ gemini mcp add --scope project tmux libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: .gemini/settings.json (in repo)
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen register:
$ gemini mcp add --scope project tmux libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: .gemini/settings.json (in repo)
Config file: .cursor/mcp.json (in repo)
npx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: .cursor/mcp.json (in repo)
Config file: .cursor/mcp.json (in repo)
Config file: ~/.cursor/mcp.json
npx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: ~/.cursor/mcp.json
Config file: ~/.cursor/mcp.json
Build or install the server first:
$ npm install --global @libtmux/mcpThen use this config:
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: .cursor/mcp.json (in repo)
Build or install the server first:
Then use this config:
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: .cursor/mcp.json (in repo)
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen use this config:
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: .cursor/mcp.json (in repo)
Build or install the server first:
$ npm install --global @libtmux/mcpThen use this config:
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.cursor/mcp.json
Build or install the server first:
Then use this config:
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.cursor/mcp.json
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen use this config:
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.cursor/mcp.json
$ grok mcp add --scope user tmux -- npx -y @libtmux/mcp
Config file: ~/.grok/config.toml
$ grok mcp add --scope user tmux -- npx -y @libtmux/mcpnpx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: ~/.grok/config.toml
$ grok mcp add --scope user tmux -- npx -y --min-release-age=0 @libtmux/mcp
Config file: ~/.grok/config.toml
$ grok mcp add --scope project tmux -- npx -y @libtmux/mcp
Config file: ./.grok/config.toml (in repo)
$ grok mcp add --scope project tmux -- npx -y @libtmux/mcpnpx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: ./.grok/config.toml (in repo)
$ grok mcp add --scope project tmux -- npx -y --min-release-age=0 @libtmux/mcp
Config file: ./.grok/config.toml (in repo)
Build or install the server first:
$ npm install --global @libtmux/mcpThen register:
$ grok mcp add --scope user tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.grok/config.toml
Build or install the server first:
Then register:
$ grok mcp add --scope user tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.grok/config.toml
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen register:
$ grok mcp add --scope user tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.grok/config.toml
Build or install the server first:
$ npm install --global @libtmux/mcpThen register:
$ grok mcp add --scope project tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ./.grok/config.toml (in repo)
Build or install the server first:
Then register:
$ grok mcp add --scope project tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ./.grok/config.toml (in repo)
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen register:
$ grok mcp add --scope project tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ./.grok/config.toml (in repo)
Config file: ~/.gemini/config/mcp_config.json
npx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: ~/.gemini/config/mcp_config.json
Config file: ~/.gemini/config/mcp_config.json
Build or install the server first:
$ npm install --global @libtmux/mcpThen use this config:
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.gemini/config/mcp_config.json
Build or install the server first:
Then use this config:
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.gemini/config/mcp_config.json
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen use this config:
The package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.gemini/config/mcp_config.json
$ opencode mcp add tmux -- npx -y @libtmux/mcp
Config file: ~/.config/opencode/opencode.jsonc
$ opencode mcp add tmux -- npx -y @libtmux/mcpnpx ignores --min-release-age-exclude, so a cooldown here would also hold back the release it runs; this runs without one. The Global install tab applies a cooldown to the server's dependencies.
Config file: ~/.config/opencode/opencode.jsonc
$ opencode mcp add tmux -- npx -y --min-release-age=0 @libtmux/mcp
Config file: ~/.config/opencode/opencode.jsonc
Build or install the server first:
$ npm install --global @libtmux/mcpThen register:
$ opencode mcp add tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.config/opencode/opencode.jsonc
Build or install the server first:
Then register:
$ opencode mcp add tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.config/opencode/opencode.jsonc
Build or install the server first:
$ npm install --global --min-release-age=0 @libtmux/mcpThen register:
$ opencode mcp add tmux -- libtmux-mcpThe package installs a `libtmux-mcp` binary. Requires Node 22 or newer, or Bun 1.3.14 or newer.
Config file: ~/.config/opencode/opencode.jsonc
Dependency cooldowns
Use the Configure cooldowns checkbox above to enable or disable. These settings choose how cooldown behaves once enabled.
What are cooldowns?
Cooldowns delay picking up newly uploaded packages so the community has time to spot supply-chain attacks before you install. Most package managers don't apply one by default — you opt in via a global setting in your tool's config.
Learn more at cooldowns.dev · Datadog Security Labs writeup .
@libtmux/mcp exposes tmux through an MCP stdio server and an embeddable
TypeScript factory. Clients can inspect topology, capture output, run framed
shell commands, and create or arrange panes.
The package requires Node 22 or newer, or Bun 1.3.14 or newer, plus tmux 3.3a or newer. Real tmux operation is supported on Linux; the package’s macOS artifact checks do not establish runtime support.
Start here¶
- Install points an MCP client at this server.
- Tools lists the MCP operations, arguments, and results.
- Guides install and connect a client.
- Topics explain toolsets, socket provenance, and waiting.
- Examples call a tool, then explore server internals.
- Language API documents embedding and implementation types.
The server exposes a static tmux://capabilities resource. It does not
register workflow prompts or dynamic hierarchy resources.
Use Workspace Manager to load and apply declarative configurations in application code. MCP clients create topology through individual tools; there is no workspace-file tool.