There are two ways to get an agent into your editor, and they differ in where config lives, what still works, and who handles your data. Worth knowing before you pick, not after.
In this pageboth routes and what each costs. Not in this pagewhich I use. No editor rankings either.
For Claude Code that is anthropic.claude-code, requiring VS Code 1.94.0 or newer,
also available on Open VSX — which many VS Code forks are restricted to.
The important line is easy to skim past:
~/.claude/settings.jsonYou configure once. Permission rules, default model, injected environment — whatever is live in the terminal is live in the editor. When page 8 repoints the endpoint, this halves the work.
The extension ships a CLI for its own chat panel. To run claude in the
integrated terminal you still need the standalone install. Two separate things.
Also worth knowing: VS Code forks usually take the same extension. Cursor is one, so "use Cursor" and "use the Claude Code extension inside Cursor" are different decisions — the latter is Route A, config shared with the CLI.
In Cursor that lives under Cursor Settings › Models — paste a key, save. Supported providers are OpenAI, Anthropic, Google, Azure OpenAI and AWS Bedrock.
The docs are explicit — with your own key, tab completion keeps using Cursor's built-in models. You have replaced part of the stack, not all of it. "My key now covers everything" is wrong.
Cursor states that with your own API key, its zero data retention policy does not apply; handling follows the privacy policy of whichever provider you chose.
Not a question of right or wrong — but you need to know who holds the data now. For company code, settle that before choosing a route.
These get conflated constantly. Checked 2026-08-21, Cursor's API-key page makes no mention of a base URL override — it is about swapping the provider's key, not the endpoint address.
So if your goal is a self-hosted or third-party endpoint (page 7), do not assume the editor's built-in feature does it. Either take Route A — the extension reads a config file, and a config file can hold an endpoint — or use the CLI in the integrated terminal.
To be preciseI can confirm "that page does not document it", not "the product cannot do it". UI and docs change. Check before you rely on it.
| You | Take | Because |
|---|---|---|
| Need a self-hosted or third-party endpoint | Route A | Only a config file can hold an endpoint |
| Use both terminal and editor | Route A | Shared config, set once |
| Just want better tab completion | Neither helps | Completion does not switch, see price one |
| Company code, sensitive data boundary | Settle that first | Route B moves data handling elsewhere |
| Your editor cannot install extensions | Back to the terminal | The CLI works in any terminal. That is the permanent fallback |
Variable set in ~/.zshrc, visible via echo, invisible to the editor —
still prompting to sign in, still on the default endpoint. GUI-launched processes do not inherit a login shell.
The documented fix is code . from a terminal.
The better fix is not depending on environment variables at all: put it in the
env block of the config file, which is read the same way however the app started.
anthropic.claude-code, VS Code 1.94.0+, also on Open VSX, installs into forks.
Official docs also state the extension and CLI share ~/.claude/settings.json, and that the
bundled CLI serves the chat panel only. Checked 2026-08-21.