---
id: sm-sentry-cli
name: "sentry-cli"
url: https://skills.yangsir.net/skill/sm-sentry-cli
author: sentry
domain: ai-dev-tools-workflow
tags: ["sentry", "error-monitoring", "cli-tools", "application-performance-monitoring-(apm)", "devops"]
install_count: 52600
rating: 4.70 (54 reviews)
github: https://github.com/sentry/dev
---

# sentry-cli

> 此技能指导用户如何通过Sentry CLI从命令行与Sentry进行交互，前提是CLI已安装并完成认证。

**Stats**: 52,600 installs · 4.7/5 (54 reviews)

## Before / After 对比

### 命令行高效管理Sentry事件

## Readme

# sentry-cli

# Sentry CLI Usage Guide

Help users interact with Sentry from the command line using the `sentry` CLI.

## Prerequisites

The CLI must be installed and authenticated before use.

### Installation

```
curl https://cli.sentry.dev/install -fsS | bash
curl https://cli.sentry.dev/install -fsS | bash -s -- --version nightly
brew install getsentry/tools/sentry

# Or install via npm/pnpm/bun
npm install -g sentry

```

### Authentication

```
sentry auth login
sentry auth login --token YOUR_SENTRY_API_TOKEN
sentry auth status
sentry auth logout

```

## Available Commands

### Auth

Authenticate with Sentry

#### `sentry auth login`

Authenticate with Sentry

**Flags:**

- `--token <value> - Authenticate using an API token instead of OAuth`

- `--timeout <value> - Timeout for OAuth flow in seconds (default: 900) - (default: "900")`

- `--force - Re-authenticate without prompting`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
# OAuth device flow (recommended)
sentry auth login

# Using an API token
sentry auth login --token YOUR_TOKEN

SENTRY_URL=https://sentry.example.com SENTRY_CLIENT_ID=your-client-id sentry auth login

SENTRY_URL=https://sentry.example.com sentry auth login --token YOUR_TOKEN

```

#### `sentry auth logout`

Log out of Sentry

**Flags:**

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
sentry auth logout

```

#### `sentry auth refresh`

Refresh your authentication token

**Flags:**

- `--force - Force refresh even if token is still valid`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
sentry auth refresh

```

#### `sentry auth status`

View authentication status

**Flags:**

- `--show-token - Show the stored token (masked by default)`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
sentry auth status

```

#### `sentry auth token`

Print the stored authentication token

**Flags:**

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

#### `sentry auth whoami`

Show the currently authenticated user

**Flags:**

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

### Org

Work with Sentry organizations

#### `sentry org list`

List organizations

**Flags:**

- `-n, --limit <value> - Maximum number of organizations to list - (default: "30")`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
sentry org list

sentry org list --json

```

#### `sentry org view <org>`

View details of an organization

**Flags:**

- `-w, --web - Open in browser`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
sentry org view <org-slug>

sentry org view my-org

sentry org view my-org -w

```

### Project

Work with Sentry projects

#### `sentry project create <name> <platform>`

Create a new project

**Flags:**

- `-t, --team <value> - Team to create the project under`

- `-n, --dry-run - Validate inputs and show what would be created without creating it`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

#### `sentry project delete <org/project>`

Delete a project

**Flags:**

- `-y, --yes - Skip confirmation prompt`

- `-f, --force - Force deletion without confirmation`

- `-n, --dry-run - Validate and show what would be deleted without deleting`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

#### `sentry project list <org/project>`

List projects

**Flags:**

- `-n, --limit <value> - Maximum number of projects to list - (default: "30")`

- `-c, --cursor <value> - Pagination cursor (use "last" to continue from previous page)`

- `-p, --platform <value> - Filter by platform (e.g., javascript, python)`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
# List all projects
sentry project list

# List projects in a specific organization
sentry project list <org-slug>

# Filter by platform
sentry project list --platform javascript

```

#### `sentry project view <org/project>`

View details of a project

**Flags:**

- `-w, --web - Open in browser`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
# Auto-detect from DSN or config
sentry project view

# Explicit org and project
sentry project view <org>/<project>

# Find project across all orgs
sentry project view <project>

sentry project view my-org/frontend

sentry project view my-org/frontend -w

```

### Issue

Manage Sentry issues

#### `sentry issue list <org/project>`

List issues in a project

**Flags:**

- `-q, --query <value> - Search query (Sentry search syntax)`

- `-n, --limit <value> - Maximum number of issues to list - (default: "25")`

- `-s, --sort <value> - Sort by: date, new, freq, user - (default: "date")`

- `-t, --period <value> - Time period for issue activity (e.g. 24h, 14d, 90d) - (default: "90d")`

- `-c, --cursor <value> - Pagination cursor for <org>/ or multi-target modes (use "last" to continue)`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--compact - Single-line rows for compact output (auto-detects if omitted)`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
# Explicit org and project
sentry issue list <org>/<project>

# All projects in an organization
sentry issue list <org>/

# Search for project across all accessible orgs
sentry issue list <project>

# Auto-detect from DSN or config
sentry issue list

# List issues in a specific project
sentry issue list my-org/frontend

sentry issue list my-org/

sentry issue list frontend

sentry issue list my-org/frontend --query "TypeError"

sentry issue list my-org/frontend --sort freq --limit 20

# Show only unresolved issues
sentry issue list my-org/frontend --query "is:unresolved"

# Show resolved issues
sentry issue list my-org/frontend --query "is:resolved"

# Combine with other search terms
sentry issue list my-org/frontend --query "is:unresolved TypeError"

```

#### `sentry issue explain <issue>`

Analyze an issue's root cause using Seer AI

**Flags:**

- `--force - Force new analysis even if one exists`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
sentry issue explain <issue-id>

# By numeric issue ID
sentry issue explain 123456789

# By short ID with org prefix
sentry issue explain my-org/MYPROJECT-ABC

# By project-suffix format
sentry issue explain myproject-G

# Force a fresh analysis
sentry issue explain 123456789 --force

```

#### `sentry issue plan <issue>`

Generate a solution plan using Seer AI

**Flags:**

- `--cause <value> - Root cause ID to plan (required if multiple causes exist)`

- `--force - Force new plan even if one exists`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
sentry issue plan <issue-id>

# After running explain, create a plan
sentry issue plan 123456789

# Specify which root cause to plan for (if multiple were found)
sentry issue plan 123456789 --cause 0

# By short ID with org prefix
sentry issue plan my-org/MYPROJECT-ABC --cause 1

# By project-suffix format
sentry issue plan myproject-G --cause 0

```

#### `sentry issue view <issue>`

View details of a specific issue

**Flags:**

- `-w, --web - Open in browser`

- `--spans <value> - Span tree depth limit (number, "all" for unlimited, "no" to disable) - (default: "3")`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
# By issue ID
sentry issue view <issue-id>

# By short ID
sentry issue view <short-id>

sentry issue view FRONT-ABC

sentry issue view FRONT-ABC -w

```

### Event

View Sentry events

#### `sentry event view <args...>`

View details of a specific event

**Flags:**

- `-w, --web - Open in browser`

- `--spans <value> - Span tree depth limit (number, "all" for unlimited, "no" to disable) - (default: "3")`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
sentry event view <event-id>

sentry event view abc123def456

sentry event view abc123def456 -w

```

### Api

Make an authenticated API request

#### `sentry api <endpoint>`

Make an authenticated API request

**Flags:**

- `-X, --method <value> - The HTTP method for the request - (default: "GET")`

- `-d, --data <value> - Inline JSON body for the request (like curl -d)`

- `-F, --field <value>... - Add a typed parameter (key=value, key[sub]=value, key[]=value)`

- `-f, --raw-field <value>... - Add a string parameter without JSON parsing`

- `-H, --header <value>... - Add a HTTP request header in key:value format`

- `--input <value> - The file to use as body for the HTTP request (use "-" to read from standard input)`

- `--silent - Do not print the response body`

- `--verbose - Include full HTTP request and response in the output`

- `-n, --dry-run - Show the resolved request without sending it`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
sentry api <endpoint> [options]

# List organizations
sentry api /organizations/

# Get a specific organization
sentry api /organizations/my-org/

# Get project details
sentry api /projects/my-org/my-project/

# Create a new project
sentry api /teams/my-org/my-team/projects/ \
  --method POST \
  --field name="New Project" \
  --field platform=javascript

# Update an issue status
sentry api /issues/123456789/ \
  --method PUT \
  --field status=resolved

# Assign an issue
sentry api /issues/123456789/ \
  --method PUT \
  --field assignedTo="user@example.com"

# Delete a project
sentry api /projects/my-org/my-project/ \
  --method DELETE

sentry api /organizations/ \
  --header "X-Custom-Header:value"

sentry api /organizations/ --verbose

# Get all issues (automatically follows pagination)
sentry api /projects/my-org/my-project/issues/ --paginate

```

### Cli

CLI-related commands

#### `sentry cli feedback <message...>`

Send feedback about the CLI

**Flags:**

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

#### `sentry cli fix`

Diagnose and repair CLI database issues

**Flags:**

- `--dry-run - Show what would be fixed without making changes`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

#### `sentry cli setup`

Configure shell integration

**Flags:**

- `--install - Install the binary from a temp location to the system path`

- `--method <value> - Installation method (curl, npm, pnpm, bun, yarn)`

- `--channel <value> - Release channel to persist (stable or nightly)`

- `--no-modify-path - Skip PATH modification`

- `--no-completions - Skip shell completion installation`

- `--no-agent-skills - Skip agent skill installation for AI coding assistants`

- `--quiet - Suppress output (for scripted usage)`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

#### `sentry cli upgrade <version>`

Update the Sentry CLI to the latest version

**Flags:**

- `--check - Check for updates without installing`

- `--force - Force upgrade even if already on the latest version`

- `--offline - Upgrade using only cached version info and patches (no network)`

- `--method <value> - Installation method to use (curl, brew, npm, pnpm, bun, yarn)`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

### Dashboard

Manage Sentry dashboards

#### `sentry dashboard list <org/project>`

List dashboards

**Flags:**

- `-w, --web - Open in browser`

- `-n, --limit <value> - Maximum number of dashboards to list - (default: "30")`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

#### `sentry dashboard view <args...>`

View a dashboard

**Flags:**

- `-w, --web - Open in browser`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

#### `sentry dashboard create <args...>`

Create a dashboard

**Flags:**

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

### Repo

Work with Sentry repositories

#### `sentry repo list <org/project>`

List repositories

**Flags:**

- `-n, --limit <value> - Maximum number of repositories to list - (default: "30")`

- `-c, --cursor <value> - Pagination cursor (use "last" to continue from previous page)`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

### Team

Work with Sentry teams

#### `sentry team list <org/project>`

List teams

**Flags:**

- `-n, --limit <value> - Maximum number of teams to list - (default: "30")`

- `-c, --cursor <value> - Pagination cursor (use "last" to continue from previous page)`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
# Auto-detect organization or list all
sentry team list

# List teams in a specific organization
sentry team list <org-slug>

# Limit results
sentry team list --limit 10

sentry team list --json

```

### Log

View Sentry logs

#### `sentry log list <org/project>`

List logs from a project

**Flags:**

- `-n, --limit <value> - Number of log entries (1-1000) - (default: "100")`

- `-q, --query <value> - Filter query (Sentry search syntax)`

- `-f, --follow <value> - Stream logs (optionally specify poll interval in seconds)`

- `--trace <value> - Filter logs by trace ID (32-character hex string)`

- `--fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>

# List last 100 logs (default)
sentry log list

# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5

# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'

# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500

# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'

```

#### `sentry log view <args...>`

View details of one or more log entries

**Flags:**

- `-w, --web - Open in browser`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

**Examples:**

```
# Auto-detect from DSN or config
sentry log view <log-id>

# Explicit org and project
sentry log view <org>/<project> <log-id>

# Search for project across all accessible orgs
sentry log view <project> <log-id>

sentry log view 968c763c740cfda8b6728f27fb9e9b01

sentry log view 968c763c740cfda8b6728f27fb9e9b01 -w

sentry log view my-org/backend 968c763c740cfda8b6728f27fb9e9b01

sentry log list --json | jq '.[] | select(.level == "error")'

```

### Span

View spans in distributed traces

#### `sentry span list <org/project/trace-id...>`

List spans in a trace

**Flags:**

- `-n, --limit <value> - Number of spans (<=1000) - (default: "25")`

- `-q, --query <value> - Filter spans (e.g., "op:db", "duration:>100ms", "project:backend")`

- `-s, --sort <value> - Sort order: date, duration - (default: "date")`

- `-c, --cursor <value> - Pagination cursor (use "last" to continue from previous page)`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

#### `sentry span view <trace-id/span-id...>`

View details of specific spans

**Flags:**

- `--spans <value> - Span tree depth limit (number, "all" for unlimited, "no" to disable) - (default: "3")`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

### Trace

View distributed traces

#### `sentry trace list <org/project>`

List recent traces in a project

**Flags:**

- `-n, --limit <value> - Number of traces (1-1000) - (default: "20")`

- `-q, --query <value> - Search query (Sentry search syntax)`

- `-s, --sort <value> - Sort by: date, duration - (default: "date")`

- `-c, --cursor <value> - Pagination cursor (use "last" to continue from previous page)`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

#### `sentry trace view <org/project/trace-id...>`

View details of a specific trace

**Flags:**

- `-w, --web - Open in browser`

- `--spans <value> - Span tree depth limit (number, "all" for unlimited, "no" to disable) - (default: "3")`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

#### `sentry trace logs <org/trace-id...>`

View logs associated with a trace

**Flags:**

- `-w, --web - Open trace in browser`

- `-t, --period <value> - Time period to search (e.g., "14d", "7d", "24h"). Default: 14d - (default: "14d")`

- `-n, --limit <value> - Number of log entries (<=1000) - (default: "100")`

- `-q, --query <value> - Additional filter query (Sentry search syntax)`

- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

### Trial

Manage product trials

#### `sentry trial list <org>`

List product trials

**Flags:**

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

#### `sentry trial start <name> <org>`

Start a product trial

**Flags:**

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

### Init

Initialize Sentry in your project

#### `sentry init <target> <directory>`

Initialize Sentry in your project

**Flags:**

- `-y, --yes - Non-interactive mode (accept defaults)`

- `--dry-run - Preview changes without applying them`

- `--features <value>... - Features to enable: errors,tracing,logs,replay,metrics`

- `-t, --team <value> - Team slug to create the project under`

### Schema

Browse the Sentry API schema

#### `sentry schema <resource...>`

Browse the Sentry API schema

**Flags:**

- `--all - Show all endpoints in a flat list`

- `-q, --search <value> - Search endpoints by keyword`

- `--json - Output as JSON`

- `--fields <value> - Comma-separated fields to include in JSON output (dot.notation supported)`

## Global Options

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 debug`

## Output Formats

### JSON Output

Most list and view commands support `--json` flag for JSON output, making it easy to integrate with other tools:

```
sentry org list --json | jq '.[] | .slug'

```

### Opening in Browser

View commands support `-w` or `--web` flag to open the resource in your browser:

```
sentry issue view PROJ-123 -w

```
Weekly Installs2.4KSource[cli.sentry.dev](https://cli.sentry.dev)First SeenFeb 28, 2026Security Audits[Gen Agent Trust HubFail](/sentry/dev/sentry-cli/security/agent-trust-hub)[SocketPass](/sentry/dev/sentry-cli/security/socket)[SnykFail](/sentry/dev/sentry-cli/security/snyk)Installed onclaude-code840codex723kimi-cli436opencode224gemini-cli204cursor79

---
*Source: https://skills.yangsir.net/skill/sm-sentry-cli*
*Markdown mirror: https://skills.yangsir.net/api/skill/sm-sentry-cli/markdown*