Skip to content

[BUG] Homebrew Cask updates are not detected because the outdated parser only matches “<” #5127

Description

@andya1lan

Please confirm these before moving forward

  • I have searched for my issue and have not found a work-in-progress/duplicate/resolved issue.
  • I have tested that this issue has not been fixed in the latest (beta or stable) release.
  • I have checked the FAQ section for solutions.
  • This issue is about a bug (if it is not, please use the correct template).

UniGetUI Version

2026.2.5

Windows version, edition, and architecture

macOS 27 arm64

Describe your issue

UniGetUI detects available updates for Homebrew Formulae, but it does not show available updates for Homebrew Casks.

Installed Casks are listed correctly, and UniGetUI already generates brew upgrade --cask <package> for Cask update operations. The problem appears to be limited to detecting available Cask updates.

Expected behavior:

Cask updates reported by Homebrew should appear alongside Formula updates in UniGetUI.

Actual behavior:

Only Formula updates appear. Available Cask updates are omitted.

Steps to reproduce the issue

  1. Install a Homebrew Formula and Cask for which updates are available.

  2. Verify that Homebrew detects them:

    brew outdated --verbose --formula
    brew outdated --verbose --cask
  3. Open UniGetUI and refresh the available updates list.

  4. Observe that the Formula update appears, while the Cask update does not.

Example Homebrew output:

  • Formula:
    shaderc (2026.2) < 2026.3

  • Cask:
    firefox (152.0.5) != 152.0.6

UniGetUI Log
[17.07.2026 17:34:16]    __  __      _ ______     __  __  ______
                        / / / /___  (_) ____/__  / /_/ / / /  _/
                       / / / / __ \/ / / __/ _ \/ __/ / / // /
                      / /_/ / / / / / /_/ /  __/ /_/ /_/ // /
                      \____/_/ /_/_/\____/\___/\__/\____/___/
                          Welcome to UniGetUI Version 2026.2.5
[17.07.2026 17:34:16]   
[17.07.2026 17:34:16] Build 107
[17.07.2026 17:34:16] UI Framework: Avalonia
[17.07.2026 17:34:16] Data directory /Users/****/Library/Application Support/UniGetUI
[17.07.2026 17:34:16] OS: macOS 27.0.0
[17.07.2026 17:34:16] Process arch: Arm64 (OS: Arm64)
[17.07.2026 17:34:16] Runtime: .NET 10.0.10
[17.07.2026 17:34:16] Loaded language locale: zh_CN
[17.07.2026 17:34:16] Elevated: False
[17.07.2026 17:34:16] Packaged (MSIX): False
[17.07.2026 17:34:16] Args: (none)
[17.07.2026 17:34:18] Command cargo-binstall was not found on the system
[17.07.2026 17:34:18] Previous update attempt killed mid-flow but install succeeded (running version 2026.2.5 matches target 2026.2.5.0). Marking as finished.
[17.07.2026 17:34:18] Starting Avalonia shell bootstrap
[17.07.2026 17:34:18] Loaded language locale: zh_CN
[17.07.2026 17:34:18] Command pwsh was not found on the system
[17.07.2026 17:34:18] Command dotnet was not found on the system
[17.07.2026 17:34:18] .NET Tool is enabled but was not found on the system!
[17.07.2026 17:34:18] Command vcpkg was not found on the system
[17.07.2026 17:34:18] Command bun was not found on the system
[17.07.2026 17:34:18] Bun is enabled but was not found on the system!
[17.07.2026 17:34:18] Command pip was not found on the system
[17.07.2026 17:34:18] PowerShell7 is enabled but was not found on the system!
[17.07.2026 17:34:18] Npm is enabled and was found on /opt/homebrew/bin/npm
[17.07.2026 17:34:18] Command cargo was not found on the system
[17.07.2026 17:34:18] Pip is enabled and was found on /opt/homebrew/bin/pip3
[17.07.2026 17:34:18] Command vcpkg was not found on the system
[17.07.2026 17:34:18] Cargo is enabled but was not found on the system!
[17.07.2026 17:34:18] Command vcpkg was not found on the system
[17.07.2026 17:34:18] Vcpkg root was not found. Please define the %VCPKG_ROOT% environment variable or define it from UniGetUI Settings
[17.07.2026 17:34:18] vcpkg is enabled but was not found on the system!
[17.07.2026 17:34:18] Homebrew is enabled and was found on /usr/bin/arch
[17.07.2026 17:34:19] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Homebrew (aka Homebrew)
                      █ Executable name: "brew"
                      █ Executable path: "/usr/bin/arch"
                      █ Call arguments: "-arm64 /opt/homebrew/bin/brew"
                      █ Version: 6.0.11-49-g3488a8c
                      █          
                      █ Homebrew is enabled and ready to go.
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[17.07.2026 17:34:19] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Pip (aka Pip)
                      █ Executable name: "pip"
                      █ Executable path: "/opt/homebrew/bin/pip3"
                      █ Call arguments: ""
                      █ Version: pip 26.1.2 from /opt/homebrew/lib/python3.14/site-packages/pip (python 3.14)
                      █          
                      █ Pip is enabled and ready to go.
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[17.07.2026 17:34:19] Auto-updater source 'ProductInfo' returned version 2026.2.5.0 (upgradable=False)
[17.07.2026 17:34:19] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Npm (aka Npm)
                      █ Executable name: "npm"
                      █ Executable path: "/opt/homebrew/bin/npm"
                      █ Call arguments: ""
                      █ Version: 12.0.0
                      █          
                      █ Npm is enabled and ready to go.
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[17.07.2026 17:34:19] /IntegrityTree.json does not exist, integrity check will not be performed!
[17.07.2026 17:34:19] IntegrityTree.json not found (dev/CI build) — skipping integrity dialog.
[17.07.2026 17:34:19] Avalonia shell bootstrap completed
[17.07.2026 17:34:20] Found 3 installed packages from Pip
[17.07.2026 17:34:20] Downloaded new icons and screenshots successfully!
[17.07.2026 17:34:21] Found 2 installed packages from Npm
[17.07.2026 17:34:21] Found 0 available updates from Npm
[17.07.2026 17:34:21] Found 0 available updates from Pip
[17.07.2026 17:34:22] Found 210 installed packages from Homebrew
[17.07.2026 17:34:22] Found 210 installed packages from Homebrew
[17.07.2026 17:34:22] Local backup saved to /Users/****/Documents/UniGetUI/****s-MacBook-Air 已安装软件包 2026-07-17 17-34-22.ubundle
[17.07.2026 17:34:30] Found 0 available updates from Homebrew
[17.07.2026 18:34:20] Auto-updater source 'ProductInfo' returned version 2026.2.5.0 (upgradable=False)
[17.07.2026 18:34:33] Found 0 available updates from Npm
[17.07.2026 18:34:40] Found 0 available updates from Pip
[17.07.2026 18:34:41] Found 210 installed packages from Homebrew
[17.07.2026 18:34:43] Found 1 available updates from Homebrew
[17.07.2026 19:34:20] Auto-updater source 'ProductInfo' returned version 2026.2.5.0 (upgradable=False)
[17.07.2026 19:34:46] Found 0 available updates from Npm
[17.07.2026 19:34:51] Found 0 available updates from Pip
[17.07.2026 19:34:52] Found 210 installed packages from Homebrew
[17.07.2026 19:34:54] Found 1 available updates from Homebrew
[17.07.2026 20:34:20] Auto-updater source 'ProductInfo' returned version 2026.2.5.0 (upgradable=False)
[17.07.2026 20:34:56] Found 0 available updates from Npm
[17.07.2026 20:34:58] Found 0 available updates from Pip
[17.07.2026 20:35:05] Found 210 installed packages from Homebrew
[17.07.2026 20:35:06] Found 2 available updates from Homebrew
[17.07.2026 21:34:21] Auto-updater source 'ProductInfo' returned version 2026.2.5.0 (upgradable=False)
[17.07.2026 21:35:08] Found 0 available updates from Npm
[17.07.2026 21:35:10] Found 0 available updates from Pip
[17.07.2026 21:35:13] Found 210 installed packages from Homebrew
[17.07.2026 21:35:14] Found 2 available updates from Homebrew
[17.07.2026 22:34:22] Auto-updater source 'ProductInfo' returned version 2026.2.5.0 (upgradable=False)
[17.07.2026 22:35:17] Found 0 available updates from Npm
[17.07.2026 22:35:17] Found 0 available updates from Pip
[17.07.2026 22:35:25] Found 210 installed packages from Homebrew
[17.07.2026 22:35:26] Found 2 available updates from Homebrew
Package Managers Logs
Manager Homebrew with version:
6.0.11-49-g3488a8c

——————————————————————————————————————————

Logged subprocess-based task on manager Homebrew. Task type is ListSources
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew tap"
Process start time: 17.07.2026 17:34:19
Process end time:   17.07.2026 17:34:19

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --formula --versions"
Process start time: 17.07.2026 17:34:19
Process end time:   17.07.2026 17:34:21

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is RefreshIndexes
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew update"
Process start time: 17.07.2026 17:34:19
Process end time:   17.07.2026 17:34:20

-- Process STDERR
  lockf: 200: already locked
  Error: Another `brew update` process is already running.
  Please wait for it to finish or terminate it to continue.

Return code: FAILED (0x1, 1, 1)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --formula --versions"
Process start time: 17.07.2026 17:34:20
Process end time:   17.07.2026 17:34:21

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --cask --versions"
Process start time: 17.07.2026 17:34:21
Process end time:   17.07.2026 17:34:22

-- Process STDERR
  Error: Cask 'chatgpt' is not installed.

Return code: FAILED (0x1, 1, 1)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --cask --versions"
Process start time: 17.07.2026 17:34:21
Process end time:   17.07.2026 17:34:22

-- Process STDERR
  Error: Cask 'chatgpt' is not installed.

Return code: FAILED (0x1, 1, 1)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListUpdates
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew outdated --verbose"
Process start time: 17.07.2026 17:34:22
Process end time:   17.07.2026 17:34:30

-- Process STDOUT
 ...

-- Process STDERR
  ==> Auto-updating Homebrew...
  Adjust how often this is run with `$HOMEBREW_AUTO_UPDATE_SECS` or disable with
  `$HOMEBREW_NO_AUTO_UPDATE=1`. Hide these hints with `$HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
  ==> Auto-updated Homebrew!
  ==> Updated Homebrew from 3488a8c1d2 to abe68aff04.
  No changes to formulae or casks.

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is RefreshIndexes
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew update"
Process start time: 17.07.2026 18:34:30
Process end time:   17.07.2026 18:34:40

-- Process STDERR
  ==> Updating Homebrew...
  Already up-to-date.

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --formula --versions"
Process start time: 17.07.2026 18:34:40
Process end time:   17.07.2026 18:34:40

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --cask --versions"
Process start time: 17.07.2026 18:34:40
Process end time:   17.07.2026 18:34:41

-- Process STDERR
  Error: Cask 'chatgpt' is not installed.

Return code: FAILED (0x1, 1, 1)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListUpdates
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew outdated --verbose"
Process start time: 17.07.2026 18:34:41
Process end time:   17.07.2026 18:34:43

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is RefreshIndexes
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew update"
Process start time: 17.07.2026 19:34:43
Process end time:   17.07.2026 19:34:51

-- Process STDERR
  ==> Updating Homebrew...
  ==> Updated Homebrew from abe68aff04 to b67d3b8421.
  Updated 1 tap (homebrew/core).
  ==> New Formulae
  rust-wasm: Rust standard library and sysroot for WebAssembly targets
  ==> Outdated Formulae
  shaderc
  ==> Outdated Casks
  cc-switch
  claude
  claude-code
  codex
  firefox
  git-credential-manager
  google-chrome
  You have 1 outdated formula and 7 outdated casks installed.
  You can upgrade them with brew upgrade
  or list them with brew outdated.

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --formula --versions"
Process start time: 17.07.2026 19:34:51
Process end time:   17.07.2026 19:34:52

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --cask --versions"
Process start time: 17.07.2026 19:34:52
Process end time:   17.07.2026 19:34:52

-- Process STDERR
  Error: Cask 'chatgpt' is not installed.

Return code: FAILED (0x1, 1, 1)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListUpdates
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew outdated --verbose"
Process start time: 17.07.2026 19:34:52
Process end time:   17.07.2026 19:34:54

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is RefreshIndexes
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew update"
Process start time: 17.07.2026 20:34:54
Process end time:   17.07.2026 20:35:03

-- Process STDERR
  ==> Updating Homebrew...
  ==> Updated Homebrew from b67d3b8421 to e92f225437.
  Updated 2 taps (jandedobbeleer/oh-my-posh and homebrew/core).
  ==> New Formulae
  gcx: CLI for managing Grafana Cloud resources
  octl: Modern CLI for Outscale
  ==> Outdated Formulae
  oh-my-posh
  shaderc
  ==> Outdated Casks
  cc-switch
  claude
  claude-code
  codex
  firefox
  git-credential-manager
  google-chrome
  You have 2 outdated formulae and 7 outdated casks installed.
  You can upgrade them with brew upgrade
  or list them with brew outdated.

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --formula --versions"
Process start time: 17.07.2026 20:35:03
Process end time:   17.07.2026 20:35:04

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --cask --versions"
Process start time: 17.07.2026 20:35:04
Process end time:   17.07.2026 20:35:05

-- Process STDERR
  Error: Cask 'chatgpt' is not installed.

Return code: FAILED (0x1, 1, 1)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListUpdates
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew outdated --verbose"
Process start time: 17.07.2026 20:35:05
Process end time:   17.07.2026 20:35:06

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is RefreshIndexes
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew update"
Process start time: 17.07.2026 21:35:06
Process end time:   17.07.2026 21:35:12

-- Process STDERR
  ==> Updating Homebrew...
  Updated 1 tap (homebrew/core).
  ==> New Formulae
  gss-ntlmssp: NTLM authentication plugin for GSSAPI
  qobine-tui: Tui player for Qobuz
  qobine-web: Server and web based player for Qobuz
  ==> Outdated Formulae
  oh-my-posh
  shaderc
  ==> Outdated Casks
  cc-switch
  claude
  claude-code
  codex
  firefox
  git-credential-manager
  google-chrome
  You have 2 outdated formulae and 7 outdated casks installed.
  You can upgrade them with brew upgrade
  or list them with brew outdated.

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --formula --versions"
Process start time: 17.07.2026 21:35:12
Process end time:   17.07.2026 21:35:13

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --cask --versions"
Process start time: 17.07.2026 21:35:13
Process end time:   17.07.2026 21:35:13

-- Process STDERR
  Error: Cask 'chatgpt' is not installed.

Return code: FAILED (0x1, 1, 1)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListUpdates
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew outdated --verbose"
Process start time: 17.07.2026 21:35:13
Process end time:   17.07.2026 21:35:14

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is RefreshIndexes
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew update"
Process start time: 17.07.2026 22:35:15
Process end time:   17.07.2026 22:35:24

-- Process STDERR
  ==> Updating Homebrew...
  ==> Updated Homebrew from e92f225437 to 7f45a2a9ba.
  No changes to formulae or casks.

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --formula --versions"
Process start time: 17.07.2026 22:35:24
Process end time:   17.07.2026 22:35:24

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListInstalledPackages
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew list --cask --versions"
Process start time: 17.07.2026 22:35:24
Process end time:   17.07.2026 22:35:25

-- Process STDERR
  Error: Cask 'chatgpt' is not installed.

Return code: FAILED (0x1, 1, 1)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListUpdates
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew outdated --verbose"
Process start time: 17.07.2026 22:35:25
Process end time:   17.07.2026 22:35:26

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————
Logged subprocess-based task on manager Homebrew. Task type is ListSources
Subprocess executable: "/usr/bin/arch"
Command-line arguments: "-arm64 /opt/homebrew/bin/brew tap"
Process start time: 17.07.2026 23:07:37
Process end time:   17.07.2026 23:07:37

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————

Relevant information

No response

Screenshots and videos

No response

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions