#potential issue openclaw broken

1 messages · Page 1 of 1 (latest)

uneven yew
#

Found it. Budget set too tight for actual usage:

session.maintenance.maxDiskBytes = 120mb
session.maintenance.highWaterBytes = 90mb

But agents/vorti-main/sessions/ is 194 MB — way over. The gateway's cleanup loop can't get below 90MB without nuking active
sessions, so it hot-loops trying. That's the 54% CPU + 1.3 GB RAM + Telegram timeouts.

Two-step fix:

  1. Raise the budget to something realistic (e.g. 500MB max / 400MB high-water).
  2. Restart gateway.

Want me to do it? Specifically:

Raise budget
HOME=/Users/claw openclaw config set session.maintenance.maxDiskBytes 500mb
HOME=/Users/claw openclaw config set session.maintenance.highWaterBytes 400mb

Stop the wedged gateway, start fresh
HOME=/Users/claw openclaw gateway stop
HOME=/Users/claw openclaw gateway start

That should bring it back instantly. Telegram should respond once the gateway settles.

(Separately: real disk bloat lives in /state/codex-runtime/ 14 GB and workspace-vorti-main/projects/ 7.6 GB —
projects/Mj-Labs 3.3 GB, projects/agw-website 1.9 GB, projects/agw-website-v2 1.9 GB, projects/archive 1.1 GB. Those aren't
causing the wedge, but they're why you're at 88% disk. Worth a cleanup pass another day.)

Say go and I'll do the fix.

fossil nestBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

livid tendonBOT
# uneven yew Found it. Budget set too tight for actual usage: session.maintenance.maxDiskB...

This diagnosis lines up with the current docs/source: session.maintenance.maxDiskBytes and session.maintenance.highWaterBytes are real config keys, and disk cleanup targets the per-agent sessions directory. Docs: https://docs.openclaw.ai/reference/session-management-compaction and https://docs.openclaw.ai/gateway/configuration-reference

Two small checks I’d add before changing it:

HOME=/Users/claw openclaw --version
HOME=/Users/claw openclaw config get session.maintenance

Then the proposed 500mb / 400mb bump + gateway restart is the right low-risk move. If maintenance is in warn mode, it should stop the pressure warning/hot loop by making the active sessions fit under budget; if it’s in enforce, this also avoids cleanup trying to evict active history to hit an unrealistic target.

uneven yew
#

for some reason my telegram is only replying to me in one chat a time before it'd be working on like five at once how can i figure out what's going on i've been running it in telegram topics

livid tendonBOT
# uneven yew for some reason my telegram is only replying to me in one chat a time before it'...

First thing: what version are you on?

openclaw --version

For this specific symptom, I’d check the queue/concurrency path. Telegram topics should be isolated as <chatId>:topic:<threadId>, and Telegram long polling uses per-chat/per-thread sequencing, but overall parallel replies are capped by agents.defaults.maxConcurrent.

Good triage:

openclaw status --all
openclaw logs --follow

Then send test prompts in 2-3 Telegram topics and watch the logs for:

  • queued for ...ms / queue timing lines
  • same session key being reused instead of distinct :topic:<id>
  • session.long_running, session.stalled, or session.stuck
livid tendonBOT
# uneven yew for some reason my telegram is only replying to me in one chat a time before it'...
  • getUpdates 409 conflicts, which means another gateway/script is using the same Telegram bot token

Also inspect config for this:

{
  agents: {
    defaults: {
      maxConcurrent: 4
    }
  }
}

If that got set to 1, everything can look “one chat at a time” even though topics are detected correctly. If the logs show all topics collapsing to one session key, that’s a different bug/config issue and worth filing with the version + sanitized log excerpt.

Docs refs:

uneven yew
#

hecked.

• Version: OpenClaw 2026.5.12 (f066dd2)
• agents.defaults.maxConcurrent: 3, so not the “set to 1, everything serializes” issue.
• Telegram health: Morgan bot is running, connected, polling.
• AGW topics are separating correctly:
• agent:vorti-main:telegram:group:-1003840544648:topic:27
• agent:vorti-main:telegram:group:-1003840544648:topic:2
• No current getUpdates 409 conflicts in the live/recent tail.
• Historical 409 conflicts existed Apr 26/28, but nothing current. So Krill’s duplicate-poller diagnosis is not active right now.
• Only one actual gateway process is running: pid 11210.

I did find config/menu noise: native skill commands were briefly conflicting with custom commands (/skill_creator, /site_audit, /site_builder, /openclaw_cli), but current config readback has those custom command blocks cleared. Looks like cleanup already landed.

Verdict: current issue is not “one Telegram bot token being polled twice” and not topic collapse. If the GC skipped a reply, it’s more likely queue/run timing, a deferred channel reload, or that specific topic run getting busy/stalled.

livid tendonBOT
# uneven yew hecked. • Version: OpenClaw 2026.5.12 (f066dd2) • agents.defaults.maxConcurrent...

Yep, that narrows it down. Since version/concurrency/topic IDs/poller look sane, I’d chase the per-session queue/runtime state now.

Next useful checks while reproducing:

openclaw logs --follow

Send one prompt in topic 27 and one in topic 2, then look for those exact session keys. The important distinction is:

  • both start runs but one takes a long time: likely model/provider/tool runtime latency
  • second topic logs queued for ...ms: queue lane/backpressure
  • one topic logs session.long_running, session.stalled, or session.stuck: stuck session bookkeeping/runtime issue
  • Telegram receives inbound but no run starts: activation/group config/topic binding issue

Also worth checking current sessions/tasks, because a stale active run can make one topic look ignored:

livid tendonBOT
# uneven yew hecked. • Version: OpenClaw 2026.5.12 (f066dd2) • agents.defaults.maxConcurrent...
openclaw status --all
openclaw tasks list

If the skipped topic shows as stuck/processing, try a clean gateway restart first. If it repeats on 2026.5.12 with distinct :topic:<id> session keys and no 409s, I’d file it as a bug with:

  • openclaw --version
  • the two session keys
  • the sanitized log slice from inbound message → queue/run decision → missing/late reply
  • whether a restart clears it

Issue link: https://github.com/openclaw/openclaw/issues

uneven yew
#

Krill’s path was right. Current state:

• Version: 2026.5.12
• Topic sessions are clean/distinct: topic:2 and topic:27
• Telegram is connected/polling, no current 409 getUpdates conflict
• maxConcurrent = 3, so not serialized by config
• Gateway restart completed; health is green
• The real ugly bit: task audit still has one stale running subagent from an old Pace audit:
db373af8-3aa3-42b4-974e-902e7fa191fd
• openclaw tasks cancel can’t cancel it: “Task has no cancellable child session.”
• openclaw tasks maintenance won’t reconcile it either.

So the actionable bug is not Telegram topics. It’s durable task bookkeeping: stale subagent remains running forever with no cancellable child, and maintenance doesn’t clean it. That’s issue-worthy.

Also: the extra current active task is just a normal cron refresh, not related.

livid tendonBOT
# uneven yew Krill’s path was right. Current state: • Version: 2026.5.12 • Topic sessions ar...

Agreed. That’s a much cleaner bug report now: stale durable subagent task state, not Telegram routing.

Docs say tasks maintenance --apply should reconcile subagent tasks against the backing child session, and for restart-recovery tombstones it should mark them lost. If this task has no cancellable child session and maintenance leaves it running, that’s the broken invariant.

Before trying more repair, I’d capture:

openclaw tasks show db373af8-3aa3-42b4-974e-902e7fa191fd --json
openclaw tasks audit --json
openclaw tasks maintenance --json
openclaw status --all

Then one additional repair path worth testing, because the subagent docs mention it separately:

livid tendonBOT
uneven yew
#

◇ Doctor warnings ──────────────────────────────────────────────────────────────────────────╮
│ │
│ - agents.list[0].model (id=vorti-main) is "openai/gpt-5.5", a bare string with no │
│ fallbacks. At runtime this clobbers agents.defaults.model.fallbacks (openai/gpt-5.4, │
│ openai/gpt-5.4-mini), leaving the agent with no fallbacks. │
│ Fix: add "fallbacks": [...] to inherit or override, or "fallbacks": [] to explicitly │
│ disable. │
│ - agents.list[1].model (id=rex) is "openai/gpt-5.5", a bare string with no fallbacks. At │
│ runtime this clobbers agents.defaults.model.fallbacks (openai/gpt-5.4, │
│ openai/gpt-5.4-mini), leaving the agent with no fallbacks. │
│ Fix: add "fallbacks": [...] to inherit or override, or "fallbacks": [] to explicitly │
│ disable. │
│ - agents.list[2].model (id=mika) is "openai/gpt-5.5", a bare string with no fallbacks. │
│ At runtime this clobbers agents.defaults.model.fallbacks (openai/gpt-5.4, │
│ openai/gpt-5.4-mini), leaving the agent with no fallbacks. │
│ Fix: add "fallbacks": [...] to inherit or override, or "fallbacks": [] to explicitly │
│ disable. │
│ - agents.list[3].model (id=kit) is "openai/gpt-5.5", a bare string with no fallbacks. At │
│ runtime this clobbers agents.defaults.model.fallbacks (openai/gpt-5.4, │
│ openai/gpt-5.4-mini), leaving the agent with no fallbacks. │
│ Fix: add "fallbacks": [...] to inherit or override, or "fallbacks": [] to explicitly │
│ disable. │
│ - agents.list[4].model (id=codex) is "openai/gpt-5.5", a bare string with no fallbacks. │
│ At runtime this clobbers agents.defaults.model.fallbacks (openai/gpt-5.4, │
│ openai/gpt-5.4-mini), leaving the agent with no fallbacks. │
│ Fix: add "fallbacks": [...] to inherit or override, or "fallbacks": [] to explicitly │
│ disable. │
│ │
├───────────────────────────────────────

#

🦞 OpenClaw 2026.5.12 (f066dd2) — Your .env is showing; don't worry, I'll pretend I didn't see it.

Background task:
taskId: db373af8-3aa3-42b4-974e-902e7fa191fd
kind: subagent
sourceId: codex-thread:019e2a74-d671-7bd0-a229-330fbff553bc
status: running
result: n/a
delivery: not_applicable
notify: silent
ownerKey: agent:vorti-main:telegram:direct:1398649619
childSessionKey: n/a
parentTaskId: n/a
agentId: vorti-main
runId: codex-thread:019e2a74-d671-7bd0-a229-330fbff553bc
label: Codex subagent
task: Audit the current Pace paid landing page preview for UX/CRO problems. Use the codebase and artifacts, but do not edit files. Focus on what still looks weak/tacky/dull after the latest e53749a1 preview changes. Target routes: /connecticut and /sell-house-fast/stamford-ct on https://pace-homebuyers-iphone-preview.david-b65.workers.dev. Return direct findings with severity, concrete fix, and relevant selectors/XPaths where possible.
createdAt: 2026-05-15T07:06:00.730Z
startedAt: 2026-05-15T07:06:00.730Z
endedAt: n/a
lastEventAt: 2026-05-15T07:06:00.731Z
cleanupAfter: n/a
progressSummary: Codex native subagent is initializing.
claw@claws-Mac-mini ~ %

livid tendonBOT
# uneven yew ◇ Doctor warnings ─────────────────────────────────────────────────────────────...

Those warnings are real, but they’re probably separate from the stale task bug.

Meaning: each agent has its own agents.list[].model set as a plain string. That makes the agent strict-primary-only, so it does not inherit agents.defaults.model.fallbacks.

Two sane fixes:

  1. If those agents should just use the global model config, remove the per-agent model field entirely.

  2. If each agent should pin that primary but keep fallbacks, change each one from string form to object form:

{
  id: "vorti-main",
  model: {
    primary: "openai/gpt-5.5",
    fallbacks: [
livid tendonBOT
livid tendonBOT
# uneven yew ◇ Doctor warnings ─────────────────────────────────────────────────────────────...

Docs: https://docs.openclaw.ai/gateway/config-agents and https://docs.openclaw.ai/concepts/models

For the issue report, I’d keep this as “doctor also warned about strict per-agent model overrides” but not make it the headline. The stronger headline is still: stale running subagent task has no cancellable child session and maintenance does not reconcile it.

livid tendonBOT
# uneven yew 🦞 OpenClaw 2026.5.12 (f066dd2) — Your .env is showing; don't worry, I'll preten...

That task record is exactly the smoking gun.

The broken fields are:

  • status: running
  • childSessionKey: n/a
  • endedAt: n/a
  • lastEventAt basically equal to startedAt
  • progressSummary: Codex native subagent is initializing.

So it never got a child session, never progressed past initialization, but still persisted as running. That explains why tasks cancel says there’s no cancellable child session, and why maintenance should be able to mark it lost but apparently doesn’t.

For the GitHub issue, I’d title it something like:

Stale subagent task remains running forever when childSessionKey is missing; cancel and maintenance cannot reconcile

Include that task show output, plus:

livid tendonBOT
# uneven yew 🦞 OpenClaw 2026.5.12 (f066dd2) — Your .env is showing; don't worry, I'll preten...
openclaw tasks cancel db373af8-3aa3-42b4-974e-902e7fa191fd
openclaw tasks maintenance --apply
openclaw tasks audit --json

and the observed outputs after each.

One privacy note: if the .env is showing line means actual env contents were printed anywhere, rotate anything sensitive that appeared in the terminal/logs before sharing an issue. If it’s just the OpenClaw joke banner and no secrets printed, you’re fine.

uneven yew
#

so what's the cleanest path to getting multiple task running at once and working hard

livid tendonBOT
# uneven yew so what's the cleanest path to getting multiple task running at once and working...

Cleanest path:

  1. Keep each real workstream in a separate session/topic
    Same session = serialized by design. Separate Telegram topics are good.

  2. Use subagents for heavy work, not multiple normal chat turns
    Tell the main agent something like: “spawn 3 subagents: audit X, research Y, draft Z; report back when done.” That keeps the chat lane responsive while background work runs.

  3. Make sure delegation tools are actually available
    From the same Telegram session, run:

/tools

You want delegation/session tools available. If not, configure that agent with either a coding tool profile or allow the subagent tools. Docs call out sessions_spawn, sessions_yield, and subagents.

livid tendonBOT
livid tendonBOT
# uneven yew so what's the cleanest path to getting multiple task running at once and working...
      debounceMs: 1000,
      cap: 20,
      drop: "summarize"
    }
  }
}

Given you’re already at maxConcurrent: 3, I’d move main to 4, subagents to 6, test, then only go higher if provider/tool latency is fine. subagents.maxConcurrent default is 8, but more is not always better because provider limits, browser, shell, and repo work are still shared.

  1. Add fallbacks to those per-agent model configs
    Otherwise a single provider hiccup can make an agent look idle/dead instead of failing over.

  2. Fix or file the stale task bookkeeping bug separately
    That old running task with no childSessionKey should not be part of the steady-state setup. I wouldn’t crank concurrency while stale task accounting is lying to you.

uneven yew
#

idk what happened in previous versions i had multilpe topics mulitple groups all working at once streaming shit and working just fine now it's just taking forever to just get a little bit of work done and i feel like it's dead then it replies

livid tendonBOT
# uneven yew idk what happened in previous versions i had multilpe topics mulitple groups all...

Yeah, that “dead then suddenly replies” feeling usually means one of two things changed:

  1. Work is queued/running, but progress/stream previews aren’t visible.
  2. Work is genuinely sitting behind a lane/provider/tool bottleneck.

Fastest way to separate those:

openclaw logs --follow

Then fire prompts in two topics. If logs show agent/tool activity immediately but Telegram is quiet, check Telegram streaming/progress config. I’d explicitly set it instead of relying on defaults:

{
  channels: {
livid tendonBOT
livid tendonBOT
livid tendonBOT
uneven yew
#

}
}. Please try again or re-authenticate. | OAuth token refresh failed for openai-codex: OpenAI Codex token refresh failed (401): {
"error": {
"message": "Your refresh token has already been used to generate a new access token. Please try signing in again.",
"type": "invalid_request_error",
"param": null,
"code": "refresh_token_reused"
}
} | OpenAI Codex token refresh failed (401): {
"error": {
"message": "Your refresh token has already been used to generate a new access token. Please try signing in again.",
"type": "invalid_request_error",
"param": null,
"code": "refresh_token_reused"
}
}
18:23:52+00:00 warn diagnostic {"subsystem":"diagnostic"} stalled session: sessionId=2f7b9ec8-c611-4bb0-a929-f27a5ef66216 sessionKey=agent:vorti-main:telegram:group:-1003840544648:topic:83 state=processing age=154s queueDepth=0 reason=active_work_without_progress classification=stalled_agent_run activeWorkKind=embedded_run lastProgress=codex_app_server:notification:rawResponseItem/completed lastProgressAge=150s terminalProgressStale=true recovery=none

livid tendonBOT
# uneven yew } }. Please try again or re-authenticate. | OAuth token refresh failed for opena...

There it is. This is an auth/runtime stall, not Telegram being bad.

refresh_token_reused means the stored OpenAI Codex OAuth refresh token is no longer usable. Common cause: the same Codex/OpenAI OAuth profile got used/refreshed from more than one place, or an old copied profile/legacy auth file got resurrected. Then the agent run stalls because the Codex runtime can’t refresh auth.

Fix path:

openclaw models auth list --provider openai-codex
openclaw models auth login --provider openai-codex
openclaw models status --probe --probe-provider openai-codex
openclaw doctor --fix
openclaw gateway restart

Because you’re using multiple named agents, also check per-agent auth, especially vorti-main:

livid tendonBOT
# uneven yew } }. Please try again or re-authenticate. | OAuth token refresh failed for opena...
openclaw models auth list --agent vorti-main --provider openai-codex

If that agent has its own stale profile, re-auth for that agent/profile rather than only the default store.

Two important cleanup checks:

  • Don’t copy OAuth auth-profiles.json between agents/machines. API keys are portable; OAuth refresh tokens are not safely portable.
  • Search for old legacy auth files that might be re-importing stale tokens: ~/.openclaw/agents/<agentId>/agent/auth.json or old backups. Don’t paste contents publicly.

The stalled line confirms the user experience: active_work_without_progress, stalled_agent_run, last progress 150s ago. So after re-auth, retest one topic. If it still stalls with fresh auth, then it’s a runtime bug.

uneven yew
#

current state

openclaw models auth list --agent vorti-main --provider openai-codex

livid tendonBOT
# uneven yew current state openclaw models auth list --agent vorti-main --provider openai-c...

Run that, and also run the same check without --agent so we can compare the default store vs the vorti-main store:

openclaw models auth list --provider openai-codex
openclaw models auth list --agent vorti-main --provider openai-codex

The thing to look for is whether vorti-main has its own stale openai-codex:... profile, or whether it’s reading through to the default/main auth store.

If either list says the profile is unusable/expired/refresh failed, re-auth that path:

openclaw models auth login --provider openai-codex
openclaw models status --probe --probe-provider openai-codex
openclaw gateway restart
livid tendonBOT
uneven yew
#

how can I audit and make sure everything is wokring give me something to run in console or something

livid tendonBOT
livid tendonBOT
livid tendonBOT
livid tendonBOT
# uneven yew how can I audit and make sure everything is wokring give me something to run in ...
  echo "== recent stalled/auth/log lines =="
  openclaw logs --tail 300 2>/dev/null | rg -i "refresh_token_reused|oauth token refresh failed|stalled session|session\.stalled|session\.long_running|session\.stuck|queued for|getUpdates|409|openai-codex|no cancellable child|db373af8" || true
} 2>&1 | tee ~/openclaw-audit/audit-$(date +%Y%m%d-%H%M%S).txt

Then, if the auth probe shows the refresh token error, do the clean auth fix:

openclaw models auth login --provider openai-codex
openclaw models status --probe --probe-provider openai-codex
openclaw doctor --fix
openclaw gateway restart

After restart, run the audit block again. What you want to see:

  • no refresh_token_reused
livid tendonBOT
uneven yew
#

== version ==
OpenClaw 2026.5.12 (f066dd2)

== status ==
[skills] Skipping oversized SKILL.md files (2)
[plugins] memoryrouter: active
[plugins] memoryrouter: 4 agent keys configured

OpenClaw status --all

Overview
• Version: 2026.5.12
• OS: macOS 15.3.1 (arm64)
• Node: 25.6.0
• Dashboard: http://127.0.0.1:18789/
• Gateway: local loopback · reachable
• Gateway service: running
• Agents: 5 total · 1 active · 32 sessions
• Secrets: none detected

Channels
• Telegram: ON · OK · 4 configured accounts

Telegram accounts
• kit: OK
• mika: OK
• morgan: OK
• rex: OK

Agents
• vorti-main — active 2m ago
• codex — active 11h ago
• kit — active 14m ago
• mika — active 39m ago
• rex — active 27m ago

Diagnosis
• Gateway target: ws://127.0.0.1:18789
• Config: ~/.openclaw/openclaw.json
• Bind: loopback
• Port 18789 detected
• Skills: 37 eligible
• Plugin compatibility: OK
• Tailscale exposure: off

Gateway logs (recent summary)
• memory sync completed
• config reload detected
• gateway restarted cleanly after SIGTERM
• embedded runtime backend ready
• gateway ready
• heartbeat started
• Telegram command menus auto-shortened due to payload size
• inbound Telegram activity normal
• websocket health/status checks passing

Gateway restart history
• Multiple successful restart handoffs detected
• Latest update restart completed successfully

Gateway
• Service: LaunchAgent
• Runtime: running
• Connectivity probe: OK
• Capability: admin-capable
• Listening: 127.0.0.1:18789
• Probe note: loopback-only gateway

Health
• Telegram configured
• Event loop healthy
• Agents online: vorti-main, rex, mika, kit, codex
• Heartbeats active
• Session stores healthy

Model auth
• Provider: openai-codex
• OAuth profiles configured
• Auth status: valid
• Expiration windows healthy

Model probe
• Default model: openai/gpt-5.5
• Fallbacks configured
• Auth probes passing
• Memoryrouter injected context successfully

Auth overview
• Providers configured: anthropic, claude-cli, codex, openai-codex, openrouter
• OAuth/token references detected
• Environment auth detected
• No raw secrets displayed

Task audit
• 1 running task appears stale
• 7 orphan/lost task warnings
• No queue pressure

Running tasks
• 1 codex subagent initialization task running

Task maintenance dry run
• No cleanup applied
• Health: 1 running · 1 audit error · 7 warnings

Recent shell output
• zsh: command not found: rg

livid tendonBOT
# uneven yew == version == OpenClaw 2026.5.12 (f066dd2) == status == [skills] Skipping overs...

This is actually a pretty clean result.

What’s healthy:

  • Telegram is OK across 4 accounts
  • gateway is reachable and event loop healthy
  • no current queue pressure
  • openai-codex auth is now valid
  • model probes are passing
  • fallbacks are configured

What’s still bad:

  • 1 running task appears stale
  • 1 codex subagent initialization task running
  • 7 orphan/lost task warnings

So the main “why does it feel dead?” culprit from that audit is now stale task bookkeeping, not Telegram/auth.

livid tendonBOT
# uneven yew == version == OpenClaw 2026.5.12 (f066dd2) == status == [skills] Skipping overs...

Next run:

openclaw tasks audit --json > ~/openclaw-audit/tasks-audit.json
openclaw tasks list --status running --json > ~/openclaw-audit/running-tasks.json
openclaw tasks maintenance --apply
openclaw tasks audit
openclaw tasks list --status running

If that stale codex subagent initialization task still remains running after maintenance --apply, that’s the bug report. You already have the good issue shape:
Stale Codex subagent initialization task remains running forever with no child session; cancel/maintenance cannot reconcile

Also, your shell doesn’t have rg, so swap that log filter command to this:

livid tendonBOT
# uneven yew == version == OpenClaw 2026.5.12 (f066dd2) == status == [skills] Skipping overs...
openclaw logs --tail 300 2>/dev/null | grep -Ei "refresh_token_reused|oauth token refresh failed|stalled session|session\.stalled|session\.long_running|session\.stuck|queued for|getUpdates|409|openai-codex|no cancellable child|db373af8" || true

After maintenance, do a real test: send one small prompt in two Telegram topics at the same time and watch openclaw logs --follow. If auth stays green and no queued for... lines appear, replies should start feeling normal again except for the stale-task accounting bug.

uneven yew
#

the logs think no work

Last login: Fri May 15 03:23:46 on ttys005
You have new mail.
claw@claws-Mac-mini ~ % openclaw tasks audit --json > ~/openclaw-audit/tasks-audit.json
openclaw tasks list --status running --json > ~/openclaw-audit/running-tasks.json
openclaw tasks maintenance --apply
openclaw tasks audit
openclaw tasks list --status running

🦞 OpenClaw 2026.5.12 (f066dd2) — Deployed locally, trusted globally, debugged eternally.

Tasks maintenance (applied): tasks 0 reconcile · 0 recovered · 0 cleanup stamp · 0 prune; task-flows 0 reconcile · 0 prune
Session registry: 0 prune · 1 running cron jobs
Tasks health after apply: 0 queued · 2 running · 1 audit errors · 7 audit warnings
Tasks health before apply: 1 audit errors · 7 audit warnings

🦞 OpenClaw 2026.5.12 (f066dd2) — Say "stop" and I'll stop—say "ship" and we'll both learn a lesson.

Tasks audit: 8 findings · 1 errors · 7 warnings
Task findings: 8 · TaskFlow findings: 0
Scope Severity Code Item Status Age Detail
Task error stale_running db373af8-… running 11h32m running task appears stuck
Task warn lost 97641a0f-… lost 16h54m backing session missing
Task warn lost 4f81fd75-… lost 16h34m backing session missing
Task warn lost 17eb6615-… lost 16h34m backing session missing
Task warn lost b7bd2976-… lost 16h34m backing session missing
Task warn lost dd15483e-… lost 16h34m backing session missing
Task warn lost 43d12065-… lost 16h23m backing session missing
Task warn lost d0a7f2ad-… lost 9m backing session missing

🦞 OpenClaw 2026.5.12 (f066dd2) — Finally, a use for that always-on Mac Mini under your desk.

Background tasks: 2
Task pressure: 0 queued · 2 running · 0 issues
Status filter: running
Task Kind Status Delivery Run Child Session Summary
3ad450bf-… cron running not_applicable cron:e555… n/a upgrade-remote-receipts
db373af8-… subagent running not_applicable codex-thr… n/a Codex native subagent is initializing.
claw@claws-Mac-mini ~ % openclaw logs --tail 300 2>/dev/null | grep -Ei "refresh_token_reused|oauth token refresh failed|stalled session|session.stalled|session.long_running|session.stuck|queued for|getUpdates|409|openai-codex|no cancellable child|db373af8" || true
claw@claws-Mac-mini ~ %

livid tendonBOT
# uneven yew the logs think no work Last login: Fri May 15 03:23:46 on ttys005 You have new...

Right, that means there’s no current runtime activity for that stale task. It’s just a durable task record stuck in running.

Important distinction:

  • logs: no active stalled run right now
  • task ledger: old subagent task still says running
  • maintenance: applied and reconciled 0, so it failed to clean the stale record

That’s a bug. The strongest evidence is this combo:

db373af8... subagent running
child session: n/a
summary: Codex native subagent is initializing
age: 11h32m
tasks maintenance --apply: tasks 0 reconcile
tasks audit: stale_running error
livid tendonBOT
# uneven yew the logs think no work Last login: Fri May 15 03:23:46 on ttys005 You have new...

For “is my system actually working now?”, ignore that stale record for a minute and run a fresh live test:

openclaw logs --follow

Then send two simple Telegram prompts in two different topics, like:
reply with only TOPIC 1 OK after waiting 5 seconds
reply with only TOPIC 2 OK after waiting 5 seconds

If those both start and reply, your runtime is working. The remaining problem is stale task accounting.

For the issue, attach these files you already wrote:

ls -lh ~/openclaw-audit/tasks-audit.json ~/openclaw-audit/running-tasks.json
livid tendonBOT
uneven yew
#

Last login: Fri May 15 14:38:28 on ttys003
You have new mail.

claw@claws-Mac-mini ~ % openclaw logs --follow

🦞 OpenClaw 2026.5.12 (f066dd2)

Log file: /tmp/openclaw/openclaw-2026-05-15.log

18:29:12 INFO gateway/ws
⇄ res ✓ exec.approval.list 112ms

18:29:12 INFO telegram
isolated polling ingress started (4 accounts)

18:29:13 INFO telegram/inbound
Inbound Telegram message received

18:29:13 WARN cron
Interrupted cron job marked failed on startup

18:29:13 INFO cron
Missed jobs staggered to prevent overload
Cron scheduler started · 31 jobs active

18:29:16 WARN skills
Skipping oversized SKILL.md:
• gh-issues
• openclaw-ops

18:29:29 INFO cron/jobs
Active scheduled jobs:
• command-center-refresh
• command-center-agent-sync
• mjlabs-vps-pull
• automation-candidate-audit
• bot-receipt-audit
• morning-briefing
• garmin-sync
• evening-checkin
• daily-data-sync
• gads-sync
• client-alerts
• weekly reports
• budget controls
• live ops checks

Some scheduled jobs currently reporting errors:
• upgrade-remote-receipts
• garmin-sync
• evening-checkin
• mika-autoops
• gads-sync
• client-alerts

18:29:30 INFO plugins
memoryrouter active
4 agent keys configured

18:29:42 INFO memoryrouter
Enabled: Yes
Density: low
Memories: 61k+
Tokens indexed: 16.2M+

18:30:04 INFO auth
Provider: openai-codex
OAuth profiles loaded successfully

18:31:40 INFO OPENCLAW
System banner displayed

18:31:46 INFO gateway/ws
channels.status ✓

18:31:49 INFO gateway/ws
health ✓

18:32:17 INFO tasks
Background tasks: 1
Running:
• Codex native subagent initializing

18:36:34 INFO memoryrouter
Injected contextual memories successfully

18:36:40 INFO sessions
Session store capped old entries

18:36:43 WARN tasks/audit
Task audit findings:
• 1 stale running task
• 7 lost/backing-session warnings

18:38:32 INFO tasks/maintenance
Maintenance applied
No task prune/recovery actions required

18:38:34 INFO running tasks
• upgrade-remote-receipts
• Codex subagent initialization

18:40:21 INFO telegram/inbound
Inbound Telegram message received

18:40:24 ERROR auth/openai-codex
OAuth refresh failed:
refresh_token_reused

Action required:
• Re-authenticate OpenAI Codex OAuth session
• Existing refresh token already invalidated/reused
• Affected lanes:

  • main
  • rex session
  • embedded agent fallback

18:40:24 WARN model-fallback
Fallback chain exhausted due to auth failure

18:40:55 INFO memory
Periodic memory sync completed

18:41:13 WARN skills
Skipping oversized SKILL.md:
• gh-issues
• openclaw-ops

Log tail truncated.

livid tendonBOT
livid tendonBOT
# uneven yew Last login: Fri May 15 14:38:28 on ttys003 You have new mail. claw@claws-Mac-mi...
# re-auth default/main store
openclaw models auth login --provider openai-codex
openclaw models status --probe --probe-provider openai-codex

# check affected agent stores/orders
openclaw models auth list --agent rex --provider openai-codex
openclaw models auth list --agent vorti-main --provider openai-codex

# if rex has its own stale profile, re-auth scoped to rex
openclaw models auth --agent rex login --provider openai-codex

# then restart so the gateway drops any cached bad token state
openclaw gateway restart

Then rerun the real test while tailing logs:

livid tendonBOT
# uneven yew Last login: Fri May 15 14:38:28 on ttys003 You have new mail. claw@claws-Mac-mi...
openclaw logs --follow

If refresh_token_reused comes back after login, something is still reusing/overwriting the OAuth refresh token. Check for legacy/stale auth sources, but don’t paste contents:

find ~/.openclaw -path "*/agent/auth.json" -o -path "*/agent/auth-profiles.json"

The fix is not to copy tokens around. Each agent that needs its own OAuth should login cleanly, or read through from the main store. For resilience, add a fallback auth path that does not depend on the same broken openai-codex OAuth profile, otherwise “fallback chain exhausted” is expected.

uneven yew
#

claw@claws-Mac-mini ~ % openclaw models auth list --agent rex --provider openai-codex
openclaw models auth list --agent vorti-main --provider openai-codex

🦞 OpenClaw 2026.5.12 (f066dd2) — If something's on fire, I can't extinguish it—but I can write a beautiful postmortem.

14:47:39 [agents/auth-profiles] failed to create oauth profile secret keychain entry
Agent: rex
Auth state file: ~/.openclaw/agents/rex/agent/auth-state.json
Provider: openai-codex
Profiles:

🦞 OpenClaw 2026.5.12 (f066dd2) — If it works, it's automation; if it breaks, it's a "learning opportunity."

Agent: vorti-main
Auth state file: ~/.openclaw/agents/vorti-main/agent/auth-state.json
Provider: openai-codex
Profiles:

WAit also there's some memory router bulll shit and i just want morgan to work that's the only agent i use

livid tendonBOT
# uneven yew claw@claws-Mac-mini ~ % openclaw models auth list --agent rex --provider openai-...

Yeah, if you only care about Morgan, stop debugging the whole zoo. Make the system boring first.

What I’d do:

  1. Snapshot config before touching anything
cp ~/.openclaw/openclaw.json ~/openclaw-audit/openclaw-before-morgan-only-$(date +%Y%m%d-%H%M%S).json
  1. Inspect the current routing/accounts
openclaw agents list --bindings
openclaw config get channels.telegram --json
openclaw config get bindings --json
livid tendonBOT
# uneven yew claw@claws-Mac-mini ~ % openclaw models auth list --agent rex --provider openai-...
  1. Re-auth only Morgan’s agent path

I don’t know from your output whether Morgan maps to an agent named morgan or to vorti-main via the morgan Telegram account, so check bindings first. Then run the matching one:

openclaw models auth list --agent morgan --provider openai-codex
openclaw models auth --agent morgan login --provider openai-codex

or, if Morgan routes to vorti-main:

openclaw models auth --agent vorti-main login --provider openai-codex
  1. Temporarily disable the other Telegram accounts so only Morgan is live
livid tendonBOT
# uneven yew claw@claws-Mac-mini ~ % openclaw models auth list --agent rex --provider openai-...

Try these as a dry run mentally against your config output first; if those account IDs match:

openclaw config set channels.telegram.accounts.rex.enabled false --strict-json
openclaw config set channels.telegram.accounts.mika.enabled false --strict-json
openclaw config set channels.telegram.accounts.kit.enabled false --strict-json
openclaw config set channels.telegram.defaultAccount '"morgan"' --strict-json
openclaw config validate
openclaw gateway restart
  1. If memoryrouter is noise, disable it temporarily too
openclaw plugins disable memoryrouter
openclaw gateway restart
livid tendonBOT
# uneven yew claw@claws-Mac-mini ~ % openclaw models auth list --agent rex --provider openai-...

Then test only Morgan while tailing logs:

openclaw logs --follow

Send Morgan one simple Telegram prompt. If refresh_token_reused still appears, the bad auth is in Morgan’s effective agent/auth order. If Morgan works cleanly with Rex/Mika/Kit disabled, then bring accounts back one at a time and fix their auth separately.

The Rex output definitely has junk: openai-codex:david@vortimedia.com expired on May 4 plus a keychain warning. I would not let Rex participate until that’s cleaned up.

uneven yew
#

also my telegram group is only working my main dm with morgan not wokring or is super slow to reply heres the setup seems cluttered give me a prompt to an ai cli tool to go in and clean everything up and get it working cleanly amongst all my groups im not really using any of these agents

claw@claws-Mac-mini ~ % openclaw plugins disable memoryrouter
openclaw gateway restart

🦞 OpenClaw 2026.5.12 (f066dd2) — Say "stop" and I'll stop—say "ship" and we'll both learn a lesson.

Plugin not found: memoryrouter. Run openclaw plugins list to see installed plugins, or openclaw plugins search memoryrouter to look for installable plugins.

🦞 OpenClaw 2026.5.12 (f066dd2) — Making 'I'll automate that later' happen now.

14:51:23 [restart] killing 1 stale gateway process(es) before restart: 30724

Its also saying not found so │ │ │ │ Codex app-server harness and Codex- │ │
│ │ │ │ │ managed GPT model catalog. │ │
│ mr-memory │ │ openclaw │ enabled │ global:mr-memory/dist/index.js │ 3.4.0 │
└──────────────┴──────────┴──────────┴──────────┴───────────────────────────────────────┴───────────┘
claw@claws-Mac-mini ~ % openclaw plugin dislable mr-memory
14:52:43 [plugins] memoryrouter: active (key: mk_f6f...)
14:52:43 [plugins] memoryrouter: 4 agent key(s) configured
14:52:43 [plugins] memoryrouter: active (key: mk_f6f...)
14:52:43 [plugins] memoryrouter: 4 agent key(s) configured
[openclaw] Could not start the CLI.
[openclaw] Reason: Unknown command: openclaw plugin. No built-in command or plugin CLI metadata owns "plugin".
[openclaw] Debug: set OPENCLAW_DEBUG=1 to include the stack trace.
[openclaw] Try: openclaw doctor
[openclaw] Help: openclaw --help
claw@claws-Mac-mini ~ %

im just gonna pass this to codex cli and have it fix my system really quick

livid tendonBOT
# uneven yew also my telegram group is only working my main dm with morgan not wokring or is ...

Use plugins plural, and the plugin id is mr-memory:

openclaw plugins disable mr-memory
openclaw gateway restart

For Codex CLI, give it a bounded cleanup prompt like this:

You are cleaning up my local OpenClaw setup on macOS. Goal: make my Telegram Morgan bot/DMs and groups work reliably, with minimal moving parts. Do not delete secrets, do not print tokens, do not remove data permanently, and make backups before any write.

Context:
- OpenClaw version: 2026.5.12
- Main pain: Telegram groups mostly work, but Morgan DM is slow or not replying.
- I only actively use Morgan right now. Other agents/accounts like rex/mika/kit/codex/vorti-main may be stale/noisy.
livid tendonBOT
# uneven yew also my telegram group is only working my main dm with morgan not wokring or is ...
- Logs showed openai-codex refresh_token_reused and a stale subagent task db373af8-3aa3-42b4-974e-902e7fa191fd with childSessionKey n/a.
- Plugin list shows mr-memory enabled; disable it temporarily if it adds noise.
- Do not paste or expose auth token contents.

Tasks:
1. Create a timestamped backup directory under ~/openclaw-audit/ and copy ~/.openclaw/openclaw.json plus relevant non-secret diagnostic outputs there.
2. Run read-only diagnostics:
   - openclaw --version
   - openclaw status --all
   - openclaw gateway status
   - openclaw agents list --bindings
   - openclaw config get channels.telegram --json
   - openclaw config get bindings --json
   - openclaw models auth list --provider openai-codex
   - openclaw models auth list --agent morgan --provider openai-codex, if morgan is an agent
livid tendonBOT
# uneven yew also my telegram group is only working my main dm with morgan not wokring or is ...
   - openclaw tasks audit
   - openclaw tasks list --status running
3. Identify which agent Morgan Telegram account/DMs route to. Do not guess; use bindings/config output.
4. Simplify config so Morgan is the only active Telegram account/agent path for now:
   - disable unused Telegram accounts instead of deleting them
   - set channels.telegram.defaultAccount to morgan if that is the account id
   - keep or add only the binding needed for Morgan
   - do not destroy other agents; disable/isolate them if needed
5. Fix OpenAI Codex auth only for the effective Morgan agent/auth path:
   - run openclaw models auth login --provider openai-codex for the correct store
   - if the effective agent has its own store, use openclaw models auth --agent <agentId> login --provider openai-codex
   - verify with openclaw models status --probe --probe-provider openai-codex
6. Disable mr-memory temporarily with:
   - openclaw plugins disable mr-memory
   Do not use “plugin” singular.
livid tendonBOT
# uneven yew also my telegram group is only working my main dm with morgan not wokring or is ...
7. Run openclaw config validate, openclaw doctor --fix, then openclaw gateway restart.
8. Retest Morgan DM and one Morgan group/topic while running openclaw logs --follow.
9. Summarize exactly what changed, what files were backed up, remaining warnings, and any commands I need to run manually. If you find risky ambiguity, stop and ask before editing.

Success criteria:
- Morgan DM replies promptly.
- Morgan group/topic replies promptly.
- No refresh_token_reused in fresh logs.
- openai-codex probe passes for Morgan’s effective auth path.
- Other unused accounts/agents are not handling Telegram messages.

I’d strongly keep Codex on that leash. The risk here is it “cleans up” by deleting useful auth/session/config state. Disable and isolate first; delete later only once Morgan is stable.

uneven yew
#

• Done.

Changed in ~/.openclaw/openclaw.json:

  • Disabled Telegram accounts: rex, mika, kit.
  • Kept morgan enabled and channels.telegram.defaultAccount=morgan.
  • Reduced Telegram bindings to only accountId=morgan -> agentId=vorti-main.
  • Disabled plugin mr-memory with openclaw plugins disable mr-memory.
  • Ran openclaw config validate, openclaw doctor --fix, and openclaw gateway restart.

Backups/diagnostics are in openclaw-audit/20260515-145853:

  • openclaw-audit/20260515-145853/openclaw.json.backup
  • redacted diagnostics, post-change checks, and openclaw-audit/20260515-145853/config-diff-summary.jsonl
  • OpenClaw also wrote ~/.openclaw/openclaw.json.bak.

Verified:

  • Gateway restarted and is reachable on 127.0.0.1:18789.
  • Telegram status now shows only active account morgan.
  • Post-restart logs show only [morgan] starting provider.
  • openai-codex probe passes for effective Morgan path vorti-main.
  • Fresh logs after the restart point have 0 refresh_token_reused hits.

Remaining warnings:

  • plugins.entries.mr-memory: disabled but config remains present. This is expected for temporary disable.
  • One stale running task remains: db373af8-3aa3-42b4-974e-902e7fa191fd. I did not cancel it because that is state mutation beyond the safe cleanup
    scope.
  • Full DM/group end-to-end reply speed still needs a human Telegram test; logs did show post-restart Telegram message.action successes around 417-
    427ms.

Manual command only if you want to clear the stale Pace audit task after confirming it can be abandoned:
openclaw tasks cancel db373af8-3aa3-42b4-974e-902e7fa191fd

livid tendonBOT
# uneven yew • Done. Changed in ~/.openclaw/openclaw.json: - Disabled Telegram accounts...

That cleanup looks right. The system is now much simpler: one Telegram account, one route, one effective agent path, no mr-memory noise, and no fresh refresh_token_reused.

I’d do exactly one live validation now:

openclaw logs --follow

Then in Telegram:

  • DM Morgan: reply only MORGAN DM OK
  • one Morgan group/topic: reply only MORGAN GROUP OK

Healthy result:

  • logs show inbound on morgan
  • route goes to agent:vorti-main:telegram:...
  • no refresh_token_reused
  • no queued for ... delay unless another run is active
livid tendonBOT
uneven yew
#

Your system is mostly healthy now. The real issue is not gateway stability anymore — it’s auth churn + noisy diagnostics.

Main findings:

  • Gateway startup is clean
  • Telegram working
  • Cron system working
  • ACPX runtime healthy
  • Memory-core + memory-wiki healthy
  • Codex plugin loaded
  • Tasks scheduling correctly
  • Session capping working normally
  • No raw secrets leaking

Actual problems left:

  1. Codex OAuth is broken
    You now have:
  • refresh_token_reused
    then later
  • token_expired

That means the OAuth chain is poisoned/stale.

This is why:

  • codex subagent hangs forever at “initializing”
  • stale running task never clears
  • fallback chain exhausts
  • rex lane fails too
  1. You have repeated skill spam
    Every ~15–30s:

Not dangerous, just noisy.

  1. mr-memory warning
    You disabled plugin but left config block present.

Harmless but noisy.

  1. One stale subagent task
    db373af8...
    is dead/stuck forever because auth failed during initialization.

Clean fix order:

openclaw auth login openai-codex

Then:

openclaw tasks cancel db373af8-3aa3-42b4-974e-902e7fa191fd

Then restart:

openclaw restart

Then verify:

openclaw health
openclaw tasks

To remove mr-memory warning:
Either fully remove config entry OR enable plugin again.

To stop SKILL spam:
Either:

  • shrink SKILL.md files under 16KB
    OR
  • raise limit in config if supported.

Most important takeaway:
This is no longer “duct tape system collapsing.”

Your logs now show:

  • healthy scheduler
  • healthy gateway
  • healthy telegram
  • healthy memory system
  • healthy ACP runtime

The failures are isolated auth/session hygiene problems, not infra collapse.

livid tendonBOT
# uneven yew Your system is mostly healthy now. The real issue is not gateway stability anymo...

Mostly agree with that summary, but I’d correct the commands before you run them.

Use these, not openclaw auth login openai-codex / openclaw restart:

openclaw models auth login --provider openai-codex
openclaw models status --probe --probe-provider openai-codex
openclaw gateway restart
openclaw health
openclaw tasks list --status running

If Morgan routes through vorti-main, also do the agent-scoped auth path:

openclaw models auth --agent vorti-main login --provider openai-codex
livid tendonBOT
# uneven yew Your system is mostly healthy now. The real issue is not gateway stability anymo...
openclaw models auth list --agent vorti-main --provider openai-codex

On the stale task: try cancel if you want, but I would not expect it to work because it already has childSessionKey: n/a:

openclaw tasks cancel db373af8-3aa3-42b4-974e-902e7fa191fd

If that returns Task has no cancellable child session, stop there and keep it as the task-maintenance bug. Don’t manually hack task state unless you’ve backed up the state dir and know exactly which registry file you’re editing.

For the noise:

  • mr-memory: either leave disabled as-is, or remove its config later once Morgan is confirmed stable. Disabled-but-present is fine.
  • oversized skills: annoying, not the cause. I wouldn’t touch skill limits today unless the log spam is making diagnosis impossible.

Priority order: fix Codex OAuth for the effective Morgan/vorti-main path, restart, live-test Morgan DM + group, then deal with stale task/noise.

uneven yew
#

OpenClaw 2026.5.12 startup successful.

Status summary:
• Gateway healthy and listening on localhost:18789
• Telegram channel active
• Cron scheduler running (31 jobs)
• ACPX runtime loaded
• Memory systems active
• OpenAI + Codex plugins loaded
• Background tasks operational

Enabled plugins:
• active-memory
• memory-core
• memory-wiki
• ollama
• openai
• telegram
• acpx
• brave-plugin
• codex

Warnings:
• mr-memory plugin config exists but plugin disabled
• oversized SKILL.md files skipped:

  • gh-issues
  • openclaw-ops
    • insecure dev flags enabled:
  • allowInsecureAuth=true
  • permissionMode=approve-all

Cron jobs:
• command-center refresh/sync
• automation audits
• receipt audits
• Garmin sync
• daily data sync
• Google Ads sync
• morning/evening briefings
• client alerts/reports
• AGW budget controls
• Pace / West Hill scheduled tasks

Task state:
• 1 stale Codex subagent task still running
• several orphaned/lost historical tasks
• no queue pressure

Auth issues detected:
• OpenAI Codex OAuth refresh failed
• refresh_token_reused
• token_expired
• Codex subagent unable to initialize
• fallback chain exhausted

Normal activity:
• Telegram inbound traffic healthy
• session store pruning old entries
• periodic memory syncs completing
• websocket health checks passing

No raw API keys, tokens, or secret contents exposed.

livid tendonBOT
# uneven yew OpenClaw 2026.5.12 startup successful. Status summary: • Gateway healthy and li...

That report is consistent: the gateway/Telegram plumbing is up, but Codex OAuth is still the blocker.

I’d stop running broad audits and do only this next:

openclaw models auth --agent vorti-main login --provider openai-codex
openclaw models status --probe --probe-provider openai-codex
openclaw gateway restart
openclaw logs --follow

Then send one Morgan DM test. If the log still shows refresh_token_reused or token_expired, the effective auth path is still picking an old profile/order. Then check:

openclaw models auth list --agent vorti-main --provider openai-codex
openclaw models auth order get --agent vorti-main --provider openai
livid tendonBOT
# uneven yew OpenClaw 2026.5.12 startup successful. Status summary: • Gateway healthy and li...
openclaw models auth order get --agent vorti-main --provider openai-codex

The goal is simple: vorti-main/Morgan should use one freshly logged-in Codex OAuth profile, not an expired named profile and not a stale default profile.

Also: permissionMode=approve-all is worth treating carefully. If this gateway is loopback-only and only you can reach it, fine for now. If any remote/browser/node access is exposed, turn that down after Morgan is working.

uneven yew
#

I mean the telegram chat is working it just keeps giving me that

40:22+00:00 warn skills {"subsystem":"skills"} {"skill":"gh-issues","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","size":34800,"maxSkillFileBytes":16000} Skipping skill due to oversized SKILL.md.
18:40:22+00:00 warn skills {"subsystem":"skills"} {"skill":"openclaw-ops","filePath":"/Users/claw/.openclaw/skills/openclaw-ops/SKILL.md","size":22027,"maxSkillFileBytes":16000} Skipping skill due to oversized SKILL.md.
18:40:22+00:00 warn skills {"subsystem":"skills"} {"skill":"gh-issues","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","size":34800,"maxSkillFileBytes":16000} Skipping skill due to oversized SKILL.md.
18:40:22+00:00 warn skills {"subsystem":"skills"} {"skill":"openclaw-ops","filePath":"/Users/claw/.openclaw/skills/openclaw-ops/SKILL.md","size":22027,"maxSkillFileBytes":16000} Skipping skill due to oversized SKILL.md.
18:40:24+00:00 info plugins {"subsystem":"plugins"} memoryrouter: injected 29 memories (7388 tokens, 4110ms)
18:40:24+00:00 warn agents/harness {"subsystem":"agents/harness"} {"harnessId":"codex","provider":"openai","modelId":"gpt-5.4","error":"OAuth token refresh failed for openai-codex: OpenAI Codex token refresh failed (401): {\n "error": {\n "message": "Your refresh token has already been used to generate a new access token. Please try signing in again.",\n "type": "invalid_request_error",\n "param": null,\n "code": "refresh_token_reused"\n }\n}. Please try again or re-authenticate. | OAuth token refresh failed for openai-codex: OpenAI Codex token refresh failed (401): {\n "error": {\n "message": "Your refresh token has already been used to generate a new access token. Please try signing in again.",\n "type": "invalid_request_error",\n "param": null,\n "code": "refresh_token_reused"\n }\n} | OpenAI Codex token refresh failed (401): {\n "error": {\n "message": "Your refresh token has already been used to generate a new access token. Please try signing in again.",\n "type": "invalid_request_error",\n "param": null,\n "code": "refresh_token_reused"\n }\n}"} Codex agent harness failed; not falling back to embedded PI backend
18:40:24+00:00 error diagnostic {"subsystem":"diagnostic"} lane task error: lane=main durationMs=5371 error="Error: OAuth token refresh failed for openai-codex: OpenAI Codex token refresh failed (401): {
"error": {
"message": "Your refresh token has already been used to generate a new access token. Please try signing in again.",
"type": "invalid_request_error",
"param": null,
"code": "refresh_token_reused"
}

livid tendonBOT
# uneven yew I mean the telegram chat is working it just keeps giving me that 40:22+00:00 w...

Got it. There are three different things in that snippet:

  1. Oversized skill warnings
    These are noisy but harmless. OpenClaw is skipping those two skills because their SKILL.md files are bigger than 16000 bytes. Telegram can still work.

If you just want to silence that warning without editing the skills, raise the loader limit:

openclaw config set skills.limits.maxSkillFileBytes 40000 --strict-json
openclaw config validate
openclaw gateway restart

That covers gh-issues at 34,800 bytes and openclaw-ops at 22,027 bytes.

  1. memoryrouter injected...
    That line is from before/while mr-memory was still active. If you disabled mr-memory and restarted, it should stop appearing in fresh logs after the restart point. If it still appears fresh, run:
livid tendonBOT
# uneven yew I mean the telegram chat is working it just keeps giving me that 40:22+00:00 w...
openclaw plugins list | grep -i memory
openclaw plugins disable mr-memory
openclaw gateway restart
  1. The actual bad line is still OAuth
    This is the one that matters:
Codex agent harness failed
refresh_token_reused
not falling back to embedded PI backend
lane task error

That means the chat may work sometimes, but any turn that routes through the Codex harness with the stale openai-codex token can fail or feel slow. The fix is still re-auth the effective Morgan/vorti-main path:

livid tendonBOT
uneven yew
#

openclaw models status --probe --probe-provider openai-codex
openclaw gateway restart
Config warnings:

  • plugins.entries.mr-memory: plugin disabled (disabled in config) but config is present

🦞 OpenClaw 2026.5.12 (f066dd2) — Making 'I'll automate that later' happen now.


◇ Config warnings ─────────────────────────────────────────────────────────────────────────╮
│ │
│ - plugins.entries.mr-memory: plugin disabled (disabled in config) but config is present │
│ │
├───────────────────────────────────────────────────────────────────────────────────────────╯

◇ OpenAI Codex OAuth ─────────────────────────────────────────────╮
│ │
│ Browser will open for OpenAI authentication. │
│ If the callback doesn't auto-complete, paste the redirect URL. │
│ OpenAI OAuth uses localhost:1455 for the callback. │
│ │
├──────────────────────────────────────────────────────────────────╯

Open: https://auth.openai.com/oauth/authorize?response_type=code&client_id=app_EMoamEEZ73f0CkXaXp7hrann&redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback&scope=openid+profile+email+offline_access&code_challenge=6koFzRB_sMvlkFXKZGL4-5hw697ix4QyF0md9lVTyu0&code_challenge_method=S256&state=641933c867c392a9f76b6f7d7b3744ca&id_token_add_organizations=true&codex_cli_simplified_flow=true&originator=openclaw
OpenAI Codex OAuth callback did not arrive within 15000ms; switching to manual entry (callback_timeout).
◇ Manual OAuth entry required

◆ Paste the authorization code (or full redirect URL):
│ _

Config warnings:

  • plugins.entries.mr-memory: plugin disabled (disabled in config) but config is present
    Config overwrite: /Users/claw/.openclaw/openclaw.json (sha256 5b24a86cdef6c8b6e81799f2112bc8d375de7119f9bca531be2ad2d41e0d0f15 -> d3040e799d765b315ba79fbc5fa952545d08ed87fc1cbeb2b869db75ee474823, backup=/Users/claw/.openclaw/openclaw.json.bak)
    Config warnings:
  • plugins.entries.mr-memory: plugin disabled (disabled in config) but config is present
    Updated ~/.openclaw/openclaw.json
    Auth profile: openai-codex:david@vortimedia.com (openai-codex/oauth)
    Default model available: openai/gpt-5.5 (use --set-default to apply)
    Tip: Codex-capable models can use native Codex web search. Enable it with openclaw configure --section web (recommended mode: cached). Docs: https://docs.openclaw.ai/tools/web
livid tendonBOT
# uneven yew openclaw models status --probe --probe-provider openai-codex openclaw gateway re...

Good, that means the OAuth login completed and wrote a fresh openai-codex:david@vortimedia.com profile.

Two things now:

  1. Restart + verify fresh logs
openclaw gateway restart
openclaw models status --probe --probe-provider openai-codex
openclaw logs --follow

Then send one Morgan DM test. The thing we care about is: no new refresh_token_reused / token_expired after this login.

  1. The mr-memory warning is just because the config block still exists while the plugin is disabled. If you want it gone, remove the config entry:
livid tendonBOT
uneven yew
#

@ America/... in 3d 5h ago ok isolated announce -> telegram:1398649619 (explicit) vorti-main -
19:50:32+00:00 info 8731af82-d153-472f-a9d5-9021454bf687 client-alerts cron 0 12 * * 1-5 @ America/N... in 3d 4h ago error isolated announce -> telegram:1398649619 (explicit) mika codex/gpt-5.4
19:50:32+00:00 info 4cf4bb31-a5c5-4e66-b3df-07af70e035ca West Hill B&B — May 2... at 2026-05-27 13:00Z in 12d - idle isolated announce -> telegram:1398649619 (explicit) mika -
19:50:34+00:00 info gateway/ws {"subsystem":"gateway/ws"} ⇄ res ✓ message.action 431ms channel=telegram conn=b9b35f17…6973 id=2530a54b…7137
19:50:51+00:00 warn agents/harness {"subsystem":"agents/harness"} {"harnessId":"codex","provider":"openai-codex","modelId":"gpt-5.5","error":"OAuth token refresh failed for openai-codex: OpenAI Codex token refresh failed (401): {\n "error": {\n "message": "Could not validate your token. Please try signing in again.",\n "type": "invalid_request_error",\n "param": null,\n "code": "token_expired"\n }\n}. Please try again or re-authenticate. | OAuth token refresh failed for openai-codex: OpenAI Codex token refresh failed (401): {\n "error": {\n "message": "Could not validate your token. Please try signing in again.",\n "type": "invalid_request_error",\n "param": null,\n "code": "token_expired"\n }\n} | OpenAI Codex token refresh failed (401): {\n "error": {\n "message": "Could not validate your token. Please try signing in again.",\n "type": "invalid_request_error",\n "param": null,\n "code": "token_expired"\n }\n}"} Codex agent harness failed; not falling back to embedded PI backend
19:50:52+00:00 warn Config warnings:

  • plugins.entries.mr-memory: plugin disabled (disabled in config) but config is present
    Log tail truncated (increase --max-bytes).
livid tendonBOT
# uneven yew @ America/... in 3d 5h ago ok isolated announce -> telegram:139...

That new error is probably not Morgan chat. It’s a cron job still running through a non-Morgan lane:

client-alerts ... mika codex/gpt-5.4
...
provider=openai-codex modelId=gpt-5.5 token_expired

So the Telegram chat can be working while background cron keeps yelling because mika/old jobs still use stale Codex OAuth.

If you only want Morgan for now, pause the noisy cron jobs that mention old agents/models:

openclaw cron list
openclaw cron disable client-alerts
openclaw cron disable upgrade-remote-receipts
livid tendonBOT
# uneven yew @ America/... in 3d 5h ago ok isolated announce -> telegram:139...
openclaw cron disable mika-autoops
openclaw cron disable gads-sync
openclaw cron disable evening-checkin
openclaw cron disable garmin-sync
openclaw gateway restart

If any ID differs, use the exact ID from openclaw cron list.

Then tail logs and test Morgan again:

openclaw logs --follow

If Morgan replies and the only remaining OAuth errors come from cron/mika jobs, the fix is either:

livid tendonBOT
uneven yew
#

Gateway restart:
• Killed 1 stale gateway process
• LaunchAgent restarted successfully

Cron system status:
• Scheduler healthy
• Most jobs operational
• Several jobs still erroring due to auth/subagent issues

Healthy jobs:
• upgrade-remote-receipts
• mjlabs-vps-pull
• command-center-agent-sync
• command-center-refresh
• bot-receipt-audit
• morning-briefing
• garmin-sync
• overnight-automation
• daily-data-sync
• daily-self-audit
• morning-command-packet
• AGW budget controls
• client weekly report
• Vorti board announcements
• Morgan live ops checks

Jobs currently erroring:
• automation-candidate-audit
• evening-checkin
• mika-autoops
• gads-sync
• West Hill next-step automation
• client-alerts

Idle/scheduled:
• West Hill B&B reminder jobs
• Friday debrief
• Morning deal brief

Background task state:
• 1 stale Codex subagent still stuck initializing
• No queue pressure

Cron disable attempts failed because:
You used job names instead of job IDs.

Correct IDs:
• client-alerts
→ 8731af82-d153-472f-a9d5-9021454bf687

• upgrade-remote-receipts
→ e555dc7e-f04c-4d40-a1a6-d44d716f4c18

Correct commands:
openclaw cron disable 8731af82-d153-472f-a9d5-9021454bf687

openclaw cron disable e555dc7e-f04c-4d40-a1a6-d44d716f4c18

Main remaining issue:
• OpenAI Codex OAuth expired
• Codex tasks cannot initialize until re-authenticated

livid tendonBOT
# uneven yew Gateway restart: • Killed 1 stale gateway process • LaunchAgent restarted succes...

Yep, use the IDs. But I’d only disable jobs that are either erroring or still hitting stale non-Morgan auth. If upgrade-remote-receipts is now listed healthy, don’t disable it unless it keeps producing auth errors.

Start with the confirmed bad one:

openclaw cron disable 8731af82-d153-472f-a9d5-9021454bf687
openclaw cron status
openclaw logs --follow

For the other erroring jobs, get exact IDs first:

openclaw cron list | grep -Ei "automation-candidate-audit|evening-checkin|mika-autoops|gads-sync|West Hill|client-alerts"

Then disable only the ones you don’t need while Morgan is being stabilized.

livid tendonBOT
# uneven yew Gateway restart: • Killed 1 stale gateway process • LaunchAgent restarted succes...

The remaining root issue is still Codex OAuth for whichever agent those jobs run as. For Morgan/vorti-main, if you already re-authed and Morgan chat works, don’t keep re-authing randomly. For old cron lanes like mika, either disable the jobs or re-auth that agent specifically:

openclaw models auth --agent mika login --provider openai-codex

My recommendation: freeze old cron/noisy agents first, prove Morgan DM + group is clean, then decide which automations to bring back one at a time.

uneven yew
#

cron: job updated
Log tail truncated (increase --max-bytes).
^C% claw@claws-Mac-mini ~ % openclaw cron list | grep -Ei "automation-candidate-audit|evening-checkin|mika-autoops|gads-sync|West Hill|client-alerts"
e0e1544e-6785-40e6-8bb8-8571cb142e47 evening-checkin cron 0 21 * * * @ America/New... in 5h 19h ago error isolated not requested (not requested) vorti-main codex/gpt-5.4
e96c6bac-b4a0-45d6-978e-d90f4495011c mika-autoops cron 0 2 * * * @ America/New_... in 10h 14h ago error isolated announce -> telegram:-5073562640 (explicit) mika codex/gpt-5.4
3909c2e2-fd48-4f44-9519-20fe89296f81 gads-sync cron 5 7 * * * @ America/New_... in 15h 9h ago error isolated not requested (not requested) mika codex/gpt-5.4
40a86a4e-81e7-4ed8-a868-28cca3622000 West Hill B&B — May 1... at 2026-05-16 13:00Z in 17h - idle isolated announce -> telegram:1398649619 (explicit) mika -
a6dbd627-485e-46fa-940e-bdc54f67677d West Hill B&B — next ... cron 20 9 * * * @ America/New... in 17h 7h ago error isolated not requested (not requested) mika -
4cf4bb31-a5c5-4e66-b3df-07af70e035ca West Hill B&B — May 2... at 2026-05-27 13:00Z in 12d - idle isolated announce -> telegram:1398649619 (explicit) mika -
claw@claws-Mac-mini ~ %

livid tendonBOT
# uneven yew cron: job updated Log tail truncated (increase --max-bytes). ^C% ...

Those are the ones. Since your goal is Morgan-only stability, disable the erroring old automation jobs now:

openclaw cron disable e0e1544e-6785-40e6-8bb8-8571cb142e47
openclaw cron disable e96c6bac-b4a0-45d6-978e-d90f4495011c
openclaw cron disable 3909c2e2-fd48-4f44-9519-20fe89296f81
openclaw cron disable a6dbd627-485e-46fa-940e-bdc54f67677d
openclaw gateway restart

I would leave the idle one-time West Hill reminders alone unless they actually fire/noise, because they’re idle and not currently failing:

40a86a4e... idle
4cf4bb31... idle
livid tendonBOT
uneven yew
#

is my system ready to have multiple topics etc all ripping at once

livid tendonBOT
# uneven yew is my system ready to have multiple topics etc all ripping at once

Almost, but I wouldn’t declare it “all ripping” until one live concurrency test passes cleanly.

Your system is much closer now because:

  • Telegram is narrowed to Morgan
  • routing is simplified to Morgan -> vorti-main
  • old noisy accounts are disabled
  • mr-memory is disabled
  • bad cron jobs are being paused
  • openai-codex was re-authed

Run this test:

openclaw logs --follow

Then send 3 messages at about the same time:

livid tendonBOT
# uneven yew is my system ready to have multiple topics etc all ripping at once
  • Morgan DM: reply only DM OK after waiting 5 seconds
  • topic A: reply only TOPIC A OK after waiting 5 seconds
  • topic B: reply only TOPIC B OK after waiting 5 seconds

Pass criteria:

  • all route to agent:vorti-main:telegram:...
  • topics have distinct :topic:<id> session keys
  • no refresh_token_reused or token_expired
  • no long queued for ... delay
  • no stalled_agent_run
  • replies start/finish within the same rough window

If that passes, yes: start with agents.defaults.maxConcurrent: 3 or 4, not higher. Then scale up slowly.

If it fails, don’t tune concurrency yet. The failure category tells us what’s still wrong:

  • auth error = still bad OAuth path
  • queued delay = concurrency/queue cap
livid tendonBOT
uneven yew
#

how can i log it while i send the messages then send to you to check

livid tendonBOT
# uneven yew how can i log it while i send the messages then send to you to check

Use a timestamped capture so you can send a small focused log slice.

Terminal 1:

mkdir -p ~/openclaw-audit
LOG=~/openclaw-audit/morgan-concurrency-$(date +%Y%m%d-%H%M%S).log
echo "capturing to $LOG"
openclaw logs --follow 2>&1 | tee "$LOG"

Leave that running.

Then send the 3 Telegram test messages in DM/topic A/topic B.

After all replies arrive, wait 10 seconds, then press Ctrl-C in Terminal 1.

livid tendonBOT
# uneven yew how can i log it while i send the messages then send to you to check

Now make a filtered share file:

LATEST=$(ls -t ~/openclaw-audit/morgan-concurrency-*.log | head -1)
grep -Ei "telegram|inbound|vorti-main|topic:|direct:|queued for|stalled|long_running|stuck|refresh_token|token_expired|openai-codex|agents/harness|lane task error|message.action|Codex|sessionKey|error|warn" "$LATEST" > "${LATEST%.log}.filtered.log"
echo "${LATEST%.log}.filtered.log"

Paste the filtered log here, or if it’s huge, paste:

  • the first 80 lines after the first test inbound
  • any warn / error lines
  • the final delivery lines

If grep makes an empty file, just paste the raw 100-200 lines around the test. Don’t paste auth files or tokens; normal logs are okay but skim them first.

uneven yew
#

Quick findings from the filtered OpenClaw concurrency log:

Filtered log:
~/openclaw-audit/morgan-concurrency-20260515-160106.filtered.log

Observed behavior:

  • Main Morgan DM replied correctly.
  • AGW supergroup topics replied correctly.
  • One Telegram group/topic that previously worked appears to have stopped replying.

Relevant log pattern:

  • Inbound arrives for the problematic group/topic:
    telegram:group:-1003825526907:topic:2955
  • Gateway shows it entering processing, but then liveness reports:
    active=1 waiting=0 queued=1
    active=agent:vorti-main:telegram:group:-1003825526907:topic:2955(processing,q=1,age=11s)
    queued=agent:vorti-main:telegram:group:-1003825526907:topic:2955(processing,q=1,age=11s)
  • Later there is an embedded agent warning:
    incomplete turn detected ... stopReason=undefined payloads=0 — surfacing error to user
  • I do not see a final successful message.action delivery for that failing topic after the test inbound.

Other warnings seen but probably secondary:

  • qmd search denied by scope for a group session:
    agent:vorti-main:telegram:group:-1003840544648:topic:83
  • repeated oversized skill warnings for gh-issues and openclaw-ops
  • one cron job got “Agent couldn't generate a response”
  • session store repeatedly capped entries at maxEntries=20

My read:
This does not look like Telegram ingress is globally broken. Inbound is being received, and DM/AGW topics work. The failure looks session/lane/runtime-specific for at least one group/topic: the message enters the agent lane, gets stuck/queued against itself, then the embedded agent produces an incomplete turn with no payload.

livid tendonBOT
# uneven yew Quick findings from the filtered OpenClaw concurrency log: Filtered log: ~/open...

That read is solid. This is not “multiple topics globally broken” anymore. It’s one topic/session getting into a bad per-session lane state:

active=agent:vorti-main:telegram:group:-1003825526907:topic:2955(processing,q=1)
queued=same exact session key
incomplete turn detected ... payloads=0

Do the least invasive reset inside that failing Telegram topic first:

/queue reset
/stop

Then send:

livid tendonBOT
# uneven yew Quick findings from the filtered OpenClaw concurrency log: Filtered log: ~/open...
reply only RESET TOPIC OK

Watch logs. If it still does the active+queued-same-session pattern, restart the gateway once and retry that same topic:

openclaw gateway restart
openclaw logs --follow

Also capture a focused artifact for this exact session:

mkdir -p ~/openclaw-audit/topic-2955
openclaw sessions --agent vorti-main --active 180 --json > ~/openclaw-audit/topic-2955/recent-sessions.json
livid tendonBOT
# uneven yew Quick findings from the filtered OpenClaw concurrency log: Filtered log: ~/open...
cp ~/openclaw-audit/morgan-concurrency-20260515-160106.filtered.log ~/openclaw-audit/topic-2955/

If reset + restart do not clear it, this is issue-worthy as a session lane/runtime bug:

Title:
Telegram topic session self-queues then incomplete embedded turn with no payload

Include:

  • session key: agent:vorti-main:telegram:group:-1003825526907:topic:2955
  • the active/queued same-session liveness lines
  • the incomplete turn detected ... stopReason=undefined payloads=0 line
  • note that Morgan DM and other AGW topics passed concurrently

For readiness: yes for DM + working topics, but I would not fully crank concurrency until this one topic either clears with /queue reset + /stop, or you’re okay treating it as a separate bug.

uneven yew
#

from my openclaw system that's running it

Executed.

• Sent /stop into failing topic -1003825526907:2955 as message 3343
• Sent RESET TOPIC OK as message 3344
• Restarted gateway once via SIGUSR1 at 20:08:20Z
• Captured focused artifact bundle here:
~/openclaw-audit/topic-2955/

Files in bundle:

ISSUE-BRIEF.md
• recent-sessions.json
• recent-sessions-post-restart.json
• post-restart-logs.txt
• morgan-concurrency-20260515-160106.filtered.log

Current read: this is still issue-worthy unless a fresh human test inside topic 2955 now replies cleanly. The bad session is still present in registry, last updated at the failed test window, and the smoking-gun lines are captured: same session active+queued, then incomplete turn detected ... payloads=0.

I would not raise concurrency further yet. DMs and other AGW topics look healthy; topic 2955 is the rotten lane.

livid tendonBOT
# uneven yew from my openclaw system that's running it Executed. • Sent /stop into failing...

That’s the right conclusion. You’ve got two separate states now:

  • Morgan DM + other AGW topics: healthy enough for normal use
  • topic -1003825526907:2955: still suspect until a fresh human message in that topic replies cleanly

I’d do one last human test in topic 2955:

reply only TOPIC 2955 HUMAN TEST OK

If it replies: treat it as cleared and keep the artifact bundle in case it returns.

If it does not reply: file the issue with ~/openclaw-audit/topic-2955/ISSUE-BRIEF.md and the bundle. Don’t spend more time tuning global concurrency around one corrupted lane.

For now, don’t raise concurrency yet. Run at the cleaned-up current settings for a bit. Once topic 2955 is either cleared or filed, then test 3-4 simultaneous topics and only increase agents.defaults.maxConcurrent if the logs show queue delay rather than auth/runtime failures.

uneven yew
#

the topic replied

livid tendonBOT
# uneven yew the topic replied

Good. Then I’d call topic 2955 cleared for now.

Current state:

  • Morgan DM works
  • AGW topics work
  • previously bad topic 2955 now replies after /stop + restart
  • auth was refreshed
  • noisy old accounts/cron paths were reduced

You’re ready to use multiple topics again, but ramp it instead of going straight to chaos mode:

  1. Run current settings for a bit.
  2. Test 3 simultaneous topics.
  3. If clean, test 4.
  4. Only raise agents.defaults.maxConcurrent if logs show real queued for ... delays and no auth/stalled/incomplete-turn errors.

Keep ~/openclaw-audit/topic-2955/ around. If that exact topic wedges again with the same active+queued/incomplete-turn pattern, you already have a solid issue bundle.

uneven yew
#

Morgan audit read: concurrency config is applied correctly: agents maxConcurrent=4, subagents maxConcurrent=6, delegationMode=prefer, message queue collect/debounce=1000/cap=20/drop=summarize.

Telegram ingress is alive. Main DM works. AGW supergroup topics work. Evidence: recent inbound from direct telegram:1398649619 and AGW topics -1003825526907:2955 plus -1003840544648 topics 83/2.

The failure pattern is not “Telegram is dead.” It’s narrower:

  1. One older/other group likely stopped routing or stopped producing inbound events.
  2. There was a stuck topic/session lane around topic 2955, then a gateway restart was triggered to clear it.
  3. Codex/OpenAI OAuth is still dirty on at least one embedded lane: token_expired / openai-codex refresh failed.
  4. Skills are noisy: gh-issues and openclaw-ops are being skipped because SKILL.md files exceed the 16KB loader limit.
  5. Gateway is up, Telegram status OK, event loop OK. Runtime is alive but messy.

My read: the system is no longer fundamentally broken, but it is still brittle. We fixed the big split-brain/amnesia class of problem. What remains is operational debt: stale auth lanes, oversized skill surfaces, old group routing, and live-site notification verification. This is fixable, not mystical bullshit.
My actual feeling: better than yesterday, not good enough to trust blind. DM and AGW topics working is a strong signal. The scary part is the token_expired Codex lane plus one group silently disappearing. That’s exactly the kind of half-working state that makes systems feel haunted. Next hard move is: reauth/kill stale Codex lanes, audit the missing group ID, then separately verify every live form notification path, especially Pace.

livid tendonBOT
# uneven yew Morgan audit read: concurrency config is applied correctly: agents maxConcurrent...

That read is basically right. I’d treat the system as “usable with supervision,” not “trust blind.”

Priority order from here:

  1. Prove current Morgan path stays clean
    Run a 3-topic test while tailing logs. If no auth/stalled/incomplete-turn errors, Morgan is operational.

  2. Find the missing group by ID, not vibes
    Send a message in that group/topic while running:

openclaw logs --follow

If there is no telegram/inbound, it’s Telegram-side visibility/config: wrong bot/account, bot removed, privacy/admin setting, group/topic ID changed, or account disabled.
If inbound appears but no reply, it’s routing/session/runtime.

livid tendonBOT
# uneven yew Morgan audit read: concurrency config is applied correctly: agents maxConcurrent...
  1. Kill old noisy automation lanes
    Anything still running as mika, rex, or old codex/gpt-5.4 should stay disabled unless you actively need it. Re-enable one at a time only after auth is clean for that agent.

  2. Fix Codex auth where it still appears
    If logs still show token_expired, identify the agent/job in that same log block and reauth that exact agent:

openclaw models auth --agent <agentId> login --provider openai-codex
  1. Silence skill noise later
    Raise the limit or shrink those skills, but don’t spend debugging energy there unless it’s hiding real errors.

  2. Pace/live notifications should be a separate verification pass
    Don’t mix that with Telegram concurrency debugging. Make a clean checklist: submit test form -> verify webhook/log -> verify Telegram delivery -> verify owner receives it.

So yes: better, usable, but not done. The next useful move is missing-group ID audit plus watching for any fresh token_expired after the latest auth cleanup.

uneven yew
#

ttoken_expired = the stored OpenAI Codex OAuth token is dead.

Impact: affected Codex/embedded-agent lanes fail before replying. That explains the lane errors. It does not mean Telegram is broken, and it does not explain DM/AGW topics working.

Clean read:

• Telegram ingress: alive
• Morgan config/concurrency: applied
• Broken piece: openai-codex auth for embedded Codex harness
• Fix: re-auth OpenAI/Codex, then restart/clear stale lanes

This is one of the “system is better but still brittle” problems. Not fatal, but it will keep random agent lanes faceplanting until auth is refreshed.

⚙️ Agent was aborted.

Confirmed.

Current read:

• token_expired was real in the audit file, but I’m not seeing fresh token_expired in active gateway logs after the later auth/config reloads.
• Morgan path is active: DM inbound + replies are working.
• AGW migrated cleanly to -1003840544648; topics 2, 27, 83 all show inbound/reply activity.
• Heavy active group/topic: -1003825526907:topic:2955 also shows fresh inbound.
• Configured groups with no obvious fresh inbound in the recent working window:
• -1003714825577
• -1003963123168

So the missing-group audit is now narrowed to those two IDs. Next clean test is exactly what Krill said: send one message in the suspect group/topic while tailing logs. If no inbound appears, it’s Telegram-side visibility/config. If inbound appears but no reply, it’s routing/runtime.

I won’t send into groups from here without your explicit go, but the target list is no longer vibes. It’s those two IDs.

livid tendonBOT
livid tendonBOT
# uneven yew ttoken_expired = the stored OpenAI Codex OAuth token is dead. Impact: affected ...
Morgan visibility test for group -1003963123168
  1. Interpret:
  • No telegram/inbound for that group ID: Telegram-side issue. Check bot is still in the group, correct Morgan bot/account, bot admin/privacy mode, group migrated/supergroup ID changed, topic ID if it’s a forum topic.
  • telegram/inbound appears but no route/reply: OpenClaw routing/config/session issue.
  • inbound + route + model run + no delivery: runtime/delivery issue.
  • clean message.action delivery: group works, it just had no recent traffic.

Useful follow-up command after each test:

openclaw directory groups telegram | grep -E "1003714825577|1003963123168" || true
livid tendonBOT