For the complete documentation index, see llms.txt. This page is also available as Markdown.

observal doctor

Diagnose local Observal state, repair managed telemetry instrumentation, remove managed instrumentation, and work with redacted support bundles.

All five workflows support --output table|json. JSON mode never prompts or emits human banners.

Commands

Command
Purpose

doctor

Diagnose configuration, Registry metadata, skills, and harness telemetry

doctor patch

Install or update Observal-managed telemetry instrumentation

doctor cleanup

Remove Observal-managed telemetry instrumentation

doctor support bundle

Generate a redacted diagnostic archive

doctor support inspect

Inspect a diagnostic archive without extracting it

Diagnose

observal doctor --output json

Doctor checks:

  • Local authentication configuration and server health

  • Registry lockfile metadata against the active Registry

  • Managed hooks, plugins, or extensions for all registered harnesses

  • UUID-attributed Kiro Agent hooks

  • Bundled Observal skill installation

JSON diagnosis exits zero when the checks ran successfully. Health is reported through healthy, issues, and warnings:

Human mode retains health-check behavior: unresolved issues exit nonzero. Warnings alone remain successful.

Apply fixable warnings and canonical lockfile metadata without prompting:

Installed version pins are not changed. Only Observal-managed telemetry entries are updated.

Patch

Preview every registered harness:

Patch selected harnesses:

Exactly one target mode is required: --all-harnesses or one or more --harness options. JSON returns one result per harness:

Patch is idempotent. It preserves unrelated hooks and configuration. Configuration writes are atomic. Invalid or unreadable harness files fail loudly rather than being replaced.

For Pi, patch installs the bundled TypeScript extension at ~/.pi/agent/extensions/observal.ts and removes the legacy npm package registration. MCP commands and remote URLs are never wrapped or rewritten.

Cleanup

Preview cleanup:

Remove instrumentation from one harness:

Remove instrumentation from all registered harnesses except selected entries:

Cleanup removes only Observal-managed hooks, plugins, extensions, and legacy telemetry settings. User-owned hooks remain. Human mode confirms before writing unless --yes is present. JSON cleanup requires --yes unless it is a dry run.

Unknown harnesses, conflicting selections, malformed configuration, and write failures are surfaced before success is reported.

Support bundles

See Support bundles for archive contents, redaction, offline behavior, and inspection limits.

Exit codes

Code
Meaning

3

Authentication is required for patching

5

Support bundle or requested bundle file not found

6

Output archive already exists

7

Invalid harness selection, malformed harness file, invalid bundle, or missing confirmation

9

Server, collector, or filesystem unavailable

Last updated

Was this helpful?