Skip to content

Sub-agent spawn fails with 'pairing required' after update to 2026.2.21-2 #23160

Description

@scarlettdetekelala

Bug Report

Version: 2026.2.21-2 (updated from 2026.2.19-2)
OS: macOS 26.3 (arm64), Mac mini M-series
Node: v24.13.0
Bind: loopback, auth mode: token

Issue

sessions_spawn fails with gateway closed (1008): pairing required for ALL sub-agent spawns. This worked correctly on 2026.2.19-2.

Log signature

security audit: device access upgrade requested reason=scope-upgrade
  device=05eb09d4...
  scopesFrom=operator.admin,operator.approvals,operator.pairing,operator.read
  scopesTo=operator.write
  client=gateway-client

gateway connect failed: Error: pairing required

What happens

The embedded agent runtime tries to spawn a sub-agent session via sessions_spawn. The gateway rejects it because the device only has operator.read scope but the spawn requires operator.write. This scope-upgrade path has no approval mechanism for the embedded agent runtime.

This was NOT required in 2026.2.19-2 — sub-agent spawns worked without any scope-upgrade.

Repro steps

  1. Update from 2026.2.19-2 to 2026.2.21-2 (npm install -g openclaw@latest)
  2. openclaw gateway install --force && openclaw gateway restart
  3. From main agent session, call sessions_spawn with any task
  4. Fails with "pairing required" (scope-upgrade rejected)

Attempted workarounds (none worked)

  • openclaw gateway restart
  • openclaw gateway install --force
  • openclaw doctor / openclaw doctor --fix
  • Token rotation + reinstall
  • Full stop/start cycle (launchctl bootout + fresh install)

Expected behavior

Embedded agent runtime should have operator.write scope by default for sub-agent spawns, matching pre-update (2026.2.19-2) behavior.

Config (relevant sections)

{
  gateway: {
    port: 18789,
    mode: "local",
    bind: "loopback",
    auth: { mode: "token" }
  },
  agents: {
    defaults: {
      maxConcurrent: 4,
      subagents: { maxConcurrent: 8 }
    }
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions