This commit implement RFC 9728/6750-inspired authentication for the
agent host. This is a working prototype, although before merging this
I'll pull this stuff up to the protocol itself rather than being
extension methods.
* fix: filter workspace directory picker by harness subpaths and refresh counts
- Apply workspaceSubpaths filter in management editor's
resolveTargetDirectoryWithPicker so 'New X (Workspace)' only offers
directories relevant to the active harness (e.g. Claude → .claude/ only)
- Refresh sidebar section counts when active harness changes so badge
numbers reflect the filtered item set
* fix: restrict extension sources to Local harness, hide Instructions for Claude
- Only the Local harness includes PromptsStorage.extension in its
sources — CLI and Claude don't consume extension-contributed
customizations
- Claude harness now hides the Instructions section since Claude uses
CLAUDE.md rather than VS Code-style *.instructions.md files
- Claude hiddenSections: [Agents, Hooks, Instructions]
* feat: add setting to hide harness selector (on by default)
- Add chat.customizations.harnessSelector.enabled setting (default: true)
- When false, dropdown is hidden and harness is locked to 'Local',
giving the same behavior as before the harness feature was introduced
- Responds to live setting changes — toggling off immediately forces
Local harness and rebuilds sections
* fix: Claude shows Instructions (CLAUDE.md/AGENTS.md) but hides Prompts
- Remove Instructions from Claude hiddenSections — Claude supports
CLAUDE.md and AGENTS.md as instruction files
- Add Prompts to Claude hiddenSections — Claude doesn't consume
.prompt.md files
- Claude hiddenSections: [Agents, Hooks, Prompts]
* fix: Claude supports hooks — only hide Agents and Prompts
* fix: filter workspace-local items by harness workspaceSubpaths
When a restricted harness is active (e.g. Claude with subpaths=['.claude']),
hide workspace-local items that aren't under a recognized sub-path.
Previously only the creation picker was filtered — now the item list
itself excludes files like .github/instructions/*.instructions.md when
viewing through the Claude harness.
* fix: address code review feedback
- Fix subpath matching to use segment boundaries (matchesWorkspaceSubpath
helper checks for /<sp>/ to avoid false positives like 'not.claude')
- Update Claude harness JSDoc to reflect actual hook config locations
(.claude/settings.json, not .claude/hooks/)
- Clarify Sessions window comment for harness selector setting no-op
* fix - update action labels to use "Task" terminology instead of "Action"
* fix - update terminology from "Action" to "Task" in run script components
* fix - update run script widget to handle existing task state and adjust submit label accordingly
* fix - update task mode handling in run script components to improve clarity and functionality
* aiCustomization: make plugin/extension/builtin files read-only
- Open plugin, extension, and built-in customization files as read-only
in the editor, with a message explaining they cannot be edited.
- Extract isReadonlyStorage() helper to DRY the repeated storage type
check used in both the open and delete actions.
Fixes https://github.com/microsoft/vscode/issues/301292
(Commit message generated by Copilot)
* pr comments