Skip to content

Let task-executor and wave-reviewer use the LSP tool - #51

Merged
sabind merged 1 commit into
mainfrom
add-lsp-tool-to-agents-104559ac
Oct 20, 2026
Merged

sabind merged 1 commit into
mainfrom
add-lsp-tool-to-agents-104559ac

Conversation

@sabind

@sabind sabind commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Why

Both agents pin a tools: list in their frontmatter, and a pinned list excludes any tool not named, so neither agent could use Claude Code's LSP tool. LSP is the generic language-server client; which servers exist is a per-user plugin choice (typescript-lsp, pyright-lsp, gopls-lsp, ...), so adding the tool keeps the handbook language-neutral. When no server is configured for a file type the tool returns an error and the agent continues, so it costs nothing in repositories without an LSP plugin.

What

The task-executor and wave-reviewer agents may now call the LSP tool for definitions, references, hover types and symbols when a language server is available, and are told not to rely on it being present. No language-specific LSP configuration is added.

Changes

  • Add LSP to the end of the tools: list of agents/task-executor.md and agents/wave-reviewer.md, and add one sentence to the executor's "Prove it" step and to the reviewer's read-only paragraph saying the tool may be used for definitions, references, hover types and symbols when a language server is available and must not be relied on. A pinned tools: list excludes any tool not named, and the generic client keeps the handbook language-neutral.
  • Add LSP to the allowlist of tool names in checks/test_agents.py. The check fails on the new frontmatter otherwise, and the allowlist's own comment says to extend it there when an agent needs another tool.
  • Bump the plugin version to 0.15.0 in plugins/freethinking/.claude-plugin/plugin.json, so installs pick up the new agent frontmatter, as every prior change to the plugin did.

Testing

make validate passed: the 23 Python checks under checks/, and claude plugin validate --strict on the marketplace, the plugin and the skills.

No eval was run. The eval sandbox has no language server and the agent cases' allowed_tools do not include LSP, so no existing case exercises the change; the added sentences can only be judged by reading.

Risk and rollout

None. In a repository without an LSP plugin the tool returns an error and the agent carries on, as the added sentences say.

Notes for reviewers

  • The author did not answer, for any change, what it does not cover, what would break it, or what a reviewer should question; read the two added sentences for a reading the agents could take wrong.
  • The version bump and the allowlist edit were not named in the request; the request asked for the two agent files and nothing else. Drop either if it should not be here.

🤖 Generated with Claude Code

Both agents pin a tools: list, and a pinned list excludes any tool not
named. LSP is Claude Code's generic language-server client, so adding it
keeps the handbook language-neutral; where no server is configured the
tool returns an error and the agent carries on. Each agent's body gets
one sentence saying it may use the tool for definitions, references,
hover types and symbols when a server is available and must not rely on
it. The agent check's allowlist gains LSP. Plugin 0.15.0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@sabind
sabind merged commit ab569c7 into main Oct 20, 2026
1 check passed
@sabind
sabind deleted the add-lsp-tool-to-agents-104559ac branch October 20, 2026 18:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants