Repository navigation
Support dynamic workflows (/workflows view) in BYOK / air-gapped sessions #5055
Description
In BYOK/air-gapped sessions /workflows returns "Unknown command" (UI gated on GitHub user/quota data), and with COPILOT_OFFLINE=true the workflow tools are removed entirely — even though dynamic workflows otherwise run fine against a BYOK model.
Proposed solution
Make dynamic workflows fully usable when a BYOK provider is configured, without requiring a GitHub user/quota response:
-
Show
/workflows(command, completion, and Workflows view) for BYOK sessions.
Today visibility appears to be gated on the Copilot user response (EXTENSIONS && sessionQuotaProjection(sessionId).dynamicWorkflowsUiVisible), cached in~/.cache/copilot/copilot-user-cache.json. With no cache (fresh/air-gapped machine) or a stale one (~25 min in my testing), the command disappears, while the underlying tools (run_dynamic_workflow,dynamic_workflows_manage) keep working. When a BYOK provider is active, the UI should follow the same availability as the tools. -
Support dynamic workflows with
COPILOT_OFFLINE=true.
In offline mode the workflow and extension tools are not offered to the model at all (17 vs 25 tools in my test), so workflows are unusable. Authoring/running workflows needs no network when the model is local, so offline mode should keep them. -
If gating is intentional, explain it. Replace
Unknown command: /workflowswith a message saying why it is unavailable and how to enable it.
Benefit: on-prem, regulated, and air-gapped users running local models via BYOK (documented as "GitHub authentication is not required") get the same workflow experience — run monitoring, pause/resume, progress — instead of a hidden feature.
Example prompts or workflows
Environment for all examples: air-gapped Linux host, local vLLM model via BYOK:
COPILOT_PROVIDER_BASE_URL=http://<local-host>:<port>/v1 \
COPILOT_MODEL=<local-model> \
copilot --experimental
/workflows→ open the Workflows view and watch phases/agents of a running review workflow (today:✗ Unknown command: /workflows).- "Create a workflow that reviews every changed file in parallel with a subagent per file, then summarizes findings" → author + run, then monitor it in
/workflows. - "Resume workflow run with a higher maxTotalSubagents" after a limit was hit, from the Workflows view.
COPILOT_OFFLINE=true copilot --experimental→ "What dynamic workflows are available?" (today: the workflow tools are not available in offline mode).
Additional context
- Copilot CLI 1.0.91, Linux x86_64, bash, VS Code integrated terminal.
- Reproduction (no real air gap needed): fresh
COPILOT_HOME,HTTPS_PROXY=http://127.0.0.1:9 NO_PROXY=127.0.0.1,localhost, a local OpenAI-compatible endpoint, then type/workflows.
| Config / network | /workflows |
Workflow tools work? |
|---|---|---|
| Signed in, online | shown | yes |
| Signed in, air-gapped, right after an online run (fresh user cache) | shown | yes |
| Signed in, air-gapped, cache stale (~25 min) | Unknown command | yes |
Fresh COPILOT_HOME, online or air-gapped |
Unknown command | yes (with --experimental) |
COPILOT_OFFLINE=true |
— | no (tools not offered) |
- Related BYOK subagent issues that also limit workflows: Allow subagents.maxConcurrency for BYOK / non usage-based accounts (currently hard-capped at 2) #4940 (concurrency hard-capped at 2), 🐛 Repo
.claude/agents/*/AGENT.mdmodel:field overrides session model for Copilot custom agents, breaking subagent spawns on BYOK providers #4437 (agentmodel:overrides break BYOK subagent spawns).
Activity
copilot-cli-bot commentedon Oct 23, 2026
This appears to be resolved as of GitHub Copilot CLI v1.0.103. Please update to that release or a newer stable version. We're closing this as completed. If it still happens, please comment with your version and reproduction steps.