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.
Theme change aborts in-flight opencode agent work — omarchy-restart-opencode SIGUSR2s all running instances mid-task
Reported by ChimeraMind · filed Aug 26, 2026Closed upstream on 2026-09-21 by bjarneo via an automated message, as a duplicate of #8002 (R-1518). GitHub close reason: completed.
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
Summary
Every theme change (omarchy-theme-set, including via Aether's apply) runs omarchy-restart-opencode, which killall -SIGUSR2 opencodes all running opencode instances. Opencode treats the signal as a reload and aborts every in-flight tool call — for an agent-first distro whose own manual warns "agents run unattended… be ready for them to actually do things", a cosmetic theme switch silently killing agent work is a nasty edge.
Repro
- Give an opencode agent a task that runs a long tool call (e.g.
sleep 60) - From any terminal: switch theme (
omarchy-theme-set <any>— or runaether --generate <img>, which drivesomarchy-theme-set) - The agent's tool call dies with "Tool execution aborted" — no user input required
Observed 6/6 times on Omarchy 4.0.1-1 (initially misattributed to the invoked CLI — the signal goes to opencode, so the abort happens no matter how detached the theme-set invocation is: verified foreground, piped, setsid-detached, and via systemd transient units).
Expected
In-flight agent work survives a theme change: defer the SIGUSR2 until the session is idle, skip instances with running tools, or make opencode's reload non-destructive. Alternatively document that agents shouldn't be trusted during theme switches.
Happy to test on the Deck (opencode + agent workload running there now).
View raw text
## Summary Every theme change (`omarchy-theme-set`, including via Aether's apply) runs `omarchy-restart-opencode`, which `killall -SIGUSR2 opencode`s **all** running opencode instances. Opencode treats the signal as a reload and **aborts every in-flight tool call** — for an agent-first distro whose own manual warns "agents run unattended… be ready for them to actually do things", a cosmetic theme switch silently killing agent work is a nasty edge. ## Repro 1. Give an opencode agent a task that runs a long tool call (e.g. `sleep 60`) 2. From any terminal: switch theme (`omarchy-theme-set <any>` — or run `aether --generate <img>`, which drives `omarchy-theme-set`) 3. The agent's tool call dies with "Tool execution aborted" — no user input required Observed 6/6 times on Omarchy 4.0.1-1 (initially misattributed to the invoked CLI — the signal goes to *opencode*, so the abort happens no matter how detached the theme-set invocation is: verified foreground, piped, `setsid`-detached, and via systemd transient units). ## Expected In-flight agent work survives a theme change: defer the SIGUSR2 until the session is idle, skip instances with running tools, or make opencode's reload non-destructive. Alternatively document that agents shouldn't be trusted during theme switches. Happy to test on the Deck (opencode + agent workload running there now).
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.