auto-click-auto
Automatically enable tab autocompletion for shells in Click CLI applications.
What it is and what it does
auto-click-auto is a small Python library that adds tab shell completion support to Click CLI applications for Bash (4.4+), Zsh, and Fish. It wraps Click's built-in shell completion functionality and provides three main ways to integrate: checking and enabling completion on every program run, adding it as a CLI option via decorator, or exposing it as a dedicated command or subcommand. The library requires only click as a dependency and works across Python 3.7 through 3.14.
The package is designed to reduce friction in adding shell completion to Click programs—rather than copying completion code snippets or managing shell configuration manually, developers call one of two functions and specify which shells to target. It prints status messages on first activation and supports verbose output for debugging or confirming already-configured systems.
Use it for:
- Add seamless tab completion to a Click CLI tool without requiring users to run separate setup commands
- Expose shell completion as an explicit command in a CLI program (e.g., `myapp config shell-completion`)
- Integrate completion setup as a decorator option on a Click command for optional user activation
- Support multiple shells (Bash, Zsh, Fish) from a single codebase without shell-specific branching
- Enable completion automatically on first run to improve user experience in distributed CLI tools
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Automatically enables tab shell completion for Bash, Zsh, and Fish in Click CLI applications with minimal setup.
Yes. The package solves a real friction point in Click CLI development with minimal overhead—one dependency, active maintenance, no vulnerabilities, and permissive licensing. It's most valuable if you're building a Click application and want to offer shell completion without manual setup or boilerplate. Skip it if your CLI doesn't use Click or if you need completion for shells beyond Bash, Zsh, and Fish.
Install
auto-click-auto on PyPI
pip
pip install auto-click-autouv
uv add auto-click-autopoetry
poetry add auto-click-autoInstalling auto-click-auto
Before you install
Low friction install with a single runtime dependency on click. Active maintenance with a recent release (25 days ago) and no known vulnerabilities.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install auto-click-auto
import click
from auto_click_auto import enable_click_shell_completion
from auto_click_auto.constants import ShellType
@click.command()
def hello():
click.echo('Hello')
enable_click_shell_completion(
program_name="hello",
shells={ShellType.BASH, ShellType.FISH}
)
Verify before relying
- Whether shell completion persists across shell sessions or requires re-enablement
- How the library handles conflicts with existing shell completion configurations
- Performance impact when checking completion status on every CLI invocation
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — click |
| Maintenance | actively maintained — 25 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 233,554/month — #9,038 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: auto_click_auto-0.1.6-py3-none-any.whl
Keywords: click, autocomplete, shell
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
click-completionAdds shell completion support (Bash, Zsh, Fish,…
permissive · top 15,000 on PyPI
clickClick is a Python toolkit for building…
permissive · top 100 on PyPI
shtabGenerates shell tab completion scripts for…
copyleft · top 5,000 on PyPI
rich-clickRenders Click command-line interfaces with rich…
permissive · top 1,000 on PyPI
tabcompleterAdds Tab-key autocompletion and command…
permissive · top 5,000 on PyPI
argcompleteProvides bash and zsh tab completion for Python…
permissive · top 1,000 on PyPI
click-config-fileAdds configuration file support to Click…
permissive · top 15,000 on PyPI
click-replAdds an interactive REPL mode to Click…
permissive · top 1,000 on PyPI
click-default-groupExtends Click's Group class to invoke a default…
permissive · top 5,000 on PyPI
asyncclickAsyncclick provides a fork of Click that…
permissive · top 5,000 on PyPI