Regression: Local network SSH blocked from Claude Code process tree
Bug Description
Claude Code's process tree cannot establish SSH connections to local network devices (192.168.x.x). Direct SSH from macOS Terminal works fine. This is a regression — SSH to local devices worked reliably in prior versions (hundreds of successful connections over months of use).
Steps to Reproduce
- Have a device on local network accessible via SSH (e.g.,
ssh user@192.168.1.131) - Confirm SSH works from macOS Terminal directly — it does
- From within a Claude Code session, attempt the same SSH command
- Result:
ssh: connect to host 192.168.1.131 port 22: No route to host
Expected Behavior
SSH to local network devices should work from Claude Code's shell, as it did in prior versions.
Actual Behavior
- Any
sshcommand to a private IP (192.168.*) returns "No route to host" - Internet connectivity works fine (e.g.,
curl https://www.google.comsucceeds) - Only local/private network TCP connections are blocked
- The SSH service on the target device is confirmed running and accepting connections from other sources
Debugging Already Performed
- SSH service confirmed running on target (systemd shows active since weeks ago)
- macOS Terminal connects fine to the same device with the same credentials
- macOS Local Network permissions verified ON for Terminal/Claude Code
- Not an iptables issue on the target device
- Not a DNS issue — using direct IP address
- Affects ALL local devices, not just one specific host
Environment
- macOS: 15.7.3 (Sequoia)
- Claude Code: The regression was identified around version 2.1.72. Prior versions (e.g., 2.1.64 and earlier) worked fine.
- Shell: zsh
- Connection method: Both CLI (
claude) and desktop app
Impact
This blocks any workflow that requires Claude Code to interact with local infrastructure (development servers, GPU clusters, NAS devices, etc.). The only workaround is having the user manually run SSH commands in a separate Terminal window and paste results back, which significantly degrades the experience.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗