chocolatey/choco · error · ApplicationException
Feature '{0}' is not supported.
Error message
Feature '{0}' is not supported. What it means
Thrown by ChocolateyConfigSettingsService.ValidateSupportedFeature when the feature name is not in the internal _knownFeatures list (compared case-insensitively via ToLowerSafe). This is a secondary validation that fires after the feature is found in ConfigFileSettings.Features but before the enable/disable operation proceeds. It prevents operating on feature entries that exist in the config file but are not recognized by the current Chocolatey version as supported features.
Source
Thrown at src/chocolatey/infrastructure.app/services/ChocolateyConfigSettingsService.cs:626
{
typeof(ChocolateyConfigSettingsService).Log().Debug("Unable to get value for known feature name for variable '{0}'!".FormatWith(fi.Name));
}
}
}
protected void AddKnownFeature(string name)
{
if (!_knownFeatures.Contains(name.ToLowerSafe()))
{
_knownFeatures.Add(name.ToLowerSafe());
}
}
protected void ValidateSupportedFeature(ConfigFileFeatureSetting feature)
{
if (!_knownFeatures.Contains(feature.Name.ToLowerSafe()))
{
throw new ApplicationException("Feature '{0}' is not supported.".FormatWith(feature.Name));
}
}
#pragma warning disable IDE0022, IDE1006
[Obsolete("This overload is deprecated and will be removed in v3.")]
public void noop(ChocolateyConfiguration configuration)
=> DryRun(configuration);
[Obsolete("This overload is deprecated and will be removed in v3.")]
public virtual bool skip_source(ConfigFileSourceSetting source, ChocolateyConfiguration configuration)
=> SkipSource(source, configuration);
[Obsolete("This overload is deprecated and will be removed in v3.")]
public virtual IEnumerable<ChocolateySource> source_list(ChocolateyConfiguration configuration)
=> ListSources(configuration);
[Obsolete("This overload is deprecated and will be removed in v3.")]
public void source_add(ChocolateyConfiguration configuration)
View on GitHub (pinned to 0d5abdd10c)
Solutions
- Remove the unsupported feature entry from the chocolatey.config file manually
- Upgrade Chocolatey to a version that supports this feature
- Run 'choco feature list' to see only features recognized by the current version
- Avoid manually editing the config file; use 'choco feature enable/disable' commands instead
Example fix
// before: config file has feature from a newer Chocolatey version // <feature name="newFeature" enabled="true" /> choco feature disable --name=newFeature // throws: Feature 'newFeature' is not supported. // after: remove the stale entry from chocolatey.config, or upgrade Chocolatey // Edit C:\ProgramData\chocolatey\config\chocolatey.config // Remove the <feature name="newFeature" /> line choco feature list
Defensive patterns
Strategy: validation
Validate before calling
// Validate feature is supported by this version before operating on it
// The _knownFeatures list is populated by AddKnownFeature calls during service initialization
if (!knownFeatures.Contains(featureName.ToLowerInvariant()))
{
Console.Error.WriteLine($"Feature '{featureName}' is not supported by this Chocolatey version. " +
"Remove it from the config file or upgrade Chocolatey.");
return;
} Type guard
public static bool IsSupportedFeature(HashSet<string> knownFeatures, string featureName)
{
return knownFeatures.Contains(featureName.ToLowerInvariant());
} Try / catch
try
{
configService.DisableFeature(configuration);
}
catch (ApplicationException ex) when (ex.Message.Contains("not supported"))
{
logger.Error($"Feature '{configuration.FeatureCommand.Name}' is not supported by this version. " +
"Remove it from chocolatey.config or upgrade Chocolatey.");
} Prevention
- Avoid manually editing chocolatey.config; use CLI commands to manage features
- When downgrading Chocolatey, clean up config entries for features added by newer versions
- Run 'choco feature list' to see only features supported by the current version
- Remove stale feature entries from the config file when encountering this error
When it happens
Trigger: The config file contains a feature entry that was added manually or by an older/newer Chocolatey version, but the current version's _knownFeatures list doesn't include it. A feature was deprecated and removed from the known list but its config entry persists. User manually edited the config file to add a custom feature entry. Chocolatey was downgraded to a version that doesn't know about a feature added by a later version.
Common situations: Chocolatey downgrade: newer version added a feature, older version doesn't recognize it. Manual config file editing introduces unknown feature entries. Deprecated feature whose config entry wasn't cleaned up. Fork or custom build with different known feature sets.
Related errors
- A single config command must be listed. Please see the help
- When specifying the subcommand '{0}', you must also specify
- When specifying the subcommand '{0}', you must also specify
- No feature value by the name '{0}'
- Feature '{0}' not found
AI-assisted analysis of chocolatey/choco@0d5abdd10c (2026-08-13).
Data as JSON: /api/errors/b04dcb9a6038225e.
Report an issue: GitHub.