The copilot CLI flashes the permission prompt UI, even though extension has approved.
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 55/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- javascript
- Domain
- authorization, cli
Research direction
Reproduce the permission flow with the shown onPermissionRequest callback using CLI v1.0.13-1, testing both approved and denied-rule responses. Trace the CLI's permission sequencing from the extension response to the prompt; done means an approved response suppresses the prompt while denial and no-result behavior remain correct.
Written by the indexing model from the issue text.
Description
I'm working on an extension that would auto approve based on some rules.
// Deferred fire-and-forget logger — session isn't available until joinSession resolves
let _session = null;
const log = (msg) => { if (_session) _session.log(msg).catch(() => {}); };
...
onPermissionRequest: (request) => {
const toolName = request.toolName ?? "";
const toolArgs = {};
if (request.fullCommandText) toolArgs.command = request.fullCommandText;
if (request.fileName) toolArgs.path = request.fileName;
// 1. deny rules first
for (const rule of parsedDeny) {
if (matchRule(rule, toolName, toolArgs)) {
log(`DENY (permission) tool=${toolName} kind=${request.kind} rule="${rule.raw}"`);
return { kind: "denied-by-rules", rules: [rule.raw] };
}
}
// 2. allow rules — auto-approve
for (const rule of parsedAllow) {
if (matchRule(rule, toolName, toolArgs)) {
log(`APPROVE (permission) tool=${toolName} kind=${request.kind} rule="${rule.raw}"`);
return { kind: "approved" };
}
}
// 3. no match — let CLI handle (prompt user)
log(`NO MATCH (permission) tool=${toolName} kind=${request.kind}`);
return { kind: "no-result" };
},
In the cli i see the UI prompt none the less, if i do nothing, i see the tool call get approved and complete in the background.
If i'm fast enough or am on autopilot with limited permissions then the ui prompt rejects the tool call and fails it.
I do not think the CLI is correctly sequencing and waiting on extensions for permissions flow.
CLI Version : v1.0.13-1
- Dominant language
- Java
- Stars
- 10.5k
- Forks
- 1.5k
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 131
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/copilot-sdk
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
github/copilot-sdk#2709 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
github/copilot-sdk#2673 ·
-
bug testing
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
github/copilot-sdk#2628 ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
github/copilot-sdk#2627 · 1 comment ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
github/copilot-sdk#2493 ·
All issues in github/copilot-sdk
Similar issues
-
bug untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
opensearch-project/ml-commons#5094 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
emitter:client:csharp feature
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
affects/8.10 affects/8.9 component/clients kind/bug likelihood/mid severity/mid
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Two open-case totals on one screen: the Programs tile says 15,858 and the nav badge says 15,868 Openbug frontend maui-pilot
Difficulty 2/5 1-3 hours Newbie friendliness 72/100