openclaw/docs/help
Sasan 6938f7dddb
fix: allow gateway service commands for named profiles (#116314)
* fix: gateway service commands refuse a named profile or relocated OPENCLAW_HOME

- Resolve the default install identity against the canonical state directory
  for the active OpenClaw home and profile instead of the unprofiled OS
  account default.
- `--profile <name>` / `--dev` project `.openclaw-<profile>` state and config
  paths, so every named profile was classified as isolated state and refused
  `install`, `start`, `stop`, `restart`, `uninstall`, Doctor service repair,
  and self-update service handling.
- `OPENCLAW_HOME` relocates all OpenClaw path defaults and is documented for
  running as a dedicated service user; a relocated home is now an install
  identity. `HOME` alone still is not.
- An `OPENCLAW_STATE_DIR` or `OPENCLAW_CONFIG_PATH` pointing outside those
  canonical paths is still treated as isolated state.
- Recovery guidance in the refusal message now names the paths that must match.

Verified: focused vitest shards for the changed suites plus the daemon, CLI,
and doctor suites that consume the identity check; tsgo core and core-test
lanes; oxlint; docs format, MDX, link, and map checks.

* fix(gateway): keep relocated homes isolated

* fix(config): validate service profile identity

* fix(daemon): enforce named-profile service ownership

* fix(update): reject drifted service selectors before probes

* test(windows): prove scheduled task lifecycle

* test(windows): harden scheduled task proof cleanup

* test(windows): bind lifecycle proof to checkout

* test(windows): normalize cleanup exit status

* test(windows): verify effective task privilege

* test(windows): protect scheduled task proof roots

* test(windows): prove listener-owned task lifecycle

* test(windows): fix scheduled task proof contracts

* test(windows): remove redundant mock coercions

* test(windows): measure fallback before task probes

* test(windows): prove scheduled task process origin

* fix(gateway): preserve unmanaged restart fallback

* test(gateway): cover denied restart ownership

* test(gateway): keep restart helper types private

* test(gateway): classify lifecycle helpers as test code

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-01 11:28:39 +08:00
..
debugging.md refactor(agents): retire TOOLS.md into an AGENTS.md section with a doctor migration (#113966) 2026-07-27 03:56:30 -04:00
environment.md fix: allow gateway service commands for named profiles (#116314) 2026-08-01 11:28:39 +08:00
faq-first-run.md docs(google): document supported auth paths 2026-07-30 22:56:26 +08:00
faq-models.md feat(anthropic): complete Claude Opus 5 rollout (#113392) 2026-07-24 14:55:36 -07:00
faq.md docs: drop retired gateway.reload keys and modes from config docs (#116975) 2026-07-31 15:35:16 -07:00
index.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
scripts.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
testing-live.md feat(plugins): externalize OpenCode Go provider (#117064) 2026-08-01 06:31:19 +08:00
testing-updates-plugins.md fix(ci): make plugin SDK API manifest mergeable (#110228) 2026-07-18 00:16:39 +01:00
testing.md test(buzz): add live QA Lab channel lane (#116298) 2026-07-30 17:44:27 -07:00
troubleshooting.md feat(cron): convert heartbeat tasks: entries into independent cron jobs (#113165) 2026-07-23 16:13:08 -07:00