Env vars OPENROUTER_API_KEY / OPENAI_API_KEY / ANTHROPIC_API_KEY are also picked up.
Run OpenComplete: Pick Model to choose a model (default: qwen/qwen3-coder:free).
Commands
Command
Keybinding
Description
OpenComplete: Suggest at Cursor
Alt+\
Trigger a completion manually
OpenComplete: Accept Next Word
Alt+]
Accept the suggestion word by word
OpenComplete: Pick Model
Browse/search models
OpenComplete: Set API Key
Store the key for a provider
OpenComplete: Toggle Enable / Disable
Toggle completions
Settings
All under opencomplete.*:
Setting
Default
provider
openrouter
model
qwen/qwen3-coder:free
maxTokens
64
temperature
0.1
debounceMs
150
contextLines
40
prefetchIdle
true
prefetchIdleMs
600
partialAccept
true
enabledLanguages
["*"]
How it stays fast
SSE streaming, request aborted the moment it is superseded
Only the latest keystroke's request survives; earlier ones are cancelled
Prefix-keyed LRU cache — repeated states return instantly with zero API calls
Compact windowed context (~40 lines), small max_tokens budget
Idle prefetch warms the cache while the cursor rests at end of line
Post-processing strips fences/prose and dedupes overlapping prefix text
Development
npm install
npm run compile # typecheck + bundle to dist/
npm run watch # rebuild on change
F5 # launch Extension Development Host
npm run package # build .vsix