clap
A simple to use, efficient, and full-featured Command Line Argument Parser
4.6.6
1.1B downloads/mo
#34 most downloaded on crates.io
clap-rs/clap
What this package is like to depend on
Last release 17 days ago
06 Aug 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 313 of 347 stable releases
92 versions withdrawn
withdrawn after publishing
11 years old
461 releases · first in 2015
22 releases in the last 12 months
see the full history below
Release timeline
461 releases · Mar 2015 to Aug 2026Releases
latest 60 of 461-
4.6.606 Aug 2026 -
4.6.531 Jul 2026Release notes
Open source →[4.6.5] - 2026-07-31
Fixes
- (help) Correctly mark which
value_namesare optional withnum_args
Release notes
Open source →Fixes
- (help) Correctly mark which
value_namesare optional withnum_args
- (help) Correctly mark which
-
4.6.421 Jul 2026 -
4.6.320 Jul 2026Release notes
Open source →[4.6.3] - 2026-07-20
Fixes
- (derive) Allow
"literal".function()as attribute values
- (derive) Allow
-
4.6.215 Jul 2026 -
4.6.115 Apr 2026Release notes
Open source →Fixes
- (derive) Ensure rebuilds happen when an read env variable is changed
-
4.6.012 Mar 2026 -
4.5.6112 Mar 2026 -
4.5.6019 Feb 2026 -
4.5.5916 Feb 2026Release notes
Open source →Fixes
Command::ignore_errorsno longer masks help/version on subcommands
-
4.5.5811 Feb 2026Nothing published for this version
-
4.5.5703 Feb 2026Release notes
Open source →Fixes
- Regression from 4.5.55 where having an argument with
.value_terminator("--")caused problems with an argument with.last(true)
- Regression from 4.5.55 where having an argument with
-
4.5.5629 Jan 2026 -
4.5.5527 Jan 2026Release notes
Open source →Fixes
- Fix inconsistency in precedence between positionals with a
value_terminator("--")and escapes (--) where./foo -- barmeans the first arg is empty, rather than escaping future args
- Fix inconsistency in precedence between positionals with a
-
4.5.5402 Jan 2026Release notes
Open source →Fixes
- (help) Move
[default]to its own paragraph whenPossibleValue::helpis present in--help
- (help) Move
-
4.5.5319 Nov 2025 -
4.5.5217 Nov 2025Release notes
Open source →Fixes
- Don't panic when
args_conflicts_with_subcommandsconflicts with anArgGroup
- Don't panic when
-
4.5.5129 Oct 2025Release notes
Open source →Fixes
- (help) Correctly calculate padding for short flags that take a value
- (help) Don't panic on short flags using
ArgAction::Count
-
4.5.5020 Oct 2025 -
4.5.4913 Oct 2025 -
4.5.4819 Sep 2025Release notes
Open source →Documentation
- Add a new CLI Concepts document as another way of framing clap
- Expand the
typed_derivecookbook entry
-
4.5.4702 Sep 2025Release notes
Open source →Features
- Added
impl FromArgMatches for () - Added
impl Args for () - Added
impl Subcommand for () - Added
impl FromArgMatches for Infallible - Added
impl Subcommand for Infallible
Fixes
- (derive) Update runtime error text to match
clap
- Added
-
4.5.4626 Aug 2025 -
4.5.4512 Aug 2025Release notes
Open source →Fixes
- (unstable-v5)
ValueEnumvariants now use the full doc comment, not summary, forPossibleValue::help
- (unstable-v5)
-
4.5.4411 Aug 2025 -
4.5.4306 Aug 2025Release notes
Open source →Fixes
- (help) In long help, list Possible Values before defaults, rather than after, for a more consistent look
-
4.5.4230 Jul 2025 -
4.5.4109 Jul 2025Release notes
Open source →Features
- Add
Styles::contextandStyles::context_valueto customize the styling of[default: value]like notes in the--help
- Add
-
4.5.4009 Jun 2025Release notes
Open source →Features
- Support quoted ids in
arg!()macro (e.g.arg!("check-config": ...))
- Support quoted ids in
-
4.5.3927 May 2025Release notes
Open source →Fixes
- (help) Show short flag aliases before long
- (help) Merge the short and long flag alias lists
-
4.5.3811 May 2025 -
4.5.3718 Apr 2025 -
4.5.3611 Apr 2025Release notes
Open source →Fixes
- (help) Revert 4.5.35's "Don't leave space for shorts if there are none" for now
-
4.5.3501 Apr 2025Release notes
Open source →Fixes
- (help) Align positionals and flags when put in the same
help_heading - (help) Don't leave space for shorts if there are none
- (help) Align positionals and flags when put in the same
-
4.5.3427 Mar 2025Release notes
Open source →Fixes
- (help) Don't add extra blank lines with
flatten_help(true)and subcommands without arguments
- (help) Don't add extra blank lines with
-
4.5.3326 Mar 2025Release notes
Open source →Fixes
- (error) When showing the usage of a suggestion for an unknown argument, don't show the group
-
4.5.3210 Mar 2025Release notes
Open source →Features
- Add
Error::remove
Documentation
- (cookbook) Switch from
humantimetojiff - (tutorial) Better cover required vs optional
Internal
- Update
pulldown-cmark
- Add
-
4.5.3124 Feb 2025 -
4.5.3017 Feb 2025Release notes
Open source →Fixes
- (assert) Allow
num_args(0..=1)to be used withSetTrue - (assert) Clean up rendering of
takes_valuesassertions
- (assert) Allow
-
4.5.2911 Feb 2025Release notes
Open source →Fixes
- Change
ArgMatches::args_presentso not-present flags are considered not-present (matching the documentation)
- Change
-
4.5.2803 Feb 2025Release notes
Open source →Features
- (derive) Unstable support for full markdown syntax for doc comments, enabled with
unstable-markdown
- (derive) Unstable support for full markdown syntax for doc comments, enabled with
-
4.5.2720 Jan 2025 -
4.5.2609 Jan 2025 -
4.5.2509 Jan 2025 -
4.5.2407 Jan 2025Release notes
Open source →Fixes
- (parser) Correctly handle defaults with
ignore_errors(true)and when a suggestion is provided for an unknown argument
- (parser) Correctly handle defaults with
-
4.5.2305 Dec 2024 -
4.5.2203 Dec 2024 -
4.5.2113 Nov 2024Release notes
Open source →Fixes
- (parser) Ensure defaults are filled in on error with
ignore_errors(true)
- (parser) Ensure defaults are filled in on error with
-
4.5.2008 Oct 2024 -
4.5.1901 Oct 2024 -
4.5.1820 Sep 2024Release notes
Open source →Features
- (builder) Expose
Arg::get_display_orderandCommand::get_display_order
- (builder) Expose
-
4.5.1704 Sep 2024Release notes
Open source →Fixes
- (help) Style required argument groups
- (derive) Improve error messages when unsupported fields are used
-
4.5.1615 Aug 2024 -
4.5.1510 Aug 2024Release notes
Open source →Compatiblity
- (unstable-ext)
Arg::removechanged return types
Fixes
- (unstable-ext) Make
Arg::removereturn the removed item
- (unstable-ext)
-
4.5.1408 Aug 2024Release notes
Open source →Features
- (unstable-ext) Added
Arg::addfor attaching arbitrary state, like completion hints, toArgwithoutArgknowing about it
- (unstable-ext) Added
-
4.5.1331 Jul 2024Release notes
Open source →Fixes
- (derive) Improve error message when
#[flatten]ing an optional#[group(skip)] - (help) Properly wrap long subcommand descriptions in help
- (derive) Improve error message when
-
4.5.1231 Jul 2024Nothing published for this version
-
4.5.1125 Jul 2024Nothing published for this version
-
4.5.1023 Jul 2024Nothing published for this version
-
4.5.909 Jul 2024Release notes
Open source →Fixes
- (error) When defining a custom help flag, be sure to suggest it like we do the built-in one