Reference
Below are details for each property that can be set in config.json
. The config schema code is found in extensions/vscode/config_schema.json
.
All properties at all levels are optional unless explicitly marked required
models
Your chat models are defined here, which are used for Chat, Edit, and Actions. Each model has specific configuration options tailored to its provider and functionality, which can be seen as suggestions while editing the json.
Properties:
title
(required): The title to assign to your model, shown in dropdowns, etc.provider
(required): The provider of the model, which determines the type and interaction method. Options incluedopenai
,ollama
, etc., see intelliJ suggestions.model
(required): The name of the model, used for prompt template auto-detection.apiKey
: API key required by providers like OpenAI, Anthropic, and Cohere.apiBase
: The base URL of the LLM API.contextLength
: Maximum context length of the model, typically in tokens (default: 2048).maxStopWords
: Maximum number of stop words allowed, to avoid API errors with extensive lists.template
: Chat template to format messages. Auto-detected for most models but can be overridden. See intelliJ suggestions.promptTemplates
: A mapping of prompt template names (e.g.,edit
) to template strings. Customization Guide.completionOptions
: Model-specific completion options, same format as top-levelcompletionOptions
, which they override.systemMessage
: A system message that will precede responses from the LLM.requestOptions
: Model-specific HTTP request options, same format as top-levelrequestOptions
, which they override.apiType
: Specifies the type of API (openai
orazure
).apiVersion
: Azure API version (e.g.,2023-07-01-preview
).engine
: Engine for Azure OpenAI requests.capabilities
: Override auto-detected capabilities:uploadImage
: Boolean indicating if the model supports image uploads.
(AWS Only)
profile
: AWS security profile for authorization.modelArn
: AWS ARN for imported models (e.g., forbedrockimport
provider).region
: Region where the model is hosted (e.g.,us-east-1
,eu-central-1
).
Example:
{
"models": [
{
"title": "Ollama",
"provider": "ollama",
"model": "AUTODETECT"
},
{
"model": "gpt-4o",
"contextLength": 128000,
"title": "GPT-4o",
"provider": "openai",
"apiKey": "YOUR_API_KEY"
}
]
}
tabAutocompleteModel
Specifies the model or models for tab autocompletion, defaulting to an Ollama instance. This property uses the same format as models
. Can be an array of models or an object for one model.
Example
{
"tabAutocompleteModel": {
"title": "My Starcoder",
"provider": "ollama",
"model": "starcoder2:3b"
}
}
tabAutocompleteOptions
Specifies options for tab autocompletion behavior.
Properties:
disable
: Iftrue
, disables tab autocomplete (default:false
).useCopyBuffer
: Iftrue
, includes the copy buffer in the prompt.useFileSuffix
: Iftrue
, includes file suffix in the prompt.maxPromptTokens
: Maximum number of tokens for the prompt.debounceDelay
: Delay (in ms) before triggering autocomplete.maxSuffixPercentage
: Maximum percentage of prompt for suffix.prefixPercentage
: Percentage of input for prefix.template
: Template string for autocomplete, using Mustache templating.multilineCompletions
: Controls multiline completions ("always"
,"never"
, or"auto"
).useCache
: Iftrue
, caches completions.onlyMyCode
: Iftrue
, only includes code within the repository.useOtherFiles
: Iftrue
, includes snippets from other files (default:true
).disableInFiles
: Array of glob patterns for files where autocomplete is disabled.
Example
{
"tabAutocompleteOptions": {
"debounceDelay": 500,
"maxPromptTokens": 1500,
"disableInFiles": ["*.md"]
}
}
embeddingsProvider
Embeddings model settings - the model used for @Codebase and @docs.
Properties:
provider
(required): Specifies the embeddings provider, with options includingtransformers.js
,ollama
,openai
,cohere
,free-trial
,gemini
, etcmodel
: Model name for embeddings.apiKey
: API key for the provider.apiBase
: Base URL for API requests.requestOptions
: Additional HTTP request settings specific to the embeddings provider.maxChunkSize
: Maximum tokens per document chunk. Minimum is 128 tokens.maxBatchSize
: Maximum number of chunks per request. Minimum is 1 chunk.
(AWS ONLY)
region
: Specifies the region hosting the model.profile
: AWS security profile.
Example:
{
"embeddingsProvider": {
"provider": "openai",
"model": "text-embedding-ada-002",
"apiKey": "<API_KEY>",
"maxChunkSize": 256,
"maxBatchSize": 5
}
}
completionOptions
Parameters that control the behavior of text generation and completion settings. Top-level completionOptions
apply to all models, unless overridden at the model level.
Properties:
stream
: Whether to stream the LLM response. Currently only respected by theanthropic
andollama
providers; other providers will always stream (default:true
).temperature
: Controls the randomness of the completion. Higher values result in more diverse outputs.topP
: The cumulative probability for nucleus sampling. Lower values limit responses to tokens within the top probability mass.topK
: The maximum number of tokens considered at each step. Limits the generated text to tokens within this probability.presencePenalty
: Discourages the model from generating tokens that have already appeared in the output.frequencePenalty
: Penalizes tokens based on their frequency in the text, reducing repetition.mirostat
: Enables Mirostat sampling, which controls the perplexity during text generation. Supported by Ollama, LM Studio, and llama.cpp providers (default:0
, where0
= disabled,1
= Mirostat, and2
= Mirostat 2.0).stop
: An array of stop tokens that, when encountered, will terminate the completion. Allows specifying multiple end conditions.maxTokens
: The maximum number of tokens to generate in a completion (default:2048
).numThreads
: The number of threads used during the generation process. Available only for Ollama asnum_thread
.keepAlive
: For Ollama, this parameter sets the number of seconds to keep the model loaded after the last request, unloading it from memory if inactive (default:1800
seconds, or 30 minutes).
Example
{
"completionOptions": {
"stream": false,
"temperature": 0.5
}
}
requestOptions
Default HTTP request options that apply to all models and context providers, unless overridden at the model level.
Properties:
-
timeout
: Timeout for each request to the LLM (default: 7200 seconds). -
verifySsl
: Whether to verify SSL certificates for requests. -
caBundlePath
: Path to a custom CA bundle for HTTP requests - path to.pem
file (or array of paths) -
proxy
: Proxy URL to use for HTTP requests. -
headers
: Custom headers for HTTP requests. -
extraBodyProperties
: Additional properties to merge with the HTTP request body. -
noProxy
: List of hostnames that should bypass the specified proxy. -
clientCertificate
: Client certificate for HTTP requests.cert
: Path to the client certificate file.key
: Path to the client certificate key file.passphrase
: Optional passphrase for the client certificate key file.
Example
{
"requestOptions": {
"headers": {
"X-Auth-Token": "xxx"
}
}
}
reranker
Configuration for the reranker model used in response ranking.
Properties:
name
(required): Reranker name, e.g.,cohere
,voyage
,llm
,free-trial
,huggingface-tei
params
:model
: Model nameapiKey
: Api key
Example
{
"reranker": {
"name": "voyage",
"params": {
"model": "rerank-2",
"apiKey": "<VOYAGE_API_KEY>"
}
}
}
docs
List of documentation sites to index.
Properties:
title
(required): Title of the documentation site, displayed in dropdowns, etc.startUrl
(required): Start page for crawling - usually root or intro page for docsrootUrl
: Crawler will only index docs within this domain - pages that contain this URLmaxDepth
: Maximum depth for crawling. Default3
favicon
: URL for site favicon (default is/favicon.ico
fromstartUrl
).
Example
"docs": [
{
"title": "Continue",
"startUrl": "https://docs.continue.dev/intro",
"rootUrl": "https://docs.continue.dev",
"faviconUrl": "https://docs.continue.dev/favicon.ico",
}
]
analytics
Configuration for analytics tracking.
Properties:
provider
: Analytics provider ("posthog"
or"logstash"
).url
: URL for analytics data.clientKey
: Client key for analytics.
slashCommands
Custom commands initiated by typing "/" in the sidebar. Commands include predefined functionality or may be user-defined.
Properties:
name
: The command name. Options include "issue", "share", "cmd", "edit", "comment", "http", "commit", and "review".description
: Brief description of the command.step
: (Deprecated) Used for built-in commands; set the name for pre-configured options.params
: Additional parameters to configure command behavior (command-specific - see code for command)
Example:
{
"slashCommands": [
{
"name": "commit",
"description": "Generate a commit message"
},
{
"name": "comment",
"description": "Write comments for the selected code"
},
{
"name": "share",
"description": "Export this session as markdown"
},
{
"name": "cmd",
"description": "Generate a shell command"
}
]
}
customCommands
User-defined commands for prompt shortcuts in the sidebar, allowing quick access to common actions.
Properties:
name
: The name of the custom command.prompt
: Text prompt for the command.description
: Brief description explaining the command's function.
Example:
{
"customCommands": [
{
"name": "test",
"prompt": "Write a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.",
"description": "Write unit tests for highlighted code"
}
]
}
contextProviders
List of the pre-defined context providers that will show up as options while typing in the chat, and their customization with params
.
Properties:
name
: Name of the context provider, e.g.docs
orweb
params
: A context-provider-specific record of params to configure the context behavior
Example
{
"contextProviders": [
{
"name": "code",
"params": {}
},
{
"name": "docs",
"params": {}
},
{
"name": "diff",
"params": {}
},
{
"name": "open",
"params": {}
}
]
}
disableSessionTitles
Prevents generating summary titles for each chat session when set to true
.
ui
Customizable UI settings to control interface appearance and behavior.
Properties:
codeBlockToolbarPosition
: Sets the toolbar position within code blocks, eithertop
(default) orbottom
.fontSize
: Specifies font size for UI elements.displayRawMarkdown
: Iftrue
, shows raw markdown in responses.showChatScrollbar
: Iftrue
, enables a scrollbar in the chat window.
Example:
{
"ui": {
"codeBlockToolbarPosition": "bottom",
"fontSize": 14,
"displayRawMarkdown": false
}
}
allowAnonymousTelemetry
When true
, anonymous usage data is collected using Posthog, to improve features. Default is true
.
userToken
An optional token that identifies the user, primarily for authenticated services.
systemMessage
Defines a system message that appears before every response from the language model, providing guidance or context.
disableIndexing
Prevents indexing of the codebase, useful primarily for debugging purposes.
experimental
Several experimental config parameters are available, as described below:
experimental
:
defaultContext
: Defines the default context for the LLM. Uses the same format ascontextProviders
but includes an additionalquery
property to specify custom query parameters.=modelRoles
:inlineEdit
: Model title for inline edits.applyCodeBlock
: Model title for applying code blocks.repoMapFileSelection
: Model title for repo map selections.
readResponseTTS
: Iftrue
, reads LLM responses aloud with TTS. Default istrue
.promptPath
: Change the path to custom prompt files from the default ".prompts"quickActions
: Array of custom quick actionstitle
(required): Display title for the quick action.prompt
(required): Prompt for quick action.sendToChat
: Iftrue
, sends result to chat; else inserts in document. Default isfalse
.
contextMenuPrompts
:comment
: Prompt for commenting code.docstring
: Prompt for adding docstrings.fix
: Prompt for fixing code.optimize
: Prompt for optimizing code.fixGrammar
: Prompt for fixing grammar or spelling.
useChromiumForDocsCrawling
: Use chromium to crawl docs instead of default lighter-weight tool that can't render sites. Downloads and installs Chromium to~/.continue/.utils
.
Example
{
"experimental": {
"modelRoles": {
"inlineEdit": "Edit Model"
},
"promptPath": "custom/.prompts",
"quickActions": [
{
"title": "Tags",
"prompt": "Return a list of any function and class names from the included code block",
"sendToChat": true
}
],
"contextMenuPrompts": {
"fixGrammar": "Fix grammar in the above but allow for typos."
},
"readResponseTTS": false,
"useChromiumForDocsCrawling": true
}
}