spicetify/cli · error
invalid option available options: all, userdata
Error message
invalid option available options: all, userdata
What it means
When `spicetify path` is called without focus flags, its only valid positional arguments are `all` and `userdata`. Any other positional word is rejected with this error by the fallback branch in spicetify.go.
Source
Thrown at spicetify.go:229
if len(commands) == 0 {
return cmd.AppAllPath()
}
return cmd.AppPath(commands[0])
} else {
for _, v := range flags {
if v != "-e" && v != "-c" && v != "-a" && v != "-s" {
return "", errors.New("invalid option\navailable options: -e, -c, -a, -s")
}
}
if len(commands) == 0 && len(flags) == 0 {
return utils.GetExecutableDir(), nil
} else if commands[0] == "all" {
return cmd.AllPaths()
} else if commands[0] == "userdata" {
return utils.GetSpicetifyFolder(), nil
}
return "", errors.New("invalid option\navailable options: all, userdata")
}
})()
if err != nil {
utils.Fatal(err)
}
log.Println(path)
return
case "watch":
cmd.InitPaths()
var name []string
if len(commands) > 1 {
name = commands[1:]
}
View on GitHub (pinned to 1f13f73616)
Solutions
- Use `spicetify path all` for every relevant path or `spicetify path userdata` for the spicetify config folder
- Use a focus flag instead: `-e` for extensions, `-c` for theme, `-a` for custom apps
- Run `spicetify -h` to list valid path arguments
Example fix
// before spicetify path theme // after spicetify path -c folder
Defensive patterns
Strategy: validation
Validate before calling
switch cmdWord {
case "", "all", "userdata":
// ok
default:
return fmt.Errorf("invalid option %q; available options: all, userdata", cmdWord)
} Type guard
func isValidPathParam(s string) bool { return s == "all" || s == "userdata" } Prevention
- Use exactly `all` or `userdata` as the positional argument
- Use focus flags (-e/-c/-a) for other resource types instead of positional words
- Consult `spicetify -h` rather than guessing subcommand names
When it happens
Trigger: Running e.g. `spicetify path themes`, `spicetify path extensions`, or `spicetify path myapp` — the first command word is checked against exactly "all" and "userdata" and hits the default error return otherwise.
Common situations: Users guess subcommand names instead of using -e/-c/-a focus flags; users type `spicetify path theme` expecting the theme folder (correct: `spicetify path -c`); users abbreviate `userdata` incorrectly.
Related errors
- invalid option available options: -e, -c, -a, -s
- Command "{{v}}" not found. Run "spicetify -h" for a list of
- unrecognized theme assets kind. only "root", "folder", "colo
AI-assisted analysis of spicetify/cli@1f13f73616 (2026-08-31).
Data as JSON: /api/errors/ba7ee99e28dba818.
Report an issue: GitHub.