---
title: GitHub
description: Use opencode in GitHub Issues and Pull-Requests
---

opencode integrates directly into your GitHub workflow. Mention `/opencode` or `/oc` in your comment, and opencode will execute tasks within your GitHub Actions runner.

---

## Features

- **Triage Issues**: Ask opencode to look into an issue and explain it to you.
- **Fix and Implement**: Ask opencode to fix an issue or implement a feature. And it will work in a new branch and submits a PR with all the changes.
- **Secure**: opencode runs inside your GitHub's runners.

---

## Installation

Run the following command in the terminal from your GitHub repo:

```bash
opencode github install
```

This will walk you through installing the GitHub app, creating the workflow, and setting up secrets.

---

### Manual Setup

1. Install the GitHub app https://github.com/apps/opencode-agent. Make sure it is installed on the target repository.
2. Add the following workflow file to `.github/workflows/opencode.yml` in your repo. Set the appropriate `model` and required API keys in `env`.

   ```yml
   name: opencode

   on:
     issue_comment:
       types: [created]

   jobs:
     opencode:
       if: |
         contains(github.event.comment.body, '/oc') ||
         contains(github.event.comment.body, '/opencode')
       runs-on: ubuntu-latest
       permissions:
         id-token: write
       steps:
         - name: Checkout repository
           uses: actions/checkout@v4
           with:
             fetch-depth: 1

         - name: Run opencode
           uses: sst/opencode/github@latest
           env:
             ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
           with:
             model: anthropic/claude-sonnet-4-20250514
             # share: true
   ```

3. Store the API keys in secrets. In your organization or project **settings**, expand **Secrets and variables** on the left and select **Actions**. Add the required API keys.

---

## Configuration

- `model`: The model used by opencode. Takes the format of `provider/model` (**required**)
- `share`: Share the session. Sessions are shared by default for public repos.

---

## Usage Examples

- Explain an issue

  Leave the following comment on a GitHub issue. `opencode` will read the entire thread, including all comments, and reply with a clear explanation.

  ```
  /opencode explain this issue
  ```

- Fix an issue

  Leave the following comment on a GitHub issue. opencode will create a new branch, implement the changes, and open a PR with the changes.

  ```
  /opencode fix this
  ```

- Review PRs and make changes

  Leave the following comment on a GitHub PR. opencode will implement the requested change and commit it to the same PR.

  ```
  Delete the attachment from S3 when the note is removed /oc
  ```
