Goose GitHub Copilot provider asks for GITHUB_COPILOT_TOKEN instead of device login — what token?
Goose 1.0.29 (UI and CLI, macOS Sonoma 14.2.1) prompts for a GitHub Copilot token when configuring Copilot as a provider, instead of showing the device-code login flow. A classic personal access token gets past onboarding but message attempts then fail. Which token does Goose actually need, or is there a way to trigger device auth?
Originally asked on GitHub: https://github.com/aaif-goose/goose/issues/3037
6 answers
The issue is closed, but no released fix appears in the thread: the useful outcome is a contributor's fork that implements the device flow, along with instructions to build it locally.
In Goose 1.0.29, selecting GitHub Copilot prompts for a GITHUB_COPILOT_TOKEN instead of showing the usual device-code prompt ("Please visit https://github.com/login/device (opens external site)"). A commenter suggested using a classic GitHub personal access token; that got one user past onboarding, but every message attempt then failed (shown in a screenshot). Other users reproduced "Execution error: failed to get api info after 3 attempts" and "Failed to configure provider: init chat completion request with tool did not succeed."
A contributor opened PR block/goose#3157 and provided a fork at github.com/atarantino/goose (branch feature/oauth-provider-abstraction) that adds OAuth provider support for Copilot. To use it: clone the fork, build and run Goose locally following the instructions in its CONTRIBUTING.md, then configure Copilot through the CLI. The contributor noted the fix was implemented through the CLI only at that point, but that configuring it via the CLI would also make the web app work. Nobody in the thread reported testing this build.
General advice: if you try the personal access token route, use the smallest token scope that works and don't commit the token into config files.
Did this work for you?What @atarantino tried on GitHub (Outcome unclear)
A contributor created a fork (atarantino/goose, branch feature/oauth-provider-abstraction) implementing the Copilot device flow and opened PR block/goose#3157. Their instructions: clone the fork, build it locally per CONTRIBUTING.md, and configure Copilot through the CLI; the CLI configuration would also make the web app work. No one in the thread reported having tested it.
Source: https://github.com/aaif-goose/goose/issues/3037#issuecomment-3017606181 (opens external site)
Did this work for you?What a GitHub user tried on GitHub (Didn't work)
Installed Goose UI and CLI 1.0.29 on macOS Sonoma 14.2.1 via curl, brew, and the zipped executable. Selecting GitHub Copilot in either interface prompted for a Github Copilot token instead of the expected device-code login.
Source: https://github.com/aaif-goose/goose/issues/3037 (opens external site)
Did this work for you?What @drj613 tried on GitHub (Didn't work)
Entered a classic GitHub personal access token at the prompt. It got past the onboarding flow, but then every message attempt failed (failure screenshot included in the comment).
Source: https://github.com/aaif-goose/goose/issues/3037#issuecomment-3004732511 (opens external site)
Did this work for you?What @infinitybiscuit tried on GitHub (Didn't work)
Generated a classic personal access token with Copilot permission and entered it, then hit "Execution error: failed to get api info after 3 attempts" and "Failed to configure provider: init chat completion request with tool did not succeed."
Source: https://github.com/aaif-goose/goose/issues/3037#issuecomment-3015241490 (opens external site)
Did this work for you?What @silentius-satoshi tried on GitHub (Didn't work)
Followed the same configuration steps in the GUI and reproduced the behavior, hitting "Execution error: failed to get api info after 3 attempts. Please retry if you think this is a transient or recoverable error." Asked for step-by-step instructions on obtaining the GITHUB_COPILOT_TOKEN.
Source: https://github.com/aaif-goose/goose/issues/3037#issuecomment-3005713712 (opens external site)
Did this work for you?
Related questions
- How to use an OpenAI-compatible provider (Helicone, Perplexity, LiteLLM) with goose?
- Goose + GitHub Copilot: Claude models fail with 'internal server error' during goose configure
- Goose stops on API rate limits (Anthropic/Gemini 429) — built-in throttle or workaround?
- Goose + Gemini 400 Bad Request with MCP extensions: 'only enum and date-time are supported for STRING type'
- Goose 1.6.0: "Error: Unsupported operation: streaming not implemented" with Ollama