Automatic managed-settings refresh breaks IDE MCP reload and disables /allow-all
まだ誰も着手していません。
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
Describe the bug
In a long-running Copilot CLI session connected to Visual Studio Code, an automatic managed-settings refresh can fail while reloading the dynamically contributed IDE MCP server:
Failed to enforce managed Computer Use policy: failed to reload Computer Use
plugin contributions for session '<redacted>':
MCP reload failed: mcpServers.ide.type: Invalid literal value
After this failure, the session enters a fail-closed permission state even though the resolved enterprise policy does not disable permission bypass. /allow-all and /yolo can no longer be enabled, and every tool call requires approval. Restarting Copilot CLI restores normal behavior.
This has occurred in multiple long-running sessions.
Affected version
GitHub Copilot CLI 1.0.84-6
The installed binary has since updated to 1.0.84-8; the failure has not yet been reproduced there.
Steps to reproduce the behavior
- Start Copilot CLI on Windows from a VS Code-integrated environment.
- Enable
/allow-allor/yolo. - Keep the session active until the automatic managed-settings refresh runs.
- Observe the IDE MCP graph reload fail with
mcpServers.ide.type: Invalid literal value. - Run
/allow-allor/yoloagain. - Observe that permission escalation is rejected and subsequent tool calls prompt individually.
- Restart Copilot CLI.
- Observe that permissions and MCP tools work normally again.
The failure may be timing-dependent. In the captured occurrence, it happened exactly one hour after the CLI process started.
Expected behavior
The periodic managed-settings refresh should accept the IDE-provided MCP transport configuration and preserve the existing MCP graph. If applying refreshed settings fails, a policy that explicitly allows bypass permissions should not be replaced by the restrictive "policy undetermined" state for the lifetime of the process.
Additional context
- OS: Microsoft Windows 10.0.26200, x64
- Shell: PowerShell 7.6.6
- IDE: Visual Studio Code
- No user-defined
mcpServersexisted in the CLIconfig.jsonorsettings.json. - The IDE bridge was registered through a Windows named pipe.
- Sanitized log sequence:
[managedSettings] effective policy resolved:
source=mdm, bypassDisabled=false, serverFetchFailed=false
[managedSettings] applied: no bypass restriction in force
mcp graph load: reload {"force":true}
[managedSettings] applied: bypass-permissions mode DISABLED
(fail-closed: policy could not be determined)
[managedSettings] self-fetch errored:
MCP reload failed: mcpServers.ide.type: Invalid literal value
Managed Computer Use plugin activation remains unreconciled {"attempts":3}
The public MCP configuration types are local/stdio and http/sse. This looks like a transient IDE bridge transport value (possibly the named-pipe transport) is being passed through generic MCP configuration validation during the forced reload.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
報告された mcpServers.ide.type: Invalid literal value のシーケンスを使用して、まず Windows の VS Code 統合 CLI における managed-settings の自動更新と、MCP グラフの強制リロードを追跡します。バージョン 1.0.84-6 と 1.0.84-8 の動作を比較し、/allow-all または /yolo を有効にして再現します。IDE の MCP 設定が正常に再読み込みされ、許可されたバイパスポリシーが fail-closed 状態に置き換えられなければ完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- powershell, shell, vscode
- 領域
- cli, security, tooling
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 52/100