tmux over SSHでのクリップボードコピー問題の修正
原文(日本語に翻訳)
tmux over SSHでのクリップボードコピーを修正 — 直接ターミナル書き込みとtmuxクリップボード統合の両方を試行するようになった
原文(英語)
Fixed clipboard copying in tmux over SSH — now attempts both direct terminal write and tmux clipboard integration
概要
SSH経由でtmux内でClaude Codeを使用している際に、クリップボードへのコピーが失敗する問題が修正されました。修正後は、OSC 52シーケンスによる直接ターミナル書き込みと、tmuxのクリップボード統合(tmux set-buffer / tmux load-buffer)の両方を試行するフォールバック戦略が実装されました。これにより、さまざまなSSH・tmux環境でクリップボードコピーが確実に動作するようになりました。
基本的な使い方
Claude Code内でコピー機能を使用する場合:
# /copyコマンドでコードブロックをコピー
/copy
# 会話のエクスポート
/export実践例
SSH + tmux環境でのコード共有
リモートサーバーにSSHで接続し、tmux内でClaude Codeを使用する典型的なワークフロー:
bash
# リモートサーバーに接続
ssh dev-server
# tmuxセッションを開始または再接続
tmux new -s claude-work
# または
tmux attach -t claude-work
# Claude Codeを起動
claude
# コードを生成してもらい、/copyでクリップボードにコピー
> APIエンドポイントのコードを生成して
/copy
# 修正前:コピーに失敗するケースがあった
# 修正後:直接ターミナル書き込みまたはtmux統合経由でコピー成功iPhoneからSSH経由でのリモート作業
モバイルデバイスからSSHアプリ(Blink、Termius等)を使ってClaude Codeを操作する場合にも、クリップボードコピーが改善されます:
bash
# iPhoneのSSHアプリからリモート接続
ssh user@dev-server
# tmuxセッションに接続
tmux attach -t work
# Claude Codeでコード生成 → コピー
claude
/copy # ← 修正後はモバイルSSH環境でも動作しやすくなったtmuxの推奨設定
クリップボード連携を最大限活用するためのtmux設定:
bash
# ~/.tmux.conf に追加
# クリップボード統合を有効化
set -g set-clipboard on
# OSC 52サポートを有効化(ターミナルからの直接コピー)
set -g allow-passthrough on
# マウス操作のサポート
set -g mouse on設定を反映するには:
bash
tmux source-file ~/.tmux.conf注意点
- フォールバック戦略: Claude Codeはまず直接ターミナル書き込み(OSC 52)を試み、失敗した場合はtmuxクリップボード統合にフォールバックします
- ターミナルの対応: OSC 52をサポートしていないターミナルエミュレーターでは、tmuxクリップボード統合のみが使用されます
- tmuxバージョン: tmux 3.2以降で
allow-passthroughオプションが利用可能です。古いバージョンではtmuxクリップボード統合のみが動作します - ファイル書き込み代替: クリップボードコピーがどうしても動作しない場合は、
/copyコマンドのwキーでファイルに書き出すことも可能です - ネストされたtmux: SSH先でさらにtmux内のtmuxを使用している場合、クリップボードの経路が複雑になるため、最外殻のtmuxで
set-clipboard onを設定してください