OpenHands / OpenHands/software-agent-sdk
Add support for including screenshots in PRs
@neubig is already working on this.
Since Jul 21, 2025.
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 542
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 137
Description
What problem or use case are you trying to solve?
Currently, when OpenHands generates HTML or web content and creates a PR, there's no way for it to include a visual representation of the running application in the PR description. This makes it difficult for reviewers to quickly see what the changes look like without having to check out the branch and run the application locally.
Users want OpenHands to be able to:
- Generate HTML/web content
- Take a screenshot of the running application
- Include that screenshot in the PR description
This would significantly improve the PR review experience by providing visual context for the changes.
Describe the UX or technical implementation you have in mind
Extend the create_pr MCP functionality to support image attachments in PR descriptions. This could be implemented by:
- Adding a new parameter to the
create_prfunction that accepts image data or paths to image files - Implementing a screenshot capture capability using a browser tool (similar to the existing browser tool)
- Storing the captured screenshots (options include):
- Uploading to an S3 bucket and generating a public URL (as mentioned in the conversation)
- Using GitHub's asset upload API to attach images directly to issues/PRs
- Using a service like Imgur for image hosting
- Embedding the image in the PR description using markdown syntax:

The implementation should be flexible enough to support both:
- Screenshots captured by OpenHands during the PR creation process
- Pre-existing image files that OpenHands wants to include in the PR
Additional context
From the conversation, it appears that internally there's already a file_uploader tool that uploads images to an S3 bucket and then embeds them into PRs. This approach could be adapted and integrated into the public OpenHands codebase.
The feature would be particularly useful for:
- Frontend development tasks
- Data visualization tasks
- Any task where visual representation adds significant context to the code changes
If you find this feature request or enhancement useful, make sure to add a 👍 to the issue
PR evidence acceptance criteria
- Current
mainevidence: On current main, have OpenHands generate a small web page and create a PR, then show that neither a captured screenshot nor a supplied local image can be embedded by the PR tool. - PR branch evidence: On the PR branch, create one PR with a browser-captured asset and one with a pre-existing image, verify both render for another authenticated reviewer, have stable accessible URLs, correct alt text, and clear failure handling for invalid files.
- Required evidence package: The PR records both commit SHAs and exact setup. It includes a clearly labeled animated GIF for the frontend flow (current main first, PR branch second) and commands plus logs from the full backend/service stack running live with PR code; a movie or video is not a substitute for the live backend run. The animated GIF must show page generation, capture/upload, PR creation, and rendered PR image; attach live tool/server logs and storage/access checks.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.