{"id":"e24e65da-d67d-43b9-8506-a40df2ebe665","shortId":"bnrJFn","kind":"skill","title":"pinecone-cli","tagline":"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, ba","description":"# 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)","tags":["pinecone","cli","skills","pinecone-io","agent-skills","agents","semantic-search","skills-sh"],"capabilities":["skill","source-pinecone-io","skill-pinecone-cli","topic-agent-skills","topic-agents","topic-pinecone","topic-semantic-search","topic-skills-sh"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/pinecone-io/skills/pinecone-cli","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add pinecone-io/skills","source_repo":"https://github.com/pinecone-io/skills","install_from":"skills.sh"}},"qualityScore":"0.456","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 12 github stars · SKILL.md body (5,092 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:07:26.897Z","embedding":null,"createdAt":"2026-05-18T19:07:26.897Z","updatedAt":"2026-05-18T19:07:26.897Z","lastSeenAt":"2026-05-18T19:07:26.897Z","tsv":"'-123':422 '/dev/null':732,736 '/pinecone-io/cli/releases)':797 '/pinecone-io/cli/releases).':130 '/reference/cli/authentication)':787 '/reference/cli/command-reference)':783 '/reference/cli/quickstart)':778 '/reference/cli/target-context)':792 '/tap':113 '/tap/pinecone':119 '/vectors.json':389 '/vectors.jsonl':691 '0.1':402,543 '0.2':544 '0.9':545 '1':366,755 '10':404,424,575 '1000':695 '1536':357,746 '2':731 '20':551 'account':151 'across':62 'add':493 'agent':193,204,222,234,305,327 'agent-sdk-key':304,326 'api':170,178,181,246,260,279,300,314,322 'api-key':299,321 'appli':602 'auth':156,186,208,668 'authent':131,218,238,239,250,784 'autom':655 'aw':361,750 'ba':45 'backup':98,477,479,488,618,627,647 'bash':107,132,296,533,560,581,621,658,700 'batch':41,693 'batch-siz':692 'best':216,770 'brew':108,114 'browser':207 'bulk':576 'c':360,562,749 'check':183,715 'ci/cd':102,154,657 'classic':465 'cli':3,9,19,47,55,73,76,241,252,285,514,774 'client':159,162,165,168,661,665,671,674,677,680 'client-id':158,670 'client-secret':164,676 'command':338,340,497,760,764,779 'common':337 'config':175 'configur':157,669 'context':789 'copi':332 'correct':213 'cosin':359,748 'creat':287,302,324,346,351,476,480,628,721,740 'current':69 'custom':505 'd':356,745 'delet':92,451,458 'describ':725 'dev':137 'direct':230,557 'doc':421,549 'doc.json':564 'docs.pinecone.io':777,782,786,791 'docs.pinecone.io/reference/cli/authentication)':785 'docs.pinecone.io/reference/cli/command-reference)':781 'docs.pinecone.io/reference/cli/quickstart)':776 'docs.pinecone.io/reference/cli/target-context)':790 'document':773 'download':124 'dri':600 'dry-run':599 'e':734 'east':365,754 'embed':528,556,563 'env':593,597,612,616 'environ':264 'eq':548,594,613 'especi':57 'etc':532 'exampl':768 'exist':719 'export':291,312,659,663 'extern':529 'fetch':90,425,432 'fi':756 'field':335 'file':379,388,690,758 'filter':454,463,546,592,611 'first':583 'flag':766 'full':759 'generat':527 'genr':464 'get':701 'github':126,793 'github.com':129,796 'github.com/pinecone-io/cli/releases)':795 'github.com/pinecone-io/cli/releases).':128 'goe':644 'guid':4 'huggingfac':531 'id':160,163,411,420,428,437,442,662,672,675 'includ':406,553 'include-metadata':405,552 'index':22,38,64,78,97,342,344,348,350,355,367,370,375,381,387,394,400,413,419,430,436,444,450,456,462,469,475,484,519,535,541,566,572,585,591,604,610,632,641,653,683,689,703,709,718,724,729,739,744 'insid':202 'instal':105,115 'integr':25,37,82,84,96 'interact':133 'interest':498 'invok':232 'io':112,118 'j':494,711,730 'jq':309,318,561,712,733 'json':308,330,489,698 'k':403,423,550,574 'key':171,179,182,247,261,280,289,297,301,307,315,316,323,329 'let':515 'link':209 'linux':122 'list':341,345,440,446,466,471,707,710 'local':136 'login':139,201,226,249 'loop':205 'm':358,747 'maco':106 'manag':12,44,49 'manual':336 'may':210 'mcp':33,68,75,77,512 'metadata':407,554,577,596,615 'mgmt':101 'migrat':625,636 'my-backup':486 'my-index':353,373,385,398,417,434,448,460,473,482,539,570,589,608,630,687,727,742 'my-index-restor':651 'my-org':143 'my-project':147 'n':352,372,384,397,416,433,447,459,472,485,538,569,588,607,633,650,686,726,741 'name':303,325,704,714,735 'namespac':99,467,470 'need':197,277 'new':640 'node.js':267 'note':191 'o':142 'one':294 'op':87 'openai':530 'oper':30,42,61 'org':145 'org/project':100 'output':490,699 'p':146 'pc':10,48,138,140,155,174,185,188,200,225,248,298,320,343,349,369,380,393,412,429,443,455,468,478,534,565,584,603,626,646,667,682,708,723,738 'pinecon':2,8,13,46,50,111,117,161,167,180,245,259,275,278,313,660,664,673,679 'pinecone-c':1 'pinecone-io':110,116 'pipe':555 'platform':121 'practic':771 'pre':635 'pre-migr':634 'preview':580,582 'product':598,617 'project':149 'python':265 'queri':89,390,396,408,415,503,517,537,559,568 'quick':172 'quickstart':775 'r':310,362,713,751 'raw':521 're':237 'recommend':134,152 'refer':757,761,780 'references/command-reference.md':762 'references/troubleshooting.md':772 'releas':127,794 'resourc':14 'restor':620,637,648,654 'run':199,224,319,601 'script':103,266,492,696 'sdk':276,306,328 'sdks':268 'search':94 'secret':166,169,666,678,681 'separ':282 'serverless':347 'servic':150 'session':194,223 'set':177,244,258,281 'set-api-key':176 'setup':104 'show':190 'size':694 'skill' 'skill-pinecone-cli' 'snapshot':622 'someth':66,643 'sourc':547 'source-pinecone-io' 'spars':26,83 'stage':595,614 'standard':24,81 'start':220 'stat':368,371 'status':184,187 'step':295 'support':20,36 'surfac':212 'tap':109 'target':141,189,788 'task':339 'termin':17,53,229 'test':173 'text':93,509 'thing':499 'tool':253,271 'topic-agent-skills' 'topic-agents' 'topic-pinecone' 'topic-semantic-search' 'topic-skills-sh' 'troubleshoot':769 'type':23,65,79 'unlik':31,510 'updat':91,578,587,606 'upload':376 'upsert':88,383,685 'us':364,753 'us-east':363,752 'use':6,39,273,283,524 'valu':311,334,523 'valuabl':58 'vec1':438 'vec2':439 'vector':29,43,60,86,377,382,392,395,401,410,414,426,431,441,445,452,457,506,522,536,542,567,573,586,605,684 'vs':74 'window':123 'without':317 'wrong':645","prices":[{"id":"5348b7cf-b38d-4b89-b6a5-d3e7c569331e","listingId":"e24e65da-d67d-43b9-8506-a40df2ebe665","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"pinecone-io","category":"skills","install_from":"skills.sh"},"createdAt":"2026-05-18T19:07:26.897Z"}],"sources":[{"listingId":"e24e65da-d67d-43b9-8506-a40df2ebe665","source":"github","sourceId":"pinecone-io/skills/pinecone-cli","sourceUrl":"https://github.com/pinecone-io/skills/tree/main/skills/pinecone-cli","isPrimary":false,"firstSeenAt":"2026-05-18T19:07:26.897Z","lastSeenAt":"2026-05-18T19:07:26.897Z"}],"details":{"listingId":"e24e65da-d67d-43b9-8506-a40df2ebe665","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"pinecone-io","slug":"pinecone-cli","github":{"repo":"pinecone-io/skills","stars":12,"topics":["agent-skills","agents","pinecone","retrieval-augmented-generation","semantic-search","skills-sh"],"license":"mit","html_url":"https://github.com/pinecone-io/skills","pushed_at":"2026-05-07T04:32:27Z","description":"Pinecone's official Agent Skills library, for use with agentic IDEs such as Cursor, Github Copilot, Antigravity, Gemini CLI and more.","skill_md_sha":"161aaa1d80a152d4c2343abc330356beabdc9fa0","skill_md_path":"skills/pinecone-cli/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/pinecone-io/skills/tree/main/skills/pinecone-cli"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"pinecone-cli","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."},"skills_sh_url":"https://skills.sh/pinecone-io/skills/pinecone-cli"},"updatedAt":"2026-05-18T19:07:26.897Z"}}