Skip to content

Persistent sessions become dead immediately (queue owner unavailable) on macOS #185

@dtimesjp

Description

@dtimesjp

Persistent sessions become dead immediately (queue owner unavailable) on macOS

Summary

Persistent acpx sessions are created successfully, but immediately report dead / queue owner unavailable on status checks.

This reproduces outside OpenClaw, so the issue appears to be in acpx persistent session / queue owner health rather than OpenClaw routing.

Environment

  • Host: macOS arm64
  • Node: v25.8.2
  • acpx: 0.3.1
  • Workspace cwd used for repro: /Users/macmini16/.openclaw/workspace

What was ruled out

  • Anthropic auth missing: ruled out
  • Opus unavailable: ruled out (OPUS_OK one-shot confirmed)
  • OpenClaw ACP backend unavailable: fixed after npm restore
  • Discord thread session-key suffix bug: patched separately (useSuffix: true)
  • Claude ACP adapter version: not root cause
    • reproduced with @zed-industries/claude-agent-acp@0.21.x
    • reproduced with @zed-industries/claude-agent-acp@0.23.1
    • reproduced with @agentclientprotocol/claude-agent-acp@0.24.2

Minimal reproduction

1) Ensure a persistent session

cd /Users/macmini16/.openclaw/workspace
/opt/homebrew/lib/node_modules/openclaw/dist/extensions/acpx/node_modules/.bin/acpx --format json --verbose claude sessions ensure --name diag-thread

Observed:

{"action":"session_ensured","created":true,"acpxRecordId":"ce03bfd0-1736-4a9a-a36d-32aaed258617","acpxSessionId":"ce03bfd0-1736-4a9a-a36d-32aaed258617","name":"diag-thread"}

2) Immediately check status

cd /Users/macmini16/.openclaw/workspace
/opt/homebrew/lib/node_modules/openclaw/dist/extensions/acpx/node_modules/.bin/acpx --format json --verbose claude status --session diag-thread

Observed:

{"action":"status_snapshot","status":"dead","pid":17014,"summary":"queue owner unavailable","acpxRecordId":"ce03bfd0-1736-4a9a-a36d-32aaed258617","acpxSessionId":"ce03bfd0-1736-4a9a-a36d-32aaed258617"}

Additional observations

  • sessions ensure succeeds repeatedly.
  • status reports dead immediately after creation.
  • Downstream OpenClaw logs show matching symptoms:
    • acpx ensureSession replacing dead named session
    • summary=queue owner unavailable
  • This suggests either:
    1. queue owner process exits immediately after session creation, or
    2. queue owner health probe incorrectly marks a live owner as dead.

Why this matters

OpenClaw ACP thread-bound persistent sessions depend on acpx persistent session health.
As a result, thread-bound ACP sessions are currently unstable, even though one-shot ACP runs work.

Current workaround

Use ACP in one-shot mode only:

  • mode: "run"
  • thread: false

Request

Please investigate acpx queue owner lifecycle / health probing for newly-created persistent sessions on macOS.
Potential areas:

  • queue owner spawn / detach / env handoff
  • PID persistence vs actual process liveness
  • immediate health probe timing / race
  • status health criteria for newly-created sessions

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions