Guide for using the Sentry CLI to interact with Sentry from the command line. Use when the user asks about viewing issues, events, projects, organizations, making API calls, or authenticating with Sentry via CLI.
Help users interact with Sentry from the command line using the sentry CLI.
Best practices and operational guidance for AI coding agents using the Sentry CLI.
sentry issue view, sentry issue list, sentry trace view, etc. before constructing API calls manually or fetching external documentation.sentry schema to explore the API — if you need to discover API endpoints, run sentry schema to browse interactively or sentry schema <resource> to search. This is faster than fetching OpenAPI specs externally.sentry issue view <id> to investigate issues — when asked about a specific issue (e.g., CLI-G5, PROJECT-123), use sentry issue view directly.--json for machine-readable output — pipe through jq for filtering. Human-readable output includes formatting that is hard to parse..env files, source code, config defaults, and directory names. Only specify <org>/<project> when the CLI reports it can't detect the target or detects the wrong one.The sentry CLI follows conventions from well-known tools — if you're familiar with them, that knowledge transfers directly:
gh (GitHub CLI) conventions: The sentry CLI uses the same <noun> <verb> command pattern (e.g., sentry issue list, sentry org view). Flags follow gh conventions: --json for machine-readable output, --fields to select specific fields, -w/--web to open in browser, -q/--query for filtering, -n/--limit for result count.sentry api mimics curl: The sentry api command provides direct API access with a curl-like interface — --method for HTTP method, --data for request body, --header for custom headers. It handles authentication automatically. If you know how to call a REST API with curl, the same patterns apply.--json --fields to select specific fields and reduce output size. Run <command> --help to see available fields. Example: sentry issue list --json --fields shortId,title,priority,level,status--json when piping output between commands or processing programmatically--limit to cap the number of results (default is usually 10–100)sentry issue view PROJECT-123 over listing and filtering manuallysentry api for endpoints not covered by dedicated commandsproject delete, trial start<org>/<project> arguments# 1. Find the issue (auto-detects org/project from DSN or config)
sentry issue list --query "is:unresolved" --limit 5
# 2. Get details
sentry issue view PROJECT-123
# 3. Get AI root cause analysis
sentry issue explain PROJECT-123
# 4. Get a fix plan
sentry issue plan PROJECT-123
# 1. List recent traces (auto-detects org/project)
sentry trace list --limit 5
# 2. View a specific trace with span tree
sentry trace view abc123def456...
# 3. View spans for a trace
sentry span list abc123def456...
# 4. View logs associated with a trace
sentry trace logs abc123def456...
# Stream logs in real-time (auto-detects org/project)
sentry log list --follow
# Filter logs by severity
sentry log list --query "severity:error"
# Browse all API resource categories
sentry schema
# Search for endpoints related to a resource
sentry schema issues
# Get details about a specific endpoint
sentry schema "GET /api/0/organizations/{organization_id_or_slug}/issues/"
# Create a release — version must match Sentry.init({ release }) exactly
sentry release create my-org/1.0.0 --project my-project
# Associate commits via repository integration (needs local git checkout)
sentry release set-commits my-org/1.0.0 --auto
# Or read commits from local git history (no integration needed)
sentry release set-commits my-org/1.0.0 --local
# Mark the release as finalized
sentry release finalize my-org/1.0.0
# Record a production deploy
sentry release deploy my-org/1.0.0 production
Key details:
<org-slug>/<version>. In sentry release create sentry/1.0.0, sentry is the org and 1.0.0 is the version — the slash separates org from version, it is not part of the version string.release value in Sentry.init(). If your SDK uses "1.0.0", the command must use org/1.0.0.--auto requires a Sentry repository integration (GitHub/GitLab/Bitbucket) and a local git checkout. It matches your origin remote against Sentry's repo list. Without a checkout, use --local.set-commits tries --auto first and falls back to --local on failure.# GET request (default)
sentry api /api/0/organizations/my-org/
# POST request with data
sentry api /api/0/organizations/my-org/projects/ --method POST --data '{"name":"new-project","platform":"python"}'
Sentry dashboards use a 6-column grid. When adding widgets, aim to fill complete rows (widths should sum to 6).
Display types with default sizes:
| Display Type | Width | Height | Category | Notes |
|---|---|---|---|---|
big_number | 2 | 1 | common | Compact KPI — place 3 per row (2+2+2=6) |
line | 3 | 2 | common | Half-width chart — place 2 per row (3+3=6) |
area | 3 | 2 | common | Half-width chart — place 2 per row |
bar | 3 | 2 | common | Half-width chart — place 2 per row |
table | 6 | 2 | common | Full-width — always takes its own row |
stacked_area | 3 | 2 | specialized | Stacked area chart |
top_n | 3 | 2 | specialized | Top N ranked list |
categorical_bar | 3 | 2 | specialized | Categorical bar chart |
text | 3 | 2 | specialized | Static text/markdown widget |
details | 3 | 2 | internal | Detail view |
wheel | 3 | 2 | internal | Pie/wheel chart |
rage_and_dead_clicks | 3 | 2 | internal | Rage/dead click visualization |
server_tree | 3 | 2 | internal | Hierarchical tree display |
agents_traces_table | 3 | 2 | internal | Agents traces table |
Use common types for general dashboards. Use specialized only when specifically requested. Avoid internal types unless the user explicitly asks.
Available datasets: spans (default), tracemetrics, discover, issue, error-events, logs. Run sentry dashboard widget --help for dataset descriptions, query formats, and examples.
Row-filling examples:
# 3 KPIs filling one row (2+2+2 = 6)
sentry dashboard widget add <dashboard> "Error Count" --display big_number --query count
sentry dashboard widget add <dashboard> "P95 Duration" --display big_number --query p95:span.duration
sentry dashboard widget add <dashboard> "Throughput" --display big_number --query epm
# 2 charts filling one row (3+3 = 6)
sentry dashboard widget add <dashboard> "Errors Over Time" --display line --query count
sentry dashboard widget add <dashboard> "Latency Over Time" --display line --query p95:span.duration
# Full-width table (6 = 6)
sentry dashboard widget add <dashboard> "Top Endpoints" --display table \
--query count --query p95:span.duration \
--group-by transaction --sort -count --limit 10
Use --period (alias: -t) to filter by time window:
sentry trace list --period 1h
sentry span list --period 24h
sentry span list -t 7d
Org and project are positional arguments following gh CLI conventions:
sentry trace list my-org/my-project
sentry issue list my-org/my-project
sentry span list my-org/my-project/abc123def456...
Pass the trace ID as a positional argument to span list:
sentry span list abc123def456...
sentry span list my-org/my-project/abc123def456...
When querying the Events API (directly or via sentry api), valid dataset values are: spans, transactions, logs, errors, discover.
PROJECT-123 (short ID), not the numeric ID 123456789. The short ID includes the project prefix.sentry auth login before every command. The CLI detects missing/expired auth and prompts automatically. Only run sentry auth login if you need to switch accounts.--json for piping: Human-readable output includes formatting. Use --json when parsing output programmatically.<org>/<project> if the CLI says it can't detect the target or detects the wrong one.--query syntax: The --query flag uses Sentry search syntax (e.g., is:unresolved, assigned:me), not free text search.--web: View commands support -w/--web to open the resource in the browser — useful for sharing links.sentry schema to browse the API and sentry api to make requests — the CLI handles authentication and endpoint resolution, so there's rarely a need to download OpenAPI specs separately.org/version positional is <org-slug>/<version>, where org/ is the org, not part of the version. sentry release create sentry/1.0.0 creates version 1.0.0 in org sentry. If your Sentry.init() uses release: "1.0.0", this is correct. Don't double-prefix like sentry/myapp/1.0.0.set-commits --auto without a git checkout: --auto needs a local git repo to discover the origin remote URL and HEAD commit. In CI, ensure actions/checkout with fetch-depth: 0 runs before set-commits --auto.sentry api when CLI commands suffice: sentry issue list --json already includes shortId, title, priority, level, status, permalink, and other fields at the top level. Some fields like count, userCount, firstSeen, and lastSeen may be null depending on the issue. Use --fields to select specific fields and --help to see all available fields. Only fall back to sentry api for data the CLI doesn't expose.The CLI must be installed and authenticated before use.
curl https://cli.sentry.dev/install -fsS | bash
curl https://cli.sentry.dev/install -fsS | bash -s -- --version nightly
# Or install via npm/pnpm/bun
npm install -g sentry
sentry auth login
sentry auth login --token YOUR_SENTRY_API_TOKEN
sentry auth status
sentry auth logout
Authenticate with Sentry
sentry auth login — Authenticate with Sentrysentry auth logout — Log out of Sentrysentry auth refresh — Refresh your authentication tokensentry auth status — View authentication statussentry auth token — Print the stored authentication tokensentry auth whoami — Show the currently authenticated user→ Full flags and examples: references/auth.md
Work with Sentry organizations
sentry org list — List organizationssentry org view <org> — View details of an organization→ Full flags and examples: references/org.md
Work with Sentry projects
sentry project create <name> <platform> — Create a new projectsentry project delete <org/project> — Delete a projectsentry project list <org/project> — List projectssentry project view <org/project> — View details of a project→ Full flags and examples: references/project.md
Manage Sentry issues
sentry issue list <org/project> — List issues in a projectsentry issue events <issue> — List events for a specific issuesentry issue explain <issue> — Analyze an issue's root cause using Seer AIsentry issue plan <issue> — Generate a solution plan using Seer AIsentry issue view <issue> — View details of a specific issue→ Full flags and examples: references/issue.md
View Sentry events
sentry event view <org/project/event-id...> — View details of a specific event→ Full flags and examples: references/event.md
Make an authenticated API request
sentry api <endpoint> — Make an authenticated API request→ Full flags and examples: references/api.md
CLI-related commands
sentry cli feedback <message...> — Send feedback about the CLIsentry cli fix — Diagnose and repair CLI database issuessentry cli setup — Configure shell integrationsentry cli upgrade <version> — Update the Sentry CLI to the latest version→ Full flags and examples: references/cli.md
Manage Sentry dashboards
sentry dashboard list <org/title-filter...> — List dashboardssentry dashboard view <org/project/dashboard...> — View a dashboardsentry dashboard create <org/project/title...> — Create a dashboardsentry dashboard widget add <org/project/dashboard/title...> — Add a widget to a dashboardsentry dashboard widget edit <org/project/dashboard...> — Edit a widget in a dashboardsentry dashboard widget delete <org/project/dashboard...> — Delete a widget from a dashboard→ Full flags and examples: references/dashboard.md
Work with Sentry releases
sentry release list <org/project> — List releasessentry release view <org/version...> — View release detailssentry release create <org/version...> — Create a releasesentry release finalize <org/version...> — Finalize a releasesentry release delete <org/version...> — Delete a releasesentry release deploy <org/version environment name...> — Create a deploy for a releasesentry release deploys <org/version...> — List deploys for a releasesentry release set-commits <org/version...> — Set commits for a releasesentry release propose-version — Propose a release version→ Full flags and examples: references/release.md
Work with Sentry repositories
sentry repo list <org/project> — List repositories→ Full flags and examples: references/repo.md
Work with Sentry teams
sentry team list <org/project> — List teams→ Full flags and examples: references/team.md
View Sentry logs
sentry log list <org/project-or-trace-id...> — List logs from a projectsentry log view <org/project/log-id...> — View details of one or more log entries→ Full flags and examples: references/log.md
Manage sourcemaps
sentry sourcemap inject <directory> — Inject debug IDs into JavaScript files and sourcemapssentry sourcemap upload <directory> — Upload sourcemaps to Sentry→ Full flags and examples: references/sourcemap.md
List and view spans in projects or traces
sentry span list <org/project/trace-id...> — List spans in a project or tracesentry span view <trace-id/span-id...> — View details of specific spans→ Full flags and examples: references/span.md
View distributed traces
sentry trace list <org/project> — List recent traces in a projectsentry trace view <org/project/trace-id...> — View details of a specific tracesentry trace logs <org/trace-id...> — View logs associated with a trace→ Full flags and examples: references/trace.md
Manage product trials
sentry trial list <org> — List product trialssentry trial start <name> <org> — Start a product trial→ Full flags and examples: references/trial.md
Initialize Sentry in your project (experimental)
sentry init <target> <directory> — Initialize Sentry in your project (experimental)→ Full flags and examples: references/init.md
Browse the Sentry API schema
sentry schema <resource...> — Browse the Sentry API schema→ Full flags and examples: references/schema.md
All commands support the following global options:
--help - Show help for the command--version - Show CLI version--log-level <level> - Set log verbosity (error, warn, log, info, debug, trace). Overrides SENTRY_LOG_LEVEL--verbose - Shorthand for --log-level debugMost list and view commands support --json flag for JSON output, making it easy to integrate with other tools:
sentry org list --json | jq '.[] | .slug'
View commands support -w or --web flag to open the resource in your browser:
sentry issue view PROJ-123 -w