Skip to content

github mcp not present in non-interactive mode #153

@pelikhan

Description

@pelikhan

Describe the bug

When running in github actions, the builtin GitHub MCP does not seem to load.

Affected version

0.0.230

Simple repro. When starting copilot in non-interactive mode (in a Codespace), the builtin github mcp is not started.

@pelikhan ➜ /workspaces/gh-aw (main) $ copilot -p "list tools available in your chat (not bash, not this project). list of tool ids only."
● Based on my available tools, here are the tool IDs:

   - `bash`
   - `write_bash`
   - `read_bash`
   - `stop_bash`
   - `str_replace_editor`

@pelikhan ➜ /workspaces/gh-aw (main) $ copilot
 Welcome to GitHub Copilot CLI
 Version 0.0.330 · Commit a8bfefe

 Copilot can write, test and debug code right from your terminal. Describe a 
 task to get started or enter ? for help. Copilot uses AI, check for mistakes.

 ● Connected to GitHub MCP Server

 ● Logged in with GITHUB_TOKEN as user: pelikhan

 ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 │ > list tools available in your chat (not bash, not this project). list of tool ids only                                                  │
 ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

 ● Here are the tool IDs available in this chat:

   File Management:

     * str_replace_editor

   Shell/Command Execution:

     * bash
     * write_bash
     * read_bash
     * stop_bash

   GitHub API Tools:

     * github-mcp-server-download_workflow_run_artifact
     * github-mcp-server-get_code_scanning_alert
     * github-mcp-server-get_commit
...
 claude-sonnet-4 /workspaces/gh-aw [⎇ main]

Steps to reproduce the behavior

Add this github actions workflow:

on:
  workflow_dispatch:
  push:
    branches:
      - copilot*
permissions: {}
jobs:
  copilot:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-node@v4
        with:
          node-version: '22'
      - run: npm install -g @github/copilot
      - run: |
          copilot --prompt "List tools defined in the current chat session (do not run commands, I am asking about tools defined in the LLM). Just the names in a table, nothing else."
        env:
          GITHUB_TOKEN: ${{ secrets.COPILOT_CLI_TOKEN }}

Expected behavior

This prompt prints the tool available in the LLM:

List tools defined in the current chat session (do not run commands, I am asking about tools defined in the LLM). Just the names in a table, nothing else.

When running from a codespace,

Configured MCP servers: safe_outputs

 ● Logged in with GITHUB_TOKEN as user: pelikhan

 ● Connected to GitHub MCP Server

 ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 │ > List tools defined in the current chat session (do not run commands, I am asking about tools defined in the LLM). Just the names in a  │
 │   table, nothing else.                                                                                                                   │
 ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

 ● ┌────────────────────────────────────────────────────┐
   │ Tool Name                                          │
   ├────────────────────────────────────────────────────┤
   │ bash                                               │
   ├────────────────────────────────────────────────────┤
   │ str_replace_editor                                 │
   ├────────────────────────────────────────────────────┤
   │ github-mcp-server-download_workflow_run_artifact   │
   ├────────────────────────────────────────────────────┤
   │ github-mcp-server-get_code_scanning_alert          │
   ├────────────────────────────────────────────────────┤
   │ github-mcp-server-get_commit                       │
   ├────────────────────────────────────────────────────┤
   │ github-mcp-server-get_file_contents                │
   ├────────────────────────────────────────────────────┤
...

In an action, the tools are not present.

on:
  workflow_dispatch:
  push:
    branches:
      - copilot*
permissions: {}
jobs:
  copilot:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-node@v4
        with:
          node-version: '22'
      - run: npm install -g @github/copilot
      - run: |
          copilot --prompt "List tools defined in the current chat session (do not run commands, I am asking about tools defined in the LLM). Just the names in a table, nothing else."
        env:
          GITHUB_TOKEN: ${{ secrets.COPILOT_CLI_TOKEN }}

And the output here:

Run copilot --prompt "List tools defined in the current chat session (do not run commands, I am asking about tools defined in the LLM). Just the names in a table, nothing else."
● | Tool Name |
   |-----------|
   | bash |
   | write_bash |
   | read_bash |
   | stop_bash |
   | str_replace_editor |

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions