Skip to content

fix(launcher): add --allow-all-paths to copilot launch_copilot()#4447

Merged
rysweet merged 1 commit into
mainfrom
fix/copilot-allow-all-paths
Apr 22, 2026
Merged

fix(launcher): add --allow-all-paths to copilot launch_copilot()#4447
rysweet merged 1 commit into
mainfrom
fix/copilot-allow-all-paths

Conversation

@rysweet

@rysweet rysweet commented Apr 22, 2026

Copy link
Copy Markdown
Owner

Single-line fix that resolves #4445.

launch_copilot() in launcher/copilot.py only adds --allow-all-tools. When invoked non-interactively as amplihack copilot -- -p '...' (recipe-runner builder agents), copilot denies all writes because it can neither prompt the user nor see explicit path approval. Symptom: 'Permission denied and could not request permission from user' for every write, hollow-success runs, no actual commits.

_normalize_copilot_cli_args() already prefixes both flags for the wrapper compat path; this PR brings the direct launcher in line.

Verified end-to-end: smart-orchestrator → default-workflow → builder now produces real commits + file modifications. See linked issue for full diagnosis.

The Python launch_copilot() in launcher/copilot.py only added --allow-all-tools,
not --allow-all-paths. When invoked non-interactively via `amplihack copilot -- -p "..."`
(the pattern used by builder agents in the recipe runner), copilot denies all writes
because it can neither prompt the user nor see explicit path approval.

Symptom: "Permission denied and could not request permission from user" for every
write attempt, leading to hollow-success runs where steps exit 0 but no files are
actually modified.

This brings launch_copilot() in line with rust_runner_copilot._normalize_copilot_cli_args()
which already prefixes both flags for the wrapper compatibility path.

Verified: end-to-end smart-orchestrator → default-workflow → builder now produces
real commits and file modifications instead of hollow success.

Closes #4445

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

Repo Guardian - Passed

All changed files in this PR were reviewed and no ephemeral content was found.

File Status
src/amplihack/launcher/copilot.py ✅ Durable source code — one-line addition of --allow-all-paths flag to copilot launch command

No action required.

Generated by Repo Guardian for issue #4447 ·

@rysweet

rysweet commented Apr 22, 2026

Copy link
Copy Markdown
Owner Author

Merge-Ready Evidence

Criterion Status Evidence
1. QA scenarios ⚠️ Targeted single-file fix; behavior validated by smart-orchestrator end-to-end runs in this session
2. Docs updated Inline comment explains rationale; closes #4445 documenting the issue
3. Quality audit Code-level review: minimal diff, defensive fix, no architectural impact
4. CI green All required checks pass (only non-required Atlas/skill-drift advisories show)
5. PR description Description includes root cause + reproduction
6. Diff scope 1 file, focused on stated fix

Proceeding with squash merge.

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

@rysweet rysweet merged commit 7510652 into main Apr 22, 2026
23 of 25 checks passed
@rysweet rysweet deleted the fix/copilot-allow-all-paths branch April 22, 2026 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

default-workflow builder agent runs in read-only sandbox: amplihack copilot spawned without --allow-all-tools/--allow-all-paths

1 participant