A VS Code extension for managing Claude Code configurations through composable, reusable presets.
Instead of editing JSON files by hand, this extension lets you build presets from three types of building blocks:
- Providers — API backends: Anthropic Direct, AWS Bedrock, or any Anthropic-compatible proxy (LiteLLM, OpenRouter, Ollama, vLLM, LM Studio, …)
- MCP Server Groups — named collections of MCP servers
- Directory Groups — additional directories Claude Code may access
A preset bundles one provider + any number of MCP server groups + any number of directory groups into a single switchable configuration.
Presets are then assigned to scopes:
| Scope | Config files written | Dropdown options |
|---|---|---|
| Global | ~/.claude/settings.json, ~/.claude.json |
Any preset, or Manual |
| Workspace | {workspace}/.claude/settings.json, .mcp.json |
Any preset, Inherit from Global, or Manual |
Switching a scope's preset instantly reconfigures Claude Code — no manual file editing required.
All building blocks, presets, and scope assignments are stored in a single file:
~/.claude/coder-profiles.json
On Save All, the extension resolves the active presets and writes the resulting flat configuration into Claude Code's own files. When a workspace scope is set to Inherit from Global, any previously written workspace-level settings are cleaned up automatically.
A sample configuration is included in examples/coder-profiles.json.
- Open the Command Palette → Open Claude Code Settings
- Create a Provider (e.g. AWS Bedrock with your profile and region)
- Optionally create MCP Server Groups and Directory Groups
- Create a Preset that combines your provider with any groups
- Assign the preset to the Global or Workspace scope
- Click Save All
- Select provider type Bedrock, fill in your AWS profile name and region
- Pick models from the smart presets or click Fetch models from AWS to discover all inference profiles and foundation models in your account
- Test models — each model slot has a Test pill that calls
aws bedrock-runtime converseto verify profile and model access. Results (OK / Fail) are persisted on the provider - Optionally set an auth-refresh command (e.g.
aws sso login --profile my-profile) - Claude Code's login/logout commands are automatically disabled when using Bedrock
- If
$AWS_CONFIG_FILEis set or~/.aws/configis a symlink, the resolved config path is shown as AWS Config (read-only). If you use easytocloud aws-envs, an AWS Env dropdown appears instead — each provider stores its own env selection incoder-profiles.json, so different providers can point to different AWS environments independently
- Select provider type Local / Other, enter the base URL (e.g.
http://localhost:11434) - Click Fetch available models to discover models from
/v1/models- Single-model endpoints auto-select the model for all tiers
- Multi-model endpoints show a selection-only dropdown (sorted alphabetically, with slot-matching models listed first)
- If the endpoint does not expose
/v1/models, the fetch fails gracefully and you can type model IDs manually
- Test models — each model slot has a Test pill that sends a minimal request to
POST /v1/messagesto verify Anthropic API compatibility. Results (OK / Fail) are persisted on the provider - Credential — enter an API key or token directly, or use an
op://Vault/Item/field1Password reference. A compact pill toggle switches between API Key (x-api-keyheader) and Token (Authorization: Bearer). The value is preserved when toggling - Standalone mode is on by default — it blocks all traffic to Anthropic (telemetry, updates, login prompt). Disable it only if your proxy forwards requests to Anthropic directly and you need the Anthropic login flow.
- Select provider type Local / Other, enter
https://openrouter.aias the base URL (the/apisuffix is added automatically;/v1is stripped if pasted) - The auth pill auto-switches to Token when an
openrouter.aiURL is detected. Paste your OpenRouter API key or use anop://reference for 1Password - Click Test on each model slot to verify compatibility before saving
- The built-in Anthropic provider is always available
- Optionally set your API key in the provider editor (enter a key from console.anthropic.com, or use an
op://reference for 1Password) - Without an API key, you'll need to run
/loginwith an Anthropic Max or Pro plan - Model selection is not shown — Claude Code uses its built-in defaults (Sonnet for primary, Haiku for small/fast tasks, Opus for complex tasks)
| Feature | Detail |
|---|---|
| Composable presets | Mix and match providers, MCP servers, and directories |
| Scope management | Global and per-workspace configurations with inheritance |
| Provider types | Anthropic Direct, AWS Bedrock, Local / Other (any Anthropic-compatible proxy) |
| MCP server groups | Reusable named collections of MCP servers (stdio, HTTP, SSE) |
| Directory groups | Additional directories Claude Code may access |
| Live model discovery | Fetch available models queries /v1/models; auto-selects single-model endpoints |
| Model compatibility testing | Per-slot Test pill verifies the model speaks Anthropic's /v1/messages API; results persisted per provider |
| 1Password support | Enter op://Vault/Item/field as the credential — the extension writes apiKeyHelper for Claude Code to resolve at startup |
| Filterable dropdowns | Type-to-filter combobox for AWS profiles (100+) and model lists (500+ OpenRouter) — slot-matching models grouped first, alphabetical sort, keyboard nav, match highlighting |
| Quick-switch status bar | Click the status bar item to switch presets for global or workspace scope without opening the panel |
| Import / Export | Share presets between machines or team members — credentials are scrubbed on export, recipients fill in their own |
| Draft auto-save | Unsaved changes persist across panel close and are restored on re-open |
| Dirty indicator | Title bar shows ● when unsaved changes exist |
| Drawer-based editing | Slide-out panels for editing all building blocks |
| Inherit mode | Workspace scope can inherit from global — cleans up workspace files |
| Login prompt suppression | Automatic for Bedrock (always on) and Proxy (on by default, overridable). Sets both env vars in ~/.claude/settings.json and the claudeCode.disableLoginPrompt VS Code setting at the right scope (global or workspace). |
- VS Code 1.98 or later
- For Bedrock: AWS CLI configured with a named profile (
aws configure --profile <name>) - For Local / Other: a running Anthropic-compatible server (
/v1/messagesendpoint) - For 1Password credentials: 1Password CLI (
op) installed and signed in
This extension does not add VS Code settings. All configuration is managed through ~/.claude/coder-profiles.json and resolved into Claude Code's own files on save.
See CHANGELOG.md.
