[BUG] terminated by signal SIGSEGV (Address boundary error)
Status Open
Reported on v2.1.241
Maintainer reply None cached
Workaround ✓ Mentioned in thread ↓
Activity 5 comments · opened Aug 25, 2026
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
when claude code said it updated i restared and got the following error
fish: Job 2, '~/.local/share/claude/versions/…' terminated by signal SIGSEGV (Address boundary error)
this bug only happened on claude code version 2.1.243, it worked fine on claude code 2.1.241
please fix this issue so i can use the latest claude code version
What Should Happen?
Claude should launch normally
Error Messages/Logs
~/.local/share/claude/versions/2.1.243
fish: Job 2, '~/.local/share/claude/versions/…' terminated by signal SIGSEGV (Address boundary error)
Steps to Reproduce
Use claude code version 2.1.243
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.241
Claude Code Version
(2.1.243) fish: Job 2, 'claude --version' terminated by signal SIGSEGV (Address boundary error)
Platform
Other
Operating System
Other Linux
Terminal/Shell
Other
Additional Information
i am using the fish shell, not bash
5 Comments
Same issue. Was working prior to updating.
2.1.241works fine, auto update from there causes segfault.Same crash here, adding details + a workaround since the original report has none.
Environment
~/.local/share/claude/versions/2.1.243, sha2564b0dafeedd0b469c…, 377,568,472 bytes)Reproduce
Crashes before printing anything. Same result with a clean environment (
env -i HOME=$HOME PATH=/usr/bin …) and from any working directory, so it's not config/env/project related.Kernel log — same faulting address every run, null-pointer read:
error 4= user-mode read of address 0;ip 0x1d10458is inside the binary's own text segment (offset ≈ 0x201000 from its load base), so this is a bug in the 2.1.243 build itself, not a shared library.Not a corrupt download: deleted the binary and re-ran
claude install 2.1.243— the new file was byte-identical (cmp) and crashes the same way.Workaround (native install): point the launcher back at 2.1.241.
Don't run
claude updateuntil a fixed build ships.I'm getting the same sort of error on CachyOS (7.2.0-1 kernel:
Root cause: 2.1.243 interposes glibc
malloc/freewith Bun mimalloc. Thatfreedoes not no-op onNULL. glibc 2.44__newlocalecallsfree(NULL)during earlypthread_oncelocale init, which is valid C, and the process dies.2.1.241 does not export
malloc/freeand runs fine on the same machine.Environment
~/.local/share/claude/versions/2.1.2434b0dafeedd0b469c41988e200036fd773e7553ba960349c9f02a82c6d1f2ba27(377,568,472 bytes)19bc277a0) — 2.1.241 is Bun v1.4.0 (fdb5e06cc)Crash (every invocation, including
claude --version;LC_ALL=Cdoes not help)glibc 2.44
__newlocalezero-initializes an out-param, then alwaysfree()s it. ISO C requiresfree(NULL)to be a no-op. 2.1.243’s interposedfree(0x1d10430) has no NULL check and immediately doesmov (%rax,%rcx,1),%rdiwithrax=0.Regression vs 2.1.241
| | 2.1.241 | 2.1.243 |
|---|---|---|
|
malloc/freein dynsym | not exported (UND libc) |GLOBALmalloc@@GLIBC_2.2.5/free@@GLIBC_2.2.5(also__libc_free) ||
claude --version| works | SIGSEGV 139 |Fix: restore a NULL guard on the interposed
free(and don’t export allocator symbols until mimalloc is ready), or stop interposingmalloc/freethe way 2.1.241 did.Workaround:
ln -sfn ~/.local/share/claude/versions/2.1.241 ~/.local/bin/claude— do notclaude updateuntil a new build ships.Same issue and diagnosis (via claude, lol) as @ytcs.