Native binary broken on Debian trixie (glibc 2.41) - Bun 1.3.10 module resolution failure
Resolved 💬 2 comments Opened Feb 20, 2026 by signalnine Closed Mar 20, 2026
Description
The native Claude Code binary fails to start on Debian 13 (trixie) with glibc 2.41. The embedded Bun 1.3.10 runtime cannot resolve its own bundled modules, producing garbled module-not-found errors.
Environment
- OS: Debian GNU/Linux 13 (trixie)
- Kernel: 6.17.4-2-pve
- glibc: 2.41-12+deb13u1
- Architecture: x86_64
- Claude Code version: 2.1.49 (also tested 2.1.45, 2.1.47 — all fail)
- System Bun: 1.3.0 (works fine independently)
Reproduction
$ /home/user/.local/bin/claude --version
error: Module not found 'y()}else if(I.kind='
Bun v1.3.10 (Linux x64 baseline)
All three cached versions produce the same class of error with different garbled module names:
- 2.1.49:
Module not found 'y()}else if(I.kind=' - 2.1.47:
Module not found 'gify(${H}),0);retu'` - 2.1.45:
Module not found '{enumerable:!0,get:'
Fresh reinstall via curl -fsSL https://claude.ai/install.sh | bash downloads the same broken binary.
Analysis
- The native binary is an ELF executable embedding Bun v1.3.10 (Linux x64 baseline build)
- Bun's internal module loader appears to read incorrect offsets from the self-extracting binary, interpreting minified JS fragments as module paths
- The system-installed Bun 1.3.0 works correctly (
bun -e "console.log('hello')"succeeds) - The npm-based install (
npx @anthropic-ai/claude-code) works fine on the same system lddshows only libc/libpthread/libdl/libm dependencies, all resolved correctly
Workaround
Use the npm-based installation instead of the native binary:
npm install -g @anthropic-ai/claude-code
Expected behavior
The native binary should start successfully on Debian trixie with glibc 2.41.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗