← Back to issue list

Remove the default command

View original Github issue

Metadata

Project
craft-cli
Number
#361
Type
issue
State
open
Author
mr-cal
Labels
—
Created
Updated
Closed
—

Current evaluation

Maintainer tracking issue to remove the Dispatcher default_command/allow_default_command support once Snapcraft 10 (core28) ships. Intermediate step landed in PR #422 (error message path); full removal still pending.

Suggested action: keep open

Reason: The feature is still present in the codebase: Dispatcher.__init__ still takes default_command/allow_default_command (craft_cli/dispatcher.py:243-264) and the dispatch path at line 531 still triggers the default command, with docstrings explicitly saying 'This parameter will be removed in a future release of craft-cli (#361)'. The only work merged so far is the prerequisite step (7b630a9 / PR #422 'feat: error on default command'), which just gives Snapcraft a helpful error message; nothing resolves the removal itself, so the issue remains valid. It is not stale — it is blocked only on an external release (Snapcraft 10 / core28), and the maintainer authored it, which is a clear signal of intent. Actionability is limited by that external dependency and by the API break requiring coordination with downstream craft apps, not by ambiguity in scope.

Evaluated by: mr-cal-bot

Impact: 35 Quick Win: 9 Complexity: 55 Confidence: 80 Actionability: 58

Issue body

### What needs to get done Remove support for the dispatcher's default command. ### Why it needs to get done A default command was added to craft-cli to maintain compatibility with Snapcraft. Default commands aren't a good UX practice and no other craft app supports them. Snapcraft 9 dropped support for the default command, but craft-cli still needs to provide a helpful error message: ``` Running snapcraft without a command isn't supported. Use 'snapcraft pack' instead. ``` Craft-cli can fully drop support when Snapcraft 10 (core28) is released, as this version of Snapcraft will do what the other apps do (show the help text).

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 35
Quick Win: 9
Complexity: 55
Confidence: 80
Actionability: 58
keep open Maintainer tracking issue to remove the Dispatcher default_command/allow_default_command support once Snapcraft 10 (core28) ships. Intermediate step landed in PR #422 (error message path); full removal still pending.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 17
Complexity: 30
Confidence: 85
Actionability: 80
keep open Remove default_command and allow_default_command parameters from craft-cli Dispatcher. Feature still present in codebase; Snapcraft 9+ no longer uses it.
qwen/qwen3.8-27b
Impact: 45
Quick Win: 20
Staleness: 55
Complexity: 55
Confidence: 80
Support Request: 0
keep open Maintainer task to remove the Dispatcher's default_command/allow_default_command support (added for Snapcraft compat). Feature still present in code; removal gated on Snapcraft 10 (core28) release. No labels, 0 comments.
qwen/qwen3.6-35b-a3b
Staleness: 65
Complexity: 20
Confidence: 75
Support Request: 10
needs triage Issue requests removing default command support from craft-cli, contingent on Snapcraft 10 release. No maintainer response or labels. Awaiting triage.
qwen3.6-35b-a3b-mtp-q6
Staleness: 65
Complexity: 20
Confidence: 85
Support Request: 0
needs triage Unlabelled maintainer request to remove craft-cli default command support, currently blocked pending Snapcraft 10 release. No comments or labels assigned.

Update history

No update history recorded yet.

Related work

  • Related To: craft-cli#422 (confidence 90%)

    Merged as commit 7b630a9 'feat: error on default command'; adds the allow_default_command=False path that prints 'Missing a command. Try ...' — the intermediate state described in the issue body, not the full removal.

  • Related To: craft-cli#362 (confidence 85%)

    Merged as 5396c87; added the deprecation warning shown when the default command is used, the first step of the deprecation path this issue tracks.

  • Related To: craft-cli#58 (confidence 80%)

    Merged as 2bd77d1; the original PR that introduced default-command support in Dispatcher, which #361 would undo.

Related issues

Issue Project State Summary Similarity
#5673 Remove default command, `snapcraft` snapcraft closed PR #6074 removed bare `snapcraft` in db7c53f21, but PR #6178 reverted it in e5aaf0683. Removal was deferred to core28 planning, leaving the deprecated command intact.
78%