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.
Summary
The Claude Code memory plugin has already moved away from reusing
ov.confserver.*semantics for client connection settings.Instead, the plugin now uses a dedicated client config file:
~/.openviking/claude-code-memory-plugin/config.jsonOPENVIKING_CC_CONFIG_FILEThis 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:The new model makes the split explicit:
ov.confremains the OpenViking server configconfig.jsonis now the Claude Code plugin client configNew config model
Client config
Path:
~/.openviking/claude-code-memory-plugin/config.jsonOverride:
export OPENVIKING_CC_CONFIG_FILE=/path/to/config.jsonLocal 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:
baseUrlis derived from localov.confserver.portapiKeymay be set explicitly in client configapiKeyis omitted, the plugin falls back to localov.confserver.root_api_keyserver.root_api_keyis also not set, the plugin sends noX-API-KeyServer config path fallback:
~/.openviking/ov.confOPENVIKING_CONFIG_FILERemote mode
Remote mode now requires
baseUrlexplicitly 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:
baseUrlis requiredapiKeyis optional unless the remote server enforces authenticationWhat 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.jsonThis includes fields such as:
agentIdtimeoutMsautoRecallrecallLimitscoreThresholdminQueryLengthlogRankingDetailsautoCapturecaptureModecaptureMaxLengthcaptureTimeoutMscaptureAssistantTurnsdebugdebugLogPathMigration notes
"mode": "local""baseUrl"server.root_api_key, you do not need to duplicate it in client config unless you want an overrideDocs
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.