Serena v1.7.0

August 9, 2026

Here are the highlights of the v1.7.0 release:

Grok Support. Serena now supports Grok Build as a client, including the grok context, setup via the CLI, and hooks (serena-hooks --client=grok) with Grok-native PreToolUse allow/deny output.

Expanded Language Server Support. Added: Gleam (via gleam lsp), Nextflow (official language server, JAR downloaded automatically, Java 17+ required), Deno and Wolfram (both experimental) as well as python_basedpyright as an alternative Python language server.
The managed Java and Kotlin language server were updated.
Furthermore, you now have the option of specifying language server priorities, which affect auto-detection during project creation, allowing you to change the default language server for a given language.

Renamed Project Setting. The languages key in project configurations is now called language_servers, which better reflects its actual semantics. Existing configurations are migrated automatically.

Security Hardening. The project server and the dashboard tray manager now configure trusted hosts (local hosts only) when listening on localhost, and prompt templating runs in a sandboxed environment, preventing attackers from using custom prompts to execute commands in an uncontrolled manner.

Prompts & Templating. Initial project prompts and project-specific newly activated modes can now use templating, and the new embed_memory function inlines a memory's contents into a prompt template. Sub-prompts are enclosed in XML-like tags to make scopes explicit.

More Liberal Handling of Ignored Paths. Tools that explicitly target a single file (create_text_file, read_file, replace_content) no longer consider ignored paths at all – when a path is explicitly accessed, the agent is assumed to have a good reason for doing so. Tools that traverse a subtree (list_dir, find_file, search_for_pattern) now uniformly offer a skip_ignored_files option.

Better Diagnosability. Project activation errors are now reported to the client in Serena's system prompt instead of being visible only in the log, get_current_config includes the language server status, and project health-check exits with a non-zero code when the check fails.

Robustness & Fixes. A multitude of fixes across the board, including Scala/Metals (build import and monorepos with several build roots), TypeScript (incomplete reference results on large projects), Erlang (name paths for functions), F#, Nix, Ansible, Rust memory usage, orphaned language server processes on Linux, race conditions in the project server, blocked tool call timeouts, and the dashboard, which now uses the tray_manager interface by default on macOS.

See our change log for the full list of changes.

Update Now. If you are using the uv tool installation of Serena, upgrade as follows:
uv tool upgrade serena-agent