router-for-me/CLIProxyAPI · error

home kv store unavailable

Error message

home kv store unavailable

What it means

Error "home kv store unavailable" thrown in router-for-me/CLIProxyAPI.

Source

Thrown at internal/home/kv_helpers.go:67

func KVSetJSONRequired(ctx context.Context, key string, value any, ttl time.Duration) (bool, error) {
	raw, errMarshal := json.Marshal(value)
	if errMarshal != nil {
		return false, errMarshal
	}
	return KVSetBytesRequired(ctx, key, raw, ttl)
}

func KVSetBytesRequired(ctx context.Context, key string, value []byte, ttl time.Duration) (bool, error) {
	client, homeMode, errClient := CurrentKVClient()
	if !homeMode || errClient != nil {
		return homeMode, errClient
	}
	written, errSet := client.KVSet(ctx, key, value, kvSetOptionsForTTL(ttl))
	if errSet != nil {
		return true, errSet
	}
	if !written {
		return true, fmt.Errorf("home kv store unavailable")
	}
	return true, nil
}

func KVSetNXRequired(ctx context.Context, key string, value []byte, ttl time.Duration) (bool, bool, error) {
	client, homeMode, errClient := CurrentKVClient()
	if !homeMode || errClient != nil {
		return homeMode, false, errClient
	}
	written, errSet := client.KVSetNX(ctx, key, value, ttl)
	return true, written, errSet
}

func KVDelRequired(ctx context.Context, keys ...string) (bool, int64, error) {
	client, homeMode, errClient := CurrentKVClient()
	if !homeMode || errClient != nil {
		return homeMode, 0, errClient
	}

View on GitHub (pinned to 78f0c4079e)

Solutions

  1. Ensure the home cluster connection is established before accessing the KV store.
  2. Retry once the home client has completed cluster discovery.

When it happens

Trigger: Thrown at internal/home/kv_helpers.go:67 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of router-for-me/CLIProxyAPI@78f0c4079e (2026-08-15). Data as JSON: /api/errors/f78cb25072320a78. Report an issue: GitHub.