Help us shape the future of Go! Take the 2026 Go Developer Survey

Gopls release v0.25.0 (expected Jan 2027)

In this release:

Key features are described below.

Configuration changes

Gopls now debounces bursts of workspace/didChangeWatchedFiles notifications (such as those produced during a git checkout) within a short window before recomputing diagnostics. The new watchedFileDelay setting (default "50ms") controls this window; setting it to "0s" disables debouncing.

Passive features

Editing features

Analysis features

unusedfunc analyzer also reports unused struct fields

The existing unusedfunc analyzer now additionally reports a diagnostic for each unexported field of a named struct type that is never referenced within its package. (An unkeyed struct literal T{x, y} counts as an implicit use.)

Code transformation features

Model context protocol (MCP) features

All MCP tools now set the readOnlyHint annotation, since none of them modify the workspace. (go_rename_symbol returns the edits as a diff for the client to apply.) Some clients that ask for approval before running tools that are not read-only can now run the gopls tools without prompting.


The source files for this documentation can be found beneath golang.org/x/tools/gopls/doc.