2.1.243 native build segfaults at startup on Arch Linux (glibc 2.44) — even `--version` and `claude update`

Status Open
Reported on v2.1.240
Maintainer reply None cached
Activity 0 comments · opened Aug 25, 2026

Summary

The 2.1.243 native build segfaults immediately on startup on Arch Linux — every invocation, including claude --version and claude update. 2.1.240, 2.1.241 and 2.1.245 all run fine on the same machine, so this looks specific to 2.1.243 (2.1.242 not tested).

Filing for the record because 2.1.243 was completely unusable and self-recovery was impossible: claude update / claude upgrade segfault too, so the only way out was manually re-pointing the launcher symlink at a retained older version.

Environment

  • Arch Linux, kernel 6.18.44-1-lts, x86_64
  • glibc 2.44+r24+g16be1518495f-1 (upgraded 2026-08-16)
  • Install method: native (~/.local/share/claude/versions/)
  • Reproduced from both fish and bash

Reproduction

$ ~/.local/share/claude/versions/2.1.243 --version
Segmentation fault (core dumped)
$ echo $?
139

Crashes identically for: bare claude, claude --version, claude update, claude upgrade, claude --resume <id>, and headless claude -p .... Setting LC_ALL=C LANG=C makes no difference. Reproduced across two boots and ~26 separate invocations.

Stack trace

Signal: 11 (SEGV)

#0  0x0000000001d10458 free (2.1.243 + 0x1b10458)
#1  0x00007f78b363530a __newlocale (libc.so.6 + 0x3530a)
#2  0x0000000001abd282 n/a (2.1.243 + 0x18bd282)
#3  0x00007f78b369d7fc n/a (libc.so.6 + 0x9d7fc)
#4  0x00007f78b369d879 pthread_once (libc.so.6 + 0x9d879)
#5  0x0000000001abc2d2 n/a (2.1.243 + 0x18bc2d2)
#6  0x0000000001ace6cf n/a (2.1.243 + 0x18ce6cf)
#7  0x0000000001abdc0a n/a (2.1.243 + 0x18bdc0a)
#8  0x0000000001abe9c4 n/a (2.1.243 + 0x18be9c4)
#9  0x00007f78b369d7fc n/a (libc.so.6 + 0x9d7fc)
#10 0x00007f78b369d879 pthread_once (libc.so.6 + 0x9d879)
#11 0x0000000001abea15 n/a (2.1.243 + 0x18bea15)
#12 0x0000000001abead7 n/a (2.1.243 + 0x18bead7)
#13 0x0000000001abb922 n/a (2.1.243 + 0x18bb922)
#14 0x0000000001abb724 n/a (2.1.243 + 0x18bb724)
#15 0x0000000001aadadd n/a (2.1.243 + 0x18adadd)
#16 0x00007f78b3627892 __libc_start_main (libc.so.6 + 0x27892)
#17 0x0000000001953a2e n/a (2.1.243 + 0x1753a2e)

Notes

  • The crash sits in startup locale initialization (__newlocale under pthread_once), before argument parsing — which explains why even --version dies and why the in-band updater can't be used to escape.
  • The free frame is attributed to the binary, but nm -D --defined-only shows neither 2.1.241 nor 2.1.243 exports free, so that is most likely nearest-symbol attribution rather than an allocator interposition against glibc.
  • Each crash wrote a 70.7 MB core dump; 26 of them accumulated before it was noticed.

Versions tested on this machine

| Version | Result |
|---|---|
| 2.1.240 | OK |
| 2.1.241 | OK |
| 2.1.242 | not tested |
| 2.1.243 | SIGSEGV, every invocation |
| 2.1.245 | OK |

Workaround

Re-point the launcher at a retained older build:

ln -sf ~/.local/share/claude/versions/2.1.241 ~/.local/bin/claude

Installing 2.1.245 (claude install 2.1.245) also resolves it — whatever this was appears already fixed there.

View original on GitHub ↗