SSH·tmux의 Claude Code에 로컬 클립보드 이미지 전달하기

Mac에서 복사한 스크린샷을 원격 Claude Code에 보여 주려면 이미지가 실행 환경까지 전달되어야 합니다. Remote Control, pngpaste와 scp, Taildrop, VS Code 확장의 차이를 확인하고 실패 처리를 보완한 전송 함수까지 안내합니다.
이 글은 2026년 10월 25일 공식 문서와 제작자 공개 소스를 기준으로 합니다. 전송 함수는 명령을 모의 실행해 성공·실패·임시 파일 정리를 확인했습니다. 실제 사용자 서버 전송, Remote Control 로그인, VS Code 확장의 전체 동작을 직접 검증한 후기는 아닙니다. Claude Code 공식 웹사이트
1. 붙여넣기가 안 되는 이유부터 정확히 이해하기
로컬 Mac에서 캡처한 이미지는 Mac의 클립보드에 있습니다. SSH로 접속한 서버에서 실행하는 Claude Code가 그 클립보드를 자동으로 읽을 수 있는 것은 아닙니다. 원격 서버가 다른 Mac이어도 마찬가지입니다.
다만 “SSH는 텍스트만 전송해서 이미지를 보낼 수 없다”는 설명은 잘못됐습니다. SSH 연결을 이용하는 scp는 이미지 같은 파일도 전송합니다. 문제는 일반 터미널의 붙여넣기가 로컬 클립보드의 이미지 데이터를 원격 파일이나 첨부로 자동 변환하지 않는다는 점입니다. OpenSSH scp 공식 매뉴얼
tmux 공식 프로젝트의 tmux는 원격 터미널 세션을 유지하는 도구입니다. 켜 둔다고 로컬 이미지 클립보드가 원격으로 연결되지는 않습니다. 별도 이미지 브리지가 있는 터미널·확장은 예외이며, 아래 방법들은 그런 연결을 명시적으로 만드는 방식입니다.
로컬 Claude Code에서는 공식 단축키가 Ctrl+V이며 iTerm2의 Cmd+V 등 환경별 차이가 있습니다. 단축키를 바꾸는 것과 서로 다른 컴퓨터 사이로 이미지를 전달하는 것은 구분해야 합니다. 공식 키보드 안내
2. 내 환경에 맞는 방법 고르기
| 상황 | 사용할 방법 | 필요한 것 |
|---|---|---|
| 브라우저에서 같은 실행 환경에 요청하고 싶음 | Remote Control | 지원 구독·로그인·조직 허용 |
| SSH 터미널을 계속 사용하고 싶음 | 파일 전송, 이후 pngpaste + scp | 로컬 Mac의 pngpaste와 SSH 접속 |
| 이미 개인 기기끼리 Tailscale을 사용 중 | Taildrop | 양쪽 Tailscale과 파일 수신 절차 |
| VS Code Remote-SSH 통합 터미널을 사용 중 | Claude Paste 확장 | 지원 VS Code와 확장 설치 |
설정이 가장 적은 공통 출발점은 이미지 파일을 서버로 복사하고 경로를 알려 주는 방식입니다. 자주 쓴다면 전송 함수나 확장으로 반복을 줄이면 됩니다.
3. 방법 A: Remote Control에서 이미지 첨부하기
Remote Control은 서버에서 실행 중인 Claude Code를 브라우저나 다른 기기에서 이어 쓰는 기능입니다. 코드와 명령은 해당 실행 호스트에서 처리됩니다. 현재 공식 문서는 브라우저·휴대전화에서 이미지 첨부도 지원한다고 안내합니다.
공식 공개 문서의 이미지·파일 첨부 지원 설명 캡처. (출처: Remote Control, 2026-10-25 캡처)
- 원격 서버의 기존 Claude Code 대화에서
/rc또는/remote-control을 실행합니다. - 표시된 세션 URL을 로컬 Mac 브라우저에서 열고 같은 계정으로 연결합니다.
- Mac에서
Control + Shift + Command + 4로 영역을 캡처해 클립보드에 넣습니다. - 브라우저 입력창에 붙여넣습니다. 이미지 첨부가 나타나는지 확인하고, 붙여넣기가 안 되면 첨부 버튼으로 저장된 파일을 선택합니다.
- 이미지와 함께 수정할 대상과 기대 결과를 적습니다.
첨부한 화면에서 헤더와 버튼의 세로 정렬이 어긋납니다. 해당 페이지의 코드를 확인해 정렬을 수정하고, 변경 후 같은 화면 크기에서 확인해 주세요.
claude remote-control은 셸에서 서버 모드로 시작하는 별도 사용법입니다. 이미 진행 중인 대화를 이어 쓰려면 그 대화 안에서 /rc를 실행하는 흐름부터 사용하세요.
지원되는 Claude 구독과 claude.ai 로그인이 필요하며 API 키 인증만으로는 사용할 수 없습니다. Team·Enterprise는 조직 허용 설정도 확인해야 합니다. 서버 프로세스와 네트워크가 살아 있어야 하므로 원격 tmux가 프로세스 유지에 도움이 됩니다. 다만 첨부 사진을 모델이 보는 것과 원격 디스크에 재사용할 이미지 파일을 저장하는 것은 다릅니다. 파일 자체가 필요하면 다음 전송 방식을 씁니다. 공식 사용 조건과 동작
4. 방법 B의 첫 단계: 저장된 PNG를 scp로 보내기
먼저 로컬 Mac 터미널에서 서버에 접속할 수 있는지 확인합니다. 아래 devbox는 자신이 사용하는 SSH 호스트 별칭입니다. 별칭이 없다면 실제 사용자명@서버주소로 바꿉니다. Tailscale 주소는 필수가 아닙니다.
ssh devbox
접속을 확인하고 로컬 터미널로 돌아옵니다. Mac에서 Shift + Command + 4로 캡처를 파일로 저장하고, 아래 예제에서는 파일을 ~/Desktop/shot.png로 준비합니다. 저장 위치나 포맷은 Mac의 스크린샷 옵션에 따라 다릅니다. HDR·HEIF로 저장되는 환경에서는 호환 가능한 PNG로 준비하세요. Apple 공식 캡처 안내
다음 두 명령은 로컬 Mac에서 실행합니다.
ssh devbox 'umask 077; mkdir -p "$HOME/.cache/claude-images"'
scp "$HOME/Desktop/shot.png" devbox:.cache/claude-images/shot.png
이 첫 예제는 이해를 위해 고정 이름을 쓰며, 같은 경로의 파일을 다시 보내면 바뀔 수 있습니다. 반복 사용에는 다음 절의 고유 파일명 함수를 사용하세요.
원격 서버에서 도착한 파일을 확인합니다.
ls -l "$HOME/.cache/claude-images/shot.png"
file "$HOME/.cache/claude-images/shot.png"
그다음 원격 Claude Code 대화에 요청합니다.
~/.cache/claude-images/shot.png를 읽고 화면의 정렬 문제를 설명해 줘. 아직 코드는 고치지 말고 어느 요소를 확인해야 하는지 먼저 알려 줘.
이미지를 읽은 것이 확인되면 수정 요청을 이어 갑니다. 로컬 파일 경로를 원격 대화에 적는 것만으로 파일이 전송되지는 않습니다.
5. 반복할 때: 클립보드에서 바로 전송하는 함수
로컬 Mac에 pngpaste를 설치합니다. 클립보드 이미지를 파일로 쓰는 도구이며 서버에 설치할 필요는 없습니다. Homebrew 공식 패키지
brew install pngpaste
로컬 Mac의 ~/.zshrc에 다음 함수를 추가합니다. 처음에는 로컬 터미널에 그대로 붙여 넣어 시험해도 됩니다. 이 코드는 zsh용으로 확인했으며, 원격 셸의 설정 파일에 넣는 코드가 아닙니다.
cpshot() (
local host="${1:-devbox}"
local local_png remote_name
command -v pngpaste >/dev/null 2>&1 || {
printf 'Install pngpaste on this Mac first.\n' >&2
exit 127
}
local_png="$(mktemp "${TMPDIR:-/tmp}/claude-shot.XXXXXX")" || exit 1
trap 'rm -f "$local_png"' EXIT
pngpaste "$local_png" || exit 1
remote_name="$(basename "$local_png").png"
ssh "$host" 'umask 077; mkdir -p "$HOME/.cache/claude-images"' || exit 1
scp "$local_png" "$host:.cache/claude-images/$remote_name" || exit 1
printf 'Uploaded to %s: ~/.cache/claude-images/%s\n' "$host" "$remote_name"
)
새 로컬 터미널을 열거나 source ~/.zshrc로 반영한 뒤, 클립보드에 화면을 캡처하고 실행합니다.
cpshot devbox
함수가 출력한 이번 파일 경로를 원격 Claude Code에 전달합니다. devbox를 기본값으로 바꾸어 두었다면 인자 없이 cpshot으로 실행할 수 있습니다.
이 함수는 매번 고유한 이름을 쓰고, 읽기나 전송에 실패하면 중단하며, 전송 성공 뒤에만 성공 문구를 출력합니다. 로컬 임시 파일은 종료 시 정리하고 원격 파일은 남깁니다. 모의 명령으로 이 흐름을 확인했지만 실제 SSH 인증과 파일 전송은 자신의 서버에서 한 번 확인해야 합니다.
6. 방법 C: Tailscale Taildrop으로 파일 보내기
Tailscale 공식 웹사이트의 Taildrop을 이미 사용하는 개인 기기라면 파일을 공유할 수 있습니다. 현재 공식 문서상 Taildrop은 활성화가 필요한 alpha 기능이며, 같은 사용자의 개인 기기 사이에서 사용합니다. 다른 사용자 소유 기기나 태그가 붙은 노드에는 제한이 있습니다.
Mac에서 PNG 파일을 준비한 뒤 Finder의 공유 메뉴에서 Tailscale을 선택하고 대상 기기로 보냅니다. 수신 완료와 Claude Code가 읽을 수 있는 파일 경로 확보를 구분해야 합니다.
Linux 서버에서는 공식 문서가 별도 수신 명령을 안내합니다. 원격 Linux에서 다음처럼 수신 폴더를 정하고 가져옵니다.
mkdir -p "$HOME/.cache/claude-images"
sudo tailscale file get "$HOME/.cache/claude-images"
ls -l "$HOME/.cache/claude-images"
파일 이름과 권한을 확인합니다. 수신 파일이 root 소유여서 Claude 실행 사용자가 읽지 못하면, 실제 받은 파일 하나를 지정해 소유권을 맞춥니다. 다음은 파일 이름이 shot.png인 경우입니다.
sudo chown "$(id -u):$(id -g)" "$HOME/.cache/claude-images/shot.png"
원격 Mac의 저장 위치도 앱과 설정에 따라 확인해야 합니다. 모든 서버에 자동으로 ~/Downloads에 저장된다고 가정하지 마세요. 파일을 확인한 뒤 그 실제 원격 경로를 Claude Code에 전달합니다. Taildrop 공식 전송·수신 안내
7. 방법 D: VS Code Remote-SSH와 Claude Paste
VS Code 공식 웹사이트의 Remote-SSH 안내에 따라 서버에 연결했다면, 통합 터미널에서 원격 tmux와 Claude Code를 사용할 수 있습니다. 이것만으로 로컬 이미지 클립보드가 자동 전송되는 것은 아닙니다.
Claude Paste 제작자의 Marketplace 페이지는 로컬 이미지를 원격 파일로 만들고 그 경로를 터미널에 넣는 기능을 안내합니다. Anthropic이나 Microsoft의 기본 기능이 아닌 별도 제작자의 확장입니다.
- Remote-SSH로 연결된 VS Code 창에서 해당 Marketplace 항목을 확인하고 설치 안내를 따릅니다.
- 원격 통합 터미널의 Claude Code를 열거나 기존
tmux에 연결합니다. - 로컬 Mac에서 이미지를 클립보드에 복사합니다.
- 통합 터미널에서
Cmd+V를 누릅니다. 제작자의 현재 안내는 붙여넣기 대상이 나타나면 다시Cmd+V를 눌러 캡처하도록 설명합니다. - 주입된 원격 경로를 확인하고 작업 내용을 보냅니다.
확장 제작자의 공개 README에 있는 사용 절차 캡처. (출처: Claude Paste 사용법, 2026-10-25 캡처)
현재 문서에는 임시 이미지 보존 시간 설정도 있습니다. 나중에 같은 경로를 재사용하려면 파일이 남아 있는지 확인하세요. 단축키 충돌이나 지원 환경은 설치 버전의 안내를 따릅니다. 문서의 설치 CLI 식별자와 Marketplace 항목 표기가 달라, 이 글에서는 검증한 Marketplace 페이지를 통해 설치하도록 안내했습니다.
8. 안 될 때는 세 단계로 나눠 확인하기
| 단계 | 확인할 것 | 흔한 원인 |
|---|---|---|
| 로컬 캡처 | 이미지가 클립보드나 PNG 파일에 있는가 | 이미지 대신 파일 이름·텍스트를 복사함 |
| 전달 | 원격 사용자에게 읽히는 파일이 도착했는가 | 인증 실패, 다른 호스트, 잘못된 경로·권한 |
| Claude 입력 | 실제 첨부 또는 원격 이미지 읽기가 확인되는가 | 로컬 경로만 전달, 만료된 임시 파일, 형식 문제 |
긴 Base64 문자열을 대화창에 붙이기보다 이미지 첨부나 파일 읽기 기능을 사용하세요. pbpaste로 이미지 바이너리를 출력하는 것도 이 흐름의 대체 방법이 아닙니다.
우선 저장된 PNG를 한 번 전송해 원격 Claude가 읽는지 확인하고, 자주 쓴다면 전송 함수를 붙이세요. 브라우저가 편하고 계정 조건을 만족하면 Remote Control을, 이미 쓰는 환경이 있다면 Taildrop이나 VS Code 확장을 선택하면 됩니다. tmux의 역할은 세션 유지이며, 이미지 전달은 선택한 전송 경로가 담당합니다.

To show a Mac screenshot to remote Claude Code, the image must reach its execution context. Compare Remote Control, pngpaste with scp, Taildrop, and a VS Code extension, then use an upload helper with proper failure handling.
This guide follows official documentation and publisher source checked on October 25, 2026. The helper was tested with mocked commands for success, failure, and temporary-file cleanup. Real server transfers, Remote Control authentication, and the full VS Code extension workflow were not tested. Official Claude Code website
1. Understand why pasting may fail
A screenshot copied on your Mac is in that Mac's clipboard. Claude Code on an SSH server does not automatically gain access to it, even if the server is another Mac.
However, it is incorrect to say SSH only carries text and cannot transfer images. scp uses an SSH connection to transfer files, including images. Ordinary terminal paste does not automatically turn local image clipboard data into a remote file or attachment. Official OpenSSH scp manual
tmux keeps remote terminal sessions running. It does not connect the local image clipboard merely by being enabled. Terminals and extensions with dedicated image bridges are exceptions; the methods below explicitly provide that connection.
The official local Claude Code image shortcut is Ctrl+V, with environment-specific alternatives such as iTerm2's Cmd+V. Changing shortcuts and transferring an image between computers are separate problems. Official keyboard reference
2. Choose a method for your environment
| Situation | Method | Requirements |
|---|---|---|
| Use a browser with the same execution host | Remote Control | Eligible subscription, login, organization policy |
| Keep using an SSH terminal | File transfer, then pngpaste + scp |
pngpaste on the local Mac and SSH access |
| Already use Tailscale between personal devices | Taildrop | Tailscale on both devices and receiving steps |
| Use a VS Code Remote-SSH terminal | Claude Paste extension | Supported VS Code and extension installation |
The common starting point is copying an image file to the server and supplying its path. A helper or extension can reduce repetition later.
3. Method A: attach an image through Remote Control
Remote Control continues Claude Code on its execution host through a browser or another device. Code and commands run on that host. Current official documentation explicitly supports image attachments from browsers and phones.
Attachment support captured from the official public documentation. (Source: Remote Control, captured 2026-10-25)
- In the existing Claude Code conversation on the remote server, run
/rcor/remote-control. - Open the displayed session URL in your local Mac browser and connect with the same account.
- Capture a region to the clipboard with
Control + Shift + Command + 4. - Paste into the browser prompt and confirm an attachment appears. If paste fails, use the attachment button with a saved file.
- Describe the target and expected result with the image.
The header and button are vertically misaligned in the attachment. Find the page code, fix the alignment, and verify at the same viewport size.
claude remote-control starts server mode from a shell. To continue an existing conversation, start with /rc inside that conversation.
You need an eligible Claude subscription and claude.ai authentication; API-key-only authentication is unsupported. Team and Enterprise also require organization approval settings. The host process and network must remain available, so remote tmux can help preserve the process. Showing an attached photo to the model differs from saving a reusable image file on the remote disk. Use file transfer when you need the file itself. Official requirements and behavior
4. Method B, first step: send a saved PNG with scp
First check access from your local Mac terminal. devbox is your SSH host alias; replace it with your actual user@server if you do not have one. A Tailscale address is optional.
ssh devbox
After checking, return to a local terminal. Capture with Shift + Command + 4 and prepare the example file as ~/Desktop/shot.png. Location and format depend on Screenshot settings. If using HDR/HEIF, prepare a compatible PNG. Official Apple screenshot guide
Run these on the local Mac.
ssh devbox 'umask 077; mkdir -p "$HOME/.cache/claude-images"'
scp "$HOME/Desktop/shot.png" devbox:.cache/claude-images/shot.png
The first example uses a fixed name for clarity; sending another file to that path may replace it. Use the next section's unique-name helper for repeated work.
On the remote server, verify the received file.
ls -l "$HOME/.cache/claude-images/shot.png"
file "$HOME/.cache/claude-images/shot.png"
Then ask remote Claude Code:
Read
~/.cache/claude-images/shot.pngand explain the alignment problem. Do not edit code yet; first identify which elements to inspect.
Continue with edits after confirming it read the image. Writing a local path into a remote prompt does not transfer the file.
5. A helper for repeated clipboard uploads
Install pngpaste on the local Mac. It writes clipboard images to files and need not be installed on the server. Official Homebrew package
brew install pngpaste
Add this function to your local ~/.zshrc, or paste it into a local terminal to test first. It was checked for zsh and belongs on the local machine.
cpshot() (
local host="${1:-devbox}"
local local_png remote_name
command -v pngpaste >/dev/null 2>&1 || {
printf 'Install pngpaste on this Mac first.\n' >&2
exit 127
}
local_png="$(mktemp "${TMPDIR:-/tmp}/claude-shot.XXXXXX")" || exit 1
trap 'rm -f "$local_png"' EXIT
pngpaste "$local_png" || exit 1
remote_name="$(basename "$local_png").png"
ssh "$host" 'umask 077; mkdir -p "$HOME/.cache/claude-images"' || exit 1
scp "$local_png" "$host:.cache/claude-images/$remote_name" || exit 1
printf 'Uploaded to %s: ~/.cache/claude-images/%s\n' "$host" "$remote_name"
)
Open a new local terminal or run source ~/.zshrc, capture an image to the clipboard, then run:
cpshot devbox
Give remote Claude Code the path printed for this upload. With the correct default host in the function, cpshot alone also works.
The helper uses a unique name, stops on read or transfer failure, and prints success only after scp succeeds. It removes the local temporary file while leaving the remote file. Mock commands verified this flow; test actual authentication and transfer once on your server.
6. Method C: transfer a file with Tailscale Taildrop
If you already use Tailscale on your personal devices, Taildrop can share files. Current official documentation describes it as an opt-in alpha feature between a user's own devices, with restrictions on other users' devices and tagged nodes.
Prepare a PNG on the Mac, choose Tailscale in Finder's Share menu, and select the destination. Transfer completion and obtaining a readable remote file path are separate checks.
Linux requires an explicit receive command. On the remote Linux server, retrieve files into a chosen directory.
mkdir -p "$HOME/.cache/claude-images"
sudo tailscale file get "$HOME/.cache/claude-images"
ls -l "$HOME/.cache/claude-images"
Check the filename and permissions. If root owns the received file and the Claude user cannot read it, adjust ownership of that one file. This example assumes it is named shot.png.
sudo chown "$(id -u):$(id -g)" "$HOME/.cache/claude-images/shot.png"
On a remote Mac, check the actual location for its app and settings. Do not assume every server automatically saves into ~/Downloads. Supply the actual remote path after verification. Official Taildrop sending and receiving guide
7. Method D: VS Code Remote-SSH and Claude Paste
After connecting with VS Code and its official Remote-SSH tutorial, you can use remote tmux and Claude Code in the integrated terminal. This alone does not transfer local clipboard images.
The publisher's Claude Paste Marketplace page describes creating a remote image file and injecting its path into the terminal. It is a third-party extension, not built-in Anthropic or Microsoft functionality.
- In the connected Remote-SSH window, inspect that Marketplace listing and follow installation prompts.
- Open remote Claude Code or attach to your existing
tmuxsession in the integrated terminal. - Copy an image on the local Mac.
- Press
Cmd+Vin the terminal. Current publisher instructions say to pressCmd+Vagain when the paste target appears. - Check the injected remote path and send your request.
Usage steps captured from the extension publisher's public README. (Source: Claude Paste usage, captured 2026-10-25)
The documentation also provides a temporary-image retention setting. Verify that a file still exists before reusing its path later. Follow your installed version for shortcut conflicts and support. The README's CLI installation identifier differs from the Marketplace listing, so this guide uses the verified listing.
8. Troubleshoot in three stages
| Stage | Check | Common cause |
|---|---|---|
| Local capture | Image exists in clipboard or PNG | Copied a filename or text instead |
| Transfer | Remote user can read the received file | Authentication, wrong host, path, or permissions |
| Claude input | Real attachment or image reading is confirmed | Local-only path, expired file, unsupported format |
Use attachments or file reading rather than pasting long Base64 strings. Printing image bytes with pbpaste is not a substitute for this workflow.
First send one saved PNG and confirm remote Claude can read it; add the helper for repeated work. Choose Remote Control when browser use and account requirements fit, or Taildrop/VS Code when already using those environments. tmux preserves the session; the chosen transfer path carries the image.

要让远程 Claude Code 看到 Mac 截图,必须先把图片送入它的执行上下文。本文比较 Remote Control、pngpaste 与 scp、Taildrop、VS Code 扩展,并提供正确处理失败的上传函数。
依据 2026 年 10 月 25 日核对的官方文档与作者公开源码。上传函数用模拟命令验证了成功、失败和临时文件清理,未实测用户服务器传输、Remote Control 登录或完整扩展流程。Claude Code 官方网站
1. 正确理解为什么粘贴失败
在本地 Mac 复制的截图属于该 Mac 的剪贴板,SSH 服务器上的 Claude Code 不会自动获得访问权限,即使远端也是 Mac。
“SSH 只能传文本,不能传图片”是错误解释。scp 就是通过 SSH 传输包括图片在内的文件。问题在于普通终端粘贴不会自动把本地剪贴板图像变成远程文件或附件。OpenSSH scp 官方手册
tmux 官方项目用于保持远程终端会话,并不会自动连接本地图片剪贴板。具有专用桥接的终端或扩展属于例外,下面的方法就是明确建立传递通道。
本地 Claude Code 官方图片快捷键为 Ctrl+V,iTerm2 的 Cmd+V 等则随环境变化。改变快捷键与跨电脑传递图片是不同问题。官方键盘说明
2. 选择适合环境的方法
| 情况 | 方法 | 所需条件 |
|---|---|---|
| 用浏览器继续同一执行环境 | Remote Control | 支持的订阅、登录和组织策略 |
| 继续使用 SSH 终端 | 文件传输,再用 pngpaste + scp |
本地 Mac 的 pngpaste 和 SSH 权限 |
| 已在个人设备使用 Tailscale | Taildrop | 两端运行 Tailscale 及接收步骤 |
| 使用 VS Code Remote-SSH 终端 | Claude Paste 扩展 | 支持的 VS Code 和扩展安装 |
共同的简单起点是把图片文件复制到服务器,再提供路径。经常使用时再添加函数或扩展。
3. 方法 A:通过 Remote Control 附加图片
Remote Control 让你通过浏览器或其他设备继续使用执行主机上的 Claude Code,代码与命令仍在该主机运行。当前官方文档明确支持浏览器和手机图片附件。
官方公开文档的附件支持说明截图。(来源:Remote Control,截图日期 2026-10-25)
- 在远程服务器已有的 Claude Code 对话中运行
/rc或/remote-control。 - 在本地 Mac 浏览器打开显示的会话 URL,用同一账户连接。
- 用
Control + Shift + Command + 4截取区域到剪贴板。 - 在浏览器输入框粘贴,确认附件出现;不成功时使用附件按钮选择已保存文件。
- 随图片写明修改目标与预期结果。
附图中的页头和按钮垂直未对齐。请找到相关页面代码,修正并在相同视口尺寸验证。
claude remote-control 是从 shell 启动服务器模式的另一种用法。继续已有对话时,先在该对话内部运行 /rc。
需要支持的 Claude 订阅与 claude.ai 登录,不能只用 API key。Team、Enterprise 还要确认组织允许设置。主机进程和网络必须保持可用,远程 tmux 有助于维持进程。模型看到附件图片与远程磁盘保存可复用文件是两回事。需要文件本身时使用下面的传输方案。官方要求与行为
4. 方法 B 的起点:用 scp 发送已保存 PNG
先从本地 Mac 终端确认连接。devbox 是你的 SSH 别名;没有别名则换成实际 用户@服务器,不必使用 Tailscale 地址。
ssh devbox
确认后回到本地终端。用 Shift + Command + 4 保存截图,本例将文件准备为 ~/Desktop/shot.png。位置和格式受截图选项影响;HDR/HEIF 环境应先准备兼容 PNG。Apple 官方截图指南
以下在本地 Mac运行。
ssh devbox 'umask 077; mkdir -p "$HOME/.cache/claude-images"'
scp "$HOME/Desktop/shot.png" devbox:.cache/claude-images/shot.png
入门示例采用固定名称,重复发送可能替换同路径文件。经常使用请用下一节的独立名称函数。
在远程服务器检查收到的文件。
ls -l "$HOME/.cache/claude-images/shot.png"
file "$HOME/.cache/claude-images/shot.png"
然后向远程 Claude Code 请求:
读取
~/.cache/claude-images/shot.png,解释对齐问题。暂时不要改代码,先指出应该检查哪些元素。
确认图片确实已读取,再提出修改。只给远程对话一个本地路径不会传输文件。
5. 重复上传:直接读取剪贴板的函数
在本地 Mac安装 pngpaste,它将剪贴板图片写为文件,不必装在服务器。Homebrew 官方包
brew install pngpaste
将函数加进本地 ~/.zshrc,也可先直接粘贴进本地终端测试。代码针对 zsh 核对,不应放入远程 shell 配置。
cpshot() (
local host="${1:-devbox}"
local local_png remote_name
command -v pngpaste >/dev/null 2>&1 || {
printf 'Install pngpaste on this Mac first.\n' >&2
exit 127
}
local_png="$(mktemp "${TMPDIR:-/tmp}/claude-shot.XXXXXX")" || exit 1
trap 'rm -f "$local_png"' EXIT
pngpaste "$local_png" || exit 1
remote_name="$(basename "$local_png").png"
ssh "$host" 'umask 077; mkdir -p "$HOME/.cache/claude-images"' || exit 1
scp "$local_png" "$host:.cache/claude-images/$remote_name" || exit 1
printf 'Uploaded to %s: ~/.cache/claude-images/%s\n' "$host" "$remote_name"
)
开新终端或执行 source ~/.zshrc 后,把截图复制到剪贴板并运行:
cpshot devbox
将输出的本次文件路径交给远程 Claude Code。默认主机正确时,也可只执行 cpshot。
函数每次使用独立名称,读取或传输失败立即停止,只在 scp 成功后报告成功。退出时删除本地临时文件,保留远程文件。模拟命令已验证该流程;真实认证和传输仍需在自己的服务器确认一次。
6. 方法 C:使用 Tailscale Taildrop
已在个人设备使用 Tailscale时可用 Taildrop 共享文件。当前文档说明这是需要启用的 alpha 功能,用于同一用户自己的设备;其他用户设备和带标签节点受限制。
在 Mac 准备 PNG,通过 Finder 共享菜单选择 Tailscale 和目标设备。完成传输与取得可读远程路径需要分别确认。
Linux 需单独执行接收命令,在远程 Linux选择目录并取回文件。
mkdir -p "$HOME/.cache/claude-images"
sudo tailscale file get "$HOME/.cache/claude-images"
ls -l "$HOME/.cache/claude-images"
检查名称和权限。如果文件属 root,Claude 运行用户无法读取,就只调整实际收到的那个文件。本例假设名为 shot.png。
sudo chown "$(id -u):$(id -g)" "$HOME/.cache/claude-images/shot.png"
远程 Mac 也要按应用和设置确认位置,不要假设所有服务器都会自动保存到 ~/Downloads。检查后传入实际远程路径。Taildrop 官方发送与接收指南
7. 方法 D:VS Code Remote-SSH 与 Claude Paste
按 VS Code 官网的 Remote-SSH 官方教程连接后,可在集成终端使用远程 tmux 和 Claude Code,但连接本身不会自动传本地剪贴板图片。
Claude Paste 作者的 Marketplace 页面介绍了把本地图像写为远程文件并注入路径的功能。它是第三方扩展,不是 Anthropic 或 Microsoft 内置能力。
- 在 Remote-SSH 窗口核对该 Marketplace 项,按提示安装。
- 在集成终端打开远程 Claude Code 或接入现有
tmux。 - 在本地 Mac 复制图片。
- 在终端按
Cmd+V;当前作者说明要求出现粘贴目标后再按一次Cmd+V。 - 确认注入的远程路径后发送任务。
扩展作者公开 README 的使用步骤截图。(来源:Claude Paste 用法,截图日期 2026-10-25)
文档还提供临时图片保留时长设置,之后复用路径前要检查文件仍存在。快捷键冲突与支持环境以安装版本为准。README 安装命令标识与 Marketplace 项目不同,因此本文采用核对过的 Marketplace 页面。
8. 分三步排查
| 阶段 | 检查 | 常见原因 |
|---|---|---|
| 本地捕获 | 剪贴板或 PNG 中确有图片 | 复制了文件名或文本 |
| 传输 | 远程用户可以读取收到的文件 | 认证、主机、路径或权限错误 |
| Claude 输入 | 确认附件或图片读取 | 只提供本地路径、文件过期、格式问题 |
使用附件或文件读取,不要粘贴长 Base64。用 pbpaste 打印图片二进制也不能替代该流程。
先传一份已保存 PNG,确认远程 Claude 可读;频繁使用再加函数。账户条件满足且喜欢浏览器时选 Remote Control,已有环境则选 Taildrop 或 VS Code。tmux 负责保持会话,所选通道负责图片传输。

Mac のスクリーンショットを遠隔の Claude Code に見せるには、実行文脈へ画像を渡す必要があります。Remote Control、pngpaste と scp、Taildrop、VS Code 拡張を比較し、失敗処理を備えた転送関数を紹介します。
2026年10月25日に確認した公式文書と作者の公開ソースに基づきます。関数は模擬コマンドで成功、失敗、仮ファイル削除を確認しました。実際の利用者サーバーへの転送、Remote Control 認証、拡張の全体動作を実測した記事ではありません。Claude Code 公式サイト
1. 貼り付けが失敗する理由を理解する
Mac でコピーした画像はその Mac のクリップボードにあります。SSH 先の Claude Code が自動で読めるわけではなく、遠隔側も Mac でも同じです。
SSH はテキストしか送れないので画像は転送できない、という説明は誤りです。scp は SSH 経由で画像を含むファイルを転送します。通常の端末の貼り付けが、手元の画像を遠隔ファイルや添付へ自動変換しないことが問題です。OpenSSH scp 公式マニュアル
tmux 公式プロジェクトの tmux は遠隔端末のセッションを維持しますが、手元の画像クリップボードまで接続しません。専用ブリッジ付き端末や拡張は例外です。以下はその受け渡しを明示する方法です。
ローカル Claude Code の公式画像キーは Ctrl+V で、iTerm2 の Cmd+V など環境差があります。キー変更と別コンピューターへの画像転送は区別しましょう。公式キー案内
2. 環境に合う方法を選ぶ
| 状況 | 方法 | 必要なもの |
|---|---|---|
| ブラウザーで同じ実行環境を使う | Remote Control | 対応契約、認証、組織の許可 |
| SSH 端末を使い続ける | ファイル転送と pngpaste + scp |
手元の pngpaste と SSH |
| 個人端末で Tailscale を利用済み | Taildrop | 両端の Tailscale と受信処理 |
| VS Code Remote-SSH 端末を使用 | Claude Paste 拡張 | 対応版と拡張導入 |
共通の出発点は画像ファイルをサーバーへコピーしてパスを渡すことです。反復するなら関数や拡張を使います。
3. 方法 A:Remote Control で添付する
Remote Control は実行ホストの Claude Code をブラウザーなどから継続する機能で、コードやコマンドはそのホストで処理します。現在の公式文書はブラウザーと携帯からの画像添付に対応しています。
公式公開文書の添付対応をキャプチャ。(出典:Remote Control、2026-10-25 撮影)
- 遠隔サーバーの既存会話で
/rcまたは/remote-controlを実行します。 - 表示 URL を手元の Mac のブラウザーで開き、同じアカウントで接続します。
Control + Shift + Command + 4で領域をクリップボードへ撮影します。- ブラウザー入力に貼り、添付を確認します。できなければ添付ボタンで保存ファイルを選びます。
- 画像とともに対象と期待する結果を書きます。
添付ではヘッダーとボタンの縦位置がずれています。関連コードを確認して修正し、同じ画面幅で検証してください。
claude remote-control はシェルからサーバーモードを開始する別の使い方です。既存会話の継続は会話内の /rc から始めます。
対応する Claude 契約と claude.ai 認証が必要で、API キーのみでは使えません。Team・Enterprise は組織設定も必要です。ホストとネットワークを維持するため、遠隔 tmux はプロセス保持に役立ちます。添付写真をモデルが見ることと、遠隔ディスクに再利用できる画像を保存することは別です。ファイルが必要なら次の方法を使います。公式条件と動作
4. 方法 B の出発点:保存 PNG を scp で送る
手元の Mac の端末から接続を確認します。devbox は自分の SSH 別名で、なければ ユーザー@サーバー に置き換えます。Tailscale の IP は必須ではありません。
ssh devbox
確認後はローカル端末へ戻ります。Shift + Command + 4 で撮影し、本例では ~/Desktop/shot.png を用意します。保存先と形式はスクリーンショット設定に依存し、HDR・HEIF なら互換 PNG を準備します。Apple 公式案内
次は手元の Macで実行します。
ssh devbox 'umask 077; mkdir -p "$HOME/.cache/claude-images"'
scp "$HOME/Desktop/shot.png" devbox:.cache/claude-images/shot.png
最初の例は固定名なので、再送すると同じパスを置き換え得ます。反復には次節の一意な名前の関数を使います。
遠隔サーバーで確認します。
ls -l "$HOME/.cache/claude-images/shot.png"
file "$HOME/.cache/claude-images/shot.png"
遠隔 Claude Code に依頼します。
~/.cache/claude-images/shot.pngを読み、配置の問題を説明してください。まだ編集せず、確認すべき要素を先に示してください。
読めたことを確認して修正へ進みます。ローカルのパスを書くだけでは転送されません。
5. 反復用:クリップボードから送る関数
手元の Macへ pngpaste を入れます。画像をファイルにするツールで、サーバー側には不要です。Homebrew 公式パッケージ
brew install pngpaste
ローカル ~/.zshrc へ追加するか、まずローカル端末へ貼って試します。zsh 用に確認したコードであり、遠隔側の設定に置くものではありません。
cpshot() (
local host="${1:-devbox}"
local local_png remote_name
command -v pngpaste >/dev/null 2>&1 || {
printf 'Install pngpaste on this Mac first.\n' >&2
exit 127
}
local_png="$(mktemp "${TMPDIR:-/tmp}/claude-shot.XXXXXX")" || exit 1
trap 'rm -f "$local_png"' EXIT
pngpaste "$local_png" || exit 1
remote_name="$(basename "$local_png").png"
ssh "$host" 'umask 077; mkdir -p "$HOME/.cache/claude-images"' || exit 1
scp "$local_png" "$host:.cache/claude-images/$remote_name" || exit 1
printf 'Uploaded to %s: ~/.cache/claude-images/%s\n' "$host" "$remote_name"
)
新しいローカル端末を開くか source ~/.zshrc を実行し、クリップボードへ撮影して実行します。
cpshot devbox
出力された今回のパスを遠隔 Claude Code へ渡します。既定ホストを設定済みなら cpshot だけでも使えます。
毎回一意な名前を使い、読取・転送失敗で止まり、scp 成功後だけ成功を表示します。ローカル仮ファイルは削除し、遠隔ファイルは残します。模擬検証済みですが、実際の認証と転送は自分のサーバーで一度確認してください。
6. 方法 C:Taildrop でファイルを送る
個人端末で Tailscale を利用中なら Taildrop を使えます。現行文書では有効化が必要な alpha 機能で、同じ利用者自身の端末向けです。他ユーザーの端末やタグ付きノードには制限があります。
PNG を用意し、Finder の共有から Tailscale と対象を選びます。転送完了と読める遠隔パスの取得は別々に確認します。
Linux は受信コマンドが必要です。遠隔 Linuxで保存先へ取り出します。
mkdir -p "$HOME/.cache/claude-images"
sudo tailscale file get "$HOME/.cache/claude-images"
ls -l "$HOME/.cache/claude-images"
名前と権限を確認し、root 所有で読めない場合はその受信ファイル一つの所有者を変更します。名前が shot.png の例です。
sudo chown "$(id -u):$(id -g)" "$HOME/.cache/claude-images/shot.png"
遠隔 Mac もアプリと設定に応じた場所を確認します。全サーバーで自動的に ~/Downloads へ届くとは想定せず、実際の遠隔パスを渡します。公式の送受信ガイド
7. 方法 D:VS Code Remote-SSH と Claude Paste
VS Code 公式サイトの Remote-SSH チュートリアルで接続すれば、統合端末で遠隔 tmux と Claude Code を使えます。ただしこれだけでローカル画像は渡りません。
作者の Claude Paste Marketplaceは、画像を遠隔ファイルにしてパスを入力する機能を案内しています。Anthropic や Microsoft 標準ではない第三者の拡張です。
- Remote-SSH 接続中の窓で該当項目を確認し、導入案内に従います。
- 統合端末で遠隔 Claude Code を開くか既存
tmuxに接続します。 - 手元の Mac で画像をコピーします。
- 統合端末で
Cmd+Vを押します。現行の作者案内では対象が現れた後にもう一度Cmd+Vを押します。 - 入力された遠隔パスを確認して依頼します。
作者の公開 README の利用手順。(出典:Claude Paste 使用法、2026-10-25 撮影)
仮画像の保持時間も設定できます。後からパスを再利用するときは存在を確かめます。キー競合や対応範囲は導入版に従います。README の CLI 識別子と Marketplace が異なるため、この記事は確認した Marketplace からの導入を案内しています。
8. 三段階で切り分ける
| 段階 | 確認 | よくある原因 |
|---|---|---|
| ローカル撮影 | 画像がクリップボードか PNG にあるか | 名前やテキストだけをコピー |
| 転送 | 遠隔ユーザーがファイルを読めるか | 認証、ホスト、パス、権限 |
| Claude 入力 | 添付や画像読取が確認できるか | ローカルのみのパス、期限切れ、形式 |
長い Base64 を貼るより添付やファイル読取を使います。pbpaste で画像バイトを出すことも代替ではありません。
まず PNG 一枚を送り、読めたら反復用関数を加えましょう。ブラウザーと契約条件が合えば Remote Control、既存環境なら Taildrop や VS Code を選びます。セッション維持は tmux、画像転送は選んだ経路の役割です。

Para que Claude Code remoto vea una captura del Mac, la imagen debe llegar a su contexto de ejecución. Compara Remote Control, pngpaste con scp, Taildrop y una extensión de VS Code, con una función de envío que gestiona los fallos.
La guía sigue documentación oficial y código público de los autores consultados el 25 de octubre de 2026. La función se comprobó con comandos simulados para éxito, fallos y limpieza. No se probaron transferencias al servidor del usuario, autenticación de Remote Control ni el flujo completo de la extensión. Web oficial de Claude Code
1. Entiende por qué puede fallar el pegado
La captura copiada en el Mac está en su portapapeles. Claude Code en un servidor SSH no obtiene acceso automático, aunque el servidor también sea un Mac.
Es incorrecto decir que SSH solo transmite texto y no puede enviar imágenes.scp utiliza SSH para transferir archivos, incluidas imágenes. El pegado habitual del terminal no convierte automáticamente los datos de imagen locales en un archivo remoto o adjunto. Manual oficial de OpenSSH scp
tmux mantiene sesiones de terminal remotas, pero no conecta por sí solo el portapapeles local. Los terminales y extensiones con puentes específicos son excepciones; los métodos siguientes establecen esa conexión.
El atajo oficial de imagen en Claude Code local es Ctrl+V, con alternativas según el entorno como Cmd+V en iTerm2. Cambiar atajos y transferir imágenes entre equipos son problemas distintos. Referencia oficial de teclado
2. Elige según tu entorno
| Situación | Método | Requisitos |
|---|---|---|
| Navegador con el mismo entorno de ejecución | Remote Control | Suscripción, acceso y política compatibles |
| Continuar en terminal SSH | Archivos y después pngpaste + scp |
pngpaste local y acceso SSH |
| Tailscale ya en dispositivos personales | Taildrop | Ambos dispositivos y pasos de recepción |
| Terminal VS Code Remote-SSH | Extensión Claude Paste | VS Code compatible e instalación |
El punto de partida común es copiar la imagen al servidor y proporcionar su ruta. Automatiza la repetición después.
3. Método A: adjuntar mediante Remote Control
Remote Control permite continuar Claude Code desde el navegador u otro dispositivo, manteniendo código y comandos en su host de ejecución. La documentación actual admite imágenes desde navegadores y móviles.
Soporte de adjuntos capturado de la documentación oficial pública. (Fuente: Remote Control, captura del 2026-10-25)
- En la conversación existente del servidor remoto, ejecuta
/rco/remote-control. - Abre la URL de sesión en el navegador del Mac local y conecta con la misma cuenta.
- Captura una región al portapapeles con
Control + Shift + Command + 4. - Pega en el navegador y confirma el adjunto. Si falla, usa el botón para seleccionar un archivo guardado.
- Describe el objetivo y el resultado esperado junto a la imagen.
El encabezado y el botón están desalineados verticalmente. Localiza el código, corrige la alineación y comprueba el mismo tamaño de ventana.
claude remote-control inicia modo servidor desde un shell. Para continuar una conversación existente, empieza con /rc dentro de ella.
Necesitas una suscripción compatible y autenticación de claude.ai; no basta una clave API. Team y Enterprise requieren ajustes organizativos. El proceso y la red deben seguir disponibles; tmux ayuda a conservar el proceso. Que el modelo vea una foto adjunta no equivale a guardar un archivo reutilizable en el disco remoto. Para eso, usa transferencia de archivos. Requisitos oficiales
4. Método B: primero envía un PNG con scp
Comprueba el acceso desde el terminal local del Mac. devbox es tu alias SSH; sustitúyelo por usuario@servidor si no tienes uno. Tailscale es opcional.
ssh devbox
Después vuelve al terminal local. Captura con Shift + Command + 4 y prepara el ejemplo como ~/Desktop/shot.png. La ubicación y el formato dependen de los ajustes. Si utilizas HDR/HEIF, prepara un PNG compatible. Guía oficial de Apple
Ejecuta esto en el Mac local.
ssh devbox 'umask 077; mkdir -p "$HOME/.cache/claude-images"'
scp "$HOME/Desktop/shot.png" devbox:.cache/claude-images/shot.png
El ejemplo inicial utiliza un nombre fijo; reenviarlo puede reemplazar la misma ruta. Para uso repetido, utiliza la función con nombres únicos de la siguiente sección.
En el servidor remoto, comprueba el archivo.
ls -l "$HOME/.cache/claude-images/shot.png"
file "$HOME/.cache/claude-images/shot.png"
Después pide a Claude Code remoto:
Lee
~/.cache/claude-images/shot.pngy explica el problema de alineación. No modifiques código todavía; identifica primero los elementos que revisar.
Continúa con cambios cuando confirme la lectura. Escribir una ruta local en el prompt remoto no transfiere el archivo.
5. Función para enviar directamente desde el portapapeles
Instala pngpaste en el Mac local. Guarda imágenes del portapapeles y no hace falta en el servidor. Paquete oficial de Homebrew
brew install pngpaste
Añade la función al ~/.zshrc local o pégala primero en un terminal local para probar. Se comprobó para zsh y no pertenece a la configuración remota.
cpshot() (
local host="${1:-devbox}"
local local_png remote_name
command -v pngpaste >/dev/null 2>&1 || {
printf 'Install pngpaste on this Mac first.\n' >&2
exit 127
}
local_png="$(mktemp "${TMPDIR:-/tmp}/claude-shot.XXXXXX")" || exit 1
trap 'rm -f "$local_png"' EXIT
pngpaste "$local_png" || exit 1
remote_name="$(basename "$local_png").png"
ssh "$host" 'umask 077; mkdir -p "$HOME/.cache/claude-images"' || exit 1
scp "$local_png" "$host:.cache/claude-images/$remote_name" || exit 1
printf 'Uploaded to %s: ~/.cache/claude-images/%s\n' "$host" "$remote_name"
)
Abre otro terminal local o ejecuta source ~/.zshrc, captura al portapapeles y ejecuta:
cpshot devbox
Entrega a Claude Code remoto la ruta de esta transferencia. Si el host predeterminado es correcto, también sirve cpshot sin argumento.
La función utiliza nombres únicos, se detiene si falla la lectura o transferencia y anuncia éxito solo después de scp. Elimina el temporal local y conserva el remoto. Los comandos simulados verificaron este flujo; comprueba una transferencia real en tu servidor.
6. Método C: Tailscale Taildrop
Si ya usas Tailscale entre dispositivos personales, Taildrop permite compartir archivos. La documentación actual lo describe como función alpha que debe activarse, entre dispositivos del mismo propietario; restringe otros usuarios y nodos etiquetados.
Prepara un PNG en el Mac y elige Tailscale y destino en Compartir de Finder. Completar el envío y obtener una ruta remota legible son comprobaciones distintas.
Linux necesita un comando de recepción. En el Linux remoto, recupera los archivos en la carpeta elegida.
mkdir -p "$HOME/.cache/claude-images"
sudo tailscale file get "$HOME/.cache/claude-images"
ls -l "$HOME/.cache/claude-images"
Revisa nombre y permisos. Si root es propietario y el usuario de Claude no puede leerlo, cambia la propiedad de ese archivo concreto. Aquí se supone que se llama shot.png.
sudo chown "$(id -u):$(id -g)" "$HOME/.cache/claude-images/shot.png"
En un Mac remoto, comprueba también la ubicación real de su aplicación y ajustes. No supongas que todos los servidores guardan automáticamente en ~/Downloads. Facilita la ruta remota real. Guía oficial de Taildrop
7. Método D: VS Code Remote-SSH y Claude Paste
Tras conectar con VS Code y su tutorial oficial Remote-SSH, puedes usar tmux y Claude Code en el terminal integrado. La conexión por sí sola no transfiere imágenes del portapapeles.
La página de Claude Paste del autor describe crear un archivo remoto e insertar su ruta en el terminal. Es una extensión de terceros, no una función incluida por Anthropic o Microsoft.
- En la ventana Remote-SSH, revisa esa ficha y sigue la instalación.
- Abre Claude Code remoto o conecta a tu
tmuxexistente en el terminal integrado. - Copia una imagen en el Mac local.
- Pulsa
Cmd+Ven el terminal. Las instrucciones actuales piden pulsarCmd+Votra vez cuando aparece el destino de pegado. - Comprueba la ruta insertada y envía la petición.
Pasos capturados del README público del autor. (Fuente: Uso de Claude Paste, captura del 2026-10-25)
También existe un ajuste de retención de temporales. Comprueba que el archivo siga disponible antes de reutilizar su ruta. Sigue la versión instalada para conflictos de atajos y compatibilidad. El identificador CLI del README difiere del Marketplace; esta guía utiliza la ficha verificada.
8. Diagnostica en tres etapas
| Etapa | Comprueba | Causa habitual |
|---|---|---|
| Captura local | Imagen en portapapeles o PNG | Se copió un nombre o texto |
| Transferencia | Usuario remoto puede leer el archivo | Autenticación, host, ruta o permisos |
| Entrada de Claude | Adjunto o lectura real confirmados | Ruta solo local, archivo caducado o formato |
Utiliza adjuntos o lectura de archivos, no cadenas Base64 extensas. Imprimir bytes con pbpaste tampoco sustituye este flujo.
Envía primero un PNG y confirma que Claude lo lee; añade la función si lo repites. Elige Remote Control si encajan navegador y cuenta, o Taildrop/VS Code si ya los utilizas. tmux conserva la sesión; el método elegido transporta la imagen.

