CLI target context
Set the Pinecone CLI target context with pc target to control which organization and project your commands run against, including in CI/CD and JSON mode.
The CLI's target context determines which organization and project your commands operate on. You must authenticate before setting target context.
| Flag | Short | Default | Description |
|---|---|---|---|
--org |
-o |
— | Target organization by name. Mutually exclusive with --organization-id. |
--organization-id |
— | — | Target organization by ID. Mutually exclusive with --org. |
--project |
-p |
— | Target project by name. Mutually exclusive with --project-id. |
--project-id |
— | — | Target project by ID. Mutually exclusive with --project. |
--show |
-s |
false |
Show the current target context. |
--clear |
— | false |
Clear the stored target context. |
--json |
-j |
false |
Output as JSON. In non-TTY environments (CI/CD, pipes), JSON output is automatic. |
How operations use target context
Section titled “How operations use target context”| Operation type | Scope |
|---|---|
| Control plane (indexes, backups) | Target project |
| Data plane (vectors, namespaces) | Target project + specified index |
| Admin API (organizations) | No target context needed |
| Admin API (projects) | Target organization |
| Admin API (API keys) | Target project (unless --id specified) |
Target context by auth method
Section titled “Target context by auth method”User login
Section titled “User login”After pc auth login, the CLI auto-targets your default organization and its first project.
# Change target
pc target -o "my-org" -p "my-project"Service account
Section titled “Service account”Via CLI command: After pc auth configure --client-id --client-secret, the CLI auto-targets the service account's organization. For the project:
- If one project exists, it's auto-targeted
- If multiple exist, you're prompted (or use
--project-id) - If none exist, create one and target it manually
Via environment variables: If using PINECONE_CLIENT_ID and PINECONE_CLIENT_SECRET without running pc auth configure, no target context is set automatically. Run pc target to set it.
# Change project (org is fixed to the service account's org)
pc target -p "my-project"
# Or select interactively
pc targetAPI key
Section titled “API key”API keys are scoped to a specific org and project and can't access resources outside that scope.
Admin API operations still use your user login or service account credentials (API keys can't authenticate Admin API calls).
Managing target context
Section titled “Managing target context”pc target --show # View current target
pc target --clear # Clear target contextJSON mode and non-TTY environments
Section titled “JSON mode and non-TTY environments”Running pc target --json with no targeting flags returns the current target context as a JSON object. This is a local-state read — no authentication is required:
pc target --jsonIn non-TTY environments (CI/CD pipelines, shell pipes, scripts), JSON output is automatic — the same as passing --json explicitly. You don't need to add the flag in automation contexts.
Use --organization-id and --project-id (instead of name flags) to set context reliably in scripts, since IDs are stable and unaffected by renames:
pc target --organization-id "org-abc123" --project-id "proj-xyz789" --json