How to setup opencode github action with copilot provider? #932

Open
opened 2026-02-16 17:28:49 -05:00 by yindo · 26 comments
Owner

Originally created by @blntrsz on GitHub (Jul 26, 2025).

Originally assigned to: @rekram1-node on GitHub.

Problem

Cannot setup OpenCode Github agent using the copilot provider. The instructions suggests that I should use the GITHUB_TOKEN but none of that worked

Tryed approches

  • bulit in GITHUB_TOKEN with permissions in the GH Action
    permissions:
      contents: write
      id-token: write
      issues: write
      pull-requests: write
      models: read
  • personal access token with all access
  • fine grained token with all access
  • gh auth token

Error log

SST Constructs Logs.zip

Originally created by @blntrsz on GitHub (Jul 26, 2025). Originally assigned to: @rekram1-node on GitHub. # Problem Cannot setup OpenCode Github agent using the copilot provider. The instructions suggests that I should use the GITHUB_TOKEN but none of that worked # Tryed approches - bulit in GITHUB_TOKEN with permissions in the GH Action ```yaml permissions: contents: write id-token: write issues: write pull-requests: write models: read ``` - personal access token with all access - fine grained token with all access - `gh auth token` # Error log [SST Constructs Logs.zip](https://github.com/user-attachments/files/21444739/SST.Constructs.Logs.zip)
yindo added the help-wanted label 2026-02-16 17:28:49 -05:00
Author
Owner

@MuntasirSZN commented on GitHub (Jul 26, 2025):

Add a secret named GH_TOKEN (not GITHUB_TOKEN) then edit the workflows secrets.GITHUB_TOKEN to GH_TOKEN, that works.

@MuntasirSZN commented on GitHub (Jul 26, 2025): Add a secret named GH_TOKEN (not GITHUB_TOKEN) then edit the workflows secrets.GITHUB_TOKEN to GH_TOKEN, that works.
Author
Owner

@blntrsz commented on GitHub (Jul 26, 2025):

Hey @MuntasirSZN thank you, but I already tried that one, with all possible token options:

  • personal access token with all access
  • fine grained token with all access
  • gh cli: gh auth token
@blntrsz commented on GitHub (Jul 26, 2025): Hey @MuntasirSZN thank you, but I already tried that one, with all possible token options: - personal access token with all access - fine grained token with all access - gh cli: `gh auth token`
Author
Owner

@MuntasirSZN commented on GitHub (Jul 26, 2025):

Hey @MuntasirSZN thank you, but I already tried that one, with all possible token options:

  • personal access token with all access
  • fine grained token with all access
  • gh cli: gh auth token

🤦‍♂️ it stopped working.... Are you using on a private repo like me?

@MuntasirSZN commented on GitHub (Jul 26, 2025): > Hey @MuntasirSZN thank you, but I already tried that one, with all possible token options: > - personal access token with all access > - fine grained token with all access > - gh cli: `gh auth token` 🤦‍♂️ it stopped working.... Are you using on a private repo like me?
Author
Owner

@blntrsz commented on GitHub (Jul 26, 2025):

yep 😢 used with Pro+ subscription

@blntrsz commented on GitHub (Jul 26, 2025): yep 😢 used with Pro+ subscription
Author
Owner

@MuntasirSZN commented on GitHub (Jul 26, 2025):

yep 😢 used with Pro+ subscription

Can you try on a public repo (i didn't try) i am using pro (student developer pack) subscription

@MuntasirSZN commented on GitHub (Jul 26, 2025): > yep 😢 used with Pro+ subscription Can you try on a public repo (i didn't try) i am using pro (student developer pack) subscription
Author
Owner

@elboboua commented on GitHub (Jul 30, 2025):

Having the same issue on a private repo.

@elboboua commented on GitHub (Jul 30, 2025): Having the same issue on a private repo.
Author
Owner

@lazycoder9 commented on GitHub (Aug 3, 2025):

If anyone has working setup opencode + Github Action + Github Copilot provider I would appreciate if you can share your workflow file. I can't make it work even on public repos, I'm continiously getting this error:

error: {
    name: "UnknownError",
    data: {
      message: "AI_APICallError: Bad Request",
    },
  }

And I don't know what is wrong

@lazycoder9 commented on GitHub (Aug 3, 2025): If anyone has working setup opencode + Github Action + Github Copilot provider I would appreciate if you can share your workflow file. I can't make it work even on public repos, I'm continiously getting this error: ``` error: { name: "UnknownError", data: { message: "AI_APICallError: Bad Request", }, } ``` And I don't know what is wrong
Author
Owner

@remorses commented on GitHub (Aug 10, 2025):

It looks like the opencode Copilot provider only supports oauth for now
https://github.com/sst/opencode/blob/c478d1bdbbb5165b7d5921d96d9c2ee8f55e8afa/packages/opencode/src/provider/provider.ts#L78

@remorses commented on GitHub (Aug 10, 2025): It looks like the opencode Copilot provider only supports oauth for now https://github.com/sst/opencode/blob/c478d1bdbbb5165b7d5921d96d9c2ee8f55e8afa/packages/opencode/src/provider/provider.ts#L78
Author
Owner

@fmatsos commented on GitHub (Aug 14, 2025):

If anyone has working setup opencode + Github Action + Github Copilot provider I would appreciate if you can share your workflow file. I can't make it work even on public repos, I'm continiously getting this error:

error: {
    name: "UnknownError",
    data: {
      message: "AI_APICallError: Bad Request",
    },
  }

And I don't know what is wrong

Also tried to configure Github Action with opencode, and get the same error. Auth seems to work, since we go until the API call.

Here my Github Action configuration:

name: opencode

on:
  issue_comment:
    types: [created]

jobs:
  opencode:
    if: |
      contains(github.event.comment.body, ' /oc') ||
      startsWith(github.event.comment.body, '/oc') ||
      contains(github.event.comment.body, ' /opencode') ||
      startsWith(github.event.comment.body, '/opencode')
    runs-on: ubuntu-latest
    permissions:
      contents: read
      id-token: write
      issues: write
      pull-requests: write
      models: read
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Run opencode
        uses: sst/opencode/github@latest
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          model: github-copilot/claude-sonnet-4

And part of job output:

  error: {
    name: "UnknownError",
    data: {
      message: "AI_APICallError: Bad Request",
    },
  },
}
124351 |               }
124352 |             ])
124353 |           ]
124354 |         });
124355 |         if (result.info.error) {
124356 |           throw new Error(`${result.info.error.name}: ${"message" in result.info.error ? result.info.error.message : ""}`);
                         ^
error: UnknownError: 
      at chat (/$bunfs/root/opencode:124356:17)

Hope it can help!

@fmatsos commented on GitHub (Aug 14, 2025): > If anyone has working setup opencode + Github Action + Github Copilot provider I would appreciate if you can share your workflow file. I can't make it work even on public repos, I'm continiously getting this error: > > ``` > error: { > name: "UnknownError", > data: { > message: "AI_APICallError: Bad Request", > }, > } > ``` > > And I don't know what is wrong Also tried to configure Github Action with opencode, and get the same error. Auth seems to work, since we go until the API call. Here my Github Action configuration: ```yaml name: opencode on: issue_comment: types: [created] jobs: opencode: if: | contains(github.event.comment.body, ' /oc') || startsWith(github.event.comment.body, '/oc') || contains(github.event.comment.body, ' /opencode') || startsWith(github.event.comment.body, '/opencode') runs-on: ubuntu-latest permissions: contents: read id-token: write issues: write pull-requests: write models: read steps: - name: Checkout repository uses: actions/checkout@v4 - name: Run opencode uses: sst/opencode/github@latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: model: github-copilot/claude-sonnet-4 ``` And part of job output: ``` error: { name: "UnknownError", data: { message: "AI_APICallError: Bad Request", }, }, } 124351 | } 124352 | ]) 124353 | ] 124354 | }); 124355 | if (result.info.error) { 124356 | throw new Error(`${result.info.error.name}: ${"message" in result.info.error ? result.info.error.message : ""}`); ^ error: UnknownError: at chat (/$bunfs/root/opencode:124356:17) ``` Hope it can help!
Author
Owner

@chiggly007 commented on GitHub (Aug 21, 2025):

@remorses are you suggesting a change in that file?

@chiggly007 commented on GitHub (Aug 21, 2025): @remorses are you suggesting a change in that file?
Author
Owner

@airtonix commented on GitHub (Oct 15, 2025):

@remorses are you suggesting a change in that file?

Seems like this the case.

It would have to support authentication via one of githubs other authentication methods. I'm not heaps familiar but I'm aware that there's methods that are required when using an App.

The opencode github app would also need to be updated.

@airtonix commented on GitHub (Oct 15, 2025): > [@remorses](https://github.com/remorses) are you suggesting a change in that file? Seems like this the case. It would have to support authentication via one of githubs other authentication methods. I'm not heaps familiar but I'm aware that there's methods that are required when using an App. The opencode github app would also need to be updated.
Author
Owner

@rekram1-node commented on GitHub (Oct 15, 2025):

I haven't looked into it heavily but I thought copilot was oauth only

@rekram1-node commented on GitHub (Oct 15, 2025): I haven't looked into it heavily but I thought copilot was oauth only
Author
Owner

@airtonix commented on GitHub (Oct 15, 2025):

so a non starter then...

T_T

@airtonix commented on GitHub (Oct 15, 2025): so a non starter then... `T_T`
Author
Owner

@rekram1-node commented on GitHub (Oct 15, 2025):

things may have changed since i last checked but i feel like thats what I recall, because you cant talk to copilot with a PAT

@rekram1-node commented on GitHub (Oct 15, 2025): things may have changed since i last checked but i feel like thats what I recall, because you cant talk to copilot with a PAT
Author
Owner

@kamilchm commented on GitHub (Oct 15, 2025):

Not exactly about using OpenCode in GH Actions, but I wrote about how to use your Copilot subscription in GH Actions here: https://kamil.chm.ski/github-copilot-actions-quickstart.
It should be pretty easy to run OpenCode in a workflow that way.

@kamilchm commented on GitHub (Oct 15, 2025): Not exactly about using OpenCode in GH Actions, but I wrote about how to use your Copilot subscription in GH Actions here: https://kamil.chm.ski/github-copilot-actions-quickstart. It should be pretty easy to run OpenCode in a workflow that way.
Author
Owner

@dahjelle commented on GitHub (Nov 19, 2025):

CoPilot CLI apparently authenticates with a PAT and talks to CoPilot, so it looks like it should be possible?

@dahjelle commented on GitHub (Nov 19, 2025): [CoPilot CLI](https://github.com/github/copilot-cli#authenticate-with-a-personal-access-token-pat) apparently authenticates with a PAT and talks to CoPilot, so it looks like it should be possible?
Author
Owner

@rekram1-node commented on GitHub (Nov 19, 2025):

I think? thats new interesting

@rekram1-node commented on GitHub (Nov 19, 2025): I think? thats new interesting
Author
Owner

@chiggly007 commented on GitHub (Nov 20, 2025):

so some sort of update to the below based on @dahjelle comment?

It looks like the opencode Copilot provider only supports oauth for now

opencode/packages/opencode/src/provider/provider.ts

Line 78 in c478d1b

const info = await Auth.get("github-copilot")

@chiggly007 commented on GitHub (Nov 20, 2025): so some sort of update to the below based on @dahjelle comment? > It looks like the opencode Copilot provider only supports oauth for now > > [opencode/packages/opencode/src/provider/provider.ts](https://github.com/sst/opencode/blob/c478d1bdbbb5165b7d5921d96d9c2ee8f55e8afa/packages/opencode/src/provider/provider.ts#L78) > > Line 78 in [c478d1b](/sst/opencode/commit/c478d1bdbbb5165b7d5921d96d9c2ee8f55e8afa) > > const info = await Auth.get("github-copilot")
Author
Owner

@rekram1-node commented on GitHub (Nov 20, 2025):

Yeah we would need to update to get that working, would need some type of change either here: https://github.com/sst/opencode-copilot-auth

Or in provider.ts in opencode codebase

Can check it out when I get a chance

@rekram1-node commented on GitHub (Nov 20, 2025): Yeah we would need to update to get that working, would need some type of change either here: https://github.com/sst/opencode-copilot-auth Or in provider.ts in opencode codebase Can check it out when I get a chance
Author
Owner

@dahjelle commented on GitHub (Jan 15, 2026):

FYI: It looks like a PAT in $GITHUB_TOKEN works now after the Copilot authentication changes.

@dahjelle commented on GitHub (Jan 15, 2026): FYI: It looks like a PAT in `$GITHUB_TOKEN` works now after the Copilot authentication changes.
Author
Owner

@jack-horder commented on GitHub (Jan 22, 2026):

FYI: It looks like a PAT in $GITHUB_TOKEN works now after the Copilot authentication changes.

Would you be able to share how you managed to get it working? This is the actions file i created below but its still giving me an error:

name: opencode

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]

jobs:
  opencode:
    if: |
      contains(github.event.comment.body, '/oc') ||
      contains(github.event.comment.body, '/opencode')
    runs-on: ubuntu-latest
    environment: dev
    permissions:
      id-token: write
      contents: write
      pull-requests: write
      issues: write
    
    env:
      AWS_REGION: us-west-2
      AWS_ACCOUNT_ID: "<ACCOUNT_ID>"
    
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
          persist-credentials: false

      - name: Configure AWS credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          role-to-assume: arn:aws:iam::<ACCOUNT_ID>:role/GitHubActions-dev
          role-session-name: opencode-debug
          aws-region: us-west-2

      - name: Run OpenCode
        uses: anomalyco/opencode/github@latest
        env:
          GITHUB_TOKEN: ${{ secrets.COPILOT_PAT }}
          AWS_REGION: ${{ env.AWS_REGION }}
        with:
          model: github-copilot/claude-sonnet-4.5

Error:

Run VERSION=$(curl -sf https://api.github.com/repos/anomalyco/opencode/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d'"' -f4)
Run actions/cache@v4
Cache not found for input keys: opencode-Linux-X64-v1.1.31
Run curl -fsSL https://opencode.ai/install | bash

Installing opencode version: 1.1.31
#=#=#                                                                          

###########################################                               60.2%
######################################################################## 100.0%
Successfully added opencode to $PATH in /home/runner/.bashrc
Added /home/runner/.opencode/bin to $GITHUB_PATH

                                 ▄     
█▀▀█ █▀▀█ █▀▀█ █▀▀▄ █▀▀▀ █▀▀█ █▀▀█ █▀▀█
█░░█ █░░█ █▀▀▀ █░░█ █░░░ █░░█ █░░█ █▀▀▀
▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀  ▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀


OpenCode includes free models, to start:

cd <project>  # Open directory
opencode      # Run command

For more information visit https://opencode.ai/docs


Run echo "$HOME/.opencode/bin" >> $GITHUB_PATH
Run opencode github run
Failed to parse JSON
Creating comment...
Error: Unexpected error, check log file at /home/runner/.local/share/opencode/log/2026-01-22T120251.log for more details

undefined is not an object (evaluating 'octoRest.rest')
Error: Process completed with exit code 1.

I haven't tried to grab the logs from the runner yet as the only way I know how would be to use some hacky ssh action so I can SSH into the runner, however if that error doesn't give anyone much, then I can also do this.

EDIT:

I added use_github_token: true within the uses block of the action and got the below error so seems that PAT authentication is still not possible:

{
  name: "APIError",
  data: {
    message: "Bad Request: bad request: Personal Access Tokens are not supported for this endpoint",
    statusCode: 400,
    isRetryable: false,
    responseHeaders: {
      "content-length": "72",
      "content-security-policy": "default-src 'none'; sandbox",
      "content-type": "text/plain; charset=utf-8",
      date: "Thu, 22 Jan 2026 12:27:30 GMT",
      "strict-transport-security": "max-age=31536000",
      "x-content-type-options": "nosniff",
      "x-github-backend": "Kubernetes",
      "x-github-request-id": "0842:1E18A8:3AAF05:416E09:697217B2",
    },
    responseBody: "bad request: Personal Access Tokens are not supported for this endpoint\n",
    metadata: {
      url: "https://api.githubcopilot.com/chat/completions",
    },
  },
}

EDIT 2:

After some more searching and testing, I found this issue on the Copilot CLI repo here

I figured out I had to use a fine-grained token instead since that allows you to select copilot requests as a scope and this is not present in the classic token.

However, because my repo is part of a GitHub Org, I don't think there's a way I can use fine-grained tokens since if you select the Org to be the resource owner of the token, then you are unable to access the account scopes in order to include the Copilot requests scope.

Therefore, I think the answer is this works for personal accounts but probably doesn't work when you're working in repos that are owned by an Org, as a github copilot licence is user-specific as far as I understand.

Hopefully they can add this functionality in at some point.

@jack-horder commented on GitHub (Jan 22, 2026): > FYI: It looks like a PAT in `$GITHUB_TOKEN` works now after the Copilot authentication changes. Would you be able to share how you managed to get it working? This is the actions file i created below but its still giving me an error: ``` name: opencode on: issue_comment: types: [created] pull_request_review_comment: types: [created] jobs: opencode: if: | contains(github.event.comment.body, '/oc') || contains(github.event.comment.body, '/opencode') runs-on: ubuntu-latest environment: dev permissions: id-token: write contents: write pull-requests: write issues: write env: AWS_REGION: us-west-2 AWS_ACCOUNT_ID: "<ACCOUNT_ID>" steps: - name: Checkout repository uses: actions/checkout@v6 with: fetch-depth: 0 persist-credentials: false - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: arn:aws:iam::<ACCOUNT_ID>:role/GitHubActions-dev role-session-name: opencode-debug aws-region: us-west-2 - name: Run OpenCode uses: anomalyco/opencode/github@latest env: GITHUB_TOKEN: ${{ secrets.COPILOT_PAT }} AWS_REGION: ${{ env.AWS_REGION }} with: model: github-copilot/claude-sonnet-4.5 ``` Error: ```Run anomalyco/opencode/github@latest Run VERSION=$(curl -sf https://api.github.com/repos/anomalyco/opencode/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d'"' -f4) Run actions/cache@v4 Cache not found for input keys: opencode-Linux-X64-v1.1.31 Run curl -fsSL https://opencode.ai/install | bash Installing opencode version: 1.1.31 #=#=# ########################################### 60.2% ######################################################################## 100.0% Successfully added opencode to $PATH in /home/runner/.bashrc Added /home/runner/.opencode/bin to $GITHUB_PATH ▄ █▀▀█ █▀▀█ █▀▀█ █▀▀▄ █▀▀▀ █▀▀█ █▀▀█ █▀▀█ █░░█ █░░█ █▀▀▀ █░░█ █░░░ █░░█ █░░█ █▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀ ▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀ OpenCode includes free models, to start: cd <project> # Open directory opencode # Run command For more information visit https://opencode.ai/docs Run echo "$HOME/.opencode/bin" >> $GITHUB_PATH Run opencode github run Failed to parse JSON Creating comment... Error: Unexpected error, check log file at /home/runner/.local/share/opencode/log/2026-01-22T120251.log for more details undefined is not an object (evaluating 'octoRest.rest') Error: Process completed with exit code 1. ``` I haven't tried to grab the logs from the runner yet as the only way I know how would be to use some hacky ssh action so I can SSH into the runner, however if that error doesn't give anyone much, then I can also do this. EDIT: I added use_github_token: true within the uses block of the action and got the below error so seems that PAT authentication is still not possible: ``` { name: "APIError", data: { message: "Bad Request: bad request: Personal Access Tokens are not supported for this endpoint", statusCode: 400, isRetryable: false, responseHeaders: { "content-length": "72", "content-security-policy": "default-src 'none'; sandbox", "content-type": "text/plain; charset=utf-8", date: "Thu, 22 Jan 2026 12:27:30 GMT", "strict-transport-security": "max-age=31536000", "x-content-type-options": "nosniff", "x-github-backend": "Kubernetes", "x-github-request-id": "0842:1E18A8:3AAF05:416E09:697217B2", }, responseBody: "bad request: Personal Access Tokens are not supported for this endpoint\n", metadata: { url: "https://api.githubcopilot.com/chat/completions", }, }, } ``` EDIT 2: After some more searching and testing, I found this issue on the Copilot CLI repo [here](https://github.com/github/copilot-cli/issues/233) I figured out I had to use a fine-grained token instead since that allows you to select copilot requests as a scope and this is not present in the classic token. However, because my repo is part of a GitHub Org, I don't think there's a way I can use fine-grained tokens since if you select the Org to be the resource owner of the token, then you are unable to access the account scopes in order to include the Copilot requests scope. Therefore, I think the answer is this works for personal accounts but probably doesn't work when you're working in repos that are owned by an Org, as a github copilot licence is user-specific as far as I understand. Hopefully they can add this functionality in at some point.
Author
Owner

@dahjelle commented on GitHub (Jan 22, 2026):

Therefore, I think the answer is this works for personal accounts but probably doesn't work when you're working in repos that are owned by an Org, as a github copilot licence is user-specific as far as I understand.

That would make sense to me — I was using a PAT specific to my user on my own machine, not in CI. 🤷‍♂️

@dahjelle commented on GitHub (Jan 22, 2026): > Therefore, I think the answer is this works for personal accounts but probably doesn't work when you're working in repos that are owned by an Org, as a github copilot licence is user-specific as far as I understand. That would make sense to me — I was using a PAT specific to my user on my own machine, not in CI. 🤷‍♂️
Author
Owner

@dahjelle commented on GitHub (Jan 22, 2026):

FYI: It looks like a PAT in $GITHUB_TOKEN works now after the Copilot authentication changes.

I take this back! I’m pretty sure it would at one point, but it is not working any longer as of 1.1.32. Go figure.

@dahjelle commented on GitHub (Jan 22, 2026): > FYI: It looks like a PAT in $GITHUB_TOKEN works now after the Copilot authentication changes. I take this back! I’m pretty sure it would at one point, but it is not working any longer as of 1.1.32. Go figure.
Author
Owner

@tjg184 commented on GitHub (Jan 30, 2026):

...

EDIT 2:

After some more searching and testing, I found this issue on the Copilot CLI repo here

I figured out I had to use a fine-grained token instead since that allows you to select copilot requests as a scope and this is not present in the classic token.

However, because my repo is part of a GitHub Org, I don't think there's a way I can use fine-grained tokens since if you select the Org to be the resource owner of the token, then you are unable to access the account scopes in order to include the Copilot requests scope.

Therefore, I think the answer is this works for personal accounts but probably doesn't work when you're working in repos that are owned by an Org, as a github copilot licence is user-specific as far as I understand.

Hopefully they can add this functionality in at some point.

I came to the same conclusion. I have a personal account and business account. I can get personal account to work, but business account, the permission isn't even available.

@tjg184 commented on GitHub (Jan 30, 2026): ... > EDIT 2: > > After some more searching and testing, I found this issue on the Copilot CLI repo [here](https://github.com/github/copilot-cli/issues/233) > > I figured out I had to use a fine-grained token instead since that allows you to select copilot requests as a scope and this is not present in the classic token. > > However, because my repo is part of a GitHub Org, I don't think there's a way I can use fine-grained tokens since if you select the Org to be the resource owner of the token, then you are unable to access the account scopes in order to include the Copilot requests scope. > > Therefore, I think the answer is this works for personal accounts but probably doesn't work when you're working in repos that are owned by an Org, as a github copilot licence is user-specific as far as I understand. > > Hopefully they can add this functionality in at some point. I came to the same conclusion. I have a personal account and business account. I can get personal account to work, but business account, the permission isn't even available.
Author
Owner

@pdejong-sieval commented on GitHub (Feb 6, 2026):

Did anyone figure this out yet? Would love to run opencode in an azure devops pipeline, but would need the GH_TOKEN auth for that if possible.

@pdejong-sieval commented on GitHub (Feb 6, 2026): Did anyone figure this out yet? Would love to run opencode in an azure devops pipeline, but would need the GH_TOKEN auth for that if possible.
Author
Owner

@jack-horder commented on GitHub (Feb 7, 2026):

Did anyone figure this out yet? Would love to run opencode in an azure devops pipeline, but would need the GH_TOKEN auth for that if possible.

If you are working with a repo in a personal account then you can use a fine-grained GitHub access token and give it the GitHub copilot scopes but based on my research, it doesn't seem possible yet to work with GitHub Org repos running opencode with the Ci like Azure DevOps or GitHub actions.

@jack-horder commented on GitHub (Feb 7, 2026): > Did anyone figure this out yet? Would love to run opencode in an azure devops pipeline, but would need the GH_TOKEN auth for that if possible. If you are working with a repo in a personal account then you can use a fine-grained GitHub access token and give it the GitHub copilot scopes but based on my research, it doesn't seem possible yet to work with GitHub Org repos running opencode with the Ci like Azure DevOps or GitHub actions.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#932