github / github/copilot-cli

Add a CLI flag to temporarily trust a workspace in non-interactive sessions (e.g. --temporarily-trust-workspace)

Open
#4,878 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

triage
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

Describe the feature or problem you'd like to solve

Workspace .mcp.json config is only honored once a workspace has been marked "trusted," and the only way to grant that trust today is by starting an interactive session and answering "Yes" to the trust prompt. There is currently no way to trust a workspace from a non-interactive (-p) session, a scripted/CI environment, or any headless context. This was confirmed by a maintainer on #4542: workspace .mcp.json loading was fixed in 1.0.85, but only takes effect if the workspace is already trusted, and there's no CLI-only way to establish that trust. This makes committed, repo-scoped .mcp.json files effectively unusable in automated or headless workflows (CI pipelines, containers, scripted invocations) even though the underlying loading bug is fixed, because there's no non-interactive path to the trust step.

Proposed solution

Add a flag (e.g. --temporarily-trust-workspace, name open to maintainer preference) that grants the current working directory workspace trust for the duration of that single invocation, without requiring the interactive TUI trust prompt.

This would let users and CI systems opt into trusting a specific workspace explicitly and auditably per-invocation, rather than requiring either a persisted trust decision made interactively beforehand, or the --additional-mcp-config workaround that duplicates the already-committed .mcp.json.

Benefits:

  • Unblocks CI/automation and headless use of workspace-scoped .mcp.json
  • Avoids requiring users to persist trust ahead of time via the interactive flow
  • Avoids the --additional-mcp-config duplication workaround
  • Keeps trust explicit and scoped to one invocation, rather than silently trusting all workspaces
Example prompts or workflows
  1. CI pipeline step: copilot --temporarily-trust-workspace --allow-all-tools -p "Run the test suite and summarize failures" — using the repo's committed .mcp.json without a prior interactive trust step.

  2. Docker/headless container: running scripted copilot -p "..." invocations where no TTY is available to answer the interactive trust prompt.

  3. One-off automation script that clones a repo, trusts it for a single non-interactive Copilot invocation, and never persists that trust decision to the user's config.

Additional context

#4542

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how non-interactive -p sessions handle the workspace trust prompt and how workspace .mcp.json loading depends on trust; review issue #4542 for related context. Done means a documented flag grants trust for one invocation, allows the committed workspace configuration to load without a TTY, and does not persist the trust decision.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.