Clipboard broken over SSH when tui: fullscreen is set — stale daemon spares don't pick up settings.json changes
Open 💬 0 comments Opened Jul 5, 2026 by Diane-agent
Setup:
- Client: macOS, Terminal.app, connecting via
sshto a remote Linux host - Running
claudedirectly on the remote host (not locally) claude --version: 2.1.201
Symptom:
- Mouse selection of terminal output works fine (native macOS selection).
- Cmd+C after selecting does nothing — clipboard stays empty / unchanged.
- Confirmed this is not a general Terminal.app/OSC52 limitation, since running
claudelocally on the same Mac (no SSH) works fine.
Root cause found:
~/.claude/settings.jsonon the remote host had"tui": "fullscreen"set.- Fullscreen renderer appears related to the known clipboard-corruption issue (#72455).
- Changing
"tui"to"default"insettings.jsondid not fix it immediately — new sessions kept launching with the fullscreen renderer anyway. - Investigating with
claude daemon statusshowed a long-running daemon with pre-warmed "spare" worker processes (--bg-pty-host/--bg-spare) that had been forked before the settings change, and newclaudeinvocations were being handed off to these stale spares — which still behaved as iftui: fullscreenwere set. - Running
claude daemon stop --any --keep-workers(stops the supervisor without killing active background sessions) forced fresh spares to be created on the nextclaudelaunch, which picked up the updated setting and fixed the clipboard.
Suggested fixes for maintainers:
- When
settings.jsonchanges (specificallytui), consider invalidating/respawning pre-warmed spare workers instead of leaving them silently stale. claude daemon statusis genuinely useful for diagnosing this, but a typical user has no reason to know it exists — maybe surface a hint (e.g., in/tuioutput or a startup warning) when a config change doesn't seem to be taking effect.- This is a very plausible setup for anyone running Claude Code on a remote/VPS box from a local Mac terminal — worth documenting explicitly that
tui: fullscreen+ SSH can silently break clipboard, and that a daemon restart may be required after changing it.