# How to Customize the Configuration for Continue (continuedev/continue)

> Customize your Continue IDE with a config.yaml file. Easily define LLM providers, system prompts, and feature toggles for a personalized coding experience.

- Repository: [Continue/continue](https://github.com/continuedev/continue)
- Tags: how-to-guide
- Published: 2026-06-18

---

**To customize Continue, create or edit the [`config.yaml`](https://github.com/continuedev/continue/blob/main/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`](https://github.com/continuedev/continue/blob/main/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`](https://github.com/continuedev/continue/blob/main/.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`](https://github.com/continuedev/continue/blob/main/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`](https://github.com/continuedev/continue/blob/main/packages/openai-adapters/package.json).

```yaml
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.

```yaml
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.

```yaml
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`**.

```yaml
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.

```yaml
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.

```yaml
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`](https://github.com/continuedev/continue/blob/main/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`](https://github.com/continuedev/continue/blob/main/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:

1. **Create the configuration file** at either [`.continue/config.yaml`](https://github.com/continuedev/continue/blob/main/.continue/config.yaml) (project) or `~/.continue/config.yaml` (global).
2. **Define your sections** starting with the `model` block to specify your LLM provider.
3. **Validate syntax** using the schema in [`extensions/vscode/config_schema.json`](https://github.com/continuedev/continue/blob/main/extensions/vscode/config_schema.json) to catch errors before reloading.
4. **Reload Continue** by restarting the VS Code extension or running `continue start` from 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`](https://github.com/continuedev/continue/blob/main/packages/config-yaml/src/index.ts) substitutes these at runtime, keeping secrets out of committed files.

```yaml
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`](https://github.com/continuedev/continue/blob/main/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`](https://github.com/continuedev/continue/blob/main/.continue/config.yaml) (project) or `~/.continue/config.yaml` (global).
- The **JSON schema** at [`extensions/vscode/config_schema.json`](https://github.com/continuedev/continue/blob/main/extensions/vscode/config_schema.json) validates all configuration options and enables IDE autocomplete.
- Key sections include **`model`**, **`systemPrompt`**, **`embeddings`**, **`features`**, **`shortcuts`**, and **`workspace`** for 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`](https://github.com/continuedev/continue/blob/main/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`](https://github.com/continuedev/continue/blob/main/extensions/vscode/config_schema.json) and enforced by the parser in [`packages/config-yaml/src/index.ts`](https://github.com/continuedev/continue/blob/main/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`](https://github.com/continuedev/continue/blob/main/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`](https://github.com/continuedev/continue/blob/main/.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.