classic snaps cannot find stage packages in $PATH
Metadata
Current evaluation
Classic snaps cannot resolve executables staged in payload bin directories because Snapcraft omits those directories from PATH; this longstanding request remains untriaged.
Suggested action: needs triage
Reason: The issue has no labels, maintainer response, or comments, and its request is concrete but does not establish whether altering PATH is desired because that could change host binary precedence. Commit 9b6e58337 for #4216, titled "meta: omit LD_LIBRARY_PATH and PATH in classic confinement," is directly relevant and requires maintainer review of that policy.
Evaluated by: mr-cal-bot
Impact:
47
Quick Win:
8
Complexity:
64
Confidence:
84
Actionability:
50
Issue body
A classic snap can declare stage-packages to embed dependent binaries. However, /snap/$snapname/{usr/,usr/local/,}bin is not in the default $PATH so the snapped commands cannot locate dependent executables.
It currently seems to be a requirement to append the directories containing the dependencies to $PATH in a wrapper script. This could be done automatically.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
47
Quick Win:
8
Complexity:
64
Confidence:
84
Actionability:
50
|
needs triage | Classic snaps cannot resolve executables staged in payload bin directories because Snapcraft omits those directories from PATH; this longstanding request remains untriaged. | |
| qwen/qwen3.6-35b-a3b |
Impact:
30
Quick Win:
10
Complexity:
20
Confidence:
40
Actionability:
40
|
close resolved | Classic snaps cannot find stage packages in $PATH because snap bin directories are not included in the default PATH. Issue has been open for ~9 years with no comments. | |
| qwen/qwen3.8-27b |
Impact:
35
Quick Win:
21
Staleness:
95
Complexity:
40
Confidence:
60
Support Request:
15
|
close stale | Classic snaps with stage-packages cannot find dependent binaries because snap bin directories are missing from default PATH. 9+ years old, zero comments, no labels. A related workaround (PR #2889, snapcraft-runner) was merged to address classic snap PATH resolution. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
55
Confidence:
90
Support Request:
20
|
close stale | Classic snaps with stage-packages cannot locate dependent binaries because snap bin directories are missing from the default PATH. Requires manual wrapper scripts. No maintainer response in over 9 years. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
60
Confidence:
90
Support Request:
10
|
close stale | Classic snaps with stage-packages cannot locate dependent binaries because snap bin directories are missing from $PATH. Requires manual wrapper scripts. Unaddressed for over 9 years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
25
Confidence:
80
Support Request:
10
|
close stale | Classic snaps with stage-packages cannot locate dependent binaries because snap bin directories are missing from $PATH, requiring manual wrapper scripts. Unaddressed for over nine years. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Related To:
snapcraft#4216
(confidence 96%)
Commit 9b6e58337 deliberately omits PATH in classic confinement and is directly relevant to the requested behavior.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1670388 classic snap are missing some env variables for reaching command name. (snap build, executing it fails) | snapcraft (launchpad) | open | Classic snap wrappers omit snap-local PATH entries, so commands such as chuck-norris-cli can pass packaging but fail at runtime; the confirmed report remains open. |