#Port conflicts... not sure if OpenClaw or Ollama is the issue. No agents responding.
58 messages · Page 1 of 1 (latest)
Yeah, local machine bugs are where generic AI gets real dumb.
Let’s use actual signals instead. Please paste these in one message:
openclaw --version
openclaw status --all
openclaw gateway status
openclaw models status
ss -ltnp | grep -E '18789|11434'
That should tell us pretty fast whether this is:
- a real port conflict,
- the gateway not binding,
- Ollama being unrelated,
- or agents/models failing for a different reason.
If you already have logs, this is the next useful one:
openclaw logs --follow
Docs for the debug flow: https://docs.openclaw.ai/start/faq and https://docs.openclaw.ai/gateway/troubleshooting
PS C:\WINDOWS\system32> ss -ltnp | grep -E '18789|11434'
openclaw models status
openclaw gateway status
openclaw status --all
openclaw --version
ss : The term 'ss' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
- ss -ltnp | grep -E '18789|11434'
- ~~
- CategoryInfo : ObjectNotFound: (ss:String) [], CommandNotFoundException
- FullyQualifiedErrorId : CommandNotFoundException
🦞 OpenClaw 2026.4.11 (769908e) — Making 'I'll automate that later' happen now.
Config : $OPENCLAW_HOME.openclaw\openclaw.json
Agent dir : $OPENCLAW_HOME.openclaw\agents\main\agent
Default : ollama/kimi-k2.5:cloud
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (0) : -
Configured models (1): ollama/kimi-k2.5:cloud
Auth overview
Auth store : $OPENCLAW_HOME.openclaw\agents\main\agent\auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -
- anthropic effective=profiles:$OPENCLAW_HOME.openclaw\agents\main\agent\auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | anthropic:default=sk-ant-a...caEjVwAA
- ollama effective=profiles:$OPENCLAW_HOME.openclaw\agents\main\agent\auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | ollama:default=marker(ollama-local) | env=ol...al | source=env: OLLAMA_API_KEY | models.json=OL...EY | source=models.json: $OPENCLAW_HOME.openclaw\agents\main\agent\models.json
- openai effective=env:sk-proj-...ltFvMV0A | env=sk-proj-...ltFvMV0A | source=env: OPENAI_API_KEY
- openrouter effective=env:sk-api-W...ciutAcWY | env=sk-api-W...ciutAcWY | source=env: OPENROUTER_API_KEY
- perplexity effective=env:sk-api-W...ciutAcWY | env=sk-api-W...ciutAcWY | source=env: OPENROUTER_API_KEY
OAuth/token status
- none
Nice, that at least shows you’re on 2026.4.11, so not some ancient build.
What we got there is mostly model/auth status, not the gateway/port state yet. Also, ss is a Linux command, so PowerShell ignored the port check path.
Please run these one at a time in PowerShell and paste the output:
openclaw gateway status
openclaw status --all
netstat -ano | findstr ":18789"
netstat -ano | findstr ":11434"
If either netstat command shows a PID, also run:
Get-Process -Id <PID>
So far we know:
- OpenClaw is installed and reasonably current
- model/auth config exists
- we still don’t know whether the gateway failed to start, failed to bind, or if Ollama is even involved
If openclaw gateway status looks bad, the next thing I’ll ask for is:
openclaw logs --follow
PS C:\WINDOWS\system32> openclaw gateway status
🦞 OpenClaw 2026.4.11 (769908e)
I can't fix your code taste, but I can fix your build and your backlog.
|
o
Service: Scheduled Task (registered)
File logs: \tmp\openclaw\openclaw-2026-04-12.log
Command: C:\Program Files\nodejs\node.exe C:\Users\there\AppData\Roaming\npm\node_modules\openclaw\dist\index.js gateway --port 18789
Service file: $OPENCLAW_HOME.openclaw\gateway.cmd
Service env: OPENCLAW_GATEWAY_PORT=18789
Config (cli): $OPENCLAW_HOME.openclaw\openclaw.json
Config (service): $OPENCLAW_HOME.openclaw\openclaw.json
Gateway: bind=loopback (127.0.0.1), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://127.0.0.1:18789/
Probe note: Loopback-only gateway; only local clients can connect.
Runtime: unknown (state Ready, last run -1073741510, last run time 4/12/2026 5:27:29 PM, Task status is locale-dependent and no numeric Last Run Result was available.)
RPC probe: failed
RPC target: ws://127.0.0.1:18789
gateway closed (1006):
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
Good, we’ve got the first real clue.
This does not look like “Ollama stole the port” yet. It looks like the OpenClaw gateway itself isn’t staying up:
RPC probe: failed- nothing is answering on
127.0.0.1:18789 last run -1073741510, which on Windows usually means the process got interrupted/terminated
Next step is to catch the failure live. In two PowerShell windows:
# window 1
openclaw logs --follow
# window 2
openclaw gateway restart
openclaw gateway status
Then paste:
- the fresh
openclaw gateway status - the log lines that appear right after restart
If you still want the Windows port check, use:
netstat -ano | findstr ":18789"
netstat -ano | findstr ":11434"
If the gateway dies immediately, also run:
openclaw doctor
Runbook here too: https://docs.openclaw.ai/gateway/troubleshooting
🦞 OpenClaw 2026.4.11 (769908e)
Like having a senior engineer on call, except I don't bill hourly or sigh audibly.
Gateway not reachable. Is it running and accessible?
Gateway target: ws://127.0.0.1:18789
Yep, confirmed, the gateway is just down right now, which is why no agents respond. This still doesn’t look like an Ollama port fight.
At this point we need the startup error, not another status snapshot. Please paste these two:
openclaw doctor
Get-Content "\tmp\openclaw\openclaw-2026-04-12.log" -Tail 100
If you want to catch it live instead:
# window 1
openclaw logs --follow
# window 2
openclaw gateway restart
Then paste the log lines that appear right after restart.
That should tell us whether this is:
- a real bind/port error,
- a config problem,
- or the Windows scheduled task dying on startup.
accepted. Group messages stay blocked until you |
| add allowed chats under |
| channels.telegram.accounts.tess.groups (and |
| optional sender IDs under |
| channels.telegram.accounts.tess.groupAllowFrom), |
| or set channels.telegram.accounts.tess.groupPolicy |
| to "open" if you want broad group access. |
| - channels.discord.groupPolicy is "allowlist" but |
| groupAllowFrom (and allowFrom) is empty — all |
| group messages will be silently dropped. Add |
| sender IDs to channels.discord.groupAllowFrom or |
| channels.discord.allowFrom, or set groupPolicy to |
| "open". |
| - channels.discord.accounts.community-manager.groupP |
| olicy |
| is "allowlist" but groupAllowFrom (and allowFrom) |
| is empty — all group messages will be silently |
| dropped. Add sender IDs to |
| channels.discord.accounts.community-manager.groupA |
| llowFrom |
| or |
| channels.discord.accounts.community-manager.allowF |
| rom, |
| or set groupPolicy to "open". |
| - channels.discord.accounts.default.groupPolicy is |
| "allowlist" but groupAllowFrom (and allowFrom) is |
| empty — all group messages will be silently |
| dropped. Add sender IDs to |
| channels.discord.accounts.default.groupAllowFrom |
| or
channels.discord.accounts.default.allowFrom, or |
| set groupPolicy to "open". |
| - channels.discord.accounts.krill.groupPolicy is |
| "allowlist" but groupAllowFrom (and allowFrom) is |
| empty — all group messages will be silently |
| dropped. Add sender IDs to |
| channels.discord.accounts.krill.groupAllowFrom or |
| channels.discord.accounts.krill.allowFrom, or set |
| groupPolicy to "open". |
| - channels.discord.accounts.bad-larry.groupPolicy is |
| "allowlist" but groupAllowFrom (and allowFrom) is |
| empty — all group messages will be silently |
| dropped. Add sender IDs to |
| channels.discord.accounts.bad-larry.groupAllowFrom |
| or channels.discord.accounts.bad-larry.allowFrom, |
| or set groupPolicy to "open". |
| |
+-------------------------------------------------
18:00:54-04:00 [telegram] channels.telegram: accounts.default is missing; falling back to "lex". Set channels.telegram.defaultAccount or add channels.telegram.accounts.default to avoid routing surprises in multi-account setups.
|
o Bundled plugins ---------------------------------+
| |
| Bundled plugin runtime deps are missing. |
| - @discordjs/opus@^0.10.0 (used by discord) |
| Fix: run openclaw doctor --fix to install them. |
| |
+---------------------------------------------------+
|
- Install missing bundled plugin runtime deps now?
| > Yes / No
—
Yep, that’s the smoking gun. This is not a port conflict.
Your doctor output says OpenClaw is silently dropping Discord group/thread messages because groupPolicy is allowlist and nothing is allowlisted for that Discord account.
Two ways to fix it:
1. Fastest
Set Discord group access to open:
{
channels: {
discord: {
accounts: {
default: {
groupPolicy: "open",
},
},
},
},
}
2. Better
Keep allowlist, but explicitly allow the guild/channel you want:
{
channels: {
discord: {
accounts: {
default: {
groupPolicy: "allowlist",
guilds: {
"YOUR_GUILD_ID": {
channels: {
"YOUR_CHANNEL_ID": { allow: true },
},
},
},
},
},
},
},
}
Then restart:
openclaw gateway restart
openclaw doctor
A couple notes:
- if you use a different Discord account block, apply it there instead of
accounts.default - even with
groupPolicy: "open", mention gating can still apply - you can ignore the Telegram warning unless you’re also debugging Telegram
Docs: https://docs.openclaw.ai/channels/groups
I’d recommend allowlisting just the server/channel first, then widening it later if you want.
Yep, same root cause, just repeated for each Discord account block.
The important bit here is that this session is using the default Discord account, and channels.discord.accounts.default is currently configured to drop all group messages.
So the quickest fix is:
{
channels: {
discord: {
accounts: {
default: {
groupPolicy: "open",
},
},
},
},
}
Then restart:
openclaw gateway restart
A couple important details:
- you do not need to fix
krillorbad-larryunless you want those accounts replying too groupPolicy: "open"only opens group access, it does not necessarily disable mention gating
If you want, paste your channels.discord.accounts.default block and I can tell you exactly what to change.
Yes, I’d accept that install.
But also, this output is mixing three separate things:
-
Telegram warning
Not relevant unless you’re also using Telegram. -
Missing
@discordjs/opus
Worth fixing, especially for Discord voice/audio stuff.openclaw doctor --fixis the right move. -
Your actual “no replies in Discord threads” problem
Still looks like the Discord group policy / allowlist config from earlier.
So I’d do this in order:
openclaw doctor --fix
openclaw gateway restart
Then make sure the config for the active Discord account still includes either:
channels.discord.accounts.default.groupPolicy: "open"- or a proper allowlist for the guild/channel
So, short version: click Yes, but don’t let that distract from the real blocker, which is the Discord group-message policy.
Same for Telegram? TG is my main access point for my main agent. I think the problem is deeper than this - I have no response on dashboard, TUI, or in my VM (hermes)
Yeah, that does sound deeper, and it matches the earlier clue.
If dashboard + TUI + hermes are all dead too, then this is not just Discord or Telegram routing. Those all depend on the gateway being healthy.
So I’d split it like this:
- Telegram warning: real, but mostly a routing/default-account warning
- Discord warnings: real, but about group-message policy
- Bigger problem: your gateway is not staying up / not reachable, which would break dashboard, TUI, and remote clients all at once
So let’s ignore channel config for one minute and get the core failure.
Please paste these three:
openclaw status --all
Get-Content "\tmp\openclaw\openclaw-2026-04-12.log" -Tail 150
netstat -ano | findstr ":18789"
And yes, for Telegram specifically, if lex is your real default account, set:
channels: {
telegram: {
defaultAccount: "lex",
},
}
But I would not chase Telegram/Discord first. The dashboard/TUI/hermes symptom says the gateway itself is the main fire.
Then let's fix the main fire
Yep. Let’s go straight at it.
Run these one at a time in PowerShell, then paste all output in one message:
openclaw gateway restart
openclaw status --all
Get-Content "\tmp\openclaw\openclaw-2026-04-12.log" -Tail 150
netstat -ano | findstr ":18789"
That gives us, in order:
- whether the gateway can restart at all
- what OpenClaw thinks is broken
- the actual startup/crash lines
- whether anything is listening on the gateway port
Don’t crop the log tail if you can help it, that’s probably where the real answer is.
Get-Content "\tmp\openclaw\openclaw-2026-04-12.log" -Tail 150
netstat -ano | findstr ":18789"
Is this all one command?
Nope, separate commands. One at a time 🙂
Run exactly this:
openclaw gateway restart
then
openclaw status --all
then
Get-Content "\tmp\openclaw\openclaw-2026-04-12.log" -Tail 150
then
netstat -ano | findstr ":18789"
Paste the outputs after that.
I'm green on everything in the status --all check until i get to Agents... My main (main) bootstarp file is present, as is Songbird's (another agent running on Anthropic and not ollama)... all others are ABSENT
Diagnosis (read-only)
Gateway connection details:
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: C:\Users\there.openclaw\openclaw.json
Bind: loopback
âś“ Config: C:\Users\there.openclaw\openclaw.json
âś“ Secret diagnostics (0)
âś“ Restart sentinel: none
! Port 18789
Port 18789 is already in use.
- pid 22152: "C:\Program Files\nodejs\node.exe" C:\Users\there\AppData\Roaming\npm\node_modules\openclaw\dist\index.js gateway --port 18789 (127.0.0.1:18789)
- Gateway already running locally. Stop it (openclaw gateway stop) or use a different port.
! Tailscale: off · unknown
✓ Skills: 12 eligible · 0 missing · C:\Users\there.openclaw\workspace
! Plugin compatibility (1) - [warn] memory-lancedb still uses legacy before_agent_start; keep regression coverage on this plugin, and prefer before_model_resolve/before_prompt_build for new work.
! Channel issues skipped (gateway unreachable)
o
PS C:\WINDOWS\system32> netstat -ano | findstr ":18789"
TCP 127.0.0.1:18789 0.0.0.0:0 LISTENING 22152
TCP 127.0.0.1:18789 127.0.0.1:50151 ESTABLISHED 22152
TCP 127.0.0.1:18789 127.0.0.1:65301 ESTABLISHED 22152
TCP 127.0.0.1:18789 127.0.0.1:65302 ESTABLISHED 22152
TCP 127.0.0.1:50151 127.0.0.1:18789 ESTABLISHED 15304
TCP 127.0.0.1:65301 127.0.0.1:18789 ESTABLISHED 22152
TCP 127.0.0.1:65302 127.0.0.1:18789 ESTABLISHED 22152
TCP [::1]:18789 [::]:0 LISTENING 22152
Okay, that’s a really useful clue.
Good news: this is not Ollama stealing the port.
18789 is owned by OpenClaw itself:
node ... openclaw ... gateway --port 18789LISTENING 22152
So the port is fine. The suspicious bit is this:
BOOTSTRAP.mdis present formainandSongbird
We’ve seen leftover BOOTSTRAP.md keep agents stuck in perpetual bootstrapping, which makes them look dead from dashboard, TUI, and chat even though the gateway process is technically up.
Best next move
Temporarily rename or move the BOOTSTRAP.md files for:
main
Songbird
Then:
openclaw gateway restart
and test again.
If you want me to confirm before you touch files
Paste the log tail too, because that should show bootstrap churn/crashes:
Get-Content "\tmp\openclaw\openclaw-2026-04-12.log" -Tail 150
So right now my top read is:
- not a port conflict
- gateway process exists
- agents may be stuck bootstrapping due to leftover
BOOTSTRAP.md
If you want, paste the Agents section plus the log tail and I’ll tell you whether it’s safe to remove those two bootstrap files.
Ok... could this be the issue:
Lex is my main agent. For a couple days, I was having a TON of problems with her - arguing, losing context, stuff like that.
So what I've been doing is setting up a multi-agent org to take some of the work off her shoulders. I also cleaned up a ton of bloated useless old files, and (most relevant) moved her main workspace OUT of the main openclaw folder. I did this for all my agents except main... I did this by having Lex set up a new workspace for herself with a new heartbeat.md, soul.md, etc...
For Songbird, I copied his into the new location, and HIS has a bootstrap.md... the other agents are new agents (not including the Discord bots in this). So looking in Lex's NEW workspace, I see the new heartbeat, soul, etc.. I DO NOT see a new bootstrap.md.
Could that be the issue?
Yes, that absolutely could be the issue.
The workspace move itself is not necessarily bad. The suspicious part is this:
HEARTBEAT.md,SOUL.md, etc. are normal to keep/copyBOOTSTRAP.mdis different. It’s basically first-run scaffolding, not long-term memory
So:
- Lex new workspace with no
BOOTSTRAP.md: that part sounds fine - Songbird new workspace with a copied
BOOTSTRAP.md: that is very suspicious - if main/Lex is still pointed at an old workspace that still has a
BOOTSTRAP.md, that could also keep things wedged
What I’d check next is:
- find every
BOOTSTRAP.mdin both the old and new workspaces - identify which ones belong to active agents
- temporarily rename those
BOOTSTRAP.mdfiles out of the way - restart the gateway and test again
If you want a quick inventory, run:
Get-ChildItem $env:USERPROFILE\.openclaw -Recurse -Filter BOOTSTRAP.md | Select-Object FullName
And if some agents now live outside .openclaw, search those custom workspace folders too.
So short answer: yes, copied/misplaced BOOTSTRAP.md files are one of the most plausible causes here.
Ok.. and the problem started immediately after starting a /new session with Lex and restarting the GW
Yep, that timing makes the bootstrap/session-state theory a lot stronger.
A /new session + gateway restart is exactly when OpenClaw will try to bootstrap fresh session state. If that state is bad, or it finds a lingering BOOTSTRAP.md, things can wedge right there.
So I’d treat this as the most likely chain now:
/newsession triggered fresh bootstrap behavior- workspace/session state was already weird after the moves/copies
- gateway came back up, but the agent got stuck in bootstrap land
I’d do this in this order
- temporarily rename any active-agent
BOOTSTRAP.mdfiles, especially:- Lex/main
- Songbird
- restart the gateway
- try again with a fresh session
If it’s still broken after that, then the next suspect is a stale session store / bad saved session state, not the port.
So yes, this new detail fits the bootstrap theory really well.
Same shit: LLM request failed: network connection error.
Annoying, but that’s actually a better clue.
LLM request failed: network connection error means the agent got far enough to try a model call. So this is not just “stuck bootstrap” anymore. The failure is now at the provider/network layer.
So the next move is just this:
openclaw logs --follow
Then:
- send one test message to Lex
- paste the new log lines that appear right after the failure
That should tell us whether the bad hop is:
- Lex’s model/backend
- local Ollama connectivity
- or a more general outbound network/provider problem
Also, one quick sanity check:
- if Songbird works but Lex fails, it’s probably Lex’s model/backend
- if both fail with the same network error, it’s probably broader than a single agent
Paste the log lines and we can stop guessing.
Discord: ok (@Lexi P., @Bad Larry, @Super Macho Man, @Krill) (342ms)
Telegram: ok (@lexmain_bot, @Tes_sbot) (261ms)
Agents: main (default), super-macho-man, krill, songbird, bad-larry, investigator, lexicon, ultimate-brainzilla, hamburger_helper, janitor
Heartbeat interval: 30m (main)
Session store (main): C:\Users\there.openclaw\agents\main\sessions\sessions.json (43 entries)
- agent:main:main (69m ago)
- agent:main:telegram:direct:8244638936 (3295m ago)
- agent:main:subagent:61bd9800-07f2-4c0f-8177-fd958cce3a51 (3305m ago)
- agent:main:cron:75b0623f-3a08-44ce-a2aa-bc480341614f (17057m ago)
- agent:main:cron:4b8f2491-d202-4216-b5c5-bf836fe71bc6 (17064m ago)
18:27:20-04:00 [plugins] memory-lancedb: plugin registered (db: C:\Users\there.openclaw\memory\lancedb, lazy init)
|
o Memory search -------------------------------------------------+
| |
| No active memory plugin is registered for the current config. |
| |
+-----------------------------------------------------------------+
|
— Doctor complete.
That output is actually good news.
It means:
- Discord is fine
- Telegram is fine
- the gateway is up
- agents are registered
- this is not a port / channel / gateway meltdown anymore
So the problem has narrowed down to model execution.
In other words, the agent is alive, but the LLM call is failing.
The memory-lancedb bit is not the fire here, and the memory plugin warning is unrelated to “LLM request failed: network connection error”.
What I need now
Not doctor, but the live failure lines.
Run:
openclaw logs --follow
Then send one message to Lex that fails, and paste the new log lines only.
I’m looking for the part that mentions:
- provider
- model
- URL/endpoint
- timeout / connect / ECONN / 4xx / 5xx
At this point, that log snippet is the shortest path to the real root cause.
This stuff?
22:28:58+00:00 warn agent/embedded {"subsystem":"agent/embedded"} {"event":"embedded_run_failover_decision","tags":["error_handling","failover","assistant","surface_error"],"runId":"4f0c1187-74f7-4b8f-a1bd-78978fa5d2fc","stage":"assistant","decision":"surface_error","failoverReason":"timeout","profileFailureReason":null,"provider":"ollama","model":"gemma4:31b-cloud","fallbackConfigured":false,"timedOut":false,"aborted":false,"rawErrorPreview":"fetch failed | other side closed","rawErrorHash":"sha256:1cbfed6bdf66","providerRuntimeFailureKind":"timeout"} embedded run failover decision
22:28:58+00:00 info gateway/channels/telegram {"subsystem":"gateway/channels/telegram"} telegram sendMessage ok chat=8244638936 message=18003
Gateway not reachable. Is it running and accessible?
Yep, that’s the smoking gun.
This is not a Discord, Telegram, or gateway problem. Telegram send succeeded. The failing hop is the model backend:
- provider:
ollama - model:
gemma4:31b-cloud - error:
fetch failed | other side closed - failover reason:
timeout fallbackConfigured: false
So Lex is alive, but the Ollama-backed model call is timing out / having the connection closed, and there’s no fallback.
Fastest path forward
Pick one:
1. Unstick Lex now, recommended
Temporarily switch Lex/main off that Ollama model, or add a fallback model that you know works.
2. Prove it directly
Run a direct model probe:
openclaw infer model run --model ollama/gemma4:31b-cloud --prompt "hi" --json
If that fails the same way, the problem is the Ollama model/backend path, not OpenClaw’s routing.
3. Compare agents
Try Songbird once. If Songbird works and Lex fails, that confirms it’s isolated to the Ollama side.
So the main fire has narrowed to: ollama/gemma4:31b-cloud is failing upstream, and Lex has no fallback configured.
Dude... So I just checked my Ollama account, and for the past 2 months it's showing tomorow as the day I pay... I have no money in that acct right now. You don't think maybe it tried to take payment and failed or smth do you?
Honestly, yeah, that’s plausible.
Because the failing model is gemma4:31b-cloud on the ollama provider, this is not a purely local Ollama path. If your Ollama cloud account is in a weird billing state, that could absolutely show up as:
- connection closed
- timeout
- vague network-ish failures
instead of a nice clean “payment failed” message.
So my read is:
- yes, billing/account state could be the root cause
- and it fits the log better than the old port-conflict theory
Fastest move right now
Don’t wait on billing weirdness. Temporarily: