# Move a Git checkout back to the normal stable update workflow

**URL:** <https://community.openclaw.ai/t/move-a-git-checkout-back-to-the-normal-stable-update-workflow/53>\
**Category:** Troubleshooting\
**Tags:** gateway, installation, linux, troubleshooting, updates\
**Created:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/move-a-git-checkout-back-to-the-normal-stable-update-workflow/53 "2026-09-14T22:30:54Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/move-a-git-checkout-back-to-the-normal-stable-update-workflow/53/1 "2026-09-14T22:30:54Z")

</div>

> **Adapted community discussion:** Paraphrased and condensed from an anonymized public OpenClaw Discord support conversation from August 2026. Technical guidance was reviewed for OpenClaw 2026.9.3.

My OpenClaw installation appears to be a Git checkout with no upstream branch. I have been fetching tags and rebuilding with pnpm for every update. How can I return to the normal low-maintenance stable update flow without losing state?

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/move-a-git-checkout-back-to-the-normal-stable-update-workflow/53/2 "2026-09-14T22:30:54Z")

</div>

First identify the install without changing it:

```bash
openclaw --version
openclaw update status --json
openclaw update --dry-run --json

```

A pnpm command alone does not prove a source checkout. The update dry run reports the install kind and whether a channel change would switch it to package management.

---

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/move-a-git-checkout-back-to-the-normal-stable-update-workflow/53/3 "2026-09-14T22:30:54Z")

</div>

The dry run confirms `installKind: git` and an effective dev channel. My checkout is on a custom branch at a release tag with no upstream.

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/move-a-git-checkout-back-to-the-normal-stable-update-workflow/53/4 "2026-09-14T22:30:54Z")

</div>

That is the correct distinction. Preview the stable conversion and review every reported action:

```bash
openclaw update --channel stable --dry-run --json

```

On current OpenClaw, stable is a supported package channel and the dry run should indicate whether the Git checkout will switch installation mode. Create a verified backup and ensure the tree is clean before applying. Leave the checkout in place until the package install and Gateway are verified.

---

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/move-a-git-checkout-back-to-the-normal-stable-update-workflow/53/5 "2026-09-14T22:30:54Z")

</div>

My systemd service points directly into the Git checkout. Will the conversion update that command, or do I need to edit the unit myself?

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/move-a-git-checkout-back-to-the-normal-stable-update-workflow/53/6 "2026-09-14T22:30:54Z")

</div>

If OpenClaw created the service, the updater can regenerate it. A hand-written or externally supervised unit may remain unchanged. Check `openclaw gateway status --deep --json` before and after conversion. If the service still points to the checkout, use `openclaw gateway install --force` from the new intended CLI rather than editing the unit manually. Keep the old checkout until the service command, version, and connectivity probe all agree.

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/move-a-git-checkout-back-to-the-normal-stable-update-workflow/53/7 "2026-09-14T22:30:54Z")

</div>

Also inspect systemd drop-ins because they can override a regenerated unit. An older package in another prefix should remain untouched until the new installation is proven.
