click-didyoumean
Enables git-like *did-you-mean* feature in click
Decision gist · record as of 2026-08-14
Yes, if you maintain a click-based CLI and want to reduce friction from user typos. The package is lightweight, permissively licensed, and has no known vulnerabilities. However, dormant maintenance (873 days since last release) means it may not track breaking changes in click or Python ecosystem updates—verify compatibility with your click version before adopting.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with a single dependency on click.
- Maintenance is dormant—last commit was 2024-03-27 and no releases in 873 days—but the repository remains active and the package supports current Python versions.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal obligations.
last release 2024-03-24 (873 days) · last repo commit 2024-03-27 · 101 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 52,570,106 downloads/mo, #559 on PyPI
Alternatives
Verify before relying
pip install click-didyoumean
import click
from click_didyoumean import DYMGroup
@click.group(cls=DYMGroup)
def cli():
pass
@cli.command()
def foo():
pass
if __name__ == "__main__":
cli()- Whether dormant status (873 days since last release) affects compatibility with recent click versions or Python ecosystem changes
- Performance impact of fuzzy matching on CLIs with many commands
What it is and what it does
click-didyoumean is a click extension that intercepts command-line input errors and suggests similar valid commands, mimicking the user-friendly behavior of git's "did you mean" feature. It wraps click's group and command collection classes (DYMGroup and DYMCommandCollection) to inject fuzzy matching logic that compares user input against available commands and surfaces the closest matches.
When a user types an invalid command, the package calculates similarity scores and returns up to 3 suggestions by default (configurable via max_suggestions and cutoff parameters). It requires only click as a runtime dependency and works with Python 3.6.2 and later, making it a lightweight addition to existing click-based CLI projects.
Use it for
- Improve user experience in CLI tools by suggesting corrections when users mistype subcommands
- Reduce support burden by helping users self-correct common typos in command names
- Combine multiple click groups with unified typo correction via DYMCommandCollection
- Customize suggestion behavior by tuning max_suggestions and similarity cutoff thresholds per CLI
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you maintain a click-based CLI and want to reduce friction from user typos.
The package is lightweight, permissively licensed, and has no known vulnerabilities. However, dormant maintenance (873 days since last release) means it may not track breaking changes in click or Python ecosystem updates—verify compatibility with your click version before adopting.
Install
click-didyoumean on PyPI
Before you install
Low install friction with a single dependency on click. Maintenance is dormant—last commit was 2024-03-27 and no releases in 873 days—but the repository remains active and the package supports current Python versions.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal obligations.
Quickstart
pip install click-didyoumean
import click
from click_didyoumean import DYMGroup
@click.group(cls=DYMGroup)
def cli():
pass
@cli.command()
def foo():
pass
if __name__ == "__main__":
cli()
Verify before relying
- Whether dormant status (873 days since last release) affects compatibility with recent click versions or Python ecosystem changes
- Performance impact of fuzzy matching on CLIs with many commands
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.6.2 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageclick |
| Maintenance | Dormant 873 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 52,570,106 / month, #559 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: click_didyoumean-0.3.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “click command suggestions”
- click-didyoumeanAdds git-like "did-you-mean" suggestions to click CLI applications…
- cloupCloup extends Click with option groups, parameter constraints,…
- oci-cliCommand-line interface for managing Oracle Cloud Infrastructure…
Give your agent the search over MCP, or paste the wish link into any chat.
Similar packages
Adds command aliases to Click CLI groups and commands, allowing multiple names to invoke the same command.
Extends Click's Group class to invoke a default subcommand when no subcommand is explicitly passed, instead of showing the help message.
Adds an interactive REPL mode to Click command-line applications, letting users run CLI commands interactively with tab completion and command history instead of repeatedly invoking the program.
Adds color customization to Click command-line help messages and version output, letting you style headers, options, and custom text with terminal colors.
However, the aging maintenance status (last release 2023-11-18, no activity in over 1000 days) means you should verify compatibility with your Click version before…
Converts a click command-line app into an interactive shell with command completion by replacing @click.group with @click_shell.shell.
Extends Click CLI groups to load external commands and subcommands via setuptools entry-points, enabling plugin architectures for command-line applications.
However, note the inactive maintenance status and the discrepancy between the description ("no longer actively maintained") and the metadata (active status); verify…
See also mkdocs-click · auto-click-auto · trogon