#Trim Issue

47 messages · Page 1 of 1 (latest)

barren reef
#

TypeError: Cannot read properties of undefined (reading 'trim')

gleaming swiftBOT
#

That looks like a real bug, not just a bad config.

I found a fresh fix on main for this exact Cannot read properties of undefined (reading 'trim') crash during setup/onboarding. It was caused by provider metadata missing an id, and the fix landed today, so if you're on 2026.4.14 or older it's probably not in your build yet.

Can you paste these 3 things:

openclaw --version
openclaw status

and also:

  • the exact command you ran
  • whether this happens during openclaw onboard / openclaw configure, or during normal gateway startup

If it is happening in onboarding, the temporary workaround is:

  • choose skip at the provider/auth step
barren reef
#

│ OS │ linux 5.15.0-46-generic (x64) · node 22.22.2 │
│ Dashboard │ http://127.0.0.1:18789/ │
│ Tailscale │ off │
│ Channel │ stable (default) │
│ Update │ pnpm · up to date · npm latest 2026.4.14 │
│ Gateway │ local · ws://127.0.0.1:18789 (local loopback) · unreachable (gateway closed (1006): ) │
│ Gateway service │ systemd installed · enabled · stopped (state failed) │
│ Node service │ systemd not installed │
│ Agents │ 1 · no bootstrap files · sessions 0 · default main active unknown │
│ Memory │ 0 files · 0 chunks · dirty · sources memory · plugin memory-core · vector unknown · fts ready · cache on (0) │
│ Plugin compatibility │ none │
│ Probes │ skipped (use --deep) │
│ Events │ none │
│ Tasks │ none │
│ Heartbeat │ 30m (main) │
│ Sessions │ 0 active · default gpt-5.4 (200k ctx) · ~/.openclaw/agents/main/sessions/sessions.json

OpenClaw 2026.4.14 (323493f)

gleaming swiftBOT
#

Yep, that helps.

You’re on 2026.4.14, and the fresh .trim fix I found landed after that release, so “up to date” on stable can still miss it.

Two likely cases:

  1. If this happens during openclaw onboard / openclaw configure
    then I strongly suspect it’s that newly-fixed setup bug.

  2. If this happens when the gateway service starts
    then we need the real stack trace, because your status shows the service is actually failed.

Please paste these next:

openclaw gateway status
#

Glad that helped! 🎉
If this fixed it, please right-click the solution message → Apps → ✅ Mark Solution.

barren reef
#

07:16:56+00:00 info Agents: main (default)
07:16:56+00:00 info Heartbeat interval: 30m (main)
07:16:56+00:00 info Session store (main): /root/.openclaw/agents/main/sessions/sessions.json (0 entries)
07:16:58+00:00 warn bonjour {"subsystem":"bonjour"} restarting advertiser (service stuck in probing for 10000ms (gateway fqdn=forcecyberteam.com (OpenClaw) (16)._openclaw-gw._tcp.local. host=openclaw-(16).local. port=18789 state=probing))
07:16:58+00:00 info bonjour: advertised gateway fqdn=forcecyberteam.com (OpenClaw) (16)._openclaw-gw._tcp.local. host=openclaw-(16).local. port=18789 state=unannounced
07:17:13+00:00 warn bonjour {"subsystem":"bonjour"} restarting advertiser (service stuck in probing for 10000ms (gateway fqdn=forcecyberteam.com (OpenClaw) (16)._openclaw-gw._tcp.local. host=openclaw-(16).local. port=18789 state=probing))
07:17:13+00:00 info bonjour: advertised gateway fqdn=forcecyberteam.com (OpenClaw) (16)._openclaw-gw._tcp.local. host=openclaw-(16).local. port=18789 state=unannounced
07:17:16+00:00 warn bonjour {"subsystem":"bonjour"} gateway name conflict resolved; newName="forcecyberteam.com (OpenClaw) (3)"
07:17:16+00:00 warn bonjour {"subsystem":"bonjour"} gateway hostname conflict resolved; newHostname="openclaw-(3)"
07:17:16+00:00 info bonjour: advertised gateway fqdn=forcecyberteam.com (OpenClaw) (3)._openclaw-gw._tcp.local. host=openclaw-(3).local. port=18789 state=announcing
07:18:09+00:00 error TypeError: Cannot read properties of undefined (reading 'trim')
07:18:28+00:00 info gateway {"subsystem":"gateway"} device pairing auto-approved device=63419f4b04eddc4f81c043df9329e2dbcd60477e1ce1fab69b6846accb59bdd8 role=operator

gleaming swiftBOT
#

Nice, this narrows it down.

A couple things from that log:

  • the bonjour warnings are just mDNS name/hostname conflicts, annoying but not the .trim crash
  • the gateway was still alive enough to auto-approve a device after the error, so this looks less like a total startup failure and more like some request path is hitting undefined input

What I need now is the stack trace / structured event, not just the one-line summary.

Please run:

openclaw logs --follow --json

Then reproduce it once and paste the JSON block around the TypeError.

#

Once I have the structured log, I can usually pin the exact codepath pretty fast.

barren reef
#

{"type":"log","time":"2026-04-15T07:17:16.461+00:00","level":"info","message":"bonjour: advertised gateway fqdn=forcecyberteam.com (OpenClaw) (3)._openclaw-gw._tcp.local. host=openclaw-(3).local. port=18789 state=announcing","raw":"{"0":"bonjour: advertised gateway fqdn=forcecyberteam.com (OpenClaw) (3)._openclaw-gw._tcp.local. host=openclaw-(3).local. port=18789 state=announcing","_meta":{"runtime":"node","runtimeVersion":"22.22.2","hostname":"unknown","name":"openclaw","date":"2026-04-15T07:17:16.461Z","logLevelId":3,"logLevelName":"INFO","path":{"fullFilePath":"file:///usr/lib/node_modules/openclaw/dist/server.impl-BbJvXoPb.js:20122:18","fileName":"server.impl-BbJvXoPb.js","fileNameWithLine":"server.impl-BbJvXoPb.js:20122","fileColumn":"18","fileLine":"20122","filePath":"/usr/lib/node_modules/openclaw/dist/server.impl-BbJvXoPb.js","filePathWithLine":"/usr/lib/node_modules/openclaw/dist/server.impl-BbJvXoPb.js:20122"}},"time":"2026-04-15T07:17:16.461+00:00"}"}
{"type":"log","time":"2026-04-15T07:18:09.703+00:00","level":"error","message":"TypeError: Cannot read properties of undefined (reading 'trim')","raw":"{"0":"TypeError: Cannot read properties of undefined (reading 'trim')","_meta":{"runtime":"node","runtimeVersion":"22.22.2","hostname":"unknown","name":"openclaw","date":"2026-04-15T07:18:09.703Z","logLevelId":5,"logLevelName":"ERROR","path":{"fullFilePath":"file:///usr/lib/node_modules/openclaw/dist/subsystem-BHv2zSx6.js:161:68","fileName":"subsystem-BHv2zSx6.js","fileNameWithLine":"subsystem-BHv2zSx6.js:161","fileColumn":"68","fileLine":"161","filePath":"/usr/lib/node_modules/openclaw/dist/subsystem-BHv2zSx6.js","filePathWithLine":"/usr/lib/node_modules/openclaw/dist/subsystem-BHv2zSx6.js:161","method":"console.error"}},"time":"2026-04-15T07:18:09.703+00:00"}"}
{"type":"log","time":"2026-04-15T07:18:28.943+00:00","level":"info","subsystem":"gateway","message":"{"subsystem":"gateway"} device pairing auto-approved device=63419f4b04eddc4f81c043df9329e2dbcd60477e1ce1fab69b6846accb59bdd8 role=operator","raw":"{"0":"{\"subsystem\":\"gateway\"}","1":"device pairing auto-approved device=63419f4b04eddc4f81c043df9329e2dbcd60477e1ce1fab69b6846accb59bdd8 role=operator","_meta":{"runtime":"node","runtimeVersion":"22.22.2","hostname":"unknown","name":"{\"subsystem\":\"gateway\"}","parentNames":["openclaw"],"date":"2026-04-15T07:18:28.942Z","logLevelId":3,"logLevelName":"INFO","path":{"fullFilePath":"file:///usr/lib/node_modules/openclaw/dist/subsystem-BHv2zSx6.js:330:14","fileName":"subsystem-BHv2zSx6.js","fileNameWithLine":"subsystem-BHv2zSx6.js:330","fileColumn":"14","fileLine":"330","filePath":"/usr/lib/node_modules/openclaw/dist/subsystem-BHv2zSx6.js","filePathWithLine":"/usr/lib/node_modules/openclaw/dist/subsystem-BHv2zSx6.js:330","method":"logToFile"}},"time":"2026-04-15T07:18:28.943+00:00"}"}

gleaming swiftBOT
#

Good, this actually tells us something.

The important bit is this:

  • subsystem-BHv2zSx6.js:161 ... method:"console.error" is just the logger wrapper
  • so that path is not the real source of the .trim() crash

Also, the timing is interesting:

  • gateway starts
  • about 53s later the error fires
  • then it still handles device pairing

So this looks more like a request-triggered bug (dashboard/device/connect/RPC path), not a basic boot/config parse failure.

Best next step, recommended

Run the gateway in the foreground so Node prints the real stack:

#
openclaw gateway stop
OPENCLAW_LOG_LEVEL=debug openclaw gateway run --verbose --ws-log full

Then reproduce the problem once, paste the stack trace, and stop it with Ctrl+C.

After that, go back to service mode with:

openclaw gateway start

Lower-disruption option

If you don’t want to stop the service yet, paste:

barren reef
#

07:23:12 [bonjour] watchdog detected non-announced service; attempting re-advert ise (gateway fqdn=forcecyberteam.com (OpenClaw) (6)._openclaw-gw._tcp.local. hos t=openclaw-(6).local. port=18789 state=probing)
07:23:17 [bonjour] watchdog detected non-announced service; attempting re-advert ise (gateway fqdn=forcecyberteam.com (OpenClaw) (11)._openclaw-gw._tcp.local. ho st=openclaw-(11).local. port=18789 state=probing)
07:23:22 [bonjour] restarting advertiser (service stuck in probing for 10001ms (gateway fqdn=forcecyberteam.com (OpenClaw) (16)._openclaw-gw._tcp.local. host=openclaw-(16).local. port=18789 state=probing))
07:23:22 bonjour: ignoring unhandled ciao rejection: CIAO PROBING CANCELLED
07:23:22 bonjour: ignoring unhandled ciao rejection: CIAO PROBING CANCELLED
07:23:37 [bonjour] restarting advertiser (service stuck in probing for 10000ms (gateway fqdn=forcecyberteam.com (OpenClaw) (16)._openclaw-gw._tcp.local. host=openclaw-(16).local. port=18789 state=probing))
07:23:42 [bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=forcecyberteam.com (OpenClaw) (6)._openclaw-gw._tcp.local. host=openclaw-(6).local. port=18789 state=probing)

gleaming swiftBOT
#

Those lines are just bonjour/mDNS discovery noise, not the .trim() bug.

So, good news: the foreground run itself is alive.
Bad news: we still haven’t reproduced the actual failing action.

My current best guess is dashboard connect / device pairing, because earlier the error showed up right before the auto-approved device log.

While the foreground run is still open, please do this one step at a time:

  1. open the dashboard
  2. click Connect
  3. if that doesn’t trigger it, do the exact next thing you were doing before

Then paste the first non-bonjour error that appears right after that.

You can ignore the bonjour spam for now, it’s a separate local discovery issue. The thing I need is the moment the .trim() error shows up during a real action.

barren reef
#

07:34:44 [bonjour] restarting advertiser (service stuck in probing for 10000ms (gateway fqdn=forcecyberteam.com (OpenClaw) (16)._openclaw-gw._tcp.local. host=openclaw-(16).local. port=18789 state=probing))
07:34:50 [agent/embedded] incomplete turn detected: runId=d5a1ce6b-767f-4eb6-bfbf-437a091ab8d5 sessionId=b639b736-2996-432f-a096-2befa40461a0 stopReason=stop payloads=0 — surfacing error to user
07:34:53 [agent/embedded] incomplete turn detected: runId=0f82430f-b3d1-4c3f-a465-1ea549f2d82c sessionId=b639b736-2996-432f-a096-2befa40461a0 stopReason=stop payloads=0 — surfacing error to user
07:34:55 [agent/embedded] incomplete turn detected: runId=20596586-76d1-45d4-958a-260c283b65b9 sessionId=b639b736-2996-432f-a096-2befa40461a0 stopReason=stop payloads=0 — surfacing error to user
07:35:00 [bonjour] restarting advertiser (service stuck in probing for 10502ms (gateway fqdn=forcecyberteam.com (OpenClaw) (16)._openclaw-gw._tcp.local. host=openclaw-(16).local. port=18789 state=probing))
07:35:05 [bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=forcecyberteam.com (OpenClaw) (6)._openclaw-gw._tcp.local. host=openclaw-(6).local. port=18789 state=probing)
07:35:10 [bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=forcecyberteam.com (OpenClaw) (11)._openclaw-gw._tcp.local. host=openclaw-(11).local. port=18789 state=probing)
07:35:15 [bonjour] restarting advertiser (service stuck in probing for 10001ms (gateway fqdn=forcecyberteam.com (OpenClaw) (16)._openclaw-gw._tcp.local. host=openclaw-(16).local. port=18789 state=probing))

gleaming swiftBOT
#

Okay, that’s a different clue, and it’s useful.

These lines:

  • [agent/embedded] incomplete turn detected
  • stopReason=stop
  • payloads=0

mean the agent is starting runs, but the model/run is ending without producing any visible reply, so OpenClaw is surfacing a generic failure.

So right now I’d split this into:

  1. bonjour spam, separate and mostly noise
  2. embedded runs stopping empty, which is probably what’s breaking the actual interaction

Next thing I want:

barren reef
#

Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : openai/gpt-5.4
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (0) : -
Configured models (0): all

Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -

  • openrouter effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1)
gleaming swiftBOT
#

Ah, I see one concrete problem now.

Your gateway says:

  • Default model: openai/gpt-5.4
  • Loaded auth: only openrouter
  • Shell env: off

So right now OpenClaw is set to use an OpenAI model, but I do not see OpenAI auth available to the gateway. That mismatch can absolutely cause the empty embedded turns you’re seeing.

What to fix first

Pick one:

  1. Add OpenAI auth if you want to keep openai/gpt-5.4
  2. Or switch your default model/provider so it matches the auth you actually have loaded (openrouter)

Fastest path:

#
openclaw configure

and choose a provider/model that matches your real credentials.

One more important detail

Because Shell env is off, if you expected the gateway to read API keys from your shell, it won’t. For service runs, use ~/.openclaw/.env or enable shell env loading.

Docs:

After fixing that, try one tiny prompt like hi again. If the .trim error still shows up after the auth/model mismatch is fixed, paste it and we can keep drilling.

celest peak
#

Hola, tengo un problema similar o el mismo. Llevo toda la mañana intentando solucionarlo. Instalacion desde cero: en wsl o en windows, he intentado lo mismo:
curl -fsSL https://openclaw.ai/install.sh | bash

Model/auth provider
│ OpenAI Codex

Model configured ──────────────────────────╮
│ │
│ Default model set to openai-codex/gpt-5.4 │
│ │
├─────────────────────────────────────────────╯
│
â—‡ Default model
│ Keep current (openai-codex/gpt-5.4)

Selecciono telegram, añado el token y

TypeError: Cannot read properties of undefined (reading 'trim')

Y no funciona bien openclaw. Va lento, no carga el historial, no contesta, refresca el dashboard de forma rara, no funciona telegram. Pero a veces si y a veces no, está completamente roto.

gleaming swiftBOT
#

Sí, esto suena muchísimo al mismo bug, y no parece que lo estés haciendo mal.

Por cómo lo describes, el crash pasa dentro del onboarding, justo al elegir Telegram y pegar el token. Eso encaja bastante con dos fixes de onboarding que entraron hoy en main, uno de providers y otro de channel setup. Si estás en 2026.4.14 o anterior, probablemente aún no los tienes.

Primero, pega esto:

openclaw --version

Mientras tanto, el workaround que probarĂ­a ya es este:

  1. Repite openclaw onboard
  2. Salta Telegram / channel setup durante el wizard
  3. Termina la instalaciĂłn
  4. Ejecuta:
#
openclaw doctor
openclaw configure --section channels

y configura Telegram después, fuera del onboarding.

Eso deberĂ­a separar:

  • el bug del wizard
  • de si Telegram/config queda realmente bien o no

Si luego sigue “roto” (dashboard raro, historial vacío, no responde, etc.), pega también:

openclaw status --all
celest peak
#

andre@Andreu-PC:~$ openclaw --version
OpenClaw 2026.4.14 (323493f)

Select channel (QuickStart)
│ Skip for now
TypeError: Cannot read properties of undefined (reading 'trim')

gleaming swiftBOT
#

Sí, perfecto, con eso ya queda mucho más claro.

No es Telegram en sĂ­, porque te crashea incluso en:

  • Select channel (QuickStart)
  • Skip for now

O sea, el problema está en el picker de canales de QuickStart de 2026.4.14, no en tu token ni en tu instalación. Eso encaja muy bien con el fix de onboarding/channels que entró hoy en main.

Workaround que probarĂ­a ahora

En vez de usar “Skip for now” dentro del menú, salta ese paso desde CLI:

openclaw onboard --skip-channels

Eso deberĂ­a evitar por completo esa ruta rota.

#

Luego:

openclaw doctor
openclaw configure --section channels

y configuras Telegram después.

Mi recomendaciĂłn

  1. Haz el onboarding con --skip-channels
  2. Verifica primero que el core responde con el dashboard
  3. Luego añade Telegram aparte con configure --section channels

Si aun así el dashboard sigue raro después de eso, entonces ya no sería solo el bug del picker y tocaría mirar openclaw status --all.

Docs:

celest peak
#

â—‡ How do you want to hatch your bot?
│ Hatch in TUI (recommended)
openclaw tui - ws://127.0.0.1:18789 - agent main - session main

history failed: GatewayClientRequestError: chat.history unavailable during gateway startup

Wake up, my friend!

⠋ dillydallying… • 27s | connected
agent main | session main | openai-codex/gpt-5.4 | tokens ?/200k

Parece no contestar, aunque el chat del dashboard parpadea, como si intentase contestar, pero no hay texto

gleaming swiftBOT
#

SĂ­, aquĂ­ ya hay otra pista clara.

history failed: GatewayClientRequestError: chat.history unavailable during gateway startup

eso suele significar que la TUI se abriĂł mientras el gateway aĂşn estaba arrancando. Esa lĂ­nea por sĂ­ sola no es mortal. Lo malo es esto:

  • sale “Wake up, my friend!”
  • el chat parpadea
  • pero no aparece respuesta

SegĂşn la FAQ, cuando pasa eso, normalmente el agente no llegĂł a correr de verdad.

Haz esto, en este orden:

openclaw gateway restart
#
openclaw status
openclaw models status
openclaw logs --follow

Luego manda otra vez un prompt corto, por ejemplo hi, y pega:

  • openclaw status
  • openclaw models status
  • las primeras lĂ­neas relevantes de openclaw logs --follow

Si sigue igual, después:

openclaw doctor
celest peak
#

🦞 OpenClaw 2026.4.14 (323493f) — I'll refactor your busywork like it owes me money.

OpenClaw status

Overview
│ OS │ linux 6.6.87.2-microsoft-standard-WSL2 (x64) · node 22.22.0 │
│ Dashboard │ http://127.0.0.1:18789/ │
│ Tailscale │ off │
│ Channel │ stable (default) │
│ Update │ pnpm · up to date · npm latest 2026.4.14 │
│ Gateway │ local · ws://127.0.0.1:18789 (local loopback) · unreachable (timeout) │
│ Gateway service │ systemd installed · enabled · running (pid 12621, state active) │
│ Node service │ systemd not installed │
│ Agents │ 1 · 1 bootstrap file present · sessions 1 · default main active 1m ago │
│ Memory │ 0 files · 0 chunks · dirty · sources memory · plugin memory-core · vector unknown · fts │
│
│ Sessions │ 1 active · default gpt-5.4 (200k ctx) · ~/.openclaw/agents/main/sessions/sessions.json │

gleaming swiftBOT
#

Vale, aquĂ­ ya hay dos pistas bastante buenas:

  • Gateway service: running
  • pero Gateway: unreachable (timeout)

Eso significa que systemd cree que el proceso está vivo, pero el WebSocket real no está respondiendo. Y eso encaja muy bien con:

  • dashboard raro
  • historial que no carga
  • TUI que conecta pero no responde

Además, esto me llama la atención:

  • 1 bootstrap file present

BOOTSTRAP.md normalmente deberĂ­a desaparecer tras el primer hatch correcto. Si se queda ahĂ­, a veces el agente se queda atrapado en un estado raro de bootstrap.

#

Ahora necesito estas 3 cosas:

openclaw gateway status
openclaw models status
journalctl --user -u openclaw-gateway.service -n 120 --no-pager

Si journalctl --user ... no encuentra esa unidad, pega el error exacto que te da.

No me volverĂ­a loco con Telegram todavĂ­a, porque ahora mismo el problema gordo parece ser gateway vivo segĂşn systemd, pero muerto o colgado segĂşn RPC.

Docs:

celest peak
#

andre@Andreu-PC:~$ journalctl --user -u openclaw-gateway.service -n 120 --no-pager
Apr 15 11:51:51 Andreu-PC node[12381]: 2026-04-15T11:51:51.148+02:00 [agent/embedded] embedded run agent end: runId=d1fd9250-7303-4b64-8ece-f1c3d7b8e6fb isError=true model=gpt-5.4 provider=openai-codex error=LLM request failed: DNS lookup for the provider endpoint failed. rawError=<html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style global>body{font-family:Arial,Helvetica,sans-serif}.container{align-items:center;display:flex;flex-direction…
Apr 15 11:52:00 Andreu-PC node[12381]: 2026-04-15T11:52:00.045+02:00 [agent/embedded] embedded run agent end: runId=d1fd9250-7303-4b64-8ece-f1c3d7b8e6fb isError=true model=gpt-5.4 provider=openai-codex error=LLM request failed: DNS lookup for the provider endpoint failed. rawError=<html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style global>body{font-family:Arial,Helvetica,sans-serif}.container{align-items:center;display:flex;flex-direction…
Apr 15 11:52:09 Andreu-PC node[12381]: 2026-04-15T11:52:09.990+02:00 [agent/embedded] embedded run agent end: runId=d1fd9250-7303-4b64-8ece-f1c3d7b8e6fb isError=true model=gpt-5.4 provider=openai-codex error=⚠️ API rate limit reached. Please try again later. rawError=<html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style global>body{font-family:Arial,Helvetica,sans-serif}.container{align-items:center;display:flex;flex-direction…

OAuth/token status

  • openai-codex usage: 5h 63% left ⏱22m · Week 54% left ⏱3d 0h
    • openai-codex:xxx ok expires in 10d
gleaming swiftBOT
#

Vale, ahora sí tenemos la causa del “no responde”.

No estás loco, aquí hay dos problemas distintos:

  1. Bug real de onboarding en 2026.4.14
    el TypeError ... trim del picker de canales/QuickStart

  2. Problema de red/DNS con el proveedor
    porque el log dice claramente:

  • provider=openai-codex
  • DNS lookup for the provider endpoint failed
  • y además rawError=<html>...

Ese rawError=<html> es muy sospechoso, porque parece más una página de error/interceptación de red/proxy que una respuesta normal de la API.

La parte buena: el token está bien

#

openai-codex:xxx ok expires in 10d

O sea, no es auth, es conectividad/rate limit hacia el endpoint del proveedor.

Siguiente prueba, desde dentro de WSL

Pásame esto:

getent hosts chatgpt.com
getent hosts api.openai.com
curl -I https://chatgpt.com
curl -I https://api.openai.com

Qué espero

  • Si eso falla, el problema es DNS/salida HTTPS de WSL2, no OpenClaw
  • Si eso funciona bien, entonces el siguiente sospechoso es openai-codex + rate limit / endpoint especĂ­fico
vague wadi
#

Thanks! Here's the info:

openclaw --version
OpenClaw 2026.4.14 (323493f)

openclaw status
(couldn't run, config file doesn't exist — ~/.openclaw/openclaw.json
missing after crash)

Exact command: openclaw onboard --install-daemon

Happens during onboarding, both QuickStart and Manual modes,
at the Telegram channel step (right after the "Telegram DM access
warning" box is shown).

Will try the workaround (skip provider/auth → finish →
openclaw configure) and report back.

gleaming swiftBOT
#

Yep, that’s a very strong match for the same 2026.4.14 onboarding/channel bug.

Two useful signals there:

  • ~/.openclaw/openclaw.json missing after the crash makes sense, onboarding died before it finished writing config
  • crashing right after the Telegram DM access warning in both QuickStart and Manual points straight at the channel setup path, not your machine

I’d tweak the workaround slightly:

openclaw onboard --install-daemon --skip-channels
openclaw doctor
openclaw configure --section channels

Important bit: use --skip-channels on the CLI.
On 2026.4.14, the in-wizard “Skip for now” path can still hit the broken codepath.

#

Docs:

Also, this is bug-report-worthy now. If you want maintainer eyes on it, please file it here with your exact repro:

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

Suggested repro summary:

  • openclaw onboard --install-daemon
  • OpenClaw 2026.4.14 (323493f)
  • crash at Telegram onboarding, right after the Telegram DM access warning
  • TypeError: Cannot read properties of undefined (reading 'trim')
  • config file never written because onboarding aborts early

If --skip-channels still explodes, paste the next output and I’ll keep digging.

vague wadi
#

Thanks @Krill! Quick update after trying the workaround:

âś… openclaw onboard --install-daemon --skip-channels
→ works, setup completes cleanly.
Config writes gateway, agents.defaults.model (claude-sonnet-4-6),
auth profile for anthropic, plugins.entries.anthropic.enabled=true,
etc. Gateway service installs and is reachable.

❌ openclaw configure --section channels
→ still crashes with the same TypeError on Finished:
Cannot read properties of undefined (reading 'trim')

Happens whether Telegram is newly added or already had a 
token from a previous attempt. The crash fires right after 
selecting "Finished" from the channel list.

Result: setup is partially usable (core works, openclaw doctor runs
cleanly), but no channel can be configured in 2026.4.14 as far as I can
tell. Attempting openclaw config set channels.telegram.token ... fails
validation ("Unrecognized key") since the channel schema isn't statically
defined.

Will wait for the main→npm release with the fix. Let me know if you
need any additional logs or stack trace in the meantime. Happy to help
test the patch once it's out.

Stack:

  • macOS 26.4.1 (Apple Silicon, Mac mini)
  • OpenClaw 2026.4.14 (323493f)
  • Node v25.9.0 (via homebrew; README recommends Node 24 — let me know
    if that could be a factor, happy to downgrade if needed)
  • Clean install via npm install -g openclaw@latest
gleaming swiftBOT
#

This is super helpful, thank you. You’ve narrowed it down really cleanly.

What this says to me:

  • core/gateway is fine
  • onboarding with --skip-channels is fine
  • the crash is isolated to the channel setup finalization path
  • and openclaw configure --section channels is likely hitting the same shared channel-setup codepath as onboarding

So yes, at this point I’d treat this as a real 2026.4.14 bug, not a bad install.

I also wouldn’t blame Node 25 first here. Node 24 is the safer recommendation, but this repro is too specific and too repeatable to look like a generic Node-version problem.

The most useful next step now is definitely a GitHub issue, with exactly this refined repro:

  • openclaw onboard --install-daemon --skip-channels succeeds
  • openclaw configure --section channels crashes on Finished