claude-ty-lsp
A Claude Code plugin that wires up ty —
Astral's fast Python type checker and language server — so Claude gets real code
intelligence on Python projects: diagnostics after every edit, go to definition,
find references, hover types, and symbol search.
This repository is both the plugin (ty-lsp) and a single-plugin marketplace
(claude-ty-lsp).
Install
The plugin configures the connection to ty; it does not bundle the binary.
Install ty first and make sure it's on your PATH:
uv tool install ty
Or as a project dev dependency:
uv add --dev ty
Then add the marketplace and install the plugin:
/plugin marketplace add jsperger/claude-ty-lsp
/plugin install ty-lsp@claude-ty-lsp
Verify with ty --version. If /plugin shows Executable not found in $PATH
under its Errors tab, ty isn't installed or isn't visible to Claude Code.
Local development
git clone https://github.com/jsperger/claude-ty-lsp.git
claude --plugin-dir /path/to/claude-ty-lsp
What you get
Applies to .py and .pyi files.
Verified working against ty 0.0.56: diagnostics, go to definition / declaration / type definition, find references, document symbols, workspace symbols, call hierarchy, type hierarchy, hover, completions, inlay hints, signature help, document highlight, semantic tokens, folding, and rename.
Not provided by ty: go to implementation, code lens, document link, document
color, rename-files. (Claude exposes a goToImplementation operation, but ty
does not answer it.) Formatting is intentionally out of scope — use ruff format.
ty is in beta. Its navigation is dependable; its type system still has
gaps, tracked in astral-sh/ty#1889.
The most consequential one for day-to-day use is that return types of unannotated
functions aren't inferred yet, which is why you'll see Unknown in hovers.
Missing language-server features are tracked in
astral-sh/ty#3588.
The plugin also ships a skill (ty-python-lsp) that teaches Claude when to reach
for LSP navigation instead of grep, how to position requests so they don't
silently miss, and which beta gaps to expect.
Layout
.claude-plugin/
plugin.json # plugin manifest
marketplace.json # marketplace listing
.lsp.json # ty language server configuration
skills/
ty-python-lsp/
SKILL.md # guidance for using ty effectively