Use
--json for agent workflows. JSON output is stable enough to parse,
quote, and compare between investigation steps.Fast checks
Secure a compromised account
Choose the smallest scope that matches the incident. A single-session logout ends one refresh-token family. Account-wide logout is destructive across every LogBrew client authorized at or before its returned boundary.1
Choose single-session or account-wide scope
Neither endpoint returns a device or session inventory, device names, or
counts. They do not claim to revoke provider OAuth grants or sign out of a
third-party service.
2
End one refresh-token family
POST /api/auth/logout does not require bearer authentication. Its body is:3
Revoke every LogBrew login
POST /api/auth/logout-all requires account authentication and has no
request body. Do not send a refresh value in the body or expose an
authorization header in troubleshooting output.A successful 200 response is:revoked_before as inclusive. Access, browser, and refresh
authorizations issued at that timestamp or earlier are rejected. Current
live-feed sessions end, and the browser session cookie is cleared. A fresh
sign-in completed after that boundary remains valid.4
Clear every local credential and sign in again
After account-wide success, every client must remove all locally held
LogBrew credentials, discard cached authenticated state, and complete a
fresh sign-in. Do this on CLI, browser, mobile, and other clients that used
the account. Do not keep an older credential as a fallback.
5
Recover without exposing auth data
If the endpoint still cannot complete, create a private support
ticket. Tickets are private to the submitting
account and LogBrew support, but reports must omit credentials, refresh
values, cookies, authorization headers, hosts, raw logs, customer data,
local paths, and source code. Use only the support guide’s strict diagnostic
allowlist.
Recover missing first telemetry
Use this order when setup completed but no useful telemetry appears. Stop when one step identifies the mismatch instead of changing multiple inputs at once.1
Check API and account access
Confirm the released CLI can reach LogBrew and has account access for
reads.If the response says authentication is missing or rejected, a human should
run
logbrew login, then repeat the status check. Agents must not ask for
or print the credential value.2
Keep the two credential roles separate
Use an account access credential for CLI and authenticated API reads. Use
the project-scoped ingest credential from project setup only for SDK or
native telemetry writes.Do not substitute one for the other. Keep both values in local protected
configuration, and never echo either value while troubleshooting.
3
Separate setup acknowledgement from ingest proof
CLI v0.1.24 can record that setup was observed for an existing project:A successful response confirms shared setup acknowledgement. It does not
prove that an event was accepted. Continue until the ingest response and a
matching read both succeed.
4
Send one safe synthetic log
Use the API URL, project ID, and project-scoped ingest credential already
held in local setup variables. Do not print their values. This request sends
one placeholder-only A successful response includes one accepted log. Keep this event free of
customer, request, session, or source-code data.
info log:5
Read back the matching scope
Start with the exact synthetic release and environment, then inspect issue
or trace data only when your app emitted those item types.The synthetic request creates one log, not an issue or trace span. An empty
issue result and no trace ID are expected for that request. Use the issue
and trace checks for matching telemetry emitted by your app; never invent
an ID.
6
Check correlation values exactly
Confirm the write and read use the same project, release, and environment.
Compare the returned
service_name with the service that sent the event.
If your app sets occurred_at, verify its clock is current UTC and that the
read window includes it. Check spelling, case, and whitespace before
widening filters.7
Recover from a typed error
Follow the returned
next value when present. Use these boundaries rather
than guessing:If the ordered checks still fail, create a private support
ticket. Tickets are private to the submitting
account and LogBrew support, never public or visible to other users.Include only the strict diagnostic allowlist:
steps, expected,
observed, command_name, exit_code, error_code, error_summary, and
retry_count. Never include secrets, tokens, credentials, authorization
headers, ingest keys, hosts, raw logs, request bodies, payloads, customer
data, local paths, or source code.Fix common problems
1
Check access first
Verify the CLI can reach LogBrew and identify the current session.If the command says login is needed, run:Agents should use
logbrew status --json to detect missing auth, then ask
a human to run logbrew login before continuing.2
Confirm release and environment
First-party telemetry must include a non-empty release and environment.
Query the same values you send.
3
Use canonical severity
User-facing severity values are SDK and runtime aliases are accepted on input, but examples should prefer
info, warning, error, and
critical.warning over warn and critical over fatal. API callers should use
severity; level remains a compatibility alias. Do not send conflicting
severity and level filters in the same request.4
Follow the evidence
Read the grouped issue, trace, and matching logs before proposing a fix.After the cause is clear, update the issue state.
Related pages
Quickstart
Follow the first working CLI and telemetry flow.
CLI guide
Use the evidence-first investigation loop.
AI-agent guide
Give coding agents a safe read-first workflow.
Telemetry API
Check API request and response shapes.
