Fuse
Start

Install

Install the local Fuse service, verify version 4.3.0, and remove it cleanly.

Fuse runs on your machine beside the repository. Indexing, retrieval, reduction, and captured-compiler checks can work offline. Fuse does not open a listening network port. Installation downloads the package or release asset. After installation, the cache-first daily version check can contact NuGet; disable it with FUSE_UPDATE_CHECK=0. A restore or build requested by a compiler-grade operation can contact the package feeds already configured for the repository.

dotnet tool install -g Fuse

Verify it:

fuse --version

The current release prints 4.3.0.

Update later with fuse update (see Staying up to date).

Requirements: the .NET SDK 10.0 or later. Git change scoping also needs the git executable on your PATH.

Run without Installing

The .NET 10 SDK can run Fuse on demand without a global install:

dnx Fuse -- serve

Without the .NET SDK

These give you a single self-contained binary with the .NET runtime bundled. Linux x64 and Windows x64 are published; on macOS use the .NET global tool above.

Install Script

# Linux
curl -fsSL https://fuse.codes/install.sh | sh
# Windows
irm https://fuse.codes/install.ps1 | iex

Each script downloads the latest release binary, verifies its checksum, and puts fuse on your PATH. Set FUSE_VERSION to pin a version or FUSE_INSTALL_DIR to choose the location.

WinGet (Windows)

winget install Litenova.Fuse

WinGet installs the self-contained Windows build for the current user.

Download a Binary

Grab fuse-<version>-win-x64.zip or fuse-<version>-linux-x64.tar.gz from the GitHub Releases page, verify it against SHA256SUMS.txt, extract, and put fuse on your PATH.

Build from Source

On Windows, the bundled script builds, packs, and installs the tool locally:

install.bat

On any OS:

dotnet pack src/Host/Fuse.Cli/Fuse.Cli.csproj -c Release
dotnet tool install -g Fuse --add-source src/Host/Fuse.Cli/nupkg

Staying Up to Date

Use fuse update, not a bare dotnet tool update. A running Fuse (an MCP server or an editor host) locks its own files on Windows, so a direct update fails with "Access is denied". fuse update stops only the Fuse processes from this install that are in the updating session's child lineage or that hold the install mutex (typically a fuse host for the same global-tool install), then hands the upgrade to a detached step that waits for the current process to exit before replacing the files. Unrelated fuse mcp serve peers in other repositories are left running by default. Use --force-kill-peers when you need the old behavior that stopped every Fuse process on the machine before updating:

fuse update
fuse update --force-kill-peers

You will be told when an update is available. The CLI and the MCP server do a cache-first, once-a-day, offline-safe check against NuGet and print a one-line notice when a newer version exists. It never blocks a command. Turn it off with FUSE_UPDATE_CHECK=0.

Auto-update between sessions (opt-in). Set FUSE_AUTO_UPDATE=1 and the MCP server applies a newer version after the current session exits, so the next spawn is current. It never interrupts a running session:

# in your MCP client's environment for the fuse server
FUSE_AUTO_UPDATE=1

Fully scheduled (optional). Run fuse update on a cadence:

# Windows: a weekly task
schtasks /create /tn "Fuse update" /tr "fuse update" /sc weekly /d SUN /st 09:00
# POSIX: a weekly cron entry (crontab -e)
0 9 * * 0 fuse update

Uninstall and Reset

Remove the package with the command that matches the install method:

# .NET global tool
dotnet tool uninstall -g Fuse
# WinGet or the Windows installer
winget uninstall Litenova.Fuse

For an install-script or manually extracted binary, delete the fuse executable from the install directory and remove that directory from PATH.

Package removal does not delete repository data or MCP client configuration. Remove MCP entries and rules as described in Connect to your AI, then delete .fuse/ at the repository root. The directory contains derived index data only; the next Fuse read recreates it. Outside a Git repository, delete ~/.fuse/roots/{hash}/fuse.db, or {FUSE_USER_DATA}/roots/{hash}/fuse.db when that variable is set. These per-directory stores belong to one-shot non-MCP paths; workspace-scoped MCP tools refuse folders with no Git identity.

Next

Run your first fusion in the Quickstart, or wire Fuse into an agent on the Connect to your AI page.

On this page