From 72ffb54b7d4b4582b2a7bf52997b92bcf2e11c5d Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Mon, 8 Dec 2025 01:12:06 +0100 Subject: [PATCH] Improve documentation of F#-specific system configuration and env vars for Claude Desktop [skip ci] --- docs/01-about/020_programming-languages.md | 2 +- docs/02-usage/030_clients.md | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/01-about/020_programming-languages.md b/docs/01-about/020_programming-languages.md index 622be251..ac1764a3 100644 --- a/docs/01-about/020_programming-languages.md +++ b/docs/01-about/020_programming-languages.md @@ -26,7 +26,7 @@ With Serena, we provide direct, out-of-the-box support for: * **Erlang** (requires installation of beam and [erlang_ls](https://github.com/erlang-ls/erlang_ls); experimental, might be slow or hang) * **F#** - (requires .NET SDK 8.0+ and uses FsAutoComplete/Ionide LSP server) + (requires .NET SDK 8.0+; uses FsAutoComplete/Ionide, which is auto-installed; for Homebrew .NET on macOS, set DOTNET_ROOT in your environment) * **Fortran** (requires installation of fortls: `pip install fortls`) * **Go** diff --git a/docs/02-usage/030_clients.md b/docs/02-usage/030_clients.md index 79574dce..ad506057 100644 --- a/docs/02-usage/030_clients.md +++ b/docs/02-usage/030_clients.md @@ -111,7 +111,21 @@ Add the `serena` MCP server configuration, using a [run command](020_running.md) If you are using paths containing backslashes for paths on Windows (note that you can also just use forward slashes), be sure to escape them correctly (`\\`). -That's it! Save the config and then restart Claude Desktop. You are ready for activating your first project. +:::{note} +Some language servers may require additional environment variables to be set (e.g. F# on macOS with Homebrew), +which you may need to explicitly add to the MCP server configuration. +Note that the spawned processes will not inherit environment variables that are only configured in your shell +profile (e.g. `.bashrc`, `.zshrc`, etc.); they would need to be set system-wide instead. +An easy fix is to add them explicitly to the MCP server entry: Simply add an `env` key to the `serena` object, e.g. + +``` +"env": { + "DOTNET_ROOT": "/opt/homebrew/Cellar/dotnet/9.0.8/libexec" +} +``` +::: + +Once you have created the new MCP server entry, save the config and then restart Claude Desktop. :::{attention} Be sure to fully quit the Claude Desktop application via File / Exit, as regularly closing the application will just minimize it.