#Copilot timeout issue

1 messages Β· Page 1 of 1 (latest)

magic jetty
#

Copilot hasnt been working for a few days

agent/embedded
[llm-idle-timeout] github-copilot/claude-sonnet-4.6 produced no reply before the idle watchdog; retrying same model

I have credits, and it works outside of openclaw, works in copilot cli, visual studio, and github web

tried logging in and otu multiple times, and also running doctor and stuff

honest bronzeBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> βœ… Mark Solution

whole quailBOT
#

This smells like the GitHub Copilot token/identity bug that was fixed on main today, not a credits/login problem.

Relevant fix in the changelog: GitHub Copilot now mints short-lived Copilot API tokens with the same vscode-chat identity used by runtime requests, and refreshes legacy cached tokens missing that identity. That matches your β€œworks in Copilot CLI/VS Code/web, but OpenClaw stalls until idle timeout” shape pretty closely.

First thing: what does this show?

openclaw --version

If you’re on the latest published release and it still happens, you may be ahead of the release containing the fix. As a quick unblock, try switching this session/default to a different provider or a different Copilot model from the picker/model list. Then, after updating to a build containing the Copilot fix, re-run:

openclaw models auth login-github-copilot
openclaw models list --provider github-copilot
openclaw status --all

Docs for the Copilot provider: https://docs.openclaw.ai/providers/github-copilot

#

If you’re already on a version/build from after May 10 with that fix included, paste openclaw --version plus the redacted openclaw status --all output and the log lines around the first Copilot request/timeout. That’ll tell us whether it’s still token exchange vs the Claude-on-Copilot transport stalling.

magic jetty
whole quailBOT
#

Yep β€” 2026.5.7 (eeef486) is before the Copilot fix I found. So this is very likely the known Copilot token identity issue, not your credits/account.

The fix landed after that version on main as:
fix(github-copilot): mint tokens with vscode chat identity

So the path is:

  1. update OpenClaw to a build newer than 2026.5.7 / containing that fix
  2. restart the gateway
  3. re-auth Copilot once:
openclaw models auth login-github-copilot
  1. try the Copilot model again

Important: don’t use openclaw update for this β€” that’s config modernization, not a code/package updater.

If you need an immediate unblock before the next release/package is available, switch off github-copilot/claude-sonnet-4.6 temporarily via /model or use another provider. 🦞

whole quailBOT
#

Small correction from me: current docs say openclaw update is the right updater now. My earlier β€œdon’t use it” note was stale β€” sorry, claws retracted on that one. 🦞

Because the Copilot fix is after 2026.5.7, you have two options:

If you want the fix immediately from main:

openclaw update --channel dev --dry-run
openclaw update --channel dev
openclaw models auth login-github-copilot

That switches you to the dev/source channel, builds current main, runs doctor, and restarts the gateway.

If you prefer stable releases: wait for the next published release, then run:

openclaw update
whole quailBOT
#

Got it β€” then let’s split this into two cases.

First, can you paste the new output of:

openclaw --version
openclaw update status

If it still says 2026.5.7, the update didn’t actually switch the running install/gateway.

If it’s now newer / dev and Copilot still times out, try forcing the short-lived Copilot token cache to refresh, then restart:

mv ~/.openclaw/state/credentials/github-copilot.token.json ~/.openclaw/state/credentials/github-copilot.token.json.bak 2>/dev/null || true
openclaw gateway restart
openclaw models auth login-github-copilot
#

Then test a tiny prompt with a Copilot model again.

If it still fails after that, please paste the redacted output of:

openclaw status --all

and the log chunk around the first timeout from:

openclaw logs --tail 200

The key thing I’m looking for is whether the running Gateway is actually on the fixed build, and whether the Copilot request is fetching a fresh token or still using a cached/old one.

magic jetty
# whole quail Got it β€” then let’s split this into two cases. First, can you paste the *new* o...

xenthio@magic jetty-PC:/mnt/c/Users/thego$ openclaw --version
openclaw update status
OpenClaw 2026.5.10-beta.1 (15b26be)
OpenClaw update status

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Item β”‚ Value β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Install β”‚ git (~/openclaw) β”‚
β”‚ Channel β”‚ dev (config) β”‚
β”‚ Git β”‚ main Β· @ 15b26be8 β”‚
β”‚ Update β”‚ available Β· git main Β· ↔ origin/main Β· dirty Β· behind 5 Β· deps ok

whole quailBOT
#

Good, that build does contain the Copilot identity fix. The behind 5 isn’t the problem here.

I spotted one mistake in my cache command though: the default token cache path is:

~/.openclaw/credentials/github-copilot.token.json

not ~/.openclaw/state/.... Sorry β€” that one matters.

Try this exact sequence:

mv ~/.openclaw/credentials/github-copilot.token.json ~/.openclaw/credentials/github-copilot.token.json.bak 2>/dev/null || true
openclaw gateway restart
openclaw models auth login-github-copilot
openclaw models list --provider github-copilot

Then test Copilot again.

#

If it still times out, next I need the gateway-side evidence, because the installed version is no longer the obvious issue:

openclaw status --all
openclaw logs --tail 200

Redact anything token-ish, but leave the Copilot/request/timeout lines intact. Also tell me which exact model you selected (github-copilot/claude-sonnet-4.6, opus, gpt-5.x, etc.).

magic jetty
whole quailBOT
#

That’s useful: it means OpenClaw is getting far enough to run the request, but the profile execution is timing out, not throwing a clean auth/quota error.

Two quick isolations:

  1. Check whether Copilot auth/catalog works live:
openclaw models status --probe --provider github-copilot
openclaw models list --provider github-copilot
  1. Try a non-Claude Copilot model for one message, like github-copilot/gpt-4.1 or whatever GPT model appears in your Copilot list. If GPT works but github-copilot/claude-sonnet-4.6 times out, that narrows it to the Claude-on-Copilot transport path. If all Copilot models time out, it’s provider/profile/network/token exchange.

Also, that log line alone is the summarized UI warning. The file log should have the failover details. Please run:

openclaw logs --tail 500 | grep -iE 'copilot|timeout|failover|profile|github' -C 3
#

If models status --probe passes but completions still timeout, I’d file this as a GitHub issue with the version, model, those log lines, and β€œCopilot works in Copilot CLI/VS Code/web but OpenClaw profile times out.” This now looks beyond the fixed stale-token issue: https://github.com/openclaw/openclaw/issues

magic jetty
whole quailBOT
#

Ah yep, my bad β€” the current flag is --limit, not --tail.

Use:

openclaw logs --limit 500 | grep -iE 'copilot|timeout|failover|profile|github' -C 3

Or if that still gives too little context:

openclaw logs --limit 1000 --max-bytes 1000000 | grep -iE 'copilot|timeout|failover|profile|github' -C 5

Also your pasted command looks like it got joined onto the prompt (...thegoopenclaw). Make sure there’s a space/new prompt before openclaw.

magic jetty
whole quailBOT
#

Those two lines mean the request is going out, but OpenClaw receives zero stream output from Copilot before the idle watchdog fires. There isn’t a hidden auth error in that snippet.

Next useful checks:

openclaw models status --probe --provider github-copilot
openclaw models list --provider github-copilot

Then try a non-Claude Copilot model for one message β€” e.g. a github-copilot/gpt-* model shown by the list. This matters:

  • GPT Copilot works, Claude Copilot times out β†’ likely Claude-on-Copilot transport/API drift.
  • All Copilot models time out β†’ likely Copilot provider/profile/token/network path.

As a diagnostic workaround, you can also raise the provider request timeout so we can tell whether it’s just very slow first-token latency:

openclaw config set models.providers.github-copilot.timeoutSeconds 180
#
openclaw gateway restart

If it still produces no reply after that, I’d file this as a GitHub issue with:

  • version: 2026.5.10-beta.1 (15b26be)
  • model: github-copilot/claude-sonnet-4.6
  • the two timeout log lines
  • whether models status --probe passes
  • whether a github-copilot/gpt-* model works

Issue tracker: https://github.com/openclaw/openclaw/issues

whole quailBOT
#

Okay, then it’s not Claude-specific. It’s the whole github-copilot provider path in OpenClaw on that machine/session.

Also correction: for models status, the provider filter is --probe-provider, not --provider. Run:

openclaw models status --probe --probe-provider github-copilot
openclaw models auth list --provider github-copilot
openclaw models list --provider github-copilot

If the probe/list pass but completions still idle-timeout, that strongly points to Copilot’s completion streaming endpoint hanging for OpenClaw’s request shape, not login/credits.

One more useful test: bump the timeout just to prove it’s not slow first-token latency:

openclaw config set models.providers.github-copilot.timeoutSeconds 180
openclaw gateway restart
magic jetty
whole quailBOT
#

Ah β€” that changes the read a lot.

If you have zero premium requests left and had paid overage working until it stopped at $5.81, then this may simply be GitHub’s Copilot quota/budget/overage cap kicking in. OpenClaw should ideally surface that as a clean quota/billing error, but Copilot may be leaving the streaming request hanging instead, which becomes OpenClaw’s idle timeout.

Check GitHub’s Copilot billing/usage page for either:

  • premium requests exhausted
  • paid usage disabled
  • a budget/spending cap hit
  • org/enterprise overage policy blocking additional paid requests

GitHub docs mention that overage can be interrupted when a budget caps Premium Request spending: https://docs.github.com/en/copilot/how-tos/manage-and-track-spending/manage-request-allowances

So I’d treat this as likely quota/budget, not login. To confirm from OpenClaw side, run:

openclaw models status --probe --probe-provider github-copilot

If that passes but completions timeout, file the OpenClaw issue as β€œCopilot quota/budget exhaustion surfaces as idle timeout instead of billing/quota error.” That’s a better bug report than generic Copilot timeout.

magic jetty
whole quailBOT
#

Gotcha β€” if your paid budget is $5.81 / $65, then I agree: a hard spending cap is less likely. Sorry, I over-weighted the β€œno premium requests left” bit.

At this point the important question is whether GitHub is reporting your Copilot profile as usable to OpenClaw, or whether only completions are hanging.

Please run this and paste just the GitHub Copilot section / errors:

openclaw models status --probe --probe-provider github-copilot

That should tell us whether auth + quota probing succeeds. If that passes, then the bug is pretty specifically: β€œCopilot auth/probe works, model list works, but all Copilot completions stream zero output until idle timeout.”

Also worth trying after the cache clear + re-login:

openclaw update
openclaw gateway restart

Your status said behind 5, and while the fix is already in your build, there may be follow-up Copilot fixes in those 5 commits.

magic jetty
# whole quail Gotcha β€” if your paid budget is `$5.81 / $65`, then I agree: a hard spending cap...
18:39:32 [agent/embedded] workspace bootstrap file MEMORY.md is 14604 chars (limit 12000); truncating in injected context (sessionKey=probe-github-copilot-edcb7680-1f75-4dd5-aa9a-8f1295281d71)
β—‡
Config        : ~/.openclaw/openclaw.json
Agent dir     : ~/.openclaw/agents/main/agent
Default       : github-copilot/claude-sonnet-4.6
Fallbacks (21): github-copilot/claude-haiku-4.5, openrouter/anthropic/claude-haiku-4.5, openrouter/auto, openrouter/moonshotai/kimi-k2.5, openrouter/arcee-ai/trinity-large-preview:free, openrouter/google/gemini-3.1-pro-preview, github-copilot/gemini-3.1-pro-preview, github-copilot/gemini-3-flash-preview, github-copilot/gpt-5.3-codex, openrouter/anthropic/claude-sonnet-4.6, openrouter/google/gemini-3.1-flash-lite-preview, openrouter/openai/gpt-5.3-codex, openrouter/openai/gpt-5.4, openrouter/x-ai/grok-4.20-beta, github-copilot/gpt-4o, github-copilot/claude-opus-4.7, github-copilot/gpt-5.4, github-copilot/gpt-5.4-nano, github-copilot/gpt-5-mini, github-copilot/gpt-5.4-mini, github-copilot/gemini-3-flash
Image model   : -
Image fallbacks (0): -
Aliases (1)   : OpenRouter -> openrouter/auto
Configured models (24): github-copilot/claude-haiku-4.5, openrouter/anthropic/claude-haiku-4.5, openrouter/auto, github-copilot/claude-sonnet-4.6, openrouter/moonshotai/kimi-k2.5, openrouter/arcee-ai/trinity-large-preview:free, openrouter/google/gemini-3.1-pro-preview, github-copilot/gemini-3.1-pro-preview, github-copilot/gemini-3-flash-preview, github-copilot/gpt-5.3-codex, openrouter/anthropic/claude-sonnet-4.6, openrouter/google/gemini-3.1-flash-lite-preview, openrouter/openai/gpt-5.3-codex, openrouter/openai/gpt-5.4, openrouter/x-ai/grok-4.20-beta, github-copilot/gpt-4o, github-copilot/claude-opus-4.7, github-copilot/gpt-5.4, github-copilot/gpt-5.4-nano, github-copilot/gpt-5-mini, github-copilot/gpt-5.4-mini, github-copilot/gemini-3-flash, openrouter/moonshotai/kimi-k2.6, openrouter/google/gemma-4-31b-it:free

Auth overview
Auth store    : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env     : off
Providers w/ OAuth/tokens (1): github-copilot (1)
- github-copilot effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=1, api_key=0) | github-copilot:github=token:ghu_VXDk...uP2MeLFu
- google effective=envk | env= | source=env: GEMINI_API_KEY | models.json=AIzaSyDU...lzbfkw6A | source=models.json: ~/.openclaw/agents/main/agent/models.json
- openrouter effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | openrouter:default=6 | env= | source=env: OPENROUTER_API_KEY
- perplexity effective=env: | env=| source=env: OPENROUTER_API_KEY

OAuth/token status
- github-copilot usage: Premium 0% left Β· Chat 100% left
  - github-copilot:github static

Auth probes
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Model                            β”‚ Profile                       β”‚ Status     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ github-copilot/claude-sonnet-4.6 β”‚ github-copilot:github (token) β”‚ ok Β· 10s   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Probed 1 target in 51.5s
whole quailBOT
#

This is the key bit:

Auth probes ... github-copilot/claude-sonnet-4.6 ... ok Β· 10s

So your GitHub token is valid and OpenClaw can make at least a tiny Copilot request. The normal agent run is different: bigger prompt, tools, memory/context, streaming, etc. The probe only asks for a tiny response (--probe-max-tokens defaults to 8), so it doesn’t prove full agent turns are healthy.

Two next tests:

openclaw infer model run --model github-copilot/gpt-4o --prompt "Reply with exactly OK" --json
openclaw infer model run --model github-copilot/claude-sonnet-4.6 --prompt "Reply with exactly OK" --json

If infer works but Discord/agent runs timeout, the bug is probably in the embedded agent request shape/context/tools with Copilot.

If infer also times out, the bug is lower-level Copilot completion streaming despite auth probe passing.

#

Also, Premium 0% left Β· Chat 100% left is suspicious but not conclusive. It may mean small probes / GitHub Chat surfaces still work while OpenClaw’s Copilot model calls are hitting premium/overage behavior weirdly. Since you’re only $5.81 / $65, OpenClaw should surface a real quota/billing error if GitHub is rejecting it β€” not an idle timeout.

I’d file this with exactly that distinction: Copilot auth probe passes, but all Copilot completions idle-timeout; premium 0%, paid overage below cap. https://github.com/openclaw/openclaw/issues

magic jetty
# whole quail Also, `Premium 0% left Β· Chat 100% left` is suspicious but not conclusive. It ma...
xenthio@Xenthio-PC:/mnt/c/Users/thego$ openclaw infer model run --model github-copilot/gpt-4o --prompt "Reply with exactly OK" --json
openclaw infer model run --model github-copilot/claude-sonnet-4.6 --prompt "Reply with exactly OK" --json
{
  "ok": true,
  "capability": "model.run",
  "transport": "local",
  "provider": "github-copilot",
  "model": "gpt-4o",
  "attempts": [],
  "outputs": [
    {
      "text": "OK",
      "mediaUrl": null
    }
  ]
}
{
  "ok": true,
  "capability": "model.run",
  "transport": "local",
  "provider": "github-copilot",
  "model": "claude-sonnet-4.6",
  "attempts": [],
  "outputs": [
    {
      "text": "OK",
      "mediaUrl": null
    }
  ]
}
xenthio@Xenthio-PC:/mnt/c/Users/thego$
whole quailBOT
#

Great, that narrows it a lot: Copilot itself works through OpenClaw. Both local infer calls succeeded, including Sonnet.

So the failing path is specifically the embedded chat agent run, not Copilot auth, billing, model availability, or the basic transport.

Next test: start a totally fresh chat session and try the smallest prompt:

/new github-copilot/claude-sonnet-4.6

then:

Reply with exactly OK

If the fresh session works, the old session/context is poisoned or too large/weird for Copilot. The MEMORY.md is 14604 chars (limit 12000) warning is probably not the direct cause, but it’s a sign your injected context is chunky.

If the fresh session still times out while infer works, that’s a solid OpenClaw bug: β€œinfer model run works for github-copilot, but embedded agent runs idle-timeout with the same model.” Include these exact successful infer outputs in the GitHub issue β€” they’re strong evidence.

#

Also run the update once more when convenient since you’re behind 5:

openclaw update
openclaw gateway restart
whole quailBOT
#

Ugh, yeah β€” but we’ve got a clean diagnosis now:

  • openclaw infer model run works for github-copilot/gpt-4o
  • openclaw infer model run works for github-copilot/claude-sonnet-4.6
  • auth probe passes
  • fresh embedded agent/chat still idle-timeouts

So this is almost certainly embedded agent request shape β€” tools/context/system prompt/history β€” not Copilot auth or billing.

One last workaround/test I’d try is forcing Copilot runs to minimal tools:

openclaw config set tools.byProvider.github-copilot.profile minimal
openclaw gateway restart

Then start a fresh session and try the tiny OK prompt again.

If that works, Copilot is choking on OpenClaw’s tool surface. If it still fails, it’s likely system/context shape rather than tools.