# How to Update DesktopCommanderMCP to the Latest Version: Complete Guide

> Update DesktopCommanderMCP to the latest version with our guide. Learn to use git pull or the installer script for seamless updates and access new features quickly.

- Repository: [Eduard Ruzga/DesktopCommanderMCP](https://github.com/wonderwhy-er/DesktopCommanderMCP)
- Tags: how-to-guide
- Published: 2026-07-16

---

**Run `git pull` followed by `npm run setup` in your local clone, or re-execute the installer script with `--reset` for Docker deployments, to update DesktopCommanderMCP to the latest version.**

DesktopCommanderMCP from the `wonderwhy-er/DesktopCommanderMCP` repository requires different update commands depending on whether you cloned manually, used the one-liner installer, or deployed via Docker. Keeping the tool current ensures you receive the latest security patches, bug fixes, and feature updates contained in the **[`src/server.ts`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/src/server.ts)** MCP server and UI runtime. This guide covers the exact commands, underlying configuration files, and verification steps for each installation method.

## Update a Local Git Clone

If you originally installed via `git clone`, updating requires pulling the latest commits and rebuilding the project assets. Navigate to your repository root and execute the following commands:

```bash
cd DesktopCommanderMCP
git pull
npm run setup

```

The **`npm run setup`** command executes the build pipeline defined in **[`package.json`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/package.json)**, which reinstalls dependencies, compiles TypeScript, and regenerates the UI runtime via **`scripts/build-ui-runtime.cjs`**. This process ensures your local binary reflects the updated source code and latest MCP server implementations.

## Update via the One-Liner Installer

For installations using the convenience script, run the same curl command to fetch the newest release and automatically trigger the rebuild:

```bash
bash <(curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install.sh)

```

The **[`install.sh`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/install.sh)** script detects existing installations, pulls the latest repository changes, and invokes `npm run setup` to rebuild the UI runtime. This mirrors the manual Git workflow while handling dependency checks automatically.

## Update a Docker Installation

Docker deployments use dedicated installers that require the `--reset` flag to force a fresh image pull and container recreation. Execute the command matching your operating system:

**Linux/macOS:**

```bash
bash <(curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.sh) --reset

```

**Windows (PowerShell):**

```powershell
iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.ps1')) -Reset

```

The `--reset` flag triggers **[`install-docker.sh`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/install-docker.sh)** or **`install-docker.ps1`** to discard the existing container and build a fresh image from the latest source. This process downloads updated Node modules, recompiles the UI runtime, and launches the new container with the current version of the MCP server.

## Verify the Update

Confirm your installation reflects the latest release by checking the version string against the repository metadata. Execute the appropriate command for your deployment method:

```bash
npx desktop-commander-mcp --version

```

For Docker containers, use:

```bash
docker exec <container-name> desktop-commander-mcp --version

```

The version number originates from **[`manifest.template.json`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/manifest.template.json)**, which the release process updates automatically when new tags are pushed to the repository. Matching output confirms the update succeeded.

## Summary

- **Git installations**: Pull changes with `git pull` and rebuild with `npm run setup` to compile updates from **`scripts/build-ui-runtime.cjs`**.
- **One-liner installs**: Re-run the **[`install.sh`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/install.sh)** curl command to automatically update dependencies and rebuild the project.
- **Docker deployments**: Append `--reset` to **[`install-docker.sh`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/install-docker.sh)** or **`install-docker.ps1`** to force fresh image creation and container redeployment.
- **Version verification**: Run `desktop-commander-mcp --version` to confirm the update against **[`manifest.template.json`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/manifest.template.json)**.

## Frequently Asked Questions

### How do I update DesktopCommanderMCP if I installed it manually via Git?

Navigate to your repository directory and run `git pull` to fetch the latest commits. Then execute `npm run setup` to reinstall dependencies, rebuild the TypeScript UI runtime, and recompile **[`src/server.ts`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/src/server.ts)** with the latest changes.

### What is the difference between updating via install.sh versus Docker?

The **[`install.sh`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/install.sh)** script updates a local Git clone and rebuilds the binary directly on your host system, while **[`install-docker.sh`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/install-docker.sh)** with `--reset` creates an isolated container image containing the compiled application. Docker updates bundle all dependencies in the image, whereas script updates modify your local `node_modules` and require Node.js installed locally.

### Why do I need to run npm run setup after pulling changes?

The **[`package.json`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/package.json)** defines the `setup` script to handle `npm install`, TypeScript compilation, and asset bundling via **`scripts/build-ui-runtime.cjs`**. Pulling source code only updates text files, while running `setup` generates the executable JavaScript and UI assets required for the MCP server to function.

### How can I verify that DesktopCommanderMCP updated successfully?

Execute `npx desktop-commander-mcp --version` for local installations or `docker exec <container-name> desktop-commander-mcp --version` for Docker deployments. The output displays the version string defined in **[`manifest.template.json`](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/manifest.template.json)**, which should match the latest release tag in the repository.