Skip to content

[BUG] Extension deletes claudeCode.environmentVariables from settings.json upon activation in trusted workspace #10217

Description

@fairplayapps

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

The claudeCode.environmentVariables setting, specifically containing the ANTHROPIC_API_KEY, disappears from the User settings.json file every time VS Code is restarted, but only when the Claude Code extension is enabled and the workspace is trusted. The setting saves and persists correctly under other conditions.

What Should Happen?

The key should save and persist.

Error Messages/Logs

Expected behavior The claudeCode.environmentVariables section with the API key should still be present in the settings.json file.

Actual behavior The entire claudeCode.environmentVariables section (or sometimes just its content) is missing from the settings.json file. The extension effectively deletes its own configuration upon restart/activation.

Additional context/Troubleshooting:

This issue does not occur if the Claude Code extension is disabled.

This issue does not occur if the workspace is opened in Restricted Mode (even with the extension enabled). The setting only disappears after trusting the workspace and restarting.

This issue does not occur in a clean installation of VS Code Insiders (tested version [If you tested, enter Insiders version]).

This issue was reproduced on two separate computers with different user accounts and VS Code profiles (different sign-ins).

Settings Sync was confirmed to be disabled during testing.

All other extensions were disabled during testing.

VS Code was tested running as administrator (on Windows) with no change in behavior.

Antivirus and OneDrive sync were temporarily disabled with no change in behavior.

Creating a fresh settings.json file (by renaming the old one) did not solve the issue.

Workaround: Setting the ANTHROPIC_API_KEY as a system/user environment variable allows the extension to authenticate correctly, even though it removes the setting from settings.json.

Steps to Reproduce

Ensure the workspace/folder is trusted (VS Code is not in Restricted Mode).

Ensure the Claude Code extension is enabled.

Open User settings.json (Ctrl+Shift+P -> Preferences: Open User Settings (JSON)).

Add or ensure the following configuration exists, replacing the placeholder value with a valid API key:

JSON

"claudeCode.environmentVariables": [
{
"name": "ANTHROPIC_API_KEY",
"value": "sk-ant-..."
}
]
Save the settings.json file. The changes are visibly saved.

Completely close VS Code.

Reopen VS Code and the same workspace/folder.

Open User settings.json again.

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

2.0.26

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:autharea:idebugSomething isn't workinghas reproHas detailed reproduction stepsplatform:windowsIssue specifically occurs on Windows

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions