Skip to content

Support dynamic workflows (/workflows view) in BYOK / air-gapped sessions #5055

Closed

Description

@shloimy-wiesel

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:

  1. 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.

  2. 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.

  3. If gating is intentional, explain it. Replace Unknown command: /workflows with 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
  1. /workflows → open the Workflows view and watch phases/agents of a running review workflow (today: ✗ Unknown command: /workflows).
  2. "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.
  3. "Resume workflow run with a higher maxTotalSubagents" after a limit was hit, from the Workflows view.
  4. 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)

Activity

  1. added
    area:agentsSub-agents, fleet, autopilot, plan mode, background agents, and custom agents
    area:modelsModel selection, availability, switching, rate limits, and model-specific behavior
    and removed on Oct 6, 2026
  2. copilot-cli-bot commented on Oct 23, 2026

    @copilot-cli-bot

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:agentsSub-agents, fleet, autopilot, plan mode, background agents, and custom agentsarea:modelsModel selection, availability, switching, rate limits, and model-specific behavior

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions