Skip to content

Support multi-root workspaces via .code-workspace file for additional folder context and instruction files #1826

@boazwasserman

Description

@boazwasserman

Describe the feature or problem you'd like to solve

When using the Copilot CLI connected to a VS Code IDE workspace (via /ide), the CLI does not read the .code-workspace file to discover additional root folders. This means: 1. Instruction files (e.g., AGENTS.md) in additional workspace folders are not discovered or loaded 2. File context from additional workspace folders is not available for search/indexing — the agent only sees the primary cwd/git-root 3. Workspace settings like github.copilot.chat.codeGeneration.instructions that reference files in additional folders are not applied The VS Code extension handles this correctly — it reads all root folders from the .code-workspace file and includes their context and instruction files. Example Given this productivity.code-workspace: { "folders": [ { "path": "." }, { "path": "../../repos/TeamCerebro" }, { "path": "../../../../projects/XSPM-PostureEffectivenessScore" } ], "settings": { "github.copilot.chat.codeGeneration.instructions": [ { "file": "AGENTS.md" } ] } } The VS Code Copilot Chat extension indexes all 3 folders and loads the AGENTS.md instruction file. The CLI only sees the primary folder (cwd).

Proposed solution

When connected to a VS Code IDE workspace via /ide:

  1. Read the .code-workspace file to discover all root folders
  2. Include instruction files from all workspace roots (respecting the same discovery rules: AGENTS.md, .github/copilot-instructions.md, etc.)
  3. Make all workspace folders available for file search/context (same as the extension does)

Alternatively, support a CLI flag or config option like --workspace <path-to-.code-workspace> for standalone use without /ide.

Example prompts or workflows

The agent can manually read the .code-workspace file, resolve the relative paths, and access the additional folders — but this requires explicit manual navigation rather than automatic discovery

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions