Hello, With auto-revert-mode and eglot enabled, using a git checkout to change branch will leave invalid buffer diagnostics. Emacs version: GNU Emacs 30.0.91 Operating system: Mac OS X Eglot version: reproduced with emacs -Q on emacs30 pretest. Server used: pyright Steps to reproduce: Using the following file: ``` def print_lorem_ipsum(): print("Lorem ipsum dolor sit amet, consectetur adipiscing elit.") def print_lorem_ipsum_upper(): print("LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT.") ``` 1. Initialize the git repository: $ git init $ git add a.py $ git commit $ git checkout -b test # edit a.py and remove the function print_lorem_ipsum_upper $ git add a.py $ git commit 2. Start emacs on the test branch: $ emacs -Q a.py M-x auto-revert-mode M-x eglot 3. Then go to the main branch: $ git checkout main After auto-revert-mode triggers a file reload, eglot will report that the function print_lorem_ipsum_upper is duplicated. (See screenshot in attachment) See also the `eglot-events-buffer` logs in attachment. In this state, even if you delete the function and rewrite it, the error will stay. The only way to fix the issue is to do a eglot-reconnect. I can reproduce the issue on emacs30 with built-in eglot and I didn't have the problem on emacs29 with eglot 1.15 from ELPA. Thanks.