<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/announcing-symfony-language-tools-the-official-symfony-lsp-server-symfony-blog--ni87i9xqz" -->

---
title: Announcing Symfony Language Tools, the Official Symfony...
description: Symfony has released an official Language Server Protocol implementation called Symfony Language Tools, bringing Symfony-aware autocompletion, hover info,...
canonical: https://daily.dev/posts/announcing-symfony-language-tools-the-official-symfony-lsp-server-symfony-blog--ni87i9xqz
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Announcing Symfony Language Tools, the Official Symfony LSP Server (Symfony Blog) | daily.dev
og:description: Symfony has released an official Language Server Protocol implementation called Symfony Language Tools, bringing Symfony-aware autocompletion, hover info,...
og:url: https://daily.dev/posts/announcing-symfony-language-tools-the-official-symfony-lsp-server-symfony-blog--ni87i9xqz
og:image: https://api.daily.dev/og/posts/Ni87I9xqz.png
og:image:alt: Announcing Symfony Language Tools, the Official Symfony LSP Server (Symfony Blog)
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Announcing Symfony Language Tools, the Official Symfony LSP Server (Symfony Blog)

**[Symfony](https://daily.dev/sources/symfony)** · 3 min read · 4 upvotes · 0 comments

## Summary

Symfony has released an official Language Server Protocol implementation called Symfony Language Tools, bringing Symfony-aware autocompletion, hover info, navigation, rename support, diagnostics and quick fixes to PHP, Twig and YAML files. It ships as a native VS Code extension and works out of the box with Neovim, plus standalone binaries for any LSP-capable editor. It understands routing, dependency injection, Twig, translations, env vars, Messenger, Security, forms, Doctrine and more, and boots the app kernel in debug mode to read runtime metadata for accuracy rather than guessing from source alone. Most of the code was written and reviewed by AI models (Claude and GPT), directed by Fabien Potencier. The tool is currently an experimental beta.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://symfony.com/blog/announcing-symfony-language-tools-the-official-symfony-lsp-server>

## Questions this post answers

### Is there an official Symfony extension for VS Code that understands routes, services, and Twig templates?

Yes, Symfony Language Tools is the official Symfony LSP server, released as a native VS Code extension. It adds Symfony-aware completion, hover, navigation, rename support, diagnostics, and quick fixes across PHP, Twig, and YAML files, covering routing, dependency injection, translations, environment variables, Messenger, Security, forms, and Doctrine. It is currently an experimental beta.

_daily.dev surfaces framework tooling releases like this for developers wiring up their Symfony editor setup._

### Does the new Symfony LSP server work in Neovim, not just VS Code?

Yes, it supports Neovim out of the box through the symfony-lsp server with a bundled nvim-lspconfig configuration enabled via vim.lsp.enable('symfony_lsp'). Standalone archives for Linux, macOS, and Windows are also available on GitHub Releases for any other LSP-capable editor, since the server speaks the standard Language Server Protocol.

_Developers picking editor tooling across VS Code and Neovim can track releases like this on daily.dev._

### How does the Symfony language server avoid false positive errors in diagnostics?

It boots the application kernel in debug mode within a trusted workspace to read the compiled container, effective router, and other runtime metadata rather than guessing from source files alone. Diagnostics are only reported when the server can prove a value is invalid, an explicit design choice made because false positives were seen as the fastest way to get a tool disabled.

_daily.dev helps developers evaluating new dev-tooling accuracy claims like this one for Symfony._

## Similar posts on daily.dev

- [Symfony Language Tools: A Busy First Week \(Symfony Blog\)](https://daily.dev/posts/symfony-language-tools-a-busy-first-week-symfony-blog--jqgbj70ou) · Symfony · 7 upvotes · 1 comments
- [Introducing symfony lsp:check: Symfony-Aware Diagnostics in Your CI \(Symfony Blog\)](https://daily.dev/posts/introducing-symfony-lsp-check-symfony-aware-diagnostics-in-your-ci-symfony-blog--chnybsuce) · Symfony · 1 upvotes · 1 comments
- [PhpStorm 2026.1 Released](https://daily.dev/posts/phpstorm-2026-1-released-rza5crs45) · Laravel News · 11 upvotes · 1 comments
- [Give GitHub Copilot CLI real code intelligence with language servers](https://daily.dev/posts/give-github-copilot-cli-real-code-intelligence-with-language-servers-nxpgsigpe) · GitHub Blog · 0 upvotes · 0 comments

---

Tags: [#devtools](https://daily.dev/tags/devtools), [#php](https://daily.dev/tags/php), [#vscode](https://daily.dev/tags/vscode), [#symfony](https://daily.dev/tags/symfony), [#lsp](https://daily.dev/tags/lsp)

[View this post on daily.dev](https://daily.dev/posts/announcing-symfony-language-tools-the-official-symfony-lsp-server-symfony-blog--ni87i9xqz)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Announcing Symfony Language Tools, the Official Symfony LSP Server (Symfony Blog)","url":"https://daily.dev/posts/announcing-symfony-language-tools-the-official-symfony-lsp-server-symfony-blog--ni87i9xqz","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/announcing-symfony-language-tools-the-official-symfony-lsp-server-symfony-blog--ni87i9xqz"},"datePublished":"2026-08-17T12:39:03.388Z","dateModified":"2026-09-14T09:32:49.899Z","description":"Symfony has released an official Language Server Protocol implementation called Symfony Language Tools, bringing Symfony-aware autocompletion, hover info,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/327b244859fddae8f3a20d0225898aa0?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/327b244859fddae8f3a20d0225898aa0?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Symfony","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Symfony","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cc07051b7112472f9729e73c14660a64","url":"https://daily.dev/sources/symfony"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/announcing-symfony-language-tools-the-official-symfony-lsp-server-symfony-blog--ni87i9xqz","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":4},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devtools,php,vscode,symfony,lsp","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Symfony","item":"https://daily.dev/sources/symfony"},{"@type":"ListItem","position":3,"name":"Announcing Symfony Language Tools, the Official Symfony LSP Server (Symfony Blog)"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/announcing-symfony-language-tools-the-official-symfony-lsp-server-symfony-blog--ni87i9xqz#faq","mainEntity":[{"@type":"Question","name":"Is there an official Symfony extension for VS Code that understands routes, services, and Twig templates?","acceptedAnswer":{"@type":"Answer","text":"Yes, Symfony Language Tools is the official Symfony LSP server, released as a native VS Code extension. It adds Symfony-aware completion, hover, navigation, rename support, diagnostics, and quick fixes across PHP, Twig, and YAML files, covering routing, dependency injection, translations, environment variables, Messenger, Security, forms, and Doctrine. It is currently an experimental beta. daily.dev surfaces framework tooling releases like this for developers wiring up their Symfony editor setup."}},{"@type":"Question","name":"Does the new Symfony LSP server work in Neovim, not just VS Code?","acceptedAnswer":{"@type":"Answer","text":"Yes, it supports Neovim out of the box through the symfony-lsp server with a bundled nvim-lspconfig configuration enabled via vim.lsp.enable('symfony_lsp'). Standalone archives for Linux, macOS, and Windows are also available on GitHub Releases for any other LSP-capable editor, since the server speaks the standard Language Server Protocol. Developers picking editor tooling across VS Code and Neovim can track releases like this on daily.dev."}},{"@type":"Question","name":"How does the Symfony language server avoid false positive errors in diagnostics?","acceptedAnswer":{"@type":"Answer","text":"It boots the application kernel in debug mode within a trusted workspace to read the compiled container, effective router, and other runtime metadata rather than guessing from source files alone. Diagnostics are only reported when the server can prove a value is invalid, an explicit design choice made because false positives were seen as the fastest way to get a tool disabled. daily.dev helps developers evaluating new dev-tooling accuracy claims like this one for Symfony."}}]}
```

