Skip to content

Releases: pinecone-io/cli

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 24 Jun 18:37
daec5fa

Changelog

  • daec5fa feat: emit Claude Code plugin hint for the official Pinecone plugin (#100)

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 17 Jun 19:59
35b3921

The first stable release of the Pinecone CLI. pc is now generally available — the public-preview period is over, and the command surface can be considered stable moving forward.

This release consolidates everything since v0.4.6, including a round of pre-v1 finalization: new commands, a normalized flag and command structure, safer destructive operations, and a number of correctness fixes.

New features

  • pc index import — a new command group for bulk-loading vector data from a storage provider (S3, GCS, Azure) directly into a serverless index: start, list, describe, and cancel. Supports --error-mode and --integration-id for private buckets. (#91)
  • Key-based pc config — a generic, registry-driven configuration interface: pc config get|set|unset|list|describe <key>, with keys api-key, color, and environment. Adds the ability to view all settings at once (list) and inspect a setting's purpose, valid values, and sensitivity (describe). (#90)
  • Deletion confirmation prompts — destructive delete commands now prompt for confirmation before proceeding, with a --skip-confirmation flag to bypass them for automation. (#99)

Breaking changes

  • backup, restore, and collection moved under pc index. These were top-level commands and are now pc index backup, pc index restore, and pc index collection. Shipped without backwards-compatibility aliases. (#89)
    pc backup ...        →  pc index backup ...
    pc backup restore    →  pc index restore
    pc collection ...    →  pc index collection ...
    
  • --index-name / --name normalization. --index-name (-i) now uniformly refers to an existing index, and --name (-n) names a resource being created. (#92)
    • pc index describe|delete|configure renamed their primary flag from --name to --index-name. --name/-n still works as a deprecated alias (prints a warning).
    • The --index-name shorthand changed from -n to -i on all other index commands.
    • The -i shorthand was removed from --id on vector query, import cancel, and import describe.
  • pc config commands renamed. get-api-key / set-api-key / set-color / set-environment are superseded by the key-based interface (pc config set api-key <value>, etc.). The legacy commands still work but are hidden and deprecated, and will be removed in a future release. (#90)
  • pc index record search --top-k is now required. It previously defaulted to 10; omitting it now returns a validation error. (#98)
  • --deletion-protection shorthands removed. The -p (on index configure) and -d (on index restore) shorthands were dropped; use the long-form --deletion-protection. (#99)
  • Delete commands prompt by default. Non-interactive scripts that relied on silent deletes must now pass --skip-confirmation (or --json, which also bypasses the prompt). pc index vector delete only prompts for --all-vectors; targeted --ids/--filter deletes proceed without a prompt. (#99)

Improvements

  • --body is now the documented primary input flag for record upsert and vector upsert; --file is retained as a hidden alias for now. (#98)
  • pc index configure now requires --index-name instead of silently passing an empty name to the API. (#89)
  • --metric and --dimension are now correctly forwarded when creating an integrated index (previously accepted but dropped). (#89)
  • Fixed column alignment in import, backup, and restore list tables, where ANSI color codes inflated column widths. (#91)
  • Clarified that --json must be set explicitly — it is not inferred from TTY state (only color is auto-suppressed on non-TTY output). The login, target, and auth interactive flows are the exception to better support agentic workflows. (#99)
  • --sparse-indices help text now specifies the element type (uint32 array). (#98)

Bug fixes

  • pc index collection list printed garbage for the dimension and vector-count columns (string(int32) rendered Unicode runes); now formatted correctly. (#99)
  • pc index configure --json was unreachable because the flag was never registered. (#99)
  • pc auth configure --project-id <unknown> panicked on an unmatched id; now fails with a clear message. (#99)
  • Corrected several help examples and "no target set" error hints that referenced nonexistent flags or the wrong subcommand. (#99)

Installation

# Install script (macOS / Linux):
curl -fsSL https://pinecone.io/install.sh | sh

# Homebrew (macOS, and Linux on Homebrew 4.5.0+):
brew install --cask pinecone-io/tap/pinecone

Already on a v0.4.x build? No migration is required — brew upgrade --cask pinecone, or re-run the install script to fetch and apply the latest version.

Full changelog: v0.4.6...v1.0.0

Changelog

  • e42a719 Add golangci-lint to codebase & CI (#96)
  • 0ef1e5e Add pc index import command group (#91)
  • a2b0329 Clean up backup, restore, and collection commands (#89)
  • d4f351d Clean up installation instructions in README.md (#97)
  • a754fe1 Final V1 Tweaks (#98)
  • 31f652c Normalize --index-name flag and shorthand conventions (#92)
  • 9fa3ef2 Refactor pc config to support key-based configuration and commands (#90)
  • 35b3921 Thorough review pass (#99)
  • 967e6ae Update .gitignore to exclude harness artifacts (#95)
  • dd913da V1 Finalization (#93)
  • dc8d8f2 V1 Finalization continued (#94)

v0.4.6

Choose a tag to compare

@github-actions github-actions released this 21 May 15:11
8605780

Changelog

  • 7801515 Add SSO support: two-round enforcement and pc target re-auth (#86)
  • b04cfa2 Add AGENTS.md and CLAUDE.md (#84)
  • 6386bf1 Add scripts/ with install.sh / uninstall.sh (#87)
  • 8605780 Fix: empty --namespace coerced to default on all vector/record commands (#88)

v0.4.5

Choose a tag to compare

@github-actions github-actions released this 06 Apr 04:13
01e7566

Changelog

  • 01e7566 Agentic auth improvements: lazy login, --json consistency, and pc target fixes (#83)

v0.4.3

Choose a tag to compare

@github-actions github-actions released this 02 Apr 18:14
2055dc5

Changelog

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 31 Mar 03:35
8147089

Combined release notes for v0.4.0, v0.4.1, and v0.4.2

New features

  • Integrated index support: pc index record search and pc index record upsert.
  • --json flag expanded across all commands including organization delete, project delete, and remaining utility commands.
  • Errors are emitted as structured JSON to stderr when --json is passed.
  • Improved pc login for agentic workflows and automated contexts.

Improvements

  • JSON output and plain text output correctly separated across stdout and stderr.
  • Terminal color only applied when output is a terminal. Piped or redirected output is always plain text.
  • Removed --quiet flag, superseded by --json

Installation changes

Pinecone now provides an installation script through GitHub that can be used to install the CLI binary directly without going through Homebrew.

curl -fsSL https://pinecone.io/install.sh | sh

The CLI is now distributed as a Homebrew cask rather than a formula. This requires a one time migration for existing users, and providing the --cask flag when installing through homebrew.

# New users:
brew tap pinecone-io/tap
brew install --cask pinecone-io/tap/pinecone

# Existing Homebrew users — one-time migration required:
brew uninstall pinecone-io/tap/pinecone
brew install --cask pinecone-io/tap/pinecone

# After migrating, future upgrades work normally:
brew upgrade --cask pinecone

# Linux users on Homebrew 4.5.0+ can use the same cask commands. Earlier versions should use the install script:
curl -fsSL https://pinecone.io/install.sh | sh

Full changelog: v0.3.1...v0.4.2

Changelog

  • 8147089 Post-cask migration: quarantine fix and documentation updates (#81)

[v0.4.1 Changelog]
[v0.4.0 Changelog]

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 30 Mar 23:18
eb2f2ff

See v0.4.2 for complete release notes covering the v0.4.x series.

Changelog

  • eb2f2ff add preflight block to custom_block in goreleaser.yaml to allow cleaning up old binaries before installing (#80)
  • eaf8ebf tweak README brew installation instructions to match new flow (#79)

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 30 Mar 20:50
b901a9c

See v0.4.2 for complete release notes covering the v0.4.x series.

Changelog

  • e3ae144 Add --json to remaining delete / utility commands (#69)
  • bbe317e Add sourceTag=pinecone_cli to /oauth/authorize for login / signup flows (#67)
  • edba07a Enforce stdout/stderr I/O model across command files; bump grpc to v1.79.3 (#76)
  • 42e1039 Fix --quiet --json combination suppressing command output (#72)
  • a1d4769 Fix pc login for agentic workflows (#75)
  • a124bc8 Fix dead --json flag in organization & project delete operations (#70)
  • 2bbd0c6 Implement search and upsert for integrated indexes (#66)
  • bb1d060 Make sure msg package is emitting to stderr (#68)
  • 91c1584 Remove pcio package and --quiet flag (#74)
  • b901a9c Remove publishing dev version on publish.yaml (#78)
  • 1990286 Replace raw usage of fmt.Print with pcio.Print (#73)
  • e0df38f Structured JSON error output and TTY-aware color suppression (--json mode) (#77)

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 12 Feb 17:00
213c636

Changelog

  • 1654bb0 Fix --file/--body aliasing in pc vector upsert (#64)
  • 213c636 make sure NewIndexConnection uses index.private_host if it's available (#65)

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 19 Dec 21:03
9a4ea15

This release introduces a number of new features:

Backup and restore serverless indexes

You can now backup and restore serverless indexes using the pc backup command. A backup is a static copy of a serverless index that only consumes storage. It is a non-queryable representation of a set of records. You can create a backup of a serverless index, and you can create a new serverless index from a backup. This allows you to restore the index with the same or different configurations.

# Create a backup from an existing index
pc backup create --index-name my-index --name my-index-backup --description "my index backup"

# List all backups in the current project, or filter by index
pc backup list
pc backup list --index-name my-index

# Describe a specific backup
pc backup describe --id backup-id-123

# Restore an index from a backup
pc backup restore --id backup-id-123 --name my-index-restored

# List all restore jobs for the current project
pc backup restore list

# Describe a specific restore job
pc backup restore describe --id restore-id-123

# Delete a backup
pc backup delete --id backup-id-123

Work with index namespaces

The pc index namespace command allows you to explicitly work with namespaces within an index.

# Create a namespace
pc index namespace create --index-name my-index --name ns-1

# Describe a namespace
pc index namespace describe --index-name my-index --name ns-1

# List index namespaces
pc index namespace list --index-name my-index

# Delete a namespace, including all of its data
pc index namespace delete --index-name my-index --name ns-1

Indexes with Dedicated Read Node configuration

The CLI now supports creating indexes with dedicated read node configurations. Indexes built on dedicated read nodes use provisioned read hardware to provide predictable, consistent performance at sustained, high query volumes. They’re designed for large-scale vector workloads such as semantic search, recommendation engines, and mission-critical services.

# Create a dedicated serverless index, and an on demand index
pc index create \
  --name dedicated-index \
  --dimension 1824 \
  --metric cosine \
  --region us-east-1 \
  --cloud aws \
  --read-node-type b1 \
  --read-shards 1 \
  --read-replicas 1

pc index create \
  --name on-demand-index \
  --dimension 1824 \
  --metric cosine \
  --region us-east-1 \
  --cloud aws \

# Convert a dedicated index to an on demand index
pc index configure --name dedicated-index --read-mode ondemand

# Convert an on demand index to a dedicated index
pc index configure --name on-demand-index --read-mode dedicated

BYOC Indexes

If you have gone through the process of setting up your own environment for deploying Pinecone, you can create a BYOC index using the --byoc-environment flag.

$ pc index create --name byoc-index --byoc-environment aws-us-east-1-b921 --metric cosine --dimension 1824

Serverless index metadata schema

You can now create serverless indexes with defined metadata schemas.

pc index create \
  --name on-demand-index \
  --dimension 1824 \
  --metric cosine \
  --region us-east-1 \
  --cloud aws \
  --schema genre,year,director

Changelog

  • 9a4ea15 Allow attribution tags through go-pinecone (PINECONE_CLI_ATTRIBUTION_TAG) (#63)
  • aeec157 Implement BYOC, DRN, and Metadata Indexing (#60)
  • d091eea Implement backup command (serverless index backups / restore jobs) (#62)
  • 254adb4 Implement pc index namespace command (#61)