Flow-Launcher/Flow.Launcher · warning · EngineNotAvailableException
It can be very slow without index (which is only supported i
Error message
It can be very slow without index (which is only supported in Everything v1.5+)
What it means
Thrown as EngineNotAvailableException when ContentSearchAsync is called but Settings.EnableEverythingContentSearch is false. The exception is not really an error: it is the prompting mechanism that asks the user to opt in to Everything content search, and its Action flips the flag on. The message warns that content search without the Everything index is slow and that index support requires Everything v1.5+.
Source
Thrown at Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchManager.cs:99
var option = new EverythingSearchOption(search,
Settings.SortOption,
MaxCount: Settings.MaxResult,
IsFullPathSearch: Settings.EverythingSearchFullPath,
IsRunCounterEnabled: Settings.EverythingEnableRunCount);
await foreach (var result in EverythingApi.SearchAsync(option, token))
yield return result;
}
public async IAsyncEnumerable<SearchResult> ContentSearchAsync(string plainSearch, string contentSearch,
[EnumeratorCancellation] CancellationToken token)
{
await ThrowIfEverythingNotAvailableAsync(token);
if (!Settings.EnableEverythingContentSearch)
{
throw new EngineNotAvailableException(Enum.GetName(Settings.IndexSearchEngineOption.Everything)!,
Localize.flowlauncher_plugin_everything_enable_content_search(),
Localize.flowlauncher_plugin_everything_enable_content_search_tips(),
Constants.EverythingErrorImagePath,
_ =>
{
Settings.EnableEverythingContentSearch = true;
return ValueTask.FromResult(true);
});
}
if (token.IsCancellationRequested)
yield break;
var option = new EverythingSearchOption(plainSearch,
Settings.SortOption,
IsContentSearch: true,
ContentSearchKeyword: contentSearch,View on GitHub (pinned to 7fc63b07bb)
Solutions
- Enable the option in the Explorer plugin settings: 'Enable Everything content search', or click the result that the Action renders.
- If you do not want Everything content search, switch Settings.ContentSearchEngine to WindowsIndex.
- Upgrade Everything to v1.5+ so content search uses the index and stays fast.
- Set Settings.EnableEverythingContentSearch = true at startup if you provision Flow Launcher programmatically.
Example fix
// before - throw to surface the opt-in prompt
if (!Settings.EnableEverythingContentSearch)
{
throw new EngineNotAvailableException(...);
}
// after - treat as a one-time prompt, then proceed
if (!Settings.EnableEverythingContentSearch)
{
if (!await PromptEnableContentSearchAsync())
return AsyncEnumerable.Empty<SearchResult>();
} Defensive patterns
Strategy: validation
Validate before calling
if (Settings.IndexSearchEngine == IndexSearchEngineOption.Everything && !Settings.EnableEverythingContentSearch)
logger.Info("Everything content search is disabled; prompt the user to opt in."); Type guard
static bool IsEverythingContentSearchEnabled(Settings s) => s.IndexSearchEngine == IndexSearchEngineOption.Everything && s.EnableEverythingContentSearch;
Try / catch
try { await manager.ContentSearchAsync(plain, content, token); }
catch (EngineNotAvailableException ex) when (!Settings.EnableEverythingContentSearch) { ShowEnableContentSearchResult(ex); } Prevention
- Enable 'Enable Everything content search' in plugin settings.
- Upgrade Everything to v1.5+ for index-backed content search.
- Switch ContentSearchEngine to WindowsIndex if you do not want Everything.
- Provision EnableEverythingContentSearch = true in managed deployments.
When it happens
Trigger: User issues a file-content search action keyword while Settings.IndexSearchEngine is Everything, Settings.ContentIndexProvider is EverythingSearchManager, and EnableEverythingContentSearch is false. The first content query throws this exception so the UI can show a click-to-enable result.
Common situations: Default install with Everything as the index engine; user upgraded Everything to v1.5+ but never enabled the plugin's content-search toggle; user switched from Windows Index to Everything and the content toggle was reset.
Related errors
- Warning: Everything service is not running
- Failed to load Everything SDK
- The required service for Windows Index Search does not appea
- SHParseDisplayName failed
- SHBindToParent failed
AI-assisted analysis of Flow-Launcher/Flow.Launcher@7fc63b07bb (2026-08-13).
Data as JSON: /api/errors/d9105cad47420c73.
Report an issue: GitHub.