Node-pty's darwin helper can lose its execute bit in local installs, which leaves the module loadable but causes terminal session creation to fail with posix_spawnp errors. Normalize helper permissions before loading node-pty and remove the rebuild-only hint so startup repairs the real failure mode automatically.
Constraint: Must preserve Node 24 and the existing node-pty integration path
Rejected: Pipe fallback transport | loses true PTY behavior such as proper terminal semantics
Rejected: Tell users to run npm rebuild node-pty | rebuild alone did not restore the helper execute bit here
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: If a future node-pty release changes helper locations, update the helperCandidates list before touching terminal startup again
Tested: npm run build
Tested: WebSocket terminal session create + echo command on localhost:8648 under Node 24/macOS
Not-tested: Non-macOS helper layouts
- Change profile import from server path input to browser file upload (multipart)
- Fix startup script to wait for health check before opening browser
- Add overflow scroll with hidden scrollbar to sidebar nav
- Graceful degradation when node-pty fails to load (WSL compatibility)
- Remove rename button from profile cards
- Restrict profile name input to English letters, numbers, hyphens
- Use raw.githubusercontent.com URLs in README setup script
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>