fix(service): re-add DISABLE_AUTOUPDATER=1 (supersedes #17)#18
Merged
crisandrews merged 1 commit intomainfrom Apr 17, 2026
Merged
fix(service): re-add DISABLE_AUTOUPDATER=1 (supersedes #17)#18crisandrews merged 1 commit intomainfrom
crisandrews merged 1 commit intomainfrom
Conversation
Supersedes #17 (conflict resolution against post-#8 main). JD's #17 targeted pre-#8 main so the block collided with the newly-added HOME/TERM Environment lines. This commit places the same 8-line block immediately after HOME/TERM so systemd sees all three env vars side by side. The rationale (verbatim from #17, which is correct): PTY wrap and DISABLE_AUTOUPDATER fix different problems: - PTY wrap: SessionEnd hook needs a controlling terminal to spawn /bin/sh at graceful shutdown. - DISABLE_AUTOUPDATER: prevents Claude Code's in-process auto-updater from regenerating daemon-relevant files (including the resume-on-restart wrapper from #7) while the daemon is running. #16 incorrectly treated DISABLE_AUTOUPDATER as redundant defense-in-depth against the crash loop. It is actually addressing the file-integrity scenario, which the PTY wrap does not cover. Setting DISABLE_AUTOUPDATER is also using a documented Claude Code env var, not monkey-patching internals. macOS plist remains unchanged (JD's #17 scope; parity can follow once the systemd-side default settles). Co-Authored-By: JD2005L <34459020+JD2005L@users.noreply.github.com>
crisandrews
added a commit
that referenced
this pull request
Apr 17, 2026
Summary of changes in this release (full detail in CHANGELOG.md): Added - Resume-on-restart wrapper for service mode (#7) - Service hardening defaults: HOME/TERM env, StartLimitBurst guard, persistent log path (#8) - /agent:update skill + heartbeat version-check with day-gate and per-version dedupe (#12) Fixed - WORKSPACE resolution so memory_search hits user's project dir, not plugin dir (#6, closes #5) - Linux systemd crash loop after Claude Code auto-updates mid-run — PTY wrap in ExecStart + DISABLE_AUTOUPDATER=1 for file-integrity (#9, #17/#18) - macOS launchd PTY wrap parity (#16) - Cross-user /agent:import discovery + post-import path sanity check (#10) Performance - reconcile-crons.sh fast-path on steady-state sessions (#11) Thanks to @JD2005L for the whole batch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Conflict-resolved version of #17. JD opened #17 based on pre-#8
main, so the insertion point collided with the newly-addedEnvironment=HOME=/Environment=TERM=lines from #8. Same 8-line block, placed immediately after HOME/TERM so all three env vars sit together.Accepting JD's rationale in full — #16 incorrectly treated
DISABLE_AUTOUPDATERas redundant. PTY wrap andDISABLE_AUTOUPDATERfix two different problems:DISABLE_AUTOUPDATER=1prevents Claude Code's in-process auto-updater from regenerating daemon-relevant files (including the resume wrapper from feat(service): emit resume-on-restart wrapper alongside service unit #7) mid-run.The env var is a documented Claude Code interface, not a monkey-patch. Full reasoning in #17 stands.
macOS plist unchanged — same scope as JD's #17. Parity fix can follow if and when the systemd-side default settles. Co-authored with @JD2005L.
Closes #17.