JetBrains Central CLI Help

Data collection

JetBrains Central CLI collects two types of analytics data:

  • Product usage events sent to Google Analytics 4 (GA4)

  • Local request logs stored on disk

Product analytics (GA4)

JetBrains Central CLI sends anonymous usage events to Google Analytics 4 via the Measurement Protocol. This helps understand adoption, identify issues, and improve the product.

When product analytics are sent

Whether product analytics are sent depends on the choice stored in your configuration file:

User state

State stored in the config file

Are product analytics sent?

What happens

Accepted analytics on the terms screen

true

Yes

Events from the interactive interface, the commands, and the proxy are sent

Declined analytics on the terms screen

false

No

Nothing leaves your machine

Has not seen or completed the terms screen

Not set

No

Nothing is sent until you make a choice on the terms screen

No configuration can be loaded

Not available

No

Product analytics are disabled

The interactive interface shows the terms screen before login on first launch, or before the main menu when consent is missing for an existing login. central login shows the same terms screen before the OAuth flow when consent has not yet been stored. Other non-interactive commands and the proxy do not show that screen; they use the stored choice if present, and send nothing if it is missing.

The stored choice can be changed at any time from the command line:

central config set google-analytics on # opt in central config set google-analytics off # opt out

The current value is also shown in central config output — on, off, or not set.

What is tracked

Category

What is recorded

Onboarding

First launch, and each step of the login flow: started, browser opened, callback received, completed, or failed

Proxy

Proxy started, stopped, failed to start, or failed to restart

Tokens

Token refreshes and reloads, with how long each took and whether it succeeded

Requests

Per-request metadata: provider, response status, duration, and any retries

Agents

Agent configuration changes — connecting and disconnecting an agent

Interface and commands

Which menu action or command you ran: viewing your usage, viewing logs, changing a setting, switching AI access source, checking for updates, and uninstalling. The interactive interface and the equivalent command are recorded separately, so the two can be told apart.

Updates

Whether an update was installed or failed, and whether you started it yourself or an agent installed it when a session began

Data migration

Whether a configuration or data-directory migration ran, and whether it had to be rolled back

What is not tracked

  • Request or response bodies — no prompts, no completions

  • Plaintext email addresses

  • File contents or code

  • Specific error messages from LLM responses

  • API keys or tokens

User identification

The user ID is a truncated SHA-256 hash of the email address, 16 hex characters. No plaintext email is ever sent:

email: user@jetbrains.com user_id: SHA256("user@jetbrains.com")[:16] → "a1b2c3d4e5f6a7b8"

Session identification

Events are grouped into sessions by a random identifier. Events from one proxy run share a session.

Event context

Every event includes:

  • JetBrains Central CLI version

  • Operating system and architecture

  • Timestamp

  • Release track — the resolved update channel (stable or beta), or pinned when pinned to a specific version. The pinned version itself is not sent.

Delivery

Events are batched and sent periodically, or immediately when the proxy stops. Failed sends are retried a few times and then discarded. Analytics failures never affect how JetBrains Central CLI works.

Local request logs

All proxy requests are logged to ~/.jetbrains-central/analytics/ for local debugging. These logs stay on your machine.

Logged fields

Field

Description

timestamp

When the request was made

original_url

The agent's request URL, with the proxy secret masked — for example, /wire/***/claude-code/anthropic/v1/messages

final_url

Cleaned platform path, with no host or credentials

method

HTTP method

status

Response status code

duration_ms

Request duration

is_error

Whether the status is 400 or above

error_message

Error details, if applicable

grazie_trace_id

Trace ID you can quote in a support request

ingrazzio_trace_id

Additional trace ID, present only for Junie requests on a JetBrains Account login

Viewing logs

In the JetBrains Central CLI interactive interface, select More... | AI Logs to browse request logs:

  • t cycles the time filter — all, last hour, last day

  • s cycles the status filter — all, success, errors

  • r resets all filters

  • R refreshes the data

  • The arrow keys page through the history

  • q goes back to the menu

Failed requests show the error message and a trace ID you can quote in a support request.

Log retention

  • At most 1000 entries per log file

  • At most five log files, with the oldest deleted automatically

  • Files are named ~/.jetbrains-central/analytics/requests_{timestamp}.json

Clearing logs

rm -rf ~/.jetbrains-central/analytics

The directory is recreated automatically when the proxy logs the next request.

18 September 2026