openclaw - 💡(How to fix) Fix [Bug]: ACP session mode on Feishu fails with 'Thread bindings are unavailable for feishu' and lacks a traceable fallback [1 comments, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#52183Fetched 2026-04-08 01:14:37
View on GitHub
Comments
1
Participants
1
Timeline
3
Reactions
0
Participants
Timeline (top)
closed ×1commented ×1locked ×1

On Feishu, ACP session-mode delegation (for example Claude Code / Codex via ACP) cannot establish a traceable session because ACP requires thread=true, but Feishu thread bindings are unavailable and OpenClaw does not provide a usable fallback.

Error Message

Observed error while trying to move from ACP one-shot behavior to a traceable session flow on Feishu:

Root Cause

On Feishu, ACP session-mode delegation (for example Claude Code / Codex via ACP) cannot establish a traceable session because ACP requires thread=true, but Feishu thread bindings are unavailable and OpenClaw does not provide a usable fallback.

Code Example

Thread bindings are unavailable for feishu.

---

Thread bindings are unavailable for feishu.
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect product behavior / unsupported surface fallback)

Summary

On Feishu, ACP session-mode delegation (for example Claude Code / Codex via ACP) cannot establish a traceable session because ACP requires thread=true, but Feishu thread bindings are unavailable and OpenClaw does not provide a usable fallback.

Steps to reproduce

  1. Use OpenClaw from a Feishu DM surface.
  2. Ask OpenClaw to delegate a task to Claude Code / Codex through ACP.
  3. ACP one-shot/run mode may be accepted, but does not provide a reliable traceable session for continued inspection.
  4. Try to switch to ACP mode=session so the session is persistent and inspectable.
  5. Observe the failure:
Thread bindings are unavailable for feishu.

Expected behavior

When the current surface does not support ACP thread bindings, OpenClaw should provide a usable fallback instead of failing the traceable-session path entirely.

For example, one of these would be acceptable:

  • a Feishu-compatible persistent ACP session model that does not require thread bindings
  • an automatic fallback to a traceable non-thread-bound session
  • a clearer built-in degraded mode that still lets the user inspect and continue the delegated coding session safely

Actual behavior

ACP mode=session requires thread=true, but Feishu does not provide ACP thread bindings. The request fails before a usable traceable delegated session can be established.

In practice this means:

  • one-shot ACP may be accepted but is hard to verify / continue reliably
  • persistent ACP delegation is blocked on Feishu
  • Claude Code / Codex delegation on Feishu is much less usable than on surfaces that support ACP thread binding

OpenClaw version

2026.3.13

Operating system

macOS 26.3.1

Install method

npm / local gateway LaunchAgent

Model

gpt-5.4

Provider / routing chain

openclaw -> shimo/gpt-5.4

Additional provider/model setup details

NOT_ENOUGH_INFO

Logs, screenshots, and evidence

Observed error while trying to move from ACP one-shot behavior to a traceable session flow on Feishu:

Thread bindings are unavailable for feishu.

Related Feishu plugin issue already exists here:

Related adjacent Feishu plugin issues:

This suggests the channel-level limitation is known, but OpenClaw ACP runtime still lacks a product-level fallback for Feishu surfaces.

Impact and severity

Affected: Feishu users trying to delegate work to ACP-backed coding agents such as Claude Code / Codex Severity: Medium to High (blocks traceable persistent delegation workflow) Frequency: Always when ACP session mode is attempted from Feishu Consequence: delegated coding sessions cannot be established in a persistent, inspectable way on Feishu

Additional information

This issue is not asking Feishu itself to magically support thread bindings inside OpenClaw.

The request is that OpenClaw ACP runtime should handle this unsupported-surface case more gracefully. Right now, the product behavior effectively becomes:

  • one-shot may appear to work
  • traceable session mode fails outright

That leaves Feishu users without a reliable ACP delegation workflow.

extent analysis

Fix Plan

To address the issue of OpenClaw not providing a usable fallback for Feishu surfaces that do not support ACP thread bindings, we will implement a fallback mechanism. This will allow for a traceable, non-thread-bound session when thread=true is required but not available.

Step-by-Step Solution:

  1. Modify ACP Session Establishment:

    • Check if the current surface (e.g., Feishu) supports thread bindings before attempting to establish an ACP session with thread=true.
    • If thread bindings are not supported, automatically fallback to a non-thread-bound session mode.
  2. Implement Fallback Logic:

    • Introduce a new session mode, e.g., mode=compatible_session, which does not require thread bindings.
    • Update the ACP runtime to use this mode when the surface does not support thread bindings.
  3. Update Error Handling:

    • Instead of failing with "Thread bindings are unavailable," provide a clearer error message or notification indicating the fallback to a non-thread-bound session.

Example Code Snippet (Pseudocode):

def establish_acp_session(surface, mode):
    if mode == 'session' and surface.supports_thread_bindings():
        # Establish session with thread bindings
        return establish_session_with_thread_bindings()
    elif mode == 'session':
        # Fallback to compatible session mode if thread bindings are not supported
        return establish_compatible_session()
    else:
        # Handle other modes (e.g., one-shot)
        return establish_one_shot_session()

def establish_compatible_session():
    # Logic to establish a non-thread-bound, traceable session
    # This could involve using a different ACP mode or adjusting session parameters
    pass

Verification

  • Test the fallback mechanism by attempting to establish an ACP session with mode=session on a Feishu surface.
  • Verify that the session is established in a non-thread-bound mode and is traceable.
  • Confirm that the error handling provides a clear indication of the fallback to a compatible session mode.

Extra Tips

  • Ensure that the fallback mechanism does not introduce security vulnerabilities or compromise the integrity of the ACP sessions.
  • Consider adding configuration options to allow users to opt-out of the fallback mechanism if needed.
  • Document the fallback behavior clearly in the OpenClaw documentation to set user expectations.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

When the current surface does not support ACP thread bindings, OpenClaw should provide a usable fallback instead of failing the traceable-session path entirely.

For example, one of these would be acceptable:

  • a Feishu-compatible persistent ACP session model that does not require thread bindings
  • an automatic fallback to a traceable non-thread-bound session
  • a clearer built-in degraded mode that still lets the user inspect and continue the delegated coding session safely

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING