Seamless Agent enhances GitHub Copilot by providing interactive user confirmation tools. It allows AI agents to ask for user approval before executing actions, ensuring you stay in control.
A Language Model tool that enables Copilot to interactively prompt you for confirmation or additional input during chat sessions.
-
User Confirmation — Get explicit approval before Copilot executes critical actions
-
Interactive Input — Provide additional context or instructions mid-conversation
- Paste Images — Paste images directly into the input area for context
- References & Attachments — Reference files in your workspace using
#filenameand attach files to your response
-
Task Validation — Confirm whether a task was fulfilled your specs
A Language Model tool that presents Markdown content in a dedicated review panel, so you can approve it or request changes with comments anchored to specific parts of the plan.
- Plan Review Panel — Review the plan in a focused editor-like view
- Targeted Feedback — Add comments tied to specific headings/paragraphs/list items
- Structured Output — Returns
{ status, requiredRevisions: [{ revisedPart, revisorInstructions }], reviewId }to the agent - Safer Automation — Prevents execution before you approve the approach
Note:
#approvePlanis supported for backwards compatibility, but#planReviewis the recommended tool.
A Language Model tool that presents Markdown content as a step-by-step walkthrough in a dedicated panel, so you can add comments and request revisions.
- Walkthrough Panel — Great for guided, sequential steps
- Comment Support — Add feedback anchored to specific parts of the walkthrough
- Structured Output — Returns
{ status, requiredRevisions: [{ revisedPart, revisorInstructions }], reviewId }
The Seamless Agent panel includes a unified History timeline (newest first), with filters:
- All
- Ask User
- Plan Review
You can open ask_user details, open plan review panels from history, and delete individual items.
Backwards-compatible alias for plan review.
Once installed, the tools are automatically available to GitHub Copilot Chat.
Copilot will automatically use this tool when it needs your confirmation. When triggered:
- A notification appears in VS Code
- Click "Open Console" to open the request panel
- Type your response
- Copilot continues based on your input
Copilot will use this tool when it wants your sign-off on a plan before proceeding. When triggered:
- A “Review Plan” editor panel opens
- Hover a heading/paragraph/list item and click the comment icon to add feedback
- Click Approve to proceed, or Request Changes to send feedback back to the agent
- Copilot continues based on
{ status, requiredRevisions, reviewId }
You can still explicitly ask for
#approvePlan, but prefer#planReview.
Use this when you want a step-by-step guide presented for review/feedback.
- A walkthrough editor panel opens
- Add comments where you want changes
- Click Approve or Request Changes
- Copilot continues based on
{ status, requiredRevisions, reviewId }
To ensure the AI requests approval at the right times, add the following to your custom instructions or system prompt:
When the task requires multiple steps or non-trivial changes, present a detailed plan using #planReview and wait for approval before executing.
If the plan is rejected, incorporate the comments and submit an updated plan with #planReview.
When the user asks for a step-by-step guide or walkthrough, present it using #walkthroughReview.
Always use #askUser before completing any task to confirm the result matches what the user asked for.
You can add this into your .github/copilot-instructions.md file in your project
If you want to explicitly trigger plan review from the start, ask Copilot something like:
Before you change anything, write a step-by-step plan and present it with #planReview.
Wait for my approval (or requested changes). Only then implement the plan.
- VS Code 1.104.1 or higher
- GitHub Copilot Chat extension
This extension works out of the box with no configuration required. You only need to instruct your agent to use it.
Determines where the tools history are stored.
- global — Stores history across all workspaces (shared).
- workspace — Stores history specific to the current workspace (default).
Default: workspace
Example (settings.json):
"seamless-agent.storageContext": "global"Note: Changing this setting changes where the extension saves chat history; switching between values may make previously saved history unavailable in the current context.
If you're using Antigravity IDE via MCP, see README.antigravity.md for integration details and troubleshooting.
This repository uses Release Please to generate changelogs and tags based on Conventional Commits.
If a single squash-merge contains multiple logical changes, you can include multiple Conventional Commit headers in the commit message (or PR description, depending on your repo squash settings). Release Please will parse them as separate changelog entries, e.g.:
fix: prevent horizontal line comment
feat: add folder attachments
refactor: reorganize webview providers
For squash merges, you can also override the merge commit parsing by adding this block to the PR body:
BEGIN_COMMIT_OVERRIDE
fix: prevent horizontal line comment
feat: add folder attachments
refactor: reorganize webview providers
END_COMMIT_OVERRIDE
None at this time. Please report issues on GitHub.