Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
omarchy-reinstall produces a single-branch shallow clone, breaking omarchy-channel-set afterward
Reported by jobenaus · filed May 9, 2026Closed upstream on 2026-05-13 by its own reporter jobenaus. GitHub close reason: completed. Closed by its own reporter — not by itself evidence of a fix.
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- Not yet mapped to any requirement or component.
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
System details: Arch Linux, kernel 7.0.3-arch1-2, git 2.54.0, Omarchy 3.7.1
What's wrong?
After running omarchy-reinstall, omarchy-channel-set fails for any channel whose branch wasn't the upstream default at clone time. The local checkout becomes a single-branch shallow clone, so the other branches can't be switched to.
Repro:
- Install Omarchy 3.7.1 from the ISO (or
boot.sh) on any channel. - Run
omarchy-reinstall. - Run
omarchy-channel-set master(orrc,edge,dev— whichever you weren't left on). - Observe
git switch <branch>failing.git -C ~/.local/share/omarchy branch -ashows only oneremotes/origin/*ref.
Root cause
bin/omarchy-reinstall-git:
git clone --depth=1 "https://github.com/basecamp/omarchy.git" ~/.local/share/omarchy-new--depth=1 implies --single-branch (per git-clone(1)), so only the remote default branch is fetched. The upstream default is currently dev, so every reinstall lands users on dev with no origin/master or origin/rc available locally — breaking the documented omarchy-channel-set / omarchy-update-branch flow.
Why this differs from a fresh install
boot.sh (the curl/ISO entrypoint) does:
git clone "https://github.com/${OMARCHY_REPO}.git" ~/.local/share/omarchy
git fetch origin "${OMARCHY_REF}" && git checkout "${OMARCHY_REF}"Full clone (all branches as remote-tracking refs), explicit checkout of OMARCHY_REF (defaults to master). After a fresh install, all channels are reachable.
Suggested fix
Have omarchy-reinstall-git mirror boot.sh as closely as possible: drop --depth=1, honor the existing checkout's remote and current branch (or fall back to OMARCHY_REPO/OMARCHY_REF), and explicitly check out the same branch the user was on. Reinstall would then behave like a fresh online install of the same channel and leave the other channels reachable.
Related: #5299 fixes the hardcoded URL and the implicit-default-branch behavior, but keeps --depth=1, so it doesn't restore multi-branch reachability.
View raw text
**System details:** Arch Linux, kernel 7.0.3-arch1-2, git 2.54.0, Omarchy 3.7.1
## What's wrong?
After running `omarchy-reinstall`, `omarchy-channel-set` fails for any channel whose branch wasn't the upstream default at clone time. The local checkout becomes a single-branch shallow clone, so the other branches can't be switched to.
Repro:
1. Install Omarchy 3.7.1 from the ISO (or `boot.sh`) on any channel.
2. Run `omarchy-reinstall`.
3. Run `omarchy-channel-set master` (or `rc`, `edge`, `dev` — whichever you weren't left on).
4. Observe `git switch <branch>` failing. `git -C ~/.local/share/omarchy branch -a` shows only one `remotes/origin/*` ref.
## Root cause
`bin/omarchy-reinstall-git`:
```bash
git clone --depth=1 "https://github.com/basecamp/omarchy.git" ~/.local/share/omarchy-new
```
`--depth=1` implies `--single-branch` (per `git-clone(1)`), so only the remote default branch is fetched. The upstream default is currently `dev`, so every reinstall lands users on `dev` with no `origin/master` or `origin/rc` available locally — breaking the documented `omarchy-channel-set` / `omarchy-update-branch` flow.
## Why this differs from a fresh install
`boot.sh` (the curl/ISO entrypoint) does:
```bash
git clone "https://github.com/${OMARCHY_REPO}.git" ~/.local/share/omarchy
git fetch origin "${OMARCHY_REF}" && git checkout "${OMARCHY_REF}"
```
Full clone (all branches as remote-tracking refs), explicit checkout of `OMARCHY_REF` (defaults to `master`). After a fresh install, all channels are reachable.
## Suggested fix
Have `omarchy-reinstall-git` mirror `boot.sh` as closely as possible: drop `--depth=1`, honor the existing checkout's remote and current branch (or fall back to `OMARCHY_REPO`/`OMARCHY_REF`), and explicitly check out the same branch the user was on. Reinstall would then behave like a fresh online install of the same channel and leave the other channels reachable.
Related: #5299 fixes the hardcoded URL and the implicit-default-branch behavior, but keeps `--depth=1`, so it doesn't restore multi-branch reachability.Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
No decision has been recorded yet.