Skip to content

Add minimum Claude Code version check #272

@bguidolim

Description

@bguidolim

Problem

MCS increasingly relies on newer Claude Code features (e.g., hook timeout, async, statusMessage). When users run mcs sync with an outdated Claude Code installation, things silently break or produce confusing errors.

Proposal

Add a single minClaudeCodeVersion constant and check it at sync time:

  1. Constant in Constants.swift — the minimum supported Claude Code version
  2. Detection — run claude --version and parse the output
  3. Sync gate — fail early with a clear "please upgrade Claude Code" message if below minimum
  4. Doctor check — surface it as a core health check in mcs doctor

Why not per-feature mapping?

A per-feature version map would create maintenance burden for both mcs and tech pack authors, and the user action is always the same: upgrade Claude Code. A single minimum version is sufficient.

Prior art

This follows the same pattern as minMCSVersion in techpack.yaml.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium priorityenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions