Skip to content

[Bug]: Android app pairs successfully but exposes no caps/commands and Talk voice fails (Unknown Talk session / Unknown transcription Talk session) #90952

Description

@giof94is

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

Summary

On Android, pairing succeeds and the node connects to the Gateway, but the connected node exposes no capabilities/commands and Talk voice does not work.

The Gateway sees the Android node as:

  • version: 2026.5.25
  • caps: []
  • commands: []
  • connected: true

When trying voice/Talk from the Android app, the Gateway logs show session creation followed by immediate failures such as:

  • talk.session.appendAudio -> Error: Unknown Talk session
  • talk.session.close -> Error: Unknown transcription Talk session

This happens even after:

  • fresh pairing
  • fresh reinstall / clear data
  • microphone permission granted
  • remote access via HTTPS/WSS reverse proxy working correctly for browser/control UI

Environment

  • Gateway version: 2026.6.1
  • Android app reports / is seen by Gateway as: 2026.5.25
  • Device: Samsung S25 Ultra (SM-S938B)
  • Platform: Android
  • Gateway exposed remotely via Caddy reverse proxy over https:// / wss://
  • Gateway itself remains bound to loopback, reverse proxy forwards to it

Expected behavior

After pairing, the Android node should:

  • expose Talk-related capabilities/commands
  • work with voice/Talk from the app
  • not fall into broken Talk session lifecycle immediately after session creation

Actual behavior

Pairing succeeds and node connects, but:

  • node exposes no capabilities/commands
  • Talk/voice does not work
  • logs show Talk session creation followed by immediate failure

Reproduction

  1. Generate setup code with /pair
  2. Pair Android app to Gateway
  3. Approve pairing
  4. Open voice / Talk in Android app
  5. Try speaking

Observed Gateway state

openclaw nodes status --json shows the Android node like this:

{
  "displayName": "Giovanni's S25 Ultra",
  "platform": "android",
  "version": "2026.5.25",
  "clientId": "openclaw-android",
  "clientMode": "node",
  "caps": [],
  "commands": [],
  "connected": true
}


### Steps to reproduce

## Reproduction
1. Generate setup code with `/pair`
2. Pair Android app to Gateway
3. Approve pairing
4. Open voice / Talk in Android app
5. Try speaking


### Expected behavior

## Expected behavior
After pairing, the Android node should:
- expose Talk-related capabilities/commands
- work with voice/Talk from the app
- not fall into broken Talk session lifecycle immediately after session creation

### Actual behavior

## Actual behavior
Pairing succeeds and node connects, but:
- node exposes no capabilities/commands
- Talk/voice does not work
- logs show Talk session creation followed by immediate failure

### OpenClaw version

2026.6.1

### Operating system

Ubuntu 24.04

### Install method

npm

### Model

openai-codex

### Provider / routing chain

openai-codex

### Additional provider/model setup details

Additional notes

• This is not just stale pairing state: the issue reproduced after multiple fresh pairings and a clean reinstall.
• Browser access to the Gateway via HTTPS/WSS works.
• Docs suggest Android Talk should normally use native/local speech flow unless explicit realtime relay config is set, but behavior here appears to go through a broken Talk session path.
• I did not find an obvious Gateway config issue that would explain the Android node exposing caps: [] / commands: [].

Question

Could this be:

1. a known Android client bug in 2026.5.25,
2. a mismatch between Android app build and Gateway 2026.6.1, or
3. an issue where Android node capability registration fails even though pairing/connect succeeds?

### Logs, screenshots, and evidence

```shell
Relevant logs

Pairing succeeds, node connects as v2026.5.25 and without capabilities.

Examples from Gateway logs:

[ws] ... client=Giovanni's S25 Ultra node v2026.5.25 ...

[ws] ⇄ res ✓ talk.session.create ...
[ws] ⇄ res ✗ talk.session.appendAudio ... errorMessage=Error: Unknown Talk session

[ws] ⇄ res ✓ talk.session.create ...
[ws] ⇄ res ✗ talk.session.close ... errorMessage=Error: Unknown transcription Talk session

Also, Talk sessions appear to be closed almost immediately after creation.

Impact and severity

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority user-facing bug, regression, or broken workflow.bugSomething isn't workingbug:behaviorIncorrect behavior without a crashclawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions