How to Customize the Configuration for Continue (continuedev/continue)
To customize Continue, create or edit the config.yaml file in your project's .continue directory (or ~/.continue/ for global settings) to define LLM providers, system prompts, and feature toggles validated against the schema in extensions/vscode/config_schema.json.
Continue is an open-source AI code assistant where all behavior is driven by a user-editable YAML configuration file. Whether you are using the VS Code extension or the CLI, modifying this file allows you to tailor the assistant to your specific models, coding standards, and project structure according to the source code in continuedev/continue.
Locating the Configuration File
Continue supports both project-specific and global configuration files, allowing you to maintain base settings across your machine while overriding them for individual repositories.
Project-Level Configuration
For repository-specific settings, create a file at .continue/config.yaml in your project root. This file takes precedence over global settings and should be committed to version control if you want to share standardized settings with your team.
Global User Configuration
For settings that apply across all projects, edit the file at ~/.continue/config.yaml (or the equivalent path on your operating system). The global configuration serves as a fallback when project-level settings are absent.
Core Configuration Sections
The configuration file controls every aspect of Continue's behavior through distinct sections. The JSON schema defined in extensions/vscode/config_schema.json validates these sections and provides autocomplete in supported editors.
Model Settings
The model section specifies your LLM provider and model name. You can configure providers such as OpenAI, Anthropic, or Cohere, or any adapter supported by the openai-adapters package referenced in packages/openai-adapters/package.json.
model:
provider: openai
model: gpt-4o
temperature: 0.2
maxTokens: 2048
System Prompts
Use systemPrompt to override the default instructions given to the assistant. This shapes the tone, expertise level, and constraints of the AI responses.
systemPrompt: |
You are a senior TypeScript developer. Provide concise, type-safe code suggestions.
Embeddings Configuration
The embeddings section configures vector-based retrieval for codebase search. Options include OpenAI, HuggingFace, or local embedding models.
embeddings:
provider: openai
model: text-embedding-ada-002
Custom Shortcuts and Debugging
Define UI shortcuts using the shortcuts array, and enable verbose logging for troubleshooting with debug.
shortcuts:
- name: "Run Tests"
command: "npm test"
debug: true
Feature Toggles
Control which Continue modules are active using the features section. Disable unused features to improve performance.
features:
chat: true
search: true
diff: false
Workspace Indexing
Define which files are included or excluded from the codebase index under workspace. This controls what context the AI can access.
workspace:
include:
- "src/**/*.ts"
exclude:
- "node_modules/**"
- "**/*.test.js"
Configuration Schema and Validation
All configuration options are strictly typed and validated. The schema file at extensions/vscode/config_schema.json defines every valid key and value type, enabling IDE autocomplete and error detection.
At runtime, the loader in packages/config-yaml/src/index.ts parses the YAML, substitutes environment variables, merges global and project configurations, and applies default values for missing fields.
Step-by-Step Customization Workflow
Follow this process to modify Continue's behavior:
- Create the configuration file at either
.continue/config.yaml(project) or~/.continue/config.yaml(global). - Define your sections starting with the
modelblock to specify your LLM provider. - Validate syntax using the schema in
extensions/vscode/config_schema.jsonto catch errors before reloading. - Reload Continue by restarting the VS Code extension or running
continue startfrom the CLI to apply changes.
Advanced Customization Techniques
Merging Global and Project-Level Settings
Continue automatically merges configurations, with project-level values taking precedence over global ones. Define base models and API keys globally, then override specific prompts or temperature settings per project.
Using Environment Variables
Reference sensitive data or dynamic values using the ${ENV_VAR} syntax. The parser in packages/config-yaml/src/index.ts substitutes these at runtime, keeping secrets out of committed files.
model:
provider: openai
apiKey: ${OPENAI_API_KEY}
Adding Custom Model Providers
The model.provider field accepts any provider implemented in the openai-adapters package. Check packages/openai-adapters/package.json for the complete list of supported adapters, or specify custom endpoints for self-hosted models.
Documentation Reference
Detailed guides for specific customization scenarios are located in the docs/customize/ directory within the repository, covering topics like model providers, prompts, and context providers.
Summary
- Continue uses a YAML configuration file located at
.continue/config.yaml(project) or~/.continue/config.yaml(global). - The JSON schema at
extensions/vscode/config_schema.jsonvalidates all configuration options and enables IDE autocomplete. - Key sections include
model,systemPrompt,embeddings,features,shortcuts, andworkspacefor comprehensive control over AI behavior. - Environment variables can be injected using
${ENV_VAR}syntax to handle sensitive credentials securely. - Configurations merge automatically, with project-level settings overriding global defaults.
Frequently Asked Questions
Where is the Continue configuration file stored?
Continue looks for config.yaml in two locations: the .continue/ directory within your project root for project-specific settings, and ~/.continue/ in your home directory for global user settings. The project configuration takes precedence when both exist.
What is the configuration schema for Continue?
The configuration schema is defined in extensions/vscode/config_schema.json and enforced by the parser in packages/config-yaml/src/index.ts. This schema specifies valid keys, value types, and default settings for all Continue options including model providers, temperature, and feature toggles.
How do I use environment variables in Continue configuration?
You can reference environment variables anywhere in your config.yaml using the ${ENV_VAR} syntax. When Continue loads the configuration, the parser substitutes these placeholders with actual values from your environment, allowing you to keep API keys and sensitive data out of version control.
Can I have different configurations for different projects?
Yes. Create a .continue/config.yaml file in each project's root directory. Continue automatically merges these project-specific settings with your global ~/.continue/config.yaml, applying project-level overrides while retaining global defaults for unspecified options.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →