Skip to main content
The CLI’s target context determines which organization and project your commands operate on. You must authenticate before setting target context.

Flags

FlagShortDefaultDescription
--org-oTarget organization by name. Mutually exclusive with --organization-id.
--organization-idTarget organization by ID. Mutually exclusive with --org.
--project-pTarget project by name. Mutually exclusive with --project-id.
--project-idTarget project by ID. Mutually exclusive with --project.
--show-sfalseShow the current target context.
--clearfalseClear the stored target context.
--json-jfalseOutput as JSON. In non-TTY environments (CI/CD, pipes), JSON output is automatic.
--org and --organization-id are mutually exclusive — use one or the other. The same applies to --project and --project-id.

How operations use target context

Operation typeScope
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

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

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 target

API key

When using an API key, control plane and data plane operations use the key’s org/project scope, not the CLI’s stored target context. The pc target --show output does not reflect what these operations actually use.
API keys are scoped to a specific org and project and cannot 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

pc target --show   # View current target
pc target --clear  # Clear target context

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 --json
In non-TTY environments (CI/CD pipelines, shell pipes, scripts), JSON output is automatic — the same as passing --json explicitly. You do not 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