Skip to content

Claude Code plugin config migration: move client settings out of ov.conf into a dedicated client config #4

@Castor6

Description

@Castor6

Summary

The Claude Code memory plugin has already moved away from reusing ov.conf server.* semantics for client connection settings.

Instead, the plugin now uses a dedicated client config file:

  • Default path: ~/.openviking/claude-code-memory-plugin/config.json
  • Optional override: OPENVIKING_CC_CONFIG_FILE

This issue is to document the change and ask existing users to migrate their plugin-side configuration.

Why this changed

Previously, the Claude Code plugin reused parts of the server config (ov.conf) to describe client connection behavior. That made the boundary between server config and plugin/client config unclear, especially for:

  • local vs remote connection mode
  • plugin-specific behavior settings
  • future client-specific evolution

The new model makes the split explicit:

  • ov.conf remains the OpenViking server config
  • config.json is now the Claude Code plugin client config

New config model

Client config

Path:

~/.openviking/claude-code-memory-plugin/config.json

Override:

export OPENVIKING_CC_CONFIG_FILE=/path/to/config.json

Local mode

Local mode uses a minimal client config and connects to the local OpenViking server.

Example:

{
  "mode": "local",
  "agentId": "claude-code",
  "recallLimit": 6,
  "captureMode": "semantic",
  "captureTimeoutMs": 30000,
  "captureAssistantTurns": false,
  "logRankingDetails": false
}

Behavior:

  • baseUrl is derived from local ov.conf server.port
  • apiKey may be set explicitly in client config
  • if apiKey is omitted, the plugin falls back to local ov.conf server.root_api_key
  • if server.root_api_key is also not set, the plugin sends no X-API-Key

Server config path fallback:

  • default: ~/.openviking/ov.conf
  • override: OPENVIKING_CONFIG_FILE

Remote mode

Remote mode now requires baseUrl explicitly in client config.

Example:

{
  "mode": "remote",
  "baseUrl": "https://your-openviking.example.com",
  "apiKey": "<your-api-key>",
  "agentId": "claude-code",
  "recallLimit": 6,
  "captureMode": "semantic",
  "captureTimeoutMs": 30000,
  "captureAssistantTurns": false,
  "logRankingDetails": false
}

Behavior:

  • baseUrl is required
  • apiKey is optional unless the remote server enforces authentication

What needs to be migrated

If you previously stored Claude Code plugin settings inside ov.conf, especially under a plugin-specific section, please move them into:

~/.openviking/claude-code-memory-plugin/config.json

This includes fields such as:

  • agentId
  • timeoutMs
  • autoRecall
  • recallLimit
  • scoreThreshold
  • minQueryLength
  • logRankingDetails
  • autoCapture
  • captureMode
  • captureMaxLength
  • captureTimeoutMs
  • captureAssistantTurns
  • debug
  • debugLogPath

Migration notes

  • Local users usually only need to create the new client config and set "mode": "local"
  • Remote users must explicitly set "baseUrl"
  • If you already rely on local server.root_api_key, you do not need to duplicate it in client config unless you want an override

Docs

The plugin docs and migration notes have been updated accordingly in the plugin repository.

Requested action

If you are using the Claude Code memory plugin, please migrate your plugin-side settings to the new client config format.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions