{"id":"f6abf2bd-90ff-43ff-9267-dfbcd1f5bfec","shortId":"WR8Pkf","kind":"skill","title":"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":["cli","gemini","extension","pinecone-io","agent-skills","agentic-ides","gemini-cli","gemini-cli-extension","pinecone","semantic-search","vector-search"],"capabilities":["skill","source-pinecone-io","skill-cli","topic-agent-skills","topic-agentic-ides","topic-gemini-cli","topic-gemini-cli-extension","topic-pinecone","topic-semantic-search","topic-vector-search"],"categories":["gemini-cli-extension"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/pinecone-io/gemini-cli-extension/cli","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add pinecone-io/gemini-cli-extension","source_repo":"https://github.com/pinecone-io/gemini-cli-extension","install_from":"skills.sh"}},"qualityScore":"0.461","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 23 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-01T07:01:44.639Z","embedding":null,"createdAt":"2026-04-18T22:24:44.671Z","updatedAt":"2026-05-01T07:01:44.639Z","lastSeenAt":"2026-05-01T07:01:44.639Z","tsv":"'-123':420 '/dev/null':730,734 '/pinecone-io/cli/releases)':795 '/pinecone-io/cli/releases).':128 '/reference/cli/authentication)':785 '/reference/cli/command-reference)':781 '/reference/cli/quickstart)':776 '/reference/cli/target-context)':790 '/tap':111 '/tap/pinecone':117 '/vectors.json':387 '/vectors.jsonl':689 '0.1':400,541 '0.2':542 '0.9':543 '1':364,753 '10':402,422,573 '1000':693 '1536':355,744 '2':729 '20':549 'account':149 'across':60 'add':491 'agent':191,202,220,232,303,325 'agent-sdk-key':302,324 'api':168,176,179,244,258,277,298,312,320 'api-key':297,319 'appli':600 'auth':154,184,206,666 'authent':129,216,236,237,248,782 'autom':653 'aw':359,748 'ba':43 'backup':96,475,477,486,616,625,645 'bash':105,130,294,531,558,579,619,656,698 'batch':39,691 'batch-siz':690 'best':214,768 'brew':106,112 'browser':205 'bulk':574 'c':358,560,747 'check':181,713 'ci/cd':100,152,655 'classic':463 'cli':1,7,17,45,53,71,74,239,250,283,512,772 'client':157,160,163,166,659,663,669,672,675,678 'client-id':156,668 'client-secret':162,674 'command':336,338,495,758,762,777 'common':335 'config':173 'configur':155,667 'context':787 'copi':330 'correct':211 'cosin':357,746 'creat':285,300,322,344,349,474,478,626,719,738 'current':67 'custom':503 'd':354,743 'delet':90,449,456 'describ':723 'dev':135 'direct':228,555 'doc':419,547 'doc.json':562 'docs.pinecone.io':775,780,784,789 'docs.pinecone.io/reference/cli/authentication)':783 'docs.pinecone.io/reference/cli/command-reference)':779 'docs.pinecone.io/reference/cli/quickstart)':774 'docs.pinecone.io/reference/cli/target-context)':788 'document':771 'download':122 'dri':598 'dry-run':597 'e':732 'east':363,752 'embed':526,554,561 'env':591,595,610,614 'environ':262 'eq':546,592,611 'especi':55 'etc':530 'exampl':766 'exist':717 'export':289,310,657,661 'extern':527 'fetch':88,423,430 'fi':754 'field':333 'file':377,386,688,756 'filter':452,461,544,590,609 'first':581 'flag':764 'full':757 'generat':525 'genr':462 'get':699 'github':124,791 'github.com':127,794 'github.com/pinecone-io/cli/releases)':793 'github.com/pinecone-io/cli/releases).':126 'goe':642 'guid':2 'huggingfac':529 'id':158,161,409,418,426,435,440,660,670,673 'includ':404,551 'include-metadata':403,550 'index':20,36,62,76,95,340,342,346,348,353,365,368,373,379,385,392,398,411,417,428,434,442,448,454,460,467,473,482,517,533,539,564,570,583,589,602,608,630,639,651,681,687,701,707,716,722,727,737,742 'insid':200 'instal':103,113 'integr':23,35,80,82,94 'interact':131 'interest':496 'invok':230 'io':110,116 'j':492,709,728 'jq':307,316,559,710,731 'json':306,328,487,696 'k':401,421,548,572 'key':169,177,180,245,259,278,287,295,299,305,313,314,321,327 'let':513 'link':207 'linux':120 'list':339,343,438,444,464,469,705,708 'local':134 'login':137,199,224,247 'loop':203 'm':356,745 'maco':104 'manag':10,42,47 'manual':334 'may':208 'mcp':31,66,73,75,510 'metadata':405,552,575,594,613 'mgmt':99 'migrat':623,634 'my-backup':484 'my-index':351,371,383,396,415,432,446,458,471,480,537,568,587,606,628,685,725,740 'my-index-restor':649 'my-org':141 'my-project':145 'n':350,370,382,395,414,431,445,457,470,483,536,567,586,605,631,648,684,724,739 'name':301,323,702,712,733 'namespac':97,465,468 'need':195,275 'new':638 'node.js':265 'note':189 'o':140 'one':292 'op':85 'openai':528 'oper':28,40,59 'org':143 'org/project':98 'output':488,697 'p':144 'pc':8,46,136,138,153,172,183,186,198,223,246,296,318,341,347,367,378,391,410,427,441,453,466,476,532,563,582,601,624,644,665,680,706,721,736 'pinecon':6,11,44,48,109,115,159,165,178,243,257,273,276,311,658,662,671,677 'pinecone-io':108,114 'pipe':553 'platform':119 'practic':769 'pre':633 'pre-migr':632 'preview':578,580 'product':596,615 'project':147 'python':263 'queri':87,388,394,406,413,501,515,535,557,566 'quick':170 'quickstart':773 'r':308,360,711,749 'raw':519 're':235 'recommend':132,150 'refer':755,759,778 'references/command-reference.md':760 'references/troubleshooting.md':770 'releas':125,792 'resourc':12 'restor':618,635,646,652 'run':197,222,317,599 'script':101,264,490,694 'sdk':274,304,326 'sdks':266 'search':92 'secret':164,167,664,676,679 'separ':280 'serverless':345 'servic':148 'session':192,221 'set':175,242,256,279 'set-api-key':174 'setup':102 'show':188 'size':692 'skill' 'skill-cli' 'snapshot':620 'someth':64,641 'sourc':545 'source-pinecone-io' 'spars':24,81 'stage':593,612 'standard':22,79 'start':218 'stat':366,369 'status':182,185 'step':293 'support':18,34 'surfac':210 'tap':107 'target':139,187,786 'task':337 'termin':15,51,227 'test':171 'text':91,507 'thing':497 'tool':251,269 'topic-agent-skills' 'topic-agentic-ides' 'topic-gemini-cli' 'topic-gemini-cli-extension' 'topic-pinecone' 'topic-semantic-search' 'topic-vector-search' 'troubleshoot':767 'type':21,63,77 'unlik':29,508 'updat':89,576,585,604 'upload':374 'upsert':86,381,683 'us':362,751 'us-east':361,750 'use':4,37,271,281,522 'valu':309,332,521 'valuabl':56 'vec1':436 'vec2':437 'vector':27,41,58,84,375,380,390,393,399,408,412,424,429,439,443,450,455,504,520,534,540,565,571,584,603,682 'vs':72 'window':121 'without':315 'wrong':643","prices":[{"id":"c69acf2c-947d-4413-9f92-9185e4c589f6","listingId":"f6abf2bd-90ff-43ff-9267-dfbcd1f5bfec","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"pinecone-io","category":"gemini-cli-extension","install_from":"skills.sh"},"createdAt":"2026-04-18T22:24:44.671Z"}],"sources":[{"listingId":"f6abf2bd-90ff-43ff-9267-dfbcd1f5bfec","source":"github","sourceId":"pinecone-io/gemini-cli-extension/cli","sourceUrl":"https://github.com/pinecone-io/gemini-cli-extension/tree/main/skills/cli","isPrimary":false,"firstSeenAt":"2026-04-18T22:24:44.671Z","lastSeenAt":"2026-05-01T07:01:44.639Z"}],"details":{"listingId":"f6abf2bd-90ff-43ff-9267-dfbcd1f5bfec","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"pinecone-io","slug":"cli","github":{"repo":"pinecone-io/gemini-cli-extension","stars":23,"topics":["agent-skills","agentic-ides","gemini-cli","gemini-cli-extension","pinecone","retrieval-augmented-generation","semantic-search","vector-search"],"license":"mit","html_url":"https://github.com/pinecone-io/gemini-cli-extension","pushed_at":"2026-04-24T19:30:56Z","description":"The official Pinecone Gemini CLI extension repo.","skill_md_sha":"d7579060282495e327b1e0efa4dd2e90fa76e78e","skill_md_path":"skills/cli/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/pinecone-io/gemini-cli-extension/tree/main/skills/cli"},"layout":"multi","source":"github","category":"gemini-cli-extension","frontmatter":{"name":"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/gemini-cli-extension/cli"},"updatedAt":"2026-05-01T07:01:44.639Z"}}