Background Info
- OS: macOS (Darwin 25.x)
- Browser: N/A (CLI-only; no browser involved)
- CLI Version: 0.4.5 (output of
pc version)
- How did you install the CLI? Homebrew
Reproduction steps
Steps:
- Confirm the index has vectors under the empty-string namespace, e.g.
pc index stats --index-name <index-name> shows a "" key in namespaces with a non-zero vector_count.
- Save a query vector as a JSON file containing only a JSON array of floats (e.g.
vec.json with [0.1, 0.2, ...]).
- Authenticate with
pc (e.g. browser login / user token) and set project context with pc target as usual.
- Run:
pc index vector query \
--index-name <index-name> \
--namespace "" \
--vector vec.json \
--top-k 5 \
--include-metadata \
--json
- Observe the CLI output: it reports
Namespace: __default__ (human table) or JSON containing "namespace":"__default__", with no matches (or an empty table), even though stats show vectors under "".
Expected behavior
The query should target namespace "", consistent with Pinecone REST POST https://<index-host>/query when the request body includes "namespace": "".
Screenshots
CLI output is effectively only {"namespace":"__default__"} with no useful matches, or the human-readable table shows Namespace: __default__ with no rows, while pc index stats still shows all vectors under the "" namespace key.
Additional context
Add any other context about the problem here.
- Actual vs REST: The same query vector sent via REST
POST /query with "namespace": "" returns expected neighbours; the issue appears specific to how the CLI passes or defaults --namespace.
- Hypothesis: Empty
--namespace may be treated as unset and fall back to __default__, rather than being sent as an explicit empty string.
- Workaround: Use the data-plane REST
POST https://<index-host>/query with "namespace": "" in the JSON body until CLI behaviour matches.
Background Info
pc version)Reproduction steps
Steps:
pc index stats --index-name <index-name>shows a""key innamespaceswith a non-zerovector_count.vec.jsonwith[0.1, 0.2, ...]).pc(e.g. browser login / user token) and set project context withpc targetas usual.Namespace: __default__(human table) or JSON containing"namespace":"__default__", with nomatches(or an empty table), even though stats show vectors under"".Expected behavior
The query should target namespace
"", consistent with Pinecone RESTPOST https://<index-host>/querywhen the request body includes"namespace": "".Screenshots
CLI output is effectively only
{"namespace":"__default__"}with no usefulmatches, or the human-readable table showsNamespace: __default__with no rows, whilepc index statsstill shows all vectors under the""namespace key.Additional context
Add any other context about the problem here.
POST /querywith"namespace": ""returns expected neighbours; the issue appears specific to how the CLI passes or defaults--namespace.--namespacemay be treated as unset and fall back to__default__, rather than being sent as an explicit empty string.POST https://<index-host>/querywith"namespace": ""in the JSON body until CLI behaviour matches.