Work on GitHub issues
Rover integrates with GitHub to create tasks directly from issues. This allows you to assign GitHub issues to local AI coding agents and maintain a clear link between the issue and the task result.
Prerequisites
Section titled “Prerequisites”To create Rover tasks from GitHub issues, you need either:
- GitHub CLI (
gh): Recommended for private repositories and GitHub Enterprise. Install from cli.github.com. - Public repository access: For public repositories, Rover can fetch issues directly from the GitHub API without authentication.
Create a task from an issue
Section titled “Create a task from an issue”Use the --from-github flag to create a task using the content of a GitHub issue as the task description.
Creating a task from GitHub
- 1
Navigate to your project directory
Terminal window cd ~/my-project - 2
Create a task from a GitHub issue by specifying the issue number
Terminal window rover task --from-github 42Rover fetches the issue title and body from GitHub and uses them as the task description.
- 3
Follow the task progress
Terminal window rover logs -f 1 - 4
Once the task completes, merge the changes into your branch or push them to a remote branch
Terminal window rover merge 1# orrover push 1See Merge changes from tasks for detailed guidance on reviewing and integrating task results.
Understanding GitHub metadata
Section titled “Understanding GitHub metadata”When you create a task from a GitHub issue, Rover stores metadata about the source issue. This metadata includes:
| Field | Description |
|---|---|
type | Source type, always github for GitHub issues |
id | The issue number |
url | Direct link to the GitHub issue |
ref | Reference data including owner, repo, and number |
This metadata maintains the connection between your task and its originating issue throughout the development cycle.
Inspect GitHub metadata
Section titled “Inspect GitHub metadata”Use the rover inspect command to view the GitHub issue linked to a task.
Viewing GitHub metadata
- 1
Inspect a task to see its details, including the linked GitHub issue
Terminal window rover inspect 1The output includes a “GitHub Issue” field with a direct link to the original issue:
Details-------· ID: 1 (a1b2c3d4-5678-90ab-cdef-1234567890ab)· Title: Implement user authentication· Status: Completed· Workflow: swe· Created At: 1/27/2026, 10:30:00 AM· GitHub Issue: https://github.com/acme/webapp/issues/42· Completed At: 1/27/2026, 11:15:00 AMWorkspace---------· Branch Name: rover/task-1-xK9mPq2wLz4N· Git Workspace path: ~/.rover/data/projects/acme-webapp-8f3a1b2c/workspaces/1 - 2
For programmatic access, use the
--jsonflag to get the full source metadataTerminal window rover inspect 1 --jsonThe JSON output includes the complete
sourceobject:{"success": true,"id": 1,"title": "Implement user authentication","status": "COMPLETED","branchName": "rover/task-1-xK9mPq2wLz4N","source": {"type": "github","id": "42","url": "https://github.com/acme/webapp/issues/42","ref": {"owner": "acme","repo": "webapp","number": 42}}}
Working with custom workflows
Section titled “Working with custom workflows”When using a custom workflow that requires additional inputs beyond a description, Rover extracts the required information from the GitHub issue body. The AI agent analyzes the issue content and maps it to the workflow inputs.
For example, if your workflow requires description and acceptance_criteria inputs, include both in your GitHub issue body:
## DescriptionAdd a login form with email and password fields.
## Acceptance Criteria- Email validation- Password minimum 8 characters- Show error messages on invalid inputRover parses the issue and populates the workflow inputs accordingly.
Best practices
Section titled “Best practices”To get the best results when creating tasks from GitHub issues:
- Write detailed issue descriptions: Include context, requirements, and acceptance criteria
- Use clear formatting: Markdown headings and bullet points help the agent understand the structure
- Reference specific files: Mention file paths or function names when relevant
- Include examples: Provide code snippets or expected output when applicable
- Keep scope focused: Smaller, well-defined issues lead to better implementations