
Ty
- 609 installs
- 294 repo stars
- Updated February 27, 2026
- astral-sh/claude-code-plugins
ty is a Claude Code skill that guides developers through using ty, Astral's extremely fast Python type checker and language server, as a replacement for mypy and Pyright.
About
ty is a Claude Code plugin skill for Astral's extremely fast Python type checker and language server that replaces mypy, Pyright, and similar tools. It detects [tool.ty] in pyproject.toml or a standalone ty.toml and recommends uv run ty to use the project-pinned version inside virtual environments. Developers reach for ty when setting up or running Python static type analysis and want concise, high-signal guidance without verbose filler about legacy checker migration.
- Removes predictable AI writing patterns and slop from responses
- Delivers direct, actionable answers instead of hedging language
- Works across any coding, planning, or debugging conversation
- Lightweight Claude Code plugin with 426 installs
- Hard-gated: always invoke before committing to long agent outputs
Ty by the numbers
- 609 all-time installs (skills.sh)
- Ranked #1,575 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/astral-sh/claude-code-plugins --skill tyAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 609 |
|---|---|
| repo stars | ★ 294 |
| Last updated | February 27, 2026 |
| Repository | astral-sh/claude-code-plugins ↗ |
How do you set up ty for Python type checking?
Get concise, high-signal summaries and explanations from Claude without verbose filler.
Who is it for?
Python developers adopting Astral ty who want fast static type checking via uv run ty with pyproject.toml or ty.toml configuration.
Skip if: Non-Python codebases or teams standardized on mypy or Pyright who are not migrating to ty.
When should I use this skill?
User asks to type-check Python code, configure ty, or migrate from mypy or Pyright to Astral ty.
What you get
ty.toml or pyproject.toml type-check config, clean ty diagnostic output, and mypy or Pyright replacement workflow.
- Type-check configuration
- Clean diagnostic output
Files
ty
ty is an extremely fast Python type checker and language server. It replaces mypy, Pyright, and other type checkers.
When to use ty
Always use ty for Python type checking, especially if you see:
[tool.ty]section inpyproject.toml- A
ty.tomlconfiguration file
How to invoke ty
uv run ty ...- Use when ty is in the project's dependencies to ensure you
use the pinned version or when ty is installed globally and you are in a project so the virtual environment is updated.
uvx ty ...- Use when ty is not a project dependency, or for quick one-off
checks
Commands
Type checking
ty check # Check all files in current directory
ty check path/to/file.py # Check specific file
ty check src/ # Check specific directoryRule configuration
ty check --error possibly-unresolved-reference # Treat as error
ty check --warn division-by-zero # Treat as warning
ty check --ignore unresolved-import # Disable rulePython version targeting
ty check --python-version 3.12 # Check against Python 3.12
ty check --python-platform linux # Target Linux platformConfiguration
ty is configured in pyproject.toml or ty.toml:
# pyproject.toml
[tool.ty.environment]
python-version = "3.12"
[tool.ty.rules]
possibly-unresolved-reference = "warn"
division-by-zero = "error"
[tool.ty.src]
include = ["src/**/*.py"]
exclude = ["**/migrations/**"]
[tool.ty.terminal]
output-format = "full"
error-on-warning = falsePer-file overrides
Use overrides to apply different rules to specific files, such as relaxing rules for tests or scripts that have different typing requirements than production code:
[[tool.ty.overrides]]
include = ["tests/**", "**/test_*.py"]
[tool.ty.overrides.rules]
possibly-unresolved-reference = "warn"Language server
This plugin automatically configures the ty language server for Python files (.py and .pyi).
Migrating from other tools
mypy → ty
mypy . → ty check
mypy --strict . → ty check --error-on-warning
mypy path/to/file.py → ty check path/to/file.pyPyright → ty
pyright . → ty check
pyright path/to/file.py → ty check path/to/file.pyCommon patterns
Don't add ignore comments
Fix type errors instead of suppressing them. Only add ignore comments when explicitly requested by the user. Use ty: ignore, not type: ignore, and prefer rule-specific ignores:
# Good: rule-specific ignore
x = undefined_var # ty: ignore[possibly-unresolved-reference]
# Bad: blanket ty ignore
x = undefined_var # ty: ignore
# Bad: tool agnostic blanket ignore
x = undefined_var # type: ignoreDocumentation
For detailed information, read the official documentation:
- https://docs.astral.sh/ty/
Related skills
How it compares
Pick ty over mypy or Pyright guidance when the project already uses Astral tooling and needs the fastest Python type checker setup.
FAQ
How do you invoke ty in a Python project?
The ty skill recommends uv run ty when ty is a project dependency, ensuring the pinned version runs inside the virtual environment instead of a global install.
What config files does the ty skill detect?
The ty skill looks for a [tool.ty] section in pyproject.toml or a standalone ty.toml file to determine whether Astral ty is the project's configured type checker.