skillfed

click-completion

Fish, Bash, Zsh and PowerShell completion for Click

click-completion v0.5.2 210.0K downloads/30d#9,505 on PyPI294
Permissive license MIT AGING released

What it is and what it does

click-completion monkey-patches Click to add shell completion for Bash, Zsh, Fish, and PowerShell. It generates shell-specific activation code and can install it permanently into shell configuration directories. For Fish and Zsh, it also displays help text during completion. The package works by exporting a magic environment variable (_<PROG_NAME>_COMPLETE) that your Click application recognizes and uses to generate completion output.

The package is now in maintenance mode only—no new features are being added. If you are using Click 8.0 or later, Click's native completion support (introduced in that version) is the recommended approach. This package is primarily useful for applications built on older Click versions that need completion support across multiple shells.

Use it for:

  • Add Bash completion to a legacy Click CLI tool that cannot upgrade to Click 8.0.
  • Enable Fish shell completion with help text display for a Click-based command-line application.
  • Provide Zsh completion with argument documentation for a multi-command Click application.
  • Generate and install PowerShell completion scripts for a Click tool used in Windows environments.
  • Customize completion behavior by implementing the complete method on custom parameter types.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Adds shell completion support (Bash, Zsh, Fish, PowerShell) to Click command-line applications, with help text display for Fish and Zsh.

No—unless you are maintaining a Click application on a version before 8.0. Click 8.0 and later include native completion support that supersedes this package. The package is in maintenance mode, has not been released since 2019, and carries high install friction. For new projects or upgradeable codebases, use Click's built-in completion instead.

Install

click-completion on PyPI

pip

pip install click-completion

uv

uv add click-completion

poetry

poetry add click-completion

Installing click-completion

Before you install

High install friction due to source-only distribution. Package is in maintenance mode only with no new features; last release was 2019-10-15 and last commit 2025-03-25. For Click 8.0 and later, use Click's native completion instead.

License in practice

MIT license is permissive and places no restrictions on use, modification, or distribution.

Quickstart

import click_completion
click_completion.init()

# Then generate shell code:
code = click_completion.get_code()
# Or install directly:
click_completion.install()

Requires Click (version before 8.0 recommended; Click 8.0+ has native completion). Requires Jinja2. Requires one of: Bash, Zsh, Fish, or PowerShell.

Verify before relying

  • Whether the package works correctly with modern Click versions (8.0+) despite the recommendation to use native completion instead.
  • Current test coverage and whether the package is actively tested against supported shells.
  • Compatibility with recent Python versions, as python_support is unspecified.

Package facts

License MIT (permissive)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance aging — 2,495 days since the last release
Last repo commit
First released
Downloads 209,951/month — #9,505 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: click-completion-0.5.2.tar.gz

Tags

click shell completionbash zsh fish completionclick command line completionpowershell completion for clickcli argument completionshell completion generator
shell-completionlegacy-maintenance

More Utilities packages