[BUG] Segmentation fault on interactive startup on Synology NAS (React 19 + Ink incompatibility)

Resolved 💬 3 comments Opened Jan 19, 2026 by Dave-Driesen Closed Jan 23, 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?

## Description

Claude Code segfaults immediately when starting in interactive mode on Synology NAS. Non-interactive mode (claude -p "prompt") works fine.

## System Information

  • OS: Linux Synology 4.4.302+ (DSM 7.x on DS920+, geminilake architecture)
  • Node.js: v20.9.0 (also tested v18.18.2 - same issue)
  • Claude Code: 2.1.12 (also tested 2.1.3 - same issue)
  • TERM: xterm-256color
  • glibc: 2.36

## Steps to Reproduce

  1. Install Claude Code on Synology NAS via npm install -g @anthropic-ai/claude-code
  2. Run claude (interactive mode)
  3. Screen goes blank briefly, then: zsh: segmentation fault (core dumped) claude

## What Works

  • claude --version
  • claude --help
  • claude -p "prompt" ✅ (non-interactive mode)
  • Basic Node.js TTY operations ✅
  • Native modules (ripgrep, sharp) ✅
  • WASM modules (tree-sitter, resvg) ✅

## Root Cause Analysis

Extensive debugging traced the crash to the Ink.render() call. Testing revealed:

  1. Ink 6.6.0 + React 19 → Segfault on Synology
  2. Ink 4.x + React 18 → Works perfectly

Claude Code bundles React 19 with Ink 6, which has an incompatibility that manifests as a segfault on Synology's older kernel (4.4.302).

### Reproduction with standalone Ink

```javascript
// This segfaults on Synology with Ink 6 + React 19:
import React from 'react';
import { render, Text } from 'ink';

const App = () => React.createElement(Text, { color: 'green' }, 'Hello');
render(React.createElement(App));

Same code works fine with Ink 4 + React 18.

Debug Output

Running with NODE_DEBUG=net shows the crash occurs after network sockets complete their handshakes, right when the TUI should render:

NET: afterConnect
NET: Socket._handle.readStart
zsh: segmentation fault (core dumped)

Possible Solutions

  1. Downgrade to React 18 + Ink 4 until Ink properly supports React 19
  2. Add platform detection to fall back to non-TUI mode on affected systems
  3. Investigate the specific React 19 + Ink interaction causing the crash

Workaround

Use non-interactive mode: claude -p "your prompt here"

Additional Context

  • Tested on both Claude Code 2.1.3 and 2.1.12 - same crash
  • Tested on both Node.js 18.18.2 and 20.9.0 - same crash
  • All standard debugging approaches (clearing cache, different Node versions, disabling native modules) did not help
  • The Synology kernel 4.4.302 is older but supports glibc 2.36 and modern Node.js

What Should Happen?

claude should show its UI

Error Messages/Logs

zsh: segmentation fault (core dumped)  claude

Steps to Reproduce

  1. Install Claude Code on Synology NAS via npm install -g @anthropic-ai/claude-code
  2. Run claude (interactive mode)
  3. Screen goes blank briefly, then: zsh: segmentation fault (core dumped) claude

Claude Model

Not sure / Multiple models

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.12 (Claude Code)

Platform

Anthropic API

Operating System

Other

Terminal/Shell

Terminal.app (macOS)

Additional Information

troubleshooted using ssh in claude code from a different system, who ultimately determined this is a bug in claude code itself

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗