Skip to content

Bug: Multiple HTTP context providers only load first one in config.yaml (works correctly in config.json) #9416

@Hondarer

Description

@Hondarer

Before submitting your bug report

Relevant environment info

- OS: Windows 11 (25H2, 26200.7462)
- Continue version: 1.2.11
- IDE: VS Code
- IDE version: 1.107.1

Description

When defining multiple HTTP context providers in config.yaml, only the first provider appears in the @ mention dropdown. However, the same configuration works correctly in config.json, where all providers are displayed. This appears to be a YAML parser or config loading issue specific to handling duplicate provider: http entries.

Additional Context

  • Other context providers (e.g., @code, @docs, @file) work correctly in both config formats
  • The issue specifically affects multiple instances of the same provider type
  • config.yaml takes precedence over config.json when both are present, preventing the use of config.json as a workaround
  • While reverting all settings to config.json (i.e., the deprecated legacy format) would work, this is not a prudent choice
  • config.ts has been deprecated, preventing workarounds via TypeScript configuration
  • VSCode Extension API workaround is possible but requires users to create custom extensions

To reproduce

Create ~/.continue/config.yaml with multiple HTTP context providers:

context:
  - provider: http
    params:
      url: http://localhost:5000/context
      title: http-provider-5000
      displayTitle: HTTP Provider 5000
      description: Retrieve a context item from custom server 5000
  - provider: http
    params:
      url: http://localhost:5001/context
      title: http-provider-5001
      displayTitle: HTTP Provider 5001
      description: Retrieve a context item from custom server 5001
  - provider: http
    params:
      url: http://localhost:5002/context
      title: http-provider-5002
      displayTitle: HTTP Provider 5002
      description: Retrieve a context item from custom server 5002
  1. Reload VS Code
  2. Open Continue chat panel
  3. Type @ to open context provider dropdown

Expected Behavior

All three HTTP providers should appear in the dropdown:

  • HTTP Provider 5000
  • HTTP Provider 5001
  • HTTP Provider 5002

Actual Behavior

Only "HTTP Provider 5000" appears in the dropdown.

Image

Workaround - config.json works correctly

When using the equivalent configuration in config.json, all three providers display correctly:

{
  "contextProviders": [
    {
      "name": "http",
      "params": {
        "url": "http://localhost:5000/context",
        "title": "http-provider-5000",
        "displayTitle": "HTTP Provider 5000",
        "description": "Custom server on port 5000"
      }
    },
    {
      "name": "http",
      "params": {
        "url": "http://localhost:5001/context",
        "title": "http-provider-5001",
        "displayTitle": "HTTP Provider 5001",
        "description": "Custom server on port 5001"
      }
    },
    {
      "name": "http",
      "params": {
        "url": "http://localhost:5002/context",
        "title": "http-provider-5002",
        "displayTitle": "HTTP Provider 5002",
        "description": "Custom server on port 5002"
      }
    }
  ]
}

With this configuration, all three providers appear correctly in the dropdown.

Image

Log output

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:context-providersRelates to context providerside:vscodeRelates specifically to VS Code extensionkind:bugIndicates an unexpected problem or unintended behavioros:windowsHappening specifically on Windows

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions