# Getting Started

Set up AI assistance in Positron: configure a language model provider such as Posit AI, Anthropic, or GitHub Copilot, then open Posit Assistant.

[Posit Assistant](https://pos.it/assistant) is Positron’s new AI chat experience, available as a preview feature in Positron 2026.04.0 and later. To get set up, see the [Posit Assistant documentation](https://pos.it/assistant-docs).

> **WARNING:**
>
> Positron Assistant is the old chat experience and is being superseded by Posit Assistant. It will be removed in a future release, so we recommend using Posit Assistant instead. Positron Assistant remains available for now, and the rest of this guide covers it.

Both assistants connect to the same language model providers, and you configure them the same way. Positron supports the following providers:

| Provider | Chat | Code Completions | Authentication |
|----|:--:|:--:|----|
| Posit AI |  |  | OAuth |
| Anthropic |  |  | API Key |
| GitHub Copilot (Preview) |  |  | GitHub OAuth |
| Amazon Bedrock |  |  | AWS CLI or Posit Workbench Managed Credentials |
| Snowflake Cortex |  |  | API Key or Posit Workbench Managed Credentials |
| Microsoft Foundry (Preview) |  |  | API Key or Posit Workbench Managed Credentials |
| OpenAI |  |  | API Key |
| Google Vertex AI (Experimental) |  |  | Google Cloud CLI or Service Account Credentials |
| Custom Provider (Experimental) |  |  | API Key |

We are actively expanding provider support and welcome your [feedback](https://github.com/posit-dev/positron/discussions) and [issue reports](https://github.com/posit-dev/positron/issues/new/choose)!

Please ensure you consult your provider’s privacy policy for information on the data they collect and how it is used. For reference links, see the [Provider Privacy Information](assistant-provider-info.llms.md) guide.

For information on what information is collected by Posit, review [Posit’s privacy policy](privacy.llms.md).

## Step 1: Configure a language model provider

Posit AI, Anthropic, GitHub Copilot, Amazon Bedrock, Snowflake Cortex, and OpenAI are enabled by default but are not active until you sign in. Other providers are in preview or experimental status and must be enabled through settings.

## Posit AI

> **IMPORTANT:**
>
> Posit AI requires an account. Visit [posit.ai](https://posit.ai/) to learn more and create one.

Posit AI is a hosted language model service from Posit. It provides both chat models and code completions in the form of [Next Edit Suggestions (NES)](assistant-completions.llms.md#posit-ai-next-edit-suggestions-nes).

### Add Posit AI as a language model provider

1.  Run the command *Authentication: Configure Language Model Providers*
2.  Select **Posit AI** as the model provider.
3.  Select the **Sign in** button to initiate Posit AI’s OAuth authentication flow.
    - Complete the authentication flow in your browser, and return to Positron when finished.

## Anthropic

> **IMPORTANT:**
>
> Authentication requires a **Claude Console account with API access**. See Anthropic’s [Claude API and Console](https://support.claude.com/en/collections/5370014-claude-api-and-console) documentation for more information.
>
> Authentication **does not** support logging in to Anthropic with the Claude Pro Plan, Max Plan, or other Claude subscription plans.
>
> How to get an Anthropic API key
>
> To use Anthropic’s Claude models in Positron, you bring your own API key (BYOK). To obtain an API key from Anthropic:
>
> 1.  Log in to or create an account for Anthropic’s [Claude Console](https://platform.claude.com).
> 2.  Navigate to the [API keys](https://platform.claude.com/settings/keys) management page.
> 3.  Select the **Create Key** button.
> 4.  Fill out any required information and select **Add** to generate your API key.
> 5.  Copy and save the API key to a password manager or another secure location.

### Add Anthropic as a language model provider

1.  Run the command *Authentication: Configure Language Model Providers*
2.  Select **Anthropic** as the model provider.
3.  Paste your Claude Console API key into the input box and select **Sign in**.

> **NOTE:**
>
> Alternatively, set the `ANTHROPIC_API_KEY` environment variable to authenticate with Anthropic in Positron.

## GitHub Copilot

> **IMPORTANT:**
>
> GitHub Copilot requires a **GitHub account with Copilot enabled**.
>
> How to get GitHub Copilot access
>
> GitHub Copilot is a proprietary tool from GitHub. If you want to use GitHub Copilot, you need a [subscription for GitHub Copilot](https://docs.github.com/en/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot) in your personal GitHub account or to be assigned a seat by an organization with a subscription for GitHub Copilot for Business.
>
> Students and faculty can use GitHub Copilot for free as part of the GitHub Education program. For more information, see the [GitHub Education page](https://education.github.com/).

### Add GitHub Copilot as a language model provider

1.  Run the command *Authentication: Configure Language Model Providers*
2.  Select **GitHub Copilot** as the model provider.
3.  Select the **Sign in** button to initiate GitHub’s OAuth authentication flow.
    - Complete the authentication flow in your browser, and return to Positron when finished.

> **NOTE:**
>
> You can also sign in to GitHub via the **Accounts** icon in the Activity Bar. To sign out, use the Accounts icon or run the *Accounts: Manage Accounts* command.
>
> Note that the Accounts section manages your GitHub authentication for all extensions that use GitHub, not just AI features.

## Amazon Bedrock

> **IMPORTANT:**
>
> To use Amazon Bedrock in Positron Desktop, you must:
>
> 1.  Have an AWS account with Amazon Bedrock access
> 2.  Have access to foundation models through the AWS Bedrock console ([request access to the foundation models](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access-modify.llms.md))
> 3.  Sign in to your AWS account using the AWS CLI
>
> Sign in with the AWS CLI
>
> 1.  [Download and install the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.llms.md)
> 2.  [Configure your AWS credentials for the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.llms.md)
> 3.  [Sign in with the AWS CLI](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.llms.md)

(Optional) Configure AWS region and profile

Positron reads `AWS_REGION` from your environment automatically. You only need to set it here if your shell does not already have `AWS_REGION` configured and your Bedrock-enabled account is not in `us-east-1` (the default). Use the standard AWS region identifier format (for example, `us-east-1`, `eu-west-1`, `ap-southeast-1`). The [Amazon Bedrock endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/bedrock.llms.md) reference lists the region identifier for each location. You must also ensure the models you want to use are [available in that region](https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.llms.md).

Positron uses your `default` AWS CLI profile when no profile is specified. Set `AWS_PROFILE` if the profile you use for Bedrock is not named `default`, for example when you have a dedicated Bedrock role separate from your general development credentials, or when your Bedrock access lives in a different AWS account. To see your available profiles, run `aws configure list-profiles` in a terminal.

> **NOTE:**
>
> Do not set `AWS_PROFILE` if you use Posit Workbench managed credentials or environment variable credentials (`AWS_ACCESS_KEY_ID`/`AWS_SECRET_ACCESS_KEY`). Both of those paths bypass named profile resolution, and setting a profile name in those cases causes credential resolution to fail.

To set either value, add them to the [`positron.assistant.providerVariables.bedrock`](positron://settings/positron.assistant.providerVariables.bedrock) setting. These override any matching environment variables already set on your system for Positron only; they do not affect your terminal or other tools. Changes require a restart to take effect.

(Optional) Configure inference profile region

Positron uses [cross-region inference profiles](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.llms.md) to route requests across multiple AWS regions for higher availability and throughput. Positron derives the inference profile region automatically from `AWS_REGION` by taking its geographic prefix:

| `AWS_REGION`                       | Derived inference profile region |
|------------------------------------|----------------------------------|
| `us-east-1`, `us-west-2`           | `us`                             |
| `eu-west-1`, `eu-central-1`        | `eu`                             |
| `ap-southeast-1`, `ap-northeast-1` | `apac`                           |

Most users do not need to change this. Use the [`positron.assistant.bedrock.inferenceProfileRegion`](positron://settings/positron.assistant.bedrock.inferenceProfileRegion) setting to override the derived value if:

- Your AWS account has Bedrock model access enabled in a different geographic pool than your `AWS_REGION` implies, for example when you connect through `us-east-1` but want to route inference through `eu` profiles.
- You want to use a `global` inference profile, which Positron cannot derive automatically from any region.

Valid values are `us`, `eu`, `apac`, and `global`. This setting requires a restart to take effect.

> **NOTE:**
>
> If no inference profile exists for your preferred region, Positron falls back to the first available inference profile for that model. If a model has no inference profile at all, it does not appear in the model list.

### Add Amazon Bedrock as a language model provider

1.  Run the command *Authentication: Configure Language Model Providers*
2.  Select **Amazon Bedrock** as the model provider.
3.  Select **Sign in** so Positron can verify your AWS CLI authentication.

## Snowflake Cortex

> **IMPORTANT:**
>
> To use Snowflake Cortex in Positron Desktop, you need a **Snowflake account with Cortex access**, as well as a Snowflake [account identifier](https://docs.snowflake.com/en/user-guide/admin-account-identifier) and [programmatic access token](https://docs.snowflake.com/en/user-guide/programmatic-access-tokens) (PAT).

### Add Snowflake Cortex as a language model provider

1.  Add your `SNOWFLAKE_ACCOUNT` ID to the [`positron.assistant.providerVariables.snowflake`](positron://settings/positron.assistant.providerVariables.snowflake) setting
2.  Run the command *Authentication: Configure Language Model Providers*
3.  Select **Snowflake Cortex** as the model provider.
4.  Paste your Snowflake Cortex PAT into the API key box, then select **Sign in**.

## Microsoft Foundry

> **IMPORTANT:**
>
> To use Microsoft Foundry in Positron Desktop, you must:
>
> 1.  Have a [Microsoft Foundry](https://ai.azure.com/) resource with one or more models deployed
> 2.  Have the endpoint URL and API key for your Foundry resource
>
> Foundry does not support automatic model discovery. Positron defaults to the `model-router` identifier, but you can configure specific models. See [Configure custom model overrides](#configure-custom-model-overrides-msfoundry) below.

### Enable Microsoft Foundry as a provider

Microsoft Foundry provider support is in preview. Opt in to the [`positron.assistant.provider.msFoundry.enable`](positron://settings/positron.assistant.provider.msFoundry.enable) setting to enable it.

### Add Microsoft Foundry as a language model provider

1.  Run the command *Authentication: Configure Language Model Providers*
2.  Select **Microsoft Foundry** as the model provider.
3.  Enter your Foundry endpoint URL in the **Base URL** field and your API key in the **API Key** field, then select **Sign in**.

> **NOTE:**
>
> Positron accepts deployment-based Azure OpenAI URLs (for example, `https://<resource>.openai.azure.com/openai/deployments/<name>/chat/completions?api-version=...`) and automatically normalizes them to the supported v1 format. A message displays when this conversion occurs.

### Configure custom model overrides

To use specific models instead of `model-router`, configure the [`positron.assistant.models.overrides.msFoundry`](positron://settings/positron.assistant.models.overrides.msFoundry) setting:

``` json
"positron.assistant.models.overrides.msFoundry": [
  {
    "name": "gpt-4.1",
    "identifier": "gpt-4.1"
  },
  {
    "name": "gpt-5.3-chat",
    "identifier": "gpt-5.3-chat"
  }
]
```

Use the model name and deployment identifier from your Foundry resource for each entry.

## OpenAI

### Add OpenAI as a language model provider

1.  Run the command *Authentication: Configure Language Model Providers*
2.  Select **OpenAI** as the model provider.
3.  Paste your OpenAI API key into the input box and select **Sign in**.

> **NOTE:**
>
> Use the OpenAI provider to connect to a provider that implements the [OpenAI Responses API](https://platform.openai.com/docs/api-reference/responses), by replacing the base URL with your compatible custom endpoint.

## Google Vertex AI

> **IMPORTANT:**
>
> To use Google Vertex AI in Positron Desktop, you must:
>
> 1.  Have a Google Cloud project with the [Vertex AI API enabled](https://cloud.google.com/vertex-ai/docs/start/cloud-environment)
> 2.  Have access to the foundation models you want to use through [Vertex AI Model Garden](https://cloud.google.com/vertex-ai/generative-ai/docs/model-garden/explore-models)
> 3.  Authenticate with Google Cloud using one of the supported credential flows below
>
> Sign in with Application Default Credentials (ADC)
>
> 1.  [Install the Google Cloud CLI (`gcloud`)](https://cloud.google.com/sdk/docs/install)
> 2.  Run `gcloud auth application-default login` and complete the browser sign-in flow
>
> Sign in with a service account
>
> Set the following environment variables before launching Positron:
>
> - `GOOGLE_CLIENT_EMAIL`: the service account’s client email
> - `GOOGLE_PRIVATE_KEY`: the service account’s private key

### Enable Google Vertex AI as a provider

Google Vertex AI provider support is experimental. Opt in to the [`assistant.provider.googleVertex.enabled`](positron://settings/assistant.provider.googleVertex.enabled) setting to enable it.

### Add Google Vertex AI as a language model provider

1.  Set your Google Cloud project ID and location, using either environment variables or settings:
    - **Environment variables**: Set `GOOGLE_VERTEX_PROJECT` and `GOOGLE_VERTEX_LOCATION` before launching Positron.
    - **Settings**: Add `GOOGLE_VERTEX_PROJECT` and `GOOGLE_VERTEX_LOCATION` entries to the [`authentication.googleVertex.credentials`](positron://settings/authentication.googleVertex.credentials) setting. Settings take precedence over environment variables.
2.  Run the command *Authentication: Configure Language Model Providers*
3.  Select **Google Vertex AI** as the model provider.
4.  Select **Sign in** to authenticate with Google Vertex AI.

## Custom Provider

> **IMPORTANT:**
>
> The custom provider support in Positron is intended for use with any [OpenAI-compatible](https://ai-sdk.dev/providers/openai-compatible-providers) API endpoint that uses the `/v1/chat/completions` endpoint for chat.
>
> We do not recommend using a local model as a custom provider. Read more about why [local models are not there (yet)](https://posit.co/blog/local-models-are-not-there-yet/) on Posit’s blog.

### Enable Custom Provider as a provider

Custom provider support is experimental. Opt in to the [`positron.assistant.provider.customProvider.enable`](positron://settings/positron.assistant.provider.customProvider.enable) setting to enable it.

### Add Custom Provider as a language model provider

1.  Run the command *Authentication: Configure Language Model Providers*
2.  Select **Custom Provider** as the model provider.
3.  Enter your API key and base URL into the input boxes and select **Sign in**.

> **NOTE:**
>
> Some OpenAI-compatible providers might not implement the `/models` endpoint, which Positron uses to list available models. If this is the case for your provider, you can manually configure a model listing using the [`positron.assistant.models.overrides.customProvider`](positron://settings/positron.assistant.models.overrides.customProvider) setting.

## Step 2: Open your assistant

With a language model provider configured, open the assistant you want to use.

### Posit Assistant (recommended)

Posit Assistant is pre-installed in recent versions of Positron. Run the *View: Show Posit Assistant* command in the Command Palette to open the chat panel and start a conversation.

For the full setup guide and feature documentation, see the [Posit Assistant documentation](https://pos.it/assistant-docs).

> **NOTE:**
>
> To use GitHub Copilot with Posit Assistant, you must also enable Positron Assistant by turning on the old [`positron.assistant.enable`](positron://settings/positron.assistant.enable) setting.
>
> Today, Posit Assistant relies on Positron Assistant for GitHub Copilot authentication. Once Positron Assistant is deprecated, Posit Assistant will no longer require this extra step for GitHub Copilot support.

### Positron Assistant (being deprecated)

Positron Assistant is being deprecated, and we recommend Posit Assistant instead. If you still need Positron Assistant:

1.  Enable the setting [`positron.assistant.enable`](positron://settings/positron.assistant.enable).

2.  Restart Positron or run the *Developer: Reload Window* command in the Command Palette.

3.  Select the chat robot icon in the sidebar, or run the command *Chat: Open Chat* in the Command Palette to open the chat:

    [![Assistant Sidebar Icon](images/assistant-sidebar-icon.png)](images/assistant-sidebar-icon.png "Assistant Sidebar Icon")

    Assistant Sidebar Icon

4.  Chat with Assistant by entering your question or request in the chat input box at the bottom of the chat pane, then pressing EnterEnter or the send button.

To learn more about the features of Positron Assistant, check out the following guides:

### Chat pane

A dedicated AI chat pane for coding, troubleshooting, and planning.

### Inline chat

In-context AI assistance within your code Editor, Notebook, or Terminal.

### Code completions

Receive code suggestions directly in your Editor or Notebook.
