# \`cabal-install\` external command feature without passing the subcommand's name as \`argv\[1\]\`

**URL:** <https://discourse.haskell.org/t/cabal-install-external-command-feature-without-passing-the-subcommands-name-as-argv-1/13062>\
**Category:** Links\
**Created:** [October 1, 2025, 9:59pm UTC](https://discourse.haskell.org/t/cabal-install-external-command-feature-without-passing-the-subcommands-name-as-argv-1/13062 "2025-10-01T21:59:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![MangoIV](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/mangoiv/32/3519_2.png) [@MangoIV](https://discourse.haskell.org/u/MangoIV)\
**Post date:** [October 1, 2025, 9:59pm UTC](https://discourse.haskell.org/t/cabal-install-external-command-feature-without-passing-the-subcommands-name-as-argv-1/13062/1 "2025-10-01T21:59:54Z")

</div>

We would like to change the cabal subcommands feature such that `cabal-install` does not pass the subcommand’s name as `argv[1]` anymore.

This was originally added to mirror cargo and has some advantages for executables that have multiple subcommands that are less important in the Haskell context than they are in the rust context, but do not affect the average use case where you just want to invoke `cabal-foo` as `cabal foo`.

We would like to announce the proposed change here, since we want to warn and survey users who **have a single executable that serves multiple cabal subcommands.**

If that is not the case for you, your live will become simpler and we will probably not break you, either.

If that is the case for you, we would like to hear about your usecase and discuss how to avoid breakage for you.

This is the proposed change: [cabal-install: do not pass the executable name to cabal external commands by MangoIV · Pull Request #11232 · haskell/cabal · GitHub](https://github.com/haskell/cabal/pull/11232)  
This is the original discussion that led up to this: [external commands need to explicitly handle their own name being passed to the executable · Issue #10275 · haskell/cabal · GitHub](https://github.com/haskell/cabal/issues/10275)

---

<div class="post-metadata">

**Author:** ![mpickering](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/mpickering/32/4585_2.png) [@mpickering](https://discourse.haskell.org/u/mpickering)\
**Post date:** [October 2, 2025, 8:57am UTC](https://discourse.haskell.org/t/cabal-install-external-command-feature-without-passing-the-subcommands-name-as-argv-1/13062/2 "2025-10-02T08:57:18Z")

</div>

Thank you for taking the lead on this issue @MangoIV !
