> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openaeon.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# doctor

# `openaeon doctor`

Health checks + quick fixes for the gateway and channels.

Related:

* Troubleshooting: [Troubleshooting](/gateway/troubleshooting)
* Security audit: [Security](/gateway/security)

## Examples

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openaeon doctor
openaeon doctor --repair
openaeon doctor --deep
```

Notes:

* Interactive prompts (like keychain/OAuth fixes) only run when stdin is a TTY and `--non-interactive` is **not** set. Headless runs (cron, Telegram, no terminal) will skip prompts.
* `--fix` (alias for `--repair`) writes a backup to `~/.openaeon/openaeon.json.bak` and drops unknown config keys, listing each removal.
* State integrity checks now detect orphan transcript files in the sessions directory and can archive them as `.deleted.<timestamp>` to reclaim space safely.
* Doctor includes a memory-search readiness check and can recommend `openaeon configure --section model` when embedding credentials are missing.
* If sandbox mode is enabled but Docker is unavailable, doctor reports a high-signal warning with remediation (`install Docker` or `openaeon config set agents.defaults.sandbox.mode off`).

## macOS: `launchctl` env overrides

If you previously ran `launchctl setenv OPENAEON_GATEWAY_TOKEN ...` (or `...PASSWORD`), that value overrides your config file and can cause persistent “unauthorized” errors.

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
launchctl getenv OPENAEON_GATEWAY_TOKEN
launchctl getenv OPENAEON_GATEWAY_PASSWORD

launchctl unsetenv OPENAEON_GATEWAY_TOKEN
launchctl unsetenv OPENAEON_GATEWAY_PASSWORD
```
