NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #784 most downloaded on crates.io
Generate shell completion scripts for your clap::Command
Last release 22 days ago
15 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
134 releases · first in 2021
One column per quarter.
chore: Release clap_complete version 4.6.11
chore: Release clap_complete version 4.6.11
chore: Release clap_complete version 4.6.10
chore: Release clap_complete version 4.6.10
chore: Release clap_complete version 4.6.9
chore: Release clap_complete version 4.6.9
chore: Release clap_complete version 4.6.8
chore: Release clap_complete version 4.6.8
PossibleValue completion for composing with custom completers(derive) Add #[command(defer = <bool>)] attribute to opt-in to lazy initialisation of subcommands
#[command(defer = <bool>)] attribute to opt-in to lazy initialisation of subcommands#[command(defer = <bool>)] attribute to opt-in to lazy initialisation of subcommandsAdd Command::get_overridden_usage
Command::get_overridden_usage(help) Correctly mark which value_names are optional with num_args
value_names are optional with num_args[4.6.4] - 2026-07-21 Internal Update to syn v3
(derive) Allow "literal".function() as attribute values
"literal".function() as attribute valuesValueCompleter::complete_at for completing different values for location within Arg::num_args*(help)* Say alias when there is only one
alias when there is only one*(derive)* Ensure rebuilds happen when an read env variable is changed
### Compatibility - Update MSRV to 1.85
### Internal - Update dependencies
Nothing published for this version
*(zsh)* Correctly complete zero values for num_args(0..)
num_args(0..)*(dynamic/zsh)* Remove trailing space after directory completions
*(dynamic)* Complete symlinks as their target's file type
*(dynamic/fish)* Properly escape binaries with spaces in them
### Internal - Update dependencies
*(help)* Quote empty default values, possible values
Command::ignore_errors no longer masks help/version on subcommands
Command::ignore_errors no longer masks help/version on subcommandsRecognize that after --, options should not be completed
--, options should not be completedRegression from 4.5.55 where having an argument with .value_terminator("--") caused problems with an argument with .last(true)
.value_terminator("--") caused problems with an argument with .last(true)On conflict error, don't show conflicting arguments in the usage
Fix inconsistency in precedence between positionals with a value_terminator("--") and escapes (--) where ./foo -- bar means the first arg is empty, ra
value_terminator("--") and escapes (--) where ./foo -- bar means the first arg is empty, rather than escaping future args*(help)* Move [default] to its own paragraph when PossibleValue::help is present in --help
[default] to its own paragraph when PossibleValue::help is present in --helpAdd default_values_if, default_values_ifs
default_values_if, default_values_ifsDon't panic when args_conflicts_with_subcommands conflicts with an ArgGroup
args_conflicts_with_subcommands conflicts with an ArgGroup*(help)* Correctly calculate padding for short flags that take a value
ArgAction::CountAccept Cow where String and &str are accepted
Cow where String and &str are accepted*(help)* Correctly wrap when ANSI escape codes are present
Add a new CLI Concepts document as another way of framing clap
typed_derive cookbook entryAdded impl FromArgMatches for ()
impl FromArgMatches for ()impl Args for ()impl Subcommand for ()impl FromArgMatches for Infallibleimpl Subcommand for Infallibleclap### Features - Expose StyledStr::push_str
StyledStr::push_str*(unstable-v5)* ValueEnum variants now use the full doc comment, not summary, for PossibleValue::help
ValueEnum variants now use the full doc comment, not summary, for PossibleValue::help### Features - Add Command::mut_subcommands
Command::mut_subcommandsCOMPLETE= and COMPLETE=0*(help)* In long help, list Possible Values before defaults, rather than after, for a more consistent look
Include subcommand visible long aliases in --help
--helpaot completions for single-value ValueEnumsAdd Styles::context and Styles::context_value to customize the styling of [default: value] like notes in the --help
Styles::context and Styles::context_value to customize the styling of [default: value] like notes in the --helpSupport quoted ids in arg!() macro (e.g. arg!("check-config": ...))
arg!() macro (e.g. arg!("check-config": ...))*(help)* Show short flag aliases before long
*(help)* When showing aliases, include leading -- or -
-- or -Added ArgMatches::try_clear_id()
ArgMatches::try_clear_id()*(help)* Revert 4.5.35's "Don't leave space for shorts if there are none" for now
ValueHint::Unknown to _default in static completions*(help)* Align positionals and flags when put in the same help_heading
help_heading*(help)* Don't add extra blank lines with flatten_help(true) and subcommands without arguments
flatten_help(true) and subcommands without arguments*(error)* When showing the usage of a suggestion for an unknown argument, don't show the group
*(cookbook)* Switch from humantime to jiff
Error::removehumantime to jiffpulldown-cmarkAdd ValueParserFactory for Saturating
ValueParserFactory for Saturating<T>CompleteEnv::with_factory now takes in a Fn instead of a FnOnce*(assert)* Allow num_args(0..=1) to be used with SetTrue
num_args(0..=1) to be used with SetTruetakes_values assertionsValueHint::AnyPath but "no completion"Change ArgMatches::args_present so not-present flags are considered not-present (matching the documentation)
ArgMatches::args_present so not-present flags are considered not-present (matching the documentation)-[TAB], prioritize shorts over longsCompletionCandidate::tagCompletionCandidate::tag by their display_order*(derive)* Unstable support for full markdown syntax for doc comments, enabled with unstable-markdown
unstable-markdownstd::env::args_os()[0], rather than Command::nameIterate on tutorials and reference based on feedback
*(error)* Reduce binary size with the suggestions feature
suggestions feature### Fixes - *(help)* Reduce binary size
CompleteCommand*(parser)* Correctly handle defaults with ignore_errors(true) and when a suggestion is provided for an unknown argument
ignore_errors(true) and when a suggestion is provided for an unknown argument*(parser)* When check allow_negative_numbers, allow E again
allow_negative_numbers, allow E againCompletionCandidate::get_content to CompletionCandidate::get_value*(assert)* Catch bugs with arguments requiring themself
*(parser)* Ensure defaults are filled in on error with ignore_errors(true)
ignore_errors(true)ArgValueCompleter, a more flexible ArgValueCandidatesPathCompleter, a more flexible ValueHint::*PathValueHint::*Path resultsValueHint::*Path results### Features - *(unstable)* Add CommandExt
CommandExtCustomCompleter to ValueCandidatesArgValueCompleter to ArgValueCandidatesYour coding agent can read these notes before it upgrades. Set up the MCP server →