Flow-Launcher/Flow.Launcher · warning · EngineNotAvailableException

Warning: Everything service is not running

Error message

Warning: Everything service is not running

What it means

Thrown as EngineNotAvailableException(message=flowlauncher_plugin_everything_is_not_running()) when EverythingApi.IsEverythingRunningAsync(token) returns false. The Everything search engine process is not reachable over its IPC window, so the Explorer plugin cannot serve index queries. The exception carries a one-click Action (ClickToInstallEverythingAsync) so the UI can offer to launch/install Everything.

Source

Thrown at Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchManager.cs:28

namespace Flow.Launcher.Plugin.Explorer.Search.Everything
{
    public class EverythingSearchManager : IIndexProvider, IContentIndexProvider, IPathIndexProvider
    {
        private static readonly string ClassName = nameof(EverythingSearchManager);

        private Settings Settings { get; }

        public EverythingSearchManager(Settings settings)
        {
            Settings = settings;
        }

        private async ValueTask ThrowIfEverythingNotAvailableAsync(CancellationToken token = default)
        {
            try
            {
                if (!await EverythingApi.IsEverythingRunningAsync(token))
                    throw new EngineNotAvailableException(
                        Enum.GetName(Settings.IndexSearchEngineOption.Everything)!,
                        Localize.flowlauncher_plugin_everything_click_to_launch_or_install(),
                        Localize.flowlauncher_plugin_everything_is_not_running(),
                        Constants.EverythingErrorImagePath,
                        ClickToInstallEverythingAsync);
            }
            catch (DllNotFoundException)
            {
                throw new EngineNotAvailableException(
                    Enum.GetName(Settings.IndexSearchEngineOption.Everything)!,
                    "Please check whether your system is x86 or x64",
                    Constants.GeneralSearchErrorImagePath,
                    Localize.flowlauncher_plugin_everything_sdk_issue());
            }
        }

        private async ValueTask<bool> ClickToInstallEverythingAsync(ActionContext _)
        {

View on GitHub (pinned to 7fc63b07bb)

Solutions

  1. Install Everything v1.5+ and ensure it auto-starts on login (Tools > Options > General > Start with Windows).
  2. Run Flow Launcher and Everything at the same privilege level so the IPC window is visible.
  3. Set Settings.EverythingInstalledPath to the absolute path of Everything.exe so ClickToInstallEverythingAsync can launch it.
  4. If Everything cannot be a hard dependency, switch Settings.IndexSearchEngine to WindowsIndex or DirectEnumeration.

Example fix

// before - everything missing breaks every search
await ThrowIfEverythingNotAvailableAsync(token);

// after - retry once after launching, then degrade
try { await ThrowIfEverythingNotAvailableAsync(token); }
catch (EngineNotAvailableException) when (!launchAttempted)
{
    launchAttempted = true;
    await ClickToInstallEverythingAsync(default);
    await ThrowIfEverythingNotAvailableAsync(token);
}
Defensive patterns

Strategy: try-catch

Validate before calling

if (Settings.IndexSearchEngine == IndexSearchEngineOption.Everything
    && !File.Exists(Settings.EverythingInstalledPath))
    logger.Warn("Everything.exe path is not set or missing.");

Type guard

static async Task<bool> IsEverythingReachableAsync(CancellationToken t) { try { return await EverythingApi.IsEverythingRunningAsync(t); } catch { return false; } }

Try / catch

try { await manager.SearchAsync(query, token); }
catch (EngineNotAvailableException ex) when (ex.EngineName == "Everything") { ShowEngineNotAvailableResult(ex); }

Prevention

When it happens

Trigger: Calling SearchAsync/ContentSearchAsync/EnumerateAsync on EverythingSearchManager while Everything.exe is not running, is running as a different user (so the IPC window handle is not visible), is running with the '-admin' flag from an elevated context the current process cannot see, or was killed mid-search.

Common situations: First run on a machine where Everything is installed but not started; Everything set to run as administrator while Flow Launcher runs unprivileged (or vice-versa) so the window handle cannot be found; Everything crashed or was autostart-disabled; the user is on a session where Everything is installed per-machine but the IPC uses a per-user name.

Related errors


AI-assisted analysis of Flow-Launcher/Flow.Launcher@7fc63b07bb (2026-08-13). Data as JSON: /api/errors/daa2b4a5b5b3e25e. Report an issue: GitHub.