Core LibraryHome

Choose documentation 3

latest

Current version

latest
English

Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

C#

Drive a real tmux from C#.

LibTmux

You are reading the latest documentation. Use the version control in the header to move between releases, or the port dropdown to find a corresponding page in another language.

Install

Library LibTmux

$ dotnet package add LibTmux --prerelease

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Workspace Manager LibTmux.Workspace.Cli

The workspace package is separate from the core library.

$ dotnet tool install --global LibTmux.Workspace.Cli --prerelease

--prerelease is required: every release so far carries an -alpha tag. Add $HOME/.dotnet/tools to PATH if the shell cannot find tmux-workspace.

$ dnx LibTmux.Workspace.Cli --prerelease --yes -- --help

Runs it once from NuGet without installing anything; needs the .NET 10 SDK.

$ dotnet tool install LibTmux.Workspace.Cli --prerelease

Run at a repository root: it writes dotnet-tools.json, which pins the version for everyone who clones it. Run it as dotnet tmux-workspace.

MCP LibTmux.Mcp

Choose your client and configuration scope, then run the command or paste the configuration.

$ claude mcp add tmux -- dnx LibTmux.Mcp --prerelease --yes

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: ~/.claude.json (this project)

$ claude mcp add tmux --scope user -- dnx LibTmux.Mcp --prerelease --yes

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: ~/.claude.json (all projects)

$ claude mcp add tmux --scope project -- dnx LibTmux.Mcp --prerelease --yes

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: .mcp.json (in repo, version-controlled)

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then register:

$ claude mcp add tmux -- libtmux-mcp

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: ~/.claude.json (this project)

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then register:

$ claude mcp add tmux --scope user -- libtmux-mcp

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: ~/.claude.json (all projects)

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then register:

$ claude mcp add tmux --scope project -- libtmux-mcp

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: .mcp.json (in repo, version-controlled)

{
    "mcpServers": {
        "tmux": {
            "command": "dnx",
            "args": ["LibTmux.Mcp", "--prerelease", "--yes"]
        }
    }
}

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: claude_desktop_config.json

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: claude_desktop_config.json

$ codex mcp add tmux -- dnx LibTmux.Mcp --prerelease --yes

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: ~/.codex/config.toml

Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.

[mcp_servers.tmux]
command = "dnx"
args = ["LibTmux.Mcp", "--prerelease", "--yes"]

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: .codex/config.toml (in repo)

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then register:

$ codex mcp add tmux -- libtmux-mcp

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: ~/.codex/config.toml

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then register:

Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.

[mcp_servers.tmux]
command = "libtmux-mcp"

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: .codex/config.toml (in repo)

$ gemini mcp add --scope user tmux dnx -- LibTmux.Mcp --prerelease --yes

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: ~/.gemini/settings.json

$ gemini mcp add --scope project tmux dnx -- LibTmux.Mcp --prerelease --yes

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: .gemini/settings.json (in repo)

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then register:

$ gemini mcp add --scope user tmux libtmux-mcp

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: ~/.gemini/settings.json

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then register:

$ gemini mcp add --scope project tmux libtmux-mcp

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: .gemini/settings.json (in repo)

{
    "mcpServers": {
        "tmux": {
            "command": "dnx",
            "args": ["LibTmux.Mcp", "--prerelease", "--yes"]
        }
    }
}

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: .cursor/mcp.json (in repo)

{
    "mcpServers": {
        "tmux": {
            "command": "dnx",
            "args": ["LibTmux.Mcp", "--prerelease", "--yes"]
        }
    }
}

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: ~/.cursor/mcp.json

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: .cursor/mcp.json (in repo)

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: ~/.cursor/mcp.json

$ grok mcp add --scope user tmux -- dnx LibTmux.Mcp --prerelease --yes

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: ~/.grok/config.toml

$ grok mcp add --scope project tmux -- dnx LibTmux.Mcp --prerelease --yes

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: ./.grok/config.toml (in repo)

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then register:

$ grok mcp add --scope user tmux -- libtmux-mcp

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: ~/.grok/config.toml

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then register:

$ grok mcp add --scope project tmux -- libtmux-mcp

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: ./.grok/config.toml (in repo)

{
    "mcpServers": {
        "tmux": {
            "command": "dnx",
            "args": ["LibTmux.Mcp", "--prerelease", "--yes"]
        }
    }
}

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: ~/.gemini/config/mcp_config.json

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: ~/.gemini/config/mcp_config.json

$ opencode mcp add tmux -- dnx LibTmux.Mcp --prerelease --yes

Runs the server from NuGet without installing it; needs the .NET 10 SDK. Write LibTmux.Mcp@<version> to pin a version.

Config file: ~/.config/opencode/opencode.jsonc

Build or install the server first:

$ dotnet tool install --global LibTmux.Mcp --prerelease

Then register:

$ opencode mcp add tmux -- libtmux-mcp

--prerelease is required: every release so far carries an -alpha tag, and NuGet skips those unless asked.

Config file: ~/.config/opencode/opencode.jsonc

Packages and integrations

API references

All C# versions and install instructions

Esc

Type to search.