Skip to content

Commit dcb1b7f

Browse files
mnriemCopilotCopilot
authored andcommitted
fix: pin click>=8.1 to prevent Python 3.14/Homebrew env isolation crash (github#1648)
* fix: pin click>=8.1 to prevent Python 3.14/Homebrew env isolation failures Fixes github#1631. When uv installs specify-cli on macOS with Homebrew Python 3.14, the virtual environment can fail to fully isolate from the system site-packages, causing Homebrew's click to be loaded instead of the one uv installed. If that system click is older than 8.1, it lacks the `ctx` keyword argument in `ParamType.get_metavar()`, which typer 0.24.0 requires, resulting in: TypeError: ParamType.get_metavar() got an unexpected keyword argument 'ctx' Adding an explicit `click>=8.1` dependency gives uv a hard constraint so the correct version is always resolved and installed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update CHANGELOG.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent a5f9773 commit dcb1b7f

2 files changed

Lines changed: 5 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
## [1.1.0] - 2026-02-08
1111

12+
### Fixed
13+
14+
- **Python 3.14 / Homebrew compatibility**: Added explicit `click>=8.1` dependency so the resolver always selects a Click version compatible with Python 3.14 and avoids errors such as `TypeError: ParamType.get_metavar() got an unexpected keyword argument 'ctx'` when an older Click would otherwise be used. Note that broader uv/Homebrew environment isolation or `sys.path` bleed issues (see [#1631](https://github.com/github/spec-kit/issues/1631)) may still require environment-level workarounds.
15+
1216
### Added
1317

1418
- **New `specify upgrade` command**: Simplified project upgrade with auto-detection of AI assistant, migration needs, and comprehensive safety checks

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ description = "Specify CLI, part of Spec Kit Spark. A community extension with c
55
requires-python = ">=3.11"
66
dependencies = [
77
"typer",
8+
"click>=8.1",
89
"rich",
910
"httpx[socks]",
1011
"platformdirs",

0 commit comments

Comments
 (0)