Skip to content

feat: auto-upgrade dependency tools (vllm-mlx, litellm) on version mismatch #46

@weklund

Description

@weklund

Description

When mlx-stack up (or other commands) detect a version mismatch in external tool dependencies (vllm-mlx, litellm), they currently only print a warning:

⚠ litellm version mismatch: installed v1.82.6, expected v1.83.0.
  Upgrade/downgrade with: uv tool install litellm==1.83.0

Users are expected to manually run the uv tool install command themselves. This is a poor UX — new users may not understand what this means, and even experienced users should not need to do this manually.

Current Behavior

The version check logic is in core/deps.py (around line 290). It:

  1. Detects the mismatch
  2. Prints a yellow warning
  3. Continues execution (does not block)

Expected Behavior

When a version mismatch is detected, mlx-stack should:

  1. Auto-upgrade the tool to the expected version (preferred), OR
  2. Prompt the user with "Version mismatch detected. Auto-upgrade? [Y/n]", OR
  3. At minimum, offer a mlx-stack doctor / mlx-stack fix command that resolves all dependency mismatches in one step

The pinned versions are already known in the codebase, so the upgrade command can be constructed and executed automatically.

Impact

Medium — every user who installs mlx-stack after a release that bumps dependency pins will see these warnings on every command until they manually fix them. This is especially confusing for first-time users running mlx-stack setup for the first time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions