{"version":"2.1.288","anchor":"plugin-lsp-config-expands-variables-inside-initializationopt","canonical_anchor":"plugin-lsp-config-expands-variables-inside-initializationopt","heading":"Plugin language servers can use variables in their options and settings","tier":"use","area":"Language Servers","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288\/e\/plugin-lsp-config-expands-variables-inside-initializationopt","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288","markdown":"### Plugin language servers can use variables in their options and settings\n\nVariables in a plugin language server's initializationOptions and settings are now filled in, and an empty command gets a clear error\n\n**What**\n\nPlugins can start language servers, helper programs that give code intelligence such as go-to-definition. Claude Code already filled in environment variables and plugin options in a server's `command`, `args`, `env` and `workspaceFolder`. It now does the same inside the nested `initializationOptions` and `settings`.\n\n- A variable that is not set is left as written and a log line notes it.\n\n- A `command` that ends up empty gets its own error, telling you to set the plugin option or environment variable it refers to.\n\n**Why**\n\nPlugin authors can pass values such as paths or keys into a language server's options without hard-coding them, and a missing value in the command now produces a clear message.\n\n- Area: Language Servers\n- Names: `initializationOptions`, `settings`\n- Tier: Use it now\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}