Use package.json when condition instead of custom filtering for get_project_setup_info tool #641
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The
get_project_setup_info
tool was visible to language models but included instructions warning against calling it until thecreate_workspace
tool was executed first. This created a confusing user experience where the model could see tools it shouldn't use.Solution
Instead of implementing custom tool filtering logic, this change leverages VS Code's built-in conditional tool mechanism using the existing
when
condition in package.json.Both
copilot_createNewWorkspace
andcopilot_getProjectSetupInfo
tools already have the same"when": "config.github.copilot.chat.newWorkspaceCreation.enabled"
condition defined in package.json. This approach:Key Changes
ToolsService.getEnabledTools()
config.github.copilot.chat.newWorkspaceCreation.enabled
configurationThe tool will now be visible/hidden based on VS Code's configuration system rather than runtime filtering, providing a cleaner and more standard approach to conditional tool availability.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.