# Open in…

> Send the current page to ChatGPT, Claude, Gemini, GitHub Copilot, Perplexity, and 11 other LLM chats.

The **Open in…** group is the heart of the plugin: a submenu that opens the current page in your chosen LLM chat, using the most reliable strategy each provider supports today.

The plugin ships with **sixteen** built-in providers. Five are enabled by default; the rest are off by default and opt-in.

## Default-on providers

| Provider       | Strategy         | Notes                                        |
| -------------- | ---------------- | -------------------------------------------- |
| ChatGPT        | `url-prompt`     | `chatgpt.com/?q=` prefill                    |
| Claude         | `clipboard-open` | Copies prompt, opens `claude.ai/new`         |
| Gemini         | `clipboard-open` | Copies prompt, opens `gemini.google.com/app` |
| GitHub Copilot | `url-prompt`     | `github.com/copilot?prompt=` prefill         |
| Perplexity     | `url-prompt`     | `perplexity.ai/?q=` prefill                  |

For the full catalog (including Cursor, T3 Chat, DeepSeek, DuckDuckGo AI Chat, Grok, HuggingChat, Kagi, Mistral, Phind, You.com, and Google AI Studio), see [Configuration: Providers](/starlight-llm-actions/configuration/providers/#the-full-catalog).

For an explanation of each strategy and *why* the per-provider choice was made, see [Concepts: per-provider strategies](/starlight-llm-actions/getting-started/concepts/#strategies).

## Default behavior

With no configuration, the five default-on providers are enabled and the submenu is labelled **Open in…**.

```js
starlightLlmActions()
```

## Disable the entire submenu

```js
starlightLlmActions({
  actions: {
    openIn: false,
  },
})
```

The submenu disappears from the dropdown. The other actions (Copy, View, PDF) still work.

## Disable a single provider

Pass an object instead of a boolean and override individual providers:

```js
starlightLlmActions({
  actions: {
    openIn: {
      providers: {
        copilot: false,
        gemini: false,
      },
    },
  },
})
```

## Opt in to default-off providers

Default-off providers (Cursor, T3 Chat, Kagi, Grok, etc.) require an explicit `true` (or an override object) to appear in the submenu:

```js
starlightLlmActions({
  actions: {
    openIn: {
      providers: {
        cursor: true,
        t3chat: true,
        kagi: true,
      },
    },
  },
})
```

## Customise a provider

Each provider accepts a full [ProviderOverride](/starlight-llm-actions/configuration/reference/#provideroverride):

```js
starlightLlmActions({
  actions: {
    openIn: {
      providers: {
        chatgpt: {
          label: 'ChatGPT (work account)',
          prompt: 'Summarise the linked Acme docs page: {url}',
        },
        cursor: {
          // Passing an override object also opts a default-off provider in.
          maxBytes: 4000, // tighter cap than the 8 KB default
          fallbackStrategy: 'clipboard-open',
        },
      },
    },
  },
})
```

See [Configuration: Providers](/starlight-llm-actions/configuration/providers/) for the full per-provider matrix and all overridable fields.

## Customise the prompt

The same prompt is used for every provider that doesn’t override it. To change the global prompt:

```js
starlightLlmActions({
  prompt: 'Read this Acme docs page and answer in plain English: {md_url}',
})
```

`{md_url}` is substituted with the absolute URL of the current page’s `.md` route (clean markdown). Use `{url}` for the rendered HTML URL instead. For `inline-content` providers, you can use `{prompt_with_markdown}` in the URL template to also include the page body.

## Rename the submenu

```js
starlightLlmActions({
  actions: {
    openIn: {
      label: 'Ask an LLM',
    },
  },
})
```

## See also

* [Configuration: Providers](/starlight-llm-actions/configuration/providers/) — every overridable field and the built-in defaults.
* [Concepts](/starlight-llm-actions/getting-started/concepts/) — strategies and how prompts are assembled.