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 ssh to a remote Linux host
  • Running claude directly 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 claude locally on the same Mac (no SSH) works fine.

Root cause found:

  • ~/.claude/settings.json on the remote host had "tui": "fullscreen" set.
  • Fullscreen renderer appears related to the known clipboard-corruption issue (#72455).
  • Changing "tui" to "default" in settings.json did not fix it immediately — new sessions kept launching with the fullscreen renderer anyway.
  • Investigating with claude daemon status showed a long-running daemon with pre-warmed "spare" worker processes (--bg-pty-host / --bg-spare) that had been forked before the settings change, and new claude invocations were being handed off to these stale spares — which still behaved as if tui: fullscreen were set.
  • Running claude daemon stop --any --keep-workers (stops the supervisor without killing active background sessions) forced fresh spares to be created on the next claude launch, which picked up the updated setting and fixed the clipboard.

Suggested fixes for maintainers:

  1. When settings.json changes (specifically tui), consider invalidating/respawning pre-warmed spare workers instead of leaving them silently stale.
  2. claude daemon status is genuinely useful for diagnosing this, but a typical user has no reason to know it exists — maybe surface a hint (e.g., in /tui output or a startup warning) when a config change doesn't seem to be taking effect.
  3. 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.

View original on GitHub ↗