mirror of
https://github.com/Gitlawb/openclaude.git
synced 2026-08-24 02:34:15 -05:00
* Enhance OpenClaude VS Code extension with Microsoft Foundry / Azure OpenAI support. Added configuration options for Azure API key, endpoint, and deployment settings. Updated README and documentation for new features, including a setup wizard for Azure integration. Improved terminal launch environment handling for Azure compatibility. * Fix packaged Windows helper runtime references * Use installed CLI from Windows helper aliases * Scope Windows helper env overrides to invocation * Align Windows alias docs with shipped helper
3.7 KiB
3.7 KiB
OpenClaude VS Code Extension
A practical VS Code companion for OpenClaude with a project-aware Control Center, predictable terminal launch behavior, and quick access to useful OpenClaude workflows.
Features
- Real Control Center status in the Activity Bar:
- whether the configured
openclaudecommand is installed - the launch command being used
- whether the launch shim injects
CLAUDE_CODE_USE_OPENAI=1 - the current workspace folder
- the launch cwd that will be used for terminal sessions
- whether
.openclaude-profile.jsonexists in the current workspace root - a conservative provider summary derived from the workspace profile or known environment flags
- whether the configured
- Project-aware launch behavior:
Launch OpenClaudelaunches from the active editor's workspace when possible- falls back to the first workspace folder when needed
- avoids launching from an arbitrary default cwd when a project is open
- Practical sidebar actions:
- Launch OpenClaude
- Launch in Workspace Root
- Open Workspace Profile
- Open Repository
- Open Setup Guide
- Open Command Palette
- Built-in dark theme:
OpenClaude Terminal Black - Microsoft Foundry / Azure OpenAI: optional wizard and settings store endpoint, API version, deployment name, and API key (Secret Storage); launch injects
OPENAI_*andAZURE_OPENAI_API_VERSIONinto the OpenClaude terminal (seedocs/advanced-setup.mdon the repo).
Requirements
- VS Code
1.95+ openclaudeavailable in your terminal PATH (npm install -g @gitlawb/openclaude@latest)
Commands
OpenClaude: Open Control CenterOpenClaude: Launch in TerminalOpenClaude: Launch in Workspace RootOpenClaude: Open RepositoryOpenClaude: Open Setup GuideOpenClaude: Open Workspace ProfileOpenClaude: New Chat/OpenClaude: Open Chat Panel/OpenClaude: Resume Session/OpenClaude: Abort GenerationOpenClaude: Configure Azure / Foundry Chat (wizard)OpenClaude: Set Azure / Foundry API Key (Secret Storage)OpenClaude: Clear Azure / Foundry API KeyOpenClaude: Open Azure / Foundry Settings
Microsoft Foundry / Azure OpenAI (terminal chat)
- Command Palette → OpenClaude: Configure Azure / Foundry Chat (wizard) and enter endpoint, API version, deployment name, and API key; or set
openclaude.azure.*in Settings and use OpenClaude: Set Azure / Foundry API Key. - Enable OpenClaude: Azure: Enabled (the wizard turns this on).
- OpenClaude: Launch in Terminal — the extension merges env vars the OpenAI shim expects (
CLAUDE_CODE_USE_OPENAI,OPENAI_BASE_URL,OPENAI_API_KEY,OPENAI_MODEL,AZURE_OPENAI_API_VERSION, andOPENAI_AZURE_STYLEwhen forced).
If you use .openclaude-profile.json for the same workspace, leave Azure injection off to avoid conflicting provider configuration.
Settings
openclaude.launchCommand(default:openclaude)openclaude.terminalName(default:OpenClaude)openclaude.useOpenAIShim(default:false)openclaude.azure.*— Foundry / Azure OpenAI terminal injection (see Settings UI)openclaude.permissionMode— chat permission mode
openclaude.useOpenAIShim only injects CLAUDE_CODE_USE_OPENAI=1 when Azure injection did not already set it. It does not configure endpoints or keys by itself.
Notes on Status Detection
- Provider status prefers the real workspace
.openclaude-profile.jsonfile when present. - If no saved profile exists, the extension falls back to known environment flags available to the VS Code extension host.
- If the source of truth is unclear, the extension shows
unknowninstead of guessing.
Development
From this folder:
npm run test
npm run lint
To package (optional):
npm run package