openclaw - ✅(Solved) Fix openclaw doctor reports 'LINE channel access token not configured' despite LINE channel working correctly [1 pull requests, 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#44546Fetched 2026-04-08 00:45:25
View on GitHub
Comments
0
Participants
1
Timeline
6
Reactions
0
Author
Participants
Timeline (top)
referenced ×4cross-referenced ×2

openclaw doctor reports LINE channel access token not configured even though the LINE channel is fully operational and receiving/sending messages.

This is the same class of bug as #44539 (Telegram "not configured"), but affecting the LINE channel.

Root Cause

Same as #44539 — the inspectAccountPrimary token resolution chain in the CLI/doctor code path fails to find tokens that the runtime startup path resolves correctly.

The "not configured" string comes from channels-cli-DstgZ51q.js:

function appendEnabledConfiguredLinkedBits(bits, account) {
  if (typeof account.configured === "boolean")
    if (account.configured) {
      bits.push("configured");
    } else bits.push("not configured");
}

The LINE plugin equivalent of inspectTelegramAccountPrimary returns configured: false despite valid tokens being present in the config.

Fix Action

Fixed

PR fix notes

PR #44620: fix(line): resolve account credentials before reporting configured status

Description (problem / solution / changelog)

Problem

LINE doctor/status account snapshots derived configured from the raw account object passed into describeAccount().

That raw snapshot can be missing credentials that are resolved later from env/files, so correctly configured LINE accounts were incorrectly reported as unconfigured.

Fix

Resolve the LINE account through the runtime inside describeAccount() before computing:

  • configured
  • tokenSource

This makes doctor/status snapshots reflect the same resolved credentials used by the actual LINE runtime.

Tests

Added regression coverage to verify describeAccount() uses the resolved LINE account rather than the raw snapshot.

Closes #44546

Changed files

  • extensions/line/src/channel.describeAccount.test.ts (added, +51/-0)
  • extensions/line/src/channel.ts (modified, +13/-7)

Code Example

{
  "channels": {
    "line": {
      "channelAccessToken": "<present, valid>",
      "channelSecret": "<present, valid>",
      "accounts": {
        "default": {
          "channelAccessToken": "<present, valid>",
          "channelSecret": "<present, valid>"
        }
      }
    }
  }
}

---

function appendEnabledConfiguredLinkedBits(bits, account) {
  if (typeof account.configured === "boolean")
    if (account.configured) {
      bits.push("configured");
    } else bits.push("not configured");
}
RAW_BUFFERClick to expand / collapse

Description

openclaw doctor reports LINE channel access token not configured even though the LINE channel is fully operational and receiving/sending messages.

This is the same class of bug as #44539 (Telegram "not configured"), but affecting the LINE channel.

Current Behavior

  • openclaw doctorLINE channel access token not configured
  • openclaw statusLINE │ ok
  • LINE bot is actively receiving webhooks and responding to messages

Configuration

Both top-level and account-level tokens are present:

{
  "channels": {
    "line": {
      "channelAccessToken": "<present, valid>",
      "channelSecret": "<present, valid>",
      "accounts": {
        "default": {
          "channelAccessToken": "<present, valid>",
          "channelSecret": "<present, valid>"
        }
      }
    }
  }
}

Root Cause

Same as #44539 — the inspectAccountPrimary token resolution chain in the CLI/doctor code path fails to find tokens that the runtime startup path resolves correctly.

The "not configured" string comes from channels-cli-DstgZ51q.js:

function appendEnabledConfiguredLinkedBits(bits, account) {
  if (typeof account.configured === "boolean")
    if (account.configured) {
      bits.push("configured");
    } else bits.push("not configured");
}

The LINE plugin equivalent of inspectTelegramAccountPrimary returns configured: false despite valid tokens being present in the config.

Expected Behavior

openclaw doctor should report LINE as configured/OK when tokens are present and openclaw status shows it working.

Environment

  • OpenClaw version: 2026.3.11
  • OS: macOS 26.2 (arm64)
  • Node: v24.12.0

Related

  • #44539 (same bug for Telegram channel)

extent analysis

Fix Plan

To resolve the LINE channel access token not configured issue, we need to update the inspectAccountPrimary token resolution chain in the CLI/doctor code path.

Here are the steps:

  • Update the channels-cli-DstgZ51q.js file to correctly resolve the LINE channel access token.
  • Modify the appendEnabledConfiguredLinkedBits function to handle the LINE channel access token resolution.
  • Ensure the LINE plugin equivalent of inspectTelegramAccountPrimary returns configured: true when valid tokens are present.

Example code changes:

// Update the token resolution chain
function inspectAccountPrimary(account) {
  // ... existing code ...
  if (account.channel === 'line') {
    // Correctly resolve the LINE channel access token
    const token = account.config.channelAccessToken || account.config.accounts.default.channelAccessToken;
    return { configured: !!token };
  }
  // ... existing code ...
}

// Modify the appendEnabledConfiguredLinkedBits function
function appendEnabledConfiguredLinkedBits(bits, account) {
  if (typeof account.configured === "boolean") {
    if (account.configured) {
      bits.push("configured");
    } else {
      // Handle the case where the token is not configured
      bits.push("not configured");
      if (account.channel === 'line') {
        // Provide additional information for the LINE channel
        bits.push(`(LINE channel access token not found)`);
      }
    }
  }
}

Verification

To verify the fix, run the following commands:

  • openclaw doctor should report LINE as configured/OK.
  • openclaw status should show the LINE channel as working.

Extra Tips

  • Ensure that the channelAccessToken and channelSecret are correctly configured in the config.json file.
  • If issues persist, check the OpenClaw version and Node.js version for compatibility.

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…

Still need to ship something?

×6

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

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix openclaw doctor reports 'LINE channel access token not configured' despite LINE channel working correctly [1 pull requests, 1 participants]