← PineconeCONTENT HISTORY

Update to Pinecone

Snapshot Sep 30, 2026 · 23:17 UTC · version 1.0.1

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Guide for using the Pinecone CLI (pc) to manage Pinecone resources from the terminal. The CLI supports ALL index types (standard, integrated, sparse) and all vector operations — unlike the MCP which only supports integrated indexes. Use for batch operations, vector management, backups, namespaces, CI/CD automation, and full control over Pinecone resources.",
  "included_files": [
    {
      "relative_path": "references/command-reference.md",
      "size_in_bytes": 6168
    },
    {
      "relative_path": "references/troubleshooting.md",
      "size_in_bytes": 2873
    }
  ],
  "name": "cli",
  "skill_md_contents": "---\nname: cli\ndescription: Guide for using the Pinecone CLI (pc) to manage Pinecone resources from the terminal. The CLI supports ALL index types (standard, integrated, sparse) and all vector operations — unlike the MCP which only supports integrated indexes. Use for batch operations, vector management, backups, namespaces, CI/CD automation, and full control over Pinecone resources.\nargument-hint: install | auth | index [op] | vector [op] | backup | namespace\n---\n\n# Pinecone CLI (`pc`)\n\nManage Pinecone from the terminal. The CLI is especially valuable for vector operations across **all index types** — something the MCP currently can't do.\n\n## CLI vs MCP\n\n| | CLI | MCP |\n|---|---|---|\n| Index types | All (standard, integrated, sparse) | Integrated only |\n| Vector ops (upsert, query, fetch, update, delete) | ✅ | ❌ |\n| Text search on integrated indexes | ✅ | ✅ |\n| Backups, namespaces, org/project mgmt | ✅ | ❌ |\n| CI/CD / scripting | ✅ | ❌ |\n\n---\n\n## Setup\n\n### Install (macOS)\n```bash\nbrew tap pinecone-io/tap\nbrew install pinecone-io/tap/pinecone\n```\n\nOther platforms (Linux, Windows) — download from [GitHub Releases](https://github.com/pinecone-io/cli/releases).\n\n### Authenticate\n\n```bash\n# Interactive (recommended for local dev)\npc login\npc target -o \"my-org\" -p \"my-project\"\n\n# Service account (recommended for CI/CD)\npc auth configure --client-id \"$PINECONE_CLIENT_ID\" --client-secret \"$PINECONE_CLIENT_SECRET\"\n\n# API key (quick testing)\npc config set-api-key $PINECONE_API_KEY\n```\n\nCheck status: `pc auth status` · `pc target --show`\n\n> **Note for agent sessions**: If you need to run `pc login` inside an agent loop, the browser auth link may not surface correctly. It's best to authenticate **before** starting an agent session. Run `pc login` in your terminal directly, then invoke the agent once you're authenticated.\n\n### Authenticating the CLI does not set `PINECONE_API_KEY`\n\n`pc login` authenticates the CLI tool itself — it does **not** set `PINECONE_API_KEY` in your environment. Python scripts, Node.js SDKs, and other tools that use the Pinecone SDK need `PINECONE_API_KEY` set separately.\n\nUse the CLI to create a key and export it in one step:\n\n```bash\nKEY=$(pc api-key create --name agent-sdk-key --json | jq -r '.value')\nexport PINECONE_API_KEY=\"$KEY\"\n```\n\nWithout `jq`: run `pc api-key create --name agent-sdk-key --json` and copy the `\"value\"` field manually.\n\n---\n\n## Common Commands\n\n| Task | Command |\n|---|---|\n| List indexes | `pc index list` |\n| Create serverless index | `pc index create -n my-index -d 1536 -m cosine -c aws -r us-east-1` |\n| Index stats | `pc index stats -n my-index` |\n| Upload vectors from file | `pc index vector upsert -n my-index --file ./vectors.json` |\n| Query by vector | `pc index vector query -n my-index --vector '[0.1, ...]' -k 10 --include-metadata` |\n| Query by vector ID | `pc index vector query -n my-index --id \"doc-123\" -k 10` |\n| Fetch vectors by ID | `pc index vector fetch -n my-index --ids '[\"vec1\",\"vec2\"]'` |\n| List vector IDs | `pc index vector list -n my-index` |\n| Delete vectors by filter | `pc index vector delete -n my-index --filter '{\"genre\":\"classical\"}'` |\n| List namespaces | `pc index namespace list -n my-index` |\n| Create backup | `pc backup create -i my-index -n \"my-backup\"` |\n| JSON output (for scripting) | Add `-j` to any command |\n\n---\n\n## Interesting Things You Can Do\n\n### Query with custom vectors (not just text)\nUnlike the MCP, the CLI lets you query any index with raw vector values — useful when you generate embeddings externally (OpenAI, HuggingFace, etc.):\n```bash\npc index vector query -n my-index \\\n  --vector '[0.1, 0.2, ..., 0.9]' \\\n  --filter '{\"source\":{\"$eq\":\"docs\"}}' \\\n  -k 20 --include-metadata\n```\n\n### Pipe embeddings directly into queries\n```bash\njq -c '.embedding' doc.json | pc index vector query -n my-index --vector - -k 10\n```\n\n### Bulk metadata update with preview\n```bash\n# Preview first\npc index vector update -n my-index \\\n  --filter '{\"env\":{\"$eq\":\"staging\"}}' \\\n  --metadata '{\"env\":\"production\"}' \\\n  --dry-run\n\n# Apply\npc index vector update -n my-index \\\n  --filter '{\"env\":{\"$eq\":\"staging\"}}' \\\n  --metadata '{\"env\":\"production\"}'\n```\n\n### Backup and restore\n```bash\n# Snapshot before a migration\npc backup create -i my-index -n \"pre-migration\"\n\n# Restore to a new index if something goes wrong\npc backup restore -i <backup-uuid> -n my-index-restored\n```\n\n### Automate in CI/CD\n```bash\nexport PINECONE_CLIENT_ID=\"...\"\nexport PINECONE_CLIENT_SECRET=\"...\"\npc auth configure --client-id \"$PINECONE_CLIENT_ID\" --client-secret \"$PINECONE_CLIENT_SECRET\"\npc index vector upsert -n my-index --file ./vectors.jsonl --batch-size 1000\n```\n\n### Script against JSON output\n```bash\n# Get all index names as a list\npc index list -j | jq -r '.[] | .name'\n\n# Check if an index exists before creating\nif ! pc index describe -n my-index -j 2>/dev/null | jq -e '.name' > /dev/null; then\n  pc index create -n my-index -d 1536 -m cosine -c aws -r us-east-1\nfi\n```\n\n---\n\n## Reference Files\n\n- [Full command reference](references/command-reference.md) — all commands with flags and examples\n- [Troubleshooting & best practices](references/troubleshooting.md)\n\n## Documentation\n\n- [CLI Quickstart](https://docs.pinecone.io/reference/cli/quickstart)\n- [Command Reference](https://docs.pinecone.io/reference/cli/command-reference)\n- [Authentication](https://docs.pinecone.io/reference/cli/authentication)\n- [Target Context](https://docs.pinecone.io/reference/cli/target-context)\n- [GitHub Releases](https://github.com/pinecone-io/cli/releases)\n"
}

SHA-256 of public snapshot: cd81b9b33229f76c8b84878dfb85f79ae85683db1a76343d59f44d177fc78748