# Desktop app: BYOK custom model provider is not forwarded to remote (WSL) se...
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- github, linux, ubuntu
- Domain
- desktop, distributed-systems
Research direction
Start by tracing remote session creation and the existing LlmInferenceSetProvider and ProviderTokenAcquire RPCs described in the report. Compare provider handling for local and WSL sessions; done means the configured BYOK provider and models are available remotely without falling back to GitHub models.
Written by the indexing model from the issue text.
Description
Desktop app: BYOK custom model provider is not forwarded to remote (WSL) sessions — BYOK models unavailable, requests fall back to GitHub models
Environment
- GitHub Copilot desktop app 1.1.22 on Windows 11
- WSL2 (Ubuntu),
.wslconfigwithnetworkingMode=mirrored - BYOK provider configured in app settings: OpenAI-compatible endpoint (
https://ollama.com/v1), wire APIresponses, with models such askimi-k3andGLM-5.3 - Windows-side CLI 1.0.84-5; remote CLI in WSL at
~/.cache/github-copilot-sdk/cli/1.0.79(binary reports 1.0.86); copilotd 0.7.3 - Projects whose path lives inside the WSL filesystem run as remote sessions (via copilotd on the WSL side)
What happens
- Sessions on Windows-path projects: BYOK models are selectable and work correctly.
- Sessions on WSL-path projects (remote sessions): BYOK models are not available. The remote CLI log shows:
Model 'GLM-5.3' from CLI argument/session ... not available. Falling back to next option.
and requests are served by GitHub's model routing instead of the configured provider.
Repro
- In the app, add a custom model provider (BYOK) and add models to it.
- Add a project whose repository is inside the WSL filesystem.
- Create a session on that project and observe the fallback (or inability to select the BYOK model).
Evidence that the gap is provider-registry forwarding
- The remote copilotd/CLI processes do receive the full
COPILOT_PROVIDER_*environment variable set (verified via/proc/<pid>/environ), but the server-mode CLI ignores env-var BYOK — in server mode the provider is controlled by the host over RPC, so the env vars are inert there. - Running the same CLI directly in a WSL terminal with the same env vars works perfectly (verified even with
COPILOT_HOMEisolated and no GitHub auth) — so the endpoint, credentials, and network path are all fine. - copilotd 0.7.3 already ships the remote BYOK plumbing:
LlmInferenceSetProvider,ProviderTokenAcquire(providerName,accessToken,expiresIn,tokenType),LlmInferenceHttpRequestStart/Chunk— so an RPC path for forwarding providers exists. - The app binary contains the flow strings ("provider registry attached to new session", "re-applying provider registry on session resume"), but no provider-registry activity appears in app logs when a remote session is created.
Conclusion: when creating a remote session, the app passes the model name (e.g. GLM-5.3) but does not attach/forward the provider registry, so the remote CLI has no provider for those model IDs and falls back to GitHub models.
Expected behavior
The BYOK provider and its models should be forwarded to remote sessions via the existing SetProvider/ProviderTokenAcquire RPCs, so remote (WSL) sessions can use BYOK models just like local sessions.
Additional observations (possibly related)
- Every remote session creation logs
skills.discover: Invalid working directory(customization discovery failure). - After an app restart, remote sessions fail to resume:
resume_sessionreports "session not found".
| Field | Value |
|---|---|
| App version | 1.1.22 |
| OS | Windows 10.0.26340 |
| Theme | GitHub |
| Path | /chat |
| Tenure | Week 5 |
- Dominant language
- No language data
- Stars
- 2.1k
- Forks
- 157
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/app
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
Similar issues
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
seagle0128/doom-modeline#834 ·
-
comp/desktop P3 type/bug
Difficulty 1/5 Under an hour Newbie friendliness 92/100
NousResearch/hermes-agent#118866 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
robotframework/RIDE#3068 ·