@@ -29,10 +29,10 @@ openclaw doctor --generate-gateway-token
|
29 | 29 | |
30 | 30 | - `--no-workspace-suggestions`: disable workspace memory/search suggestions |
31 | 31 | - `--yes`: accept defaults without prompting |
32 | | -- `--repair`: apply recommended repairs without prompting |
| 32 | +- `--repair`: apply recommended non-service repairs without prompting; gateway service installs and rewrites still require interactive confirmation or explicit gateway commands |
33 | 33 | - `--fix`: alias for `--repair` |
34 | 34 | - `--force`: apply aggressive repairs, including overwriting custom service config when needed |
35 | | -- `--non-interactive`: run without prompts; safe migrations only |
| 35 | +- `--non-interactive`: run without prompts; safe migrations and non-service repairs only |
36 | 36 | - `--generate-gateway-token`: generate and configure a gateway token |
37 | 37 | - `--deep`: scan system services for extra gateway installs |
38 | 38 | |
@@ -41,6 +41,7 @@ Notes:
|
41 | 41 | - 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. |
42 | 42 | - Performance: non-interactive `doctor` runs skip eager plugin loading so headless health checks stay fast. Interactive sessions still fully load plugins when a check needs their contribution. |
43 | 43 | - `--fix` (alias for `--repair`) writes a backup to `~/.openclaw/openclaw.json.bak` and drops unknown config keys, listing each removal. |
| 44 | +- `doctor --fix --non-interactive` reports missing or stale gateway service definitions but does not install or rewrite them outside update repair mode. Run `openclaw gateway install` for a missing service, or `openclaw gateway install --force` when you intentionally want to replace the launcher. |
44 | 45 | - State integrity checks now detect orphan transcript files in the sessions directory. Archiving them as `.deleted.<timestamp>` requires an interactive confirmation; `--fix`, `--yes`, and headless runs leave them in place. |
45 | 46 | - Doctor also scans `~/.openclaw/cron/jobs.json` (or `cron.store`) for legacy cron job shapes and can rewrite them in place before the scheduler has to auto-normalize them at runtime. |
46 | 47 | - Doctor repairs missing bundled plugin runtime dependencies without writing into packaged global installs. For root-owned npm installs or hardened systemd units, set `OPENCLAW_PLUGIN_STAGE_DIR` to a writable directory such as `/var/lib/openclaw/plugin-runtime-deps`; it can also be a path-list such as `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps`, where earlier roots are read-only lookup layers and the final root is the repair target. |
|