Skip to content

Allow to disable project context in ask mode #255142

Open
@hediet

Description

@hediet

This is my chatmode file:

---
description: 'Improved Ask'
tools: []
---

This is my question:

How does windows automation work?

The answer is:

I'll help you understand how Windows automation works in this project. Let me explore the Windows automation components to give you a comprehensive overview.

This shouldn't be.

This is the log:

panel/editAgent - fad6f4b4

Metadata

requestType      : ChatCompletions
model            : claude-sonnet-4
maxPromptTokens  : 112000
maxResponseTokens: 16000
location         : 7
postOptions      : {"temperature":0,"top_p":1,"max_tokens":16000,"n":1,"stream":true}
intent           : undefined
startTime        : 2025-07-10T13:15:01.727Z
endTime          : 2025-07-10T13:15:22.439Z
duration         : 20712ms
ourRequestId     : e4acb83e-f2eb-4227-96bb-856f9486f1ad

Request Messages

System

You are an expert AI programming assistant, working with a user in the VS Code editor.
When asked for your name, you must respond with "GitHub Copilot".
Follow the user's requirements carefully & to the letter.
Follow Microsoft content policies.
Avoid content that violates copyrights.
If you are asked to generate content that is harmful, hateful, racist, sexist, lewd, or violent, only respond with "Sorry, I can't assist with that."
Keep your answers short and impersonal.
<instructions>
You are a highly sophisticated automated coding agent with expert-level knowledge across many different programming languages and frameworks.
The user will ask a question, or ask you to perform a task, and it may require lots of research to answer correctly. There is a selection of tools that let you perform actions or retrieve helpful context to answer the user's question.
You will be given some context and attachments along with the user prompt. You can use them if they are relevant to the task, and ignore them if not.
If you can infer the project type (languages, frameworks, and libraries) from the user's query or the context that you have, make sure to keep them in mind when making changes.
If the user wants you to implement a feature and they have not specified the files to edit, first break down the user's request into smaller concepts and think about the kinds of files you need to grasp each concept.
If you aren't sure which tool is relevant, you can call multiple tools. You can call tools repeatedly to take actions or gather as much context as needed until you have completed the task fully. Don't give up unless you are sure the request cannot be fulfilled with the tools you have. It's YOUR RESPONSIBILITY to make sure that you have done all you can to collect necessary context.
When reading files, prefer reading large meaningful chunks rather than consecutive small sections to minimize tool calls and gain better context.
Don't make assumptions about the situation- gather context first, then perform the task or answer the question.
Think creatively and explore the workspace in order to make a complete fix.
Don't repeat yourself after a tool call, pick up where you left off.
You don't need to read a file if it's already provided in context.
</instructions>
<toolUseInstructions>
If the user is requesting a code sample, you can answer it directly without using any tools.
When using a tool, follow the JSON schema very carefully and make sure to include ALL required properties.
No need to ask permission before using a tool.
NEVER say the name of a tool to a user. For example, instead of saying that you'll use the run_in_terminal tool, say "I'll run the command in a terminal".
If you think running multiple tools can answer the user's question, prefer calling them in parallel whenever possible
When invoking a tool that takes a file path, always use the absolute file path. If the file has a scheme like untitled: or vscode-userdata:, then use a URI with the scheme.
You don't currently have any tools available for editing files. If the user asks you to edit a file, you can ask the user to enable editing tools or print a codeblock with the suggested changes.
You don't currently have any tools available for running terminal commands. If the user asks you to run a terminal command, you can ask the user to enable terminal tools or print a codeblock with the suggested command.
Tools can be disabled by the user. You may see tools used previously in the conversation that are not currently available. Be careful to only use the tools that are currently available to you.
</toolUseInstructions>
<outputFormatting>
Use proper Markdown formatting in your answers. When referring to a filename or symbol in the user's workspace, wrap it in backticks.
<example>
The class `Person` is in `src/models/person.ts`.
</example>

</outputFormatting>
copilot_cache_control: {"type":"ephemeral"}

User

<environment_info>
The user's current OS is: Windows
The user's default shell is: "powershell.exe" (Windows PowerShell v5.1). When you generate terminal commands, please generate them correctly for this shell. Use the `;` character if joining commands on a single line is needed.
</environment_info>
<workspace_info>
The following tasks can be executed using the run_vs_code_task tool if they are not already running:
<workspaceFolder path="d:\\dev\\hediet\\automatic-sanity-testing">
<task id="shell: My task">
{
	"label": "My task",
	"type": "shell",
	"command": "echo ${file}"
}
</task>

</workspaceFolder>
I am working in a workspace with the following folders:
- d:\dev\hediet\automatic-sanity-testing 
I am working in a workspace that has the following structure:
```
automatic-sanity-testing.sln
dev.entry.js
main.entry.ts
package.json
README.md
tsconfig.json
src/
	automationDriver.ts
	disposables.ts
	index.entry.ts
	ScreenRecording.ts
	steps.ts
	windows.ts
	observables/
		deps.ts
		derivedWithInvalidateUtils.ts
		observable.ts
		utils.ts
		observableInternal/
			api.ts
			autorun.ts
			base.ts
			debugName.ts
			derived.ts
			index.ts
			lazyObservableValue.ts
			promise.ts
			utils.ts
			utilsCancellation.ts
			commonFacade/
				deps.ts
			logging/
				consoleObservableLogger.ts
				logging.ts
				debugger/
	steps/
		formatValue.ts
		steps.ts
		StepsRunner.ts
temp/
	setup-arm.exe
	setup.exe
windowsAutomationDriver/
	WindowsAutomationDriver.csproj
	bin/
		Debug/
			net8.0-windows/
				MessagePack.Annotations.dll
				MessagePack.dll
				Microsoft.NET.StringTools.dll
				Microsoft.VisualStudio.Threading.dll
				Microsoft.VisualStudio.Validation.dll
				Nerdbank.Streams.dll
				Newtonsoft.Json.dll
				StreamJsonRpc.dll
				System.IO.Pipelines.dll
				WindowsAutomationDriver.deps.json
				WindowsAutomationDriver.dll
				WindowsAutomationDriver.exe
				WindowsAutomationDriver.pdb
				WindowsAutomationDriver.runtimeconfig.json
				cs/
				de/
				es/
				fr/
				it/
				ja/
				ko/
				pl/
				pt-BR/
				ru/
				tr/
				zh-Hans/
				zh-Hant/
			net9.0-windows/
				MessagePack.Annotations.dll
				MessagePack.dll
				Microsoft.NET.StringTools.dll
				Microsoft.VisualStudio.Threading.dll
				Microsoft.VisualStudio.Validation.dll
				Nerdbank.Streams.dll
				Newtonsoft.Json.dll
				StreamJsonRpc.dll
				WindowsAutomationDriver.deps.json
				WindowsAutomationDriver.dll
				WindowsAutomationDriver.exe
				...
	obj/
		project.assets.json
		project.nuget.cache
		WindowsAutomationDriver.csproj.nuget.dgspec.json
		WindowsAutomationDriver.csproj.nuget.g.props
		WindowsAutomationDriver.csproj.nuget.g.targets
		Debug/
			net8.0-windows/
			net9.0-windows/
	src/
		ProcessWindow.cs
		ProcessWithChildren.cs
		Program.cs
		WindowsAutomationService.cs
```
This is the state of the context at this point in the conversation. The view of the workspace structure may be truncated. You can use tools to collect more context if needed.
</workspace_info>
copilot_cache_control: {"type":"ephemeral"}

User

<context>
The current date is July 10, 2025.
</context>
<editorContext>
The user's current file is vscode-userdata:/c%3A/Users/hdieterichs/AppData/Roaming/Code%20-%20Insiders/User/prompts/Ask2.chatmode.md. 
</editorContext>
<repoContext>
Below is the information about the current repository. You can use this information when you need to calculate diffs or compare changes with the default branch.
Repository name: automatic-sanity-testing
Owner: hediet
Current branch: main
Default branch: main

</repoContext>
<reminderInstructions>

</reminderInstructions>
<userRequest>
How does windows automation work?
</userRequest>
copilot_cache_control: {"type":"ephemeral"}

CANCELED

<style> [id^="system"], [id^="user"], [id^="assistant"] { margin: 4px 0 4px 0; } .markdown-body > pre { padding: 4px 16px; } </style>

Metadata

Metadata

Labels

papercut 🩸A particularly annoying issue impacting someone on the team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions