Skip to main content
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

Diagnose

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 records the CLI version it came from in an adjacent .observal-extension.json. If npm:observal-pi is registered in ~/.pi/agent/settings.json, that registration wins: patch installs nothing locally, and removes a local copy it recognises as its own so Pi does not load the extension twice. A local file Observal did not write is never touched. 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