← Back to daily report

microsoft-foundry.md

Changed on 2026-05-15 14:18:17 EST

+1 lines added
-0 lines removed
Visual Diff
> ## Documentation Index¶
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt¶
> Use this file to discover all available pages before exploring further.¶

# Claude Code on Microsoft Foundry¶

> Learn about configuring Claude Code through Microsoft Foundry, including setup, configuration, and troubleshooting.¶

export const ContactSalesCard = ({surface}) => {¶
const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;¶
const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">¶
<line x1="5" y1="12" x2="19" y2="12" />¶
<polyline points="12 5 19 12 12 19" />¶
</svg>;¶
const STYLES = `¶
.cc-cs {¶
--cs-slate: #141413;¶
--cs-clay: #d97757;¶
--cs-clay-deep: #c6613f;¶
--cs-gray-000: #ffffff;¶
--cs-gray-700: #3d3d3a;¶
--cs-border-default: rgba(31, 30, 29, 0.15);¶
font-family: inherit;¶
}¶
.dark .cc-cs {¶
--cs-slate: #f0eee6;¶
--cs-gray-000: #262624;¶
--cs-gray-700: #bfbdb4;¶
--cs-border-default: rgba(240, 238, 230, 0.14);¶
}¶
.cc-cs-card {¶
display: flex; align-items: center; justify-content: space-between;¶
gap: 16px; padding: 14px 16px; margin: 0;¶
background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);¶
border-radius: 8px; flex-wrap: wrap;¶
}¶
.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }¶
.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }¶
.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }¶
.cc-cs-btn-clay {¶
display: inline-flex; align-items: center; gap: 8px;¶
background: var(--cs-clay-deep); color: #fff; border: none;¶
border-radius: 8px; padding: 8px 14px;¶
font-size: 13px; font-weight: 500;¶
transition: background-color 0.15s; white-space: nowrap;¶
}¶
.cc-cs-btn-clay:hover { background: var(--cs-clay); }¶
.cc-cs-btn-ghost {¶
display: inline-flex; align-items: center; gap: 8px;¶
background: transparent; color: var(--cs-gray-700);¶
border: 0.5px solid var(--cs-border-default);¶
border-radius: 8px; padding: 8px 14px;¶
font-size: 13px; font-weight: 500;¶
}¶
.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }¶
.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }¶
@media (max-width: 720px) {¶
.cc-cs-actions { width: 100%; }¶
}¶
`;¶
return <div className="cc-cs not-prose">¶
<style>{STYLES}</style>¶
<div className="cc-cs-card">¶
<div className="cc-cs-text">¶
<strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.¶
</div>¶
<div className="cc-cs-actions">¶
<a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">¶
View plans¶
</a>¶
<a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">¶
Contact sales {iconArrowRight()}¶
</a>¶
</div>¶
</div>¶
</div>;¶
};¶

<ContactSalesCard surface="foundry" />¶

## Prerequisites¶

Before configuring Claude Code with Microsoft Foundry, ensure you have:¶

* An Azure subscription with access to Microsoft Foundry¶
* RBAC permissions to create Microsoft Foundry resources and deployments¶
* Azure CLI installed and configured (optional - only needed if you don't have another mechanism for getting credentials)¶

<Note>¶
If you are deploying Claude Code to multiple users, [pin your model versions](#4-pin-model-versions) to prevent breakage when Anthropic releases new models.¶
</Note>¶

## Setup¶

### 1. Provision Microsoft Foundry resource¶

First, create a Claude resource in Azure:¶

1. Navigate to the [Microsoft Foundry portal](https://ai.azure.com/)¶
2. Create a new resource, noting your resource name¶
3. Create deployments for the Claude models:¶
* Claude Opus¶
* Claude Sonnet¶
* Claude Haiku¶

### 2. Configure Azure credentials¶

Claude Code supports two authentication methods for Microsoft Foundry. Choose the method that best fits your security requirements.¶

**Option A: API key authentication**¶

1. Navigate to your resource in the Microsoft Foundry portal¶
2. Go to the **Endpoints and keys** section¶
3. Copy **API Key**¶
4. Set the environment variable:¶

```bash theme={null}¶
export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key¶
```¶

**Option B: Microsoft Entra ID authentication**¶

When `ANTHROPIC_FOUNDRY_API_KEY` is not set, Claude Code automatically uses the Azure SDK [default credential chain](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview).¶
This supports a variety of methods for authenticating local and remote workloads.¶

On local environments, you commonly may use the Azure CLI:¶

```bash theme={null}¶
az login¶
```¶

<Note>¶
When using Microsoft Foundry, the `/login` and `/logout` commands are disabled since authentication is handled through Azure credentials.¶
</Note>¶

### 3. Configure Claude Code¶

Set the following environment variables to enable Microsoft Foundry:¶

```bash theme={null}¶
# Enable Microsoft Foundry integration¶
export CLAUDE_CODE_USE_FOUNDRY=1¶

# Azure resource name (replace {resource} with your resource name)¶
export ANTHROPIC_FOUNDRY_RESOURCE={resource}¶
# Or provide the full base URL:¶
# export ANTHROPIC_FOUNDRY_BASE_URL=https://{resource}.services.ai.azure.com/anthropic¶
```¶

### 4. Pin model versions¶

<Warning>¶
Pin specific model versions for every deployment. If you use model aliases (`sonnet`, `opus`, `haiku`) without pinning, Claude Code may attempt to use a newer model version that isn't available in your Foundry account, breaking existing users when Anthropic releases updates. When you create Azure deployments, select a specific model version rather than "auto-update to latest."¶
</Warning>¶

Set the model variables to match the deployment names you created in step 1.¶

Without `ANTHROPIC_DEFAULT_OPUS_MODEL`, the `opus` alias on Foundry resolves to Opus 4.6. Set it to the Opus 4.7 ID to use the latest model:¶

```bash theme={null}¶
export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-7'¶
export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'¶
export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'¶
```¶

Background tasks such as session title generation use the small/fast model, normally a Haiku-class model. On Foundry, Claude Code defaults this to the primary model because not every account has a Haiku deployment. To use Haiku for background tasks, set `ANTHROPIC_DEFAULT_HAIKU_MODEL` to a Haiku deployment that is available in your account, as shown above.¶

For current and legacy model IDs, see [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). See [Model configuration](/en/model-config#pin-models-for-third-party-deployments) for the full list of environment variables.¶

[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) is enabled automatically. To request a 1-hour cache TTL instead of the 5-minute default, set the following variable; cache writes with a 1-hour TTL are billed at a higher rate:¶

```bash theme={null}¶
export ENABLE_PROMPT_CACHING_1H=1¶
```¶

## Azure RBAC configuration¶

The `Azure AI User` and `Cognitive Services User` default roles include all required permissions for invoking Claude models.¶

For more restrictive permissions, create a custom role with the following:¶

```json theme={null}¶
{¶
"permissions": [¶
{¶
"dataActions": [¶
"Microsoft.CognitiveServices/accounts/providers/*"¶
]¶
}¶
]¶
}¶
```¶

For details, see [Microsoft Foundry RBAC documentation](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry).¶

## Troubleshooting¶

If you receive an error "Failed to get token from azureADTokenProvider: ChainedTokenCredential authentication failed":¶

* Configure Entra ID on the environment, or set `ANTHROPIC_FOUNDRY_API_KEY`.¶

## Additional resources¶

* [Microsoft Foundry documentation](https://learn.microsoft.com/en-us/azure/ai-foundry/what-is-azure-ai-foundry)¶
* [Microsoft Foundry models](https://ai.azure.com/explore/models)¶
* [Microsoft Foundry pricing](https://azure.microsoft.com/en-us/pricing/details/ai-foundry/)¶

Unified Diff

--- a/microsoft-foundry.md
+++ b/microsoft-foundry.md
@@ -163,6 +163,8 @@
 export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'
 ```
 
+Background tasks such as session title generation use the small/fast model, normally a Haiku-class model. On Foundry, Claude Code defaults this to the primary model because not every account has a Haiku deployment. To use Haiku for background tasks, set `ANTHROPIC_DEFAULT_HAIKU_MODEL` to a Haiku deployment that is available in your account, as shown above.
+
 For current and legacy model IDs, see [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). See [Model configuration](/en/model-config#pin-models-for-third-party-deployments) for the full list of environment variables.
 
 [Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) is enabled automatically. To request a 1-hour cache TTL instead of the 5-minute default, set the following variable; cache writes with a 1-hour TTL are billed at a higher rate: