Preflight Checklist
What's Wrong?
Bug Report — Claude Code Windows v2.1.175 launches as Bun instead of Claude
For: https://github.com/anthropics/claude-code/issues
Date: 2026-06-12
Reporter env: Windows 11 Home Single Language 10.0.26200, PowerShell 5.1
What Should Happen?
Summary
claude.exe v2.1.175 installed via the official PowerShell installer (irm https://claude.ai/install.ps1 | iex) on Windows runs the embedded Bun runtime instead of the Claude Code launcher. The user sees Bun's Usage: bun <command> help text and claude --version reports 1.3.14 (Bun's version). Reinstalling from the latest channel reproduces the broken binary. Switching to the stable channel resolves it (lands on 2.1.153).
Steps to reproduce
- Fresh / existing install of Claude Code on Windows.
- Auto-update advances
~/.local/bin/claude.exe to 2.1.175.
- Run
claude in any PowerShell window.
Expected
Claude Code TUI launches.
Actual
PS> claude
Bun is a fast JavaScript runtime, package manager, bundler, and test runner. (1.3.14+2a41ca974)
Usage: bun <command> [...flags] [...args]
...
PS> claude --version
1.3.14
Diagnostics
where.exe claude → C:\Users\myide\.local\bin\claude.exe (correct path)
Get-Command claude -All | Format-List →
Product: Claude Code
ProductVersion: 2.1.175.0
FileDescription: Claude Code
InternalName: bun
BUN_BE_BUN env var: not set (User / Machine / Session all empty)
- No Thai characters in path required to reproduce (occurs in plain
C:\Users\myide)
- Reinstall via
irm https://claude.ai/install.ps1 | iex → still 2.1.175, same broken behavior
Workaround that works
Remove-Item "$env:USERPROFILE\.local\bin\claude.exe" -Force
Remove-Item "$env:USERPROFILE\.local\share\claude" -Recurse -Force
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable
# close all PowerShell windows, reopen
claude --version # 2.1.153 (Claude Code) — OK
Hypothesis
The bundled launcher trampoline that should execute the embedded Claude Code JS appears to be missing or no-op in the 2.1.175 Windows build, so execution falls through to the embedded Bun CLI's default help screen. Metadata is still stamped correctly, which is why detection only surfaces at runtime.
Impact
- Users on
latest channel cannot launch Claude Code at all.
irm | iex reinstall does not help (latest still serves the broken artifact).
- Workaround requires knowing the
stable channel syntax — not obvious from the install script's default invocation.
Suggested fix / mitigation
- Yank
2.1.175 from latest or republish with a working launcher.
- Have the installer's
--version smoke-test refuse to finalize if claude --version reports a Bun version string.
- Document the
stable channel installer syntax (& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable) more prominently — currently easy to miss.
Error Messages/Logs
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows
PS C:\Users\myide\Downloads\เทคนิคชุมพร> claude
Bun is a fast JavaScript runtime, package manager, bundler, and test runner. (1.3.14+2a41ca974)
Usage: bun <command> [...flags] [...args]
Commands:
run ./my-script.ts Execute a file with Bun
lint Run a package.json script
test Run unit tests with Bun
x bun-repl Execute a package binary (CLI), installing if needed (bunx)
repl Start a REPL session with Bun
exec Run a shell script directly with Bun
install Install dependencies for a package.json (bun i)
add hono Add a dependency to package.json (bun a)
remove browserify Remove a dependency from package.json (bun rm)
update react Update outdated dependencies
audit Check installed packages for vulnerabilities
outdated Display latest versions of outdated dependencies
link [<package>] Register or link a local npm package
unlink Unregister a local npm package
publish Publish a package to the npm registry
patch <pkg> Prepare a package for patching
pm <subcommand> Additional package management utilities
info lyra Display package metadata from the registry
why @remix-run/dev Explain why a package is installed
build ./a.ts ./b.jsx Bundle TypeScript & JavaScript into a single file
init Start an empty Bun project from a built-in template
create vite Create a new project from a template (bun c)
upgrade Upgrade to latest version of Bun.
feedback ./file1 ./file2 Provide feedback to the Bun team.
<command> --help Print help text for command.
Learn more about Bun: https://bun.com/docs
Join our Discord community: https://bun.com/discord
PS C:\Users\myide\Downloads\เทคนิคชุมพร> test
test : The term 'test' is not recognized as the name of a cmdlet, function, script file, or operable program. Check
the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ test
+ ~~~~
+ CategoryInfo : ObjectNotFound: (test:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
PS C:\Users\myide\Downloads\เทคนิคชุมพร>
Steps to Reproduce
claude_bug_report_2026-06-12.md
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
No response
Claude Code Version
2.1.153 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
No response
Preflight Checklist
What's Wrong?
Bug Report — Claude Code Windows v2.1.175 launches as Bun instead of Claude
For: https://github.com/anthropics/claude-code/issues
Date: 2026-06-12
Reporter env: Windows 11 Home Single Language 10.0.26200, PowerShell 5.1
What Should Happen?
Summary
claude.exev2.1.175 installed via the official PowerShell installer (irm https://claude.ai/install.ps1 | iex) on Windows runs the embedded Bun runtime instead of the Claude Code launcher. The user sees Bun'sUsage: bun <command>help text andclaude --versionreports1.3.14(Bun's version). Reinstalling from thelatestchannel reproduces the broken binary. Switching to thestablechannel resolves it (lands on2.1.153).Steps to reproduce
~/.local/bin/claude.exeto2.1.175.claudein any PowerShell window.Expected
Claude Code TUI launches.
Actual
Diagnostics
where.exe claude→C:\Users\myide\.local\bin\claude.exe(correct path)Get-Command claude -All | Format-List→Product: Claude CodeProductVersion: 2.1.175.0FileDescription: Claude CodeInternalName: bunBUN_BE_BUNenv var: not set (User / Machine / Session all empty)C:\Users\myide)irm https://claude.ai/install.ps1 | iex→ still 2.1.175, same broken behaviorWorkaround that works
Hypothesis
The bundled launcher trampoline that should execute the embedded Claude Code JS appears to be missing or no-op in the
2.1.175Windows build, so execution falls through to the embedded Bun CLI's default help screen. Metadata is still stamped correctly, which is why detection only surfaces at runtime.Impact
latestchannel cannot launch Claude Code at all.irm | iexreinstall does not help (latest still serves the broken artifact).stablechannel syntax — not obvious from the install script's default invocation.Suggested fix / mitigation
2.1.175fromlatestor republish with a working launcher.--versionsmoke-test refuse to finalize ifclaude --versionreports a Bun version string.stablechannel installer syntax (& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable) more prominently — currently easy to miss.Error Messages/Logs
Steps to Reproduce
claude_bug_report_2026-06-12.md
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
No response
Claude Code Version
2.1.153 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
No response