Skip to content

uvx init does not work from within claude code CLI #267

@nigel-upstart

Description

@nigel-upstart

Updating https://github.com/github/spec-kit.git (HEAD)
Updated https://github.com/github/spec-kit.git (63bc6b4)
Building specify-cli @ git+https://github.com/github/spec-kit.git@63bc6b495d1125731dfbbab99ef15298e6991a70
Built specify-cli @ git+https://github.com/github/spec-kit.git@63bc6b495d1125731dfbbab99ef15298e6991a70
Installed 20 packages in 26ms
╭───────────────────────────────────────── Traceback (most recent call last) ──────────────────────────────────────────╮
│ /Users/nigel.stuke/.cache/uv/archive-v0/lpGJqn87HeNt5iqVITUCp/lib/python3.13/site-packages/specify_cli/init.py:8 │
│ 11 in init │
│ │
│ 808 │ │ selected_ai = ai_assistant │
│ 809 │ else: │
│ 810 │ │ # Use arrow-key selection interface │
│ ❱ 811 │ │ selected_ai = select_with_arrows( │
│ 812 │ │ │ AI_CHOICES, │
│ 813 │ │ │ "Choose your AI assistant:", │
│ 814 │ │ │ "copilot" │
│ │
│ ╭───────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────╮ │
│ │ ai_assistant = None │ │
│ │ debug = False │ │
│ │ git_available = True │ │
│ │ here = False │ │
│ │ ignore_agent_tools = False │ │
│ │ no_git = False │ │
│ │ project_name = 'manumate_weor_assembly_steps' │ │
│ │ project_path = PosixPath('/Users/nigel.stuke/repos/teamupstart/sre-tools-worktrees/manumate-weor-assembly… │ │
│ │ script_type = None │ │
│ │ skip_tls = False │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/nigel.stuke/.cache/uv/archive-v0/lpGJqn87HeNt5iqVITUCp/lib/python3.13/site-packages/specify_cli/init.py:2 │
│ 66 in select_with_arrows │
│ │
│ 263 │ │ │ │ │ console.print("\n[yellow]Selection cancelled[/yellow]") │
│ 264 │ │ │ │ │ raise typer.Exit(1) │
│ 265 │ │
│ ❱ 266 │ run_selection_loop() │
│ 267 │ │
│ 268 │ if selected_key is None: │
│ 269 │ │ console.print("\n[red]Selection failed.[/red]") │
│ │
│ ╭────────────────────────── locals ──────────────────────────╮ │
│ │ default_key = 'copilot' │ │
│ │ option_keys = ['copilot', 'claude', 'gemini', 'cursor'] │ │
│ │ options = { │ │
│ │ │ 'copilot': 'GitHub Copilot', │ │
│ │ │ 'claude': 'Claude Code', │ │
│ │ │ 'gemini': 'Gemini CLI', │ │
│ │ │ 'cursor': 'Cursor' │ │
│ │ } │ │
│ │ prompt_text = 'Choose your AI assistant:' │ │
│ │ selected_index = 0 │ │
│ │ selected_key = None │ │
│ ╰────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/nigel.stuke/.cache/uv/archive-v0/lpGJqn87HeNt5iqVITUCp/lib/python3.13/site-packages/specify_cli/init.py:2 │
│ 48 in run_selection_loop │
│ │
│ 245 │ │ with Live(create_selection_panel(), console=console, transient=True, auto_refres │
│ 246 │ │ │ while True: │
│ 247 │ │ │ │ try: │
│ ❱ 248 │ │ │ │ │ key = get_key() │
│ 249 │ │ │ │ │ if key == 'up': │
│ 250 │ │ │ │ │ │ selected_index = (selected_index - 1) % len(option_keys) │
│ 251 │ │ │ │ │ elif key == 'down': │
│ │
│ ╭────────────────────────── locals ──────────────────────────╮ │
│ │ live = <rich.live.Live object at 0x1060ee270> │ │
│ │ option_keys = ['copilot', 'claude', 'gemini', 'cursor'] │ │
│ │ selected_index = 0 │ │
│ │ selected_key = None │ │
│ ╰────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/nigel.stuke/.cache/uv/archive-v0/lpGJqn87HeNt5iqVITUCp/lib/python3.13/site-packages/specify_cli/init.py:1 │
│ 75 in get_key │
│ │
│ 172 │
│ 173 def get_key(): │
│ 174 │ """Get a single keypress in a cross-platform way using readchar.""" │
│ ❱ 175 │ key = readchar.readkey() │
│ 176 │ │
│ 177 │ # Arrow keys │
│ 178 │ if key == readchar.key.UP: │
│ │
│ /Users/nigel.stuke/.cache/uv/archive-v0/lpGJqn87HeNt5iqVITUCp/lib/python3.13/site-packages/readchar/_posix_read.py:3 │
│ 4 in readkey │
│ │
│ 31 │ """Get a keypress. If an escaped key is pressed, the full sequence is │
│ 32 │ read and returned as noted in _posix_key.py.""" │
│ 33 │ │
│ ❱ 34 │ c1 = readchar() │
│ 35 │ │
│ 36 │ if c1 in config.INTERRUPT_KEYS: │
│ 37 │ │ raise KeyboardInterrupt │
│ │
│ /Users/nigel.stuke/.cache/uv/archive-v0/lpGJqn87HeNt5iqVITUCp/lib/python3.13/site-packages/readchar/_posix_read.py:1 │
│ 8 in readchar │
│ │
│ 15 │ Blocks until a character is available.""" ╭─ locals ─╮ │
│ 16 │ │ fd = 0 │ │
│ 17 │ fd = sys.stdin.fileno() ╰──────────╯ │
│ ❱ 18 │ old_settings = termios.tcgetattr(fd) │
│ 19 │ term = termios.tcgetattr(fd) │
│ 20 │ try: │
│ 21 │ │ term[3] &= ~(termios.ICANON | termios.ECHO | termios.IGNBRK | termios.BRKINT) │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
error: (19, 'Operation not supported by device')

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions