Skip to content

Open in…

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.

ProviderStrategyNotes
ChatGPTurl-promptchatgpt.com/?q= prefill
Claudeclipboard-openCopies prompt, opens claude.ai/new
Geminiclipboard-openCopies prompt, opens gemini.google.com/app
GitHub Copiloturl-promptgithub.com/copilot?prompt= prefill
Perplexityurl-promptperplexity.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.

For an explanation of each strategy and why the per-provider choice was made, see Concepts: per-provider strategies.

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

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

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

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

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

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

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

Each provider accepts a full ProviderOverride:

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 for the full per-provider matrix and all overridable fields.

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

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.

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