Skip to content

Fleet-maintained apps: Comet (Windows) is never detected after install, so its patch policy always passes #58757

Open

Description

@Brajim20

Fleet versions

  • Discovered: 4.94.0-rc.2610272345 (937e874)

Web browser and operating system: N/A (API). Host: Windows 11 x64 (635, NUCBOX_G10).


💥 Actual behavior

Fleet installs Comet (Windows) successfully and the host's software inventory lists it at the right version (156.0.8078.132), but the catalog's exists query never matches the app on the host — not right after the install, not after a 2-minute grace, and not after a second install. The patched query has the same WHERE clause, so it returns a row even though nothing matches, and Comet's patch policy passes on every host: an outdated Comet would never be flagged or patched.

🛠️ Expected behavior

The exists and patched queries match the program the installer registers, so Fleet can tell an up-to-date host from an outdated one.

🧑‍💻 Steps to reproduce

These steps:

  • Have been confirmed to consistently lead to reproduction in multiple Fleet instances.
  • Describe the workflow that led to the error, but have not yet been reproduced in multiple Fleet instances.
  1. Add the Comet (Windows) Fleet-maintained app to a fleet.
  2. Install it on a Windows x64 host that doesn't have Comet. Fleet reports installed, exit code 0.
  3. After a refetch, the host's software inventory lists Comet 156.0.8078.132 under the Fleet-maintained title.
  4. Run the manifest's exists query as a live query on that host: SELECT 1 FROM programs WHERE name = 'Comet' AND publisher = 'PERPLEXITY AI, INC.'; — 0 rows.
  5. Run the manifest's patched query on the same host — it returns a row, so the patch policy passes.

🕯️ More info

ee/maintained-apps/outputs/comet/windows.json builds both queries from name = 'Comet' AND publisher = 'PERPLEXITY AI, INC.'. The programs row is there: Fleet's inventory shows 156.0.8078.132 under the Fleet-maintained title, and a Windows program with no upgrade_code (Comet has none) attaches to a title by exact name, so the row's name is Comet. The uninstall script, which matches on DisplayName -like '*Comet*' only, finds the Add/Remove Programs entry and uninstalls from C:\Program Files\Perplexity\Comet\Application\156.0.8078.132\Installer\setup.exe. That leaves publisher = 'PERPLEXITY AI, INC.' as the part that doesn't match what osquery reports. winget's manifest for this version (manifests/p/Perplexity/Comet/156.0.8078.132) lists the publisher as The Comet Authors, which is most likely what the installer registers. The value comes from program_publisher in ee/maintained-apps/inputs/winget/comet.json, set when Comet was added (#47027).

Same class as #58530 (SuperCollider), #58069 (grepWin), #58051 (NordVPN).

Activity

  1. added
    bugSomething isn't working as documented
    ~released bugThis bug was found in a stable release.
    #g-auto-patchingProduct group focused on auto patching software
    ~fmarelates to a Fleet-maintained app
    ~fma-soakFound by the Fleet-maintained apps soak (automated install/update/uninstall runs on real hosts)
    on Nov 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    #g-auto-patchingProduct group focused on auto patching softwarebugSomething isn't working as documented~fmarelates to a Fleet-maintained app~fma-soakFound by the Fleet-maintained apps soak (automated install/update/uninstall runs on real hosts)~released bugThis bug was found in a stable release.

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions