[Feature]: Support pasting local screenshots into SSH remote sessions
- Dominant language
- TypeScript
- Stars
- 72.1k
- Forks
- 4.7k
- Avg merge
- 14h 54m
- Merged PRs (30d)
- 520
Description
## Feature request
Support pasting or sending local clipboard images/screenshots into SSH-backed remote workspaces and agent sessions.
## Problem
When working in an Orca SSH remote workspace, the active agent/session runs on the remote host, but screenshots and copied images usually live on the local desktop clipboard.
Today this makes common workflows awkward. For example:
1. Connect to a remote SSH host in Orca.
2. Run an agent/session in that remote workspace.
3. Take a screenshot locally, or copy an image from the local browser/desktop.
4. Try to send that image to the remote agent.
There does not appear to be an easy Cursor/VS Code-like path that bridges the local clipboard image into the remote workspace/session. Users have to manually save the image locally, transfer it to the remote machine, then reference the remote path in the agent prompt.
## Desired behavior
From a remote SSH workspace/session, Orca should let users paste or attach local images/screenshots without manual file transfer.
Possible UX options:
- Paste an image directly into the remote agent prompt/chat and have Orca upload it to a temporary remote file, then attach/reference that file for the agent.
- Add a “Paste image from local clipboard” action for SSH workspaces.
- When an image is pasted into a remote terminal/session prompt, upload it through the existing SSH/SFTP/relay path and insert the remote path.
- Optionally show a short toast/status like “Uploaded screenshot to remote workspace”.
## Why this matters
Image and screenshot context is common in AI coding workflows:
- UI bug reports
- visual diffs
- error dialogs
- browser screenshots
- design references
- mobile/emulator screenshots
For local workspaces, sending image context is relatively straightforward. For SSH remotes, the local/remote boundary makes it much less convenient even though the user is still interacting with Orca locally.
## Suggested implementation direction
If feasible, reuse the existing SSH filesystem/SFTP/relay upload path rather than introducing a new transport:
1. Detect pasted clipboard image on the local desktop side.
2. Save it as a temporary file under a remote-safe location, for example inside the remote workspace or `~/.orca-remote/uploads/`.
3. Insert/attach the resulting remote path into the target agent/session.
4. Clean up old uploaded clipboard images eventually, or make the retention policy explicit.
## Edge cases / questions
- Should uploads be scoped to the workspace, the SSH target, or the session?
- What should happen when the SSH target is disconnected?
- Should filenames include timestamps and safe extensions (`.png`, `.jpg`, etc.)?
- Should large images be size-limited or compressed before upload?
- Should the user see the remote path that was created?
- Can this share behavior with any existing local image-paste support?
## Security / privacy considerations
- Do not upload clipboard images unless the user explicitly pastes/chooses the action.
- Avoid logging image contents or remote upload paths unnecessarily.
- Use safe generated filenames and avoid trusting clipboard-provided names.
- Make it clear the image is being copied from the local machine to the remote host.
Contributor guide
Assessment
This issue has not been assessed yet.