How to install the Astral plugins for Claude Code
Astral publishes an official Claude Code plugin that bundles three skills (/astral:uv, /astral:ruff, /astral:ty) and a ty language server. The skills give Claude up-to-date usage guidance for each tool, and the language server feeds live type-checking diagnostics into the conversation.
Prerequisites
- Claude Code installed
- uv installed (required by the ty language server)
Install the plugin for yourself
1. Add the Astral marketplace
Run this slash command inside Claude Code:
/plugin marketplace add astral-sh/claude-code-plugins2. Install the plugin
/plugin install astral@astral-shYou can also browse available plugins interactively with /plugin.
Install the plugin for your team
To enable the plugin for everyone who works in a repository, add the following to .claude/settings.json at the project root:
{
"extraKnownMarketplaces": {
"astral-sh": {
"source": {
"source": "github",
"repo": "astral-sh/claude-code-plugins"
}
}
},
"enabledPlugins": {
"astral@astral-sh": true
}
}Team members will be prompted to install the plugin when they trust the repository.
Use the skills
Once installed, invoke a skill by name whenever you want Claude to follow best practices for that tool:
| Skill | What it covers |
|---|---|
/astral:uv | Project setup, dependency management, scripts, and the pip compatibility interface |
/astral:ruff | Linting with ruff check, formatting with ruff format, and migration from Black, Flake8, or isort |
/astral:ty | Type checking with ty check, rule configuration, and migration from mypy or Pyright |
To make Claude reach for these skills automatically, add a line to your project’s CLAUDE.md:
When working with Python, invoke the relevant `/astral:<skill>` for `uv`, `ty`, and `ruff` to ensure best practices are followed.What the language server provides
The plugin also starts a ty language server for .py and .pyi files. This gives Claude access to type-checking diagnostics without running ty check manually. The language server requires uvx to be available on PATH because it runs uvx ty@latest server under the hood.
Learn more
Get Python tooling updates
Subscribe to the newsletter