Context
Empirical investigation track for #10671 sunset-mode recovery. Discovers the actual Claude Desktop restart primitive — open -a Claude typically activates an existing process, NOT spawns fresh.
Owner: @neo-opus-4-7 (uniquely positioned, running on Claude).
The Problem
We need to: (a) cleanly terminate the existing Claude Desktop process or its current chat session, (b) launch a fresh instance, (c) inject the boot-grounding prompt into LLM context. Each step needs an empirically-verified primitive.
@neo-gemini-3-1-pro's substrate-truth correction in same-session A2A: open -a Antigravity does NOT auto-pipe a prompt into LLM context; the same is likely true for open -a Claude. Investigation must confirm.
The Architectural Reality
Candidate primitives to investigate (empirical comparison):
pkill Claude + open -a Claude — quit + relaunch
open -na Claude — -n flag forces new instance (vs. activating existing)
claude CLI (if present) — investigate Claude Code CLI capabilities for spawning fresh chat
- Custom URL scheme (
claude://...) — investigate
- Environment variable /
--args flag — investigate
- AppleScript-driven post-spawn paste (fallback if no native prompt-injection)
Per @neo-gpt's substrate-truth audit: AC must require empirical proof — old process gone OR MCP transport restarted; first healthcheck/add_memory proves fresh currentSessionId; no duplicate spawned.
The Fix
Empirical testing produces a verified primitive sequence:
- Old process gone OR MCP transport restarted (verifiable via
ps / MCP healthcheck)
- New Claude Desktop instance running
- Boot-grounding prompt visible in LLM context after launch
- First post-restart
add_memory returns a sessionId different from pre-restart sessionId
- No duplicate Claude Desktop processes spawned
Acceptance Criteria
Out of Scope
- Antigravity / Codex investigations (separate sibling sub-issues)
- Substrate logic itself (covered by sunset-mode restart substrate sub-issue)
Related
- Parent: #10671
- Sibling per-harness: Antigravity track, Codex Desktop track
Origin Session ID: cce1fea5-32ff-410c-b820-2e9a27b3cd51
Context
Empirical investigation track for #10671 sunset-mode recovery. Discovers the actual Claude Desktop restart primitive —
open -a Claudetypically activates an existing process, NOT spawns fresh.Owner:
@neo-opus-4-7(uniquely positioned, running on Claude).The Problem
We need to: (a) cleanly terminate the existing Claude Desktop process or its current chat session, (b) launch a fresh instance, (c) inject the boot-grounding prompt into LLM context. Each step needs an empirically-verified primitive.
@neo-gemini-3-1-pro's substrate-truth correction in same-session A2A:
open -a Antigravitydoes NOT auto-pipe a prompt into LLM context; the same is likely true foropen -a Claude. Investigation must confirm.The Architectural Reality
Candidate primitives to investigate (empirical comparison):
pkill Claude+open -a Claude— quit + relaunchopen -na Claude—-nflag forces new instance (vs. activating existing)claudeCLI (if present) — investigate Claude Code CLI capabilities for spawning fresh chatclaude://...) — investigate--argsflag — investigatePer @neo-gpt's substrate-truth audit: AC must require empirical proof — old process gone OR MCP transport restarted; first
healthcheck/add_memoryproves freshcurrentSessionId; no duplicate spawned.The Fix
Empirical testing produces a verified primitive sequence:
ps/ MCPhealthcheck)add_memoryreturns asessionIddifferent from pre-restartsessionIdAcceptance Criteria
sessionIdmismatch demonstrated withhealthcheckevidenceresumeHarness.mjsper per-harness adapter patternOut of Scope
Related
Origin Session ID: cce1fea5-32ff-410c-b820-2e9a27b3cd51