#anthropic 0auth

1 messages · Page 1 of 1 (latest)

keen hawkBOT
#

Yep, what you’re seeing is the current behavior.

For Anthropic, the old direct oauth onboarding path was folded into the subscription paths. In current OpenClaw, Claude subscription auth is basically:

  1. Anthropic Claude CLI
    Use the local claude CLI login on the gateway host

  2. Anthropic setup-token
    Run claude setup-token, then paste that into OpenClaw

  3. Anthropic API
    Normal API key billing

So if your goal is to use your Claude subscription, including Extra Usage, the usual choice is Anthropic setup-token.
If the gateway host already has Claude Code installed and signed in, Anthropic Claude CLI is also valid.

Useful docs:

#

Then I’d recommend Anthropic setup-token.

Short version:

  • setup-token = best fit for “use Claude to power OpenClaw in Discord, without API billing”
  • Claude CLI = also works through Discord, but the backend is the local claude CLI on the gateway host, and it has more limitations

So yes, with setup-token you still chat with OpenClaw in Discord.
The terminal is only used once to generate the token:

claude setup-token

Then in OpenClaw onboarding, choose:

  • Anthropic setup-token
#

Paste that token, and keep your model as anthropic/....

That gives you the normal OpenClaw flow over your channel, just authenticated via your Claude subscription instead of API billing.

Why I’d pick setup-token over CLI for your case:

  • it keeps you on the normal Anthropic provider
  • better fit for “Claude drives OpenClaw”
  • CLI backend is more of a special local-host path, not the clean default for this use

Docs:

If you want, I can give you the exact 3-step setup for Discord + Anthropic setup-token.

worn brook
#

@keen hawk - what model are you running on?

keen hawkBOT
keen hawkBOT
#

Start with this exact ladder, it’s the fastest way to see whether the problem is the gateway process, auth, or just the dashboard/browser:

openclaw --version
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor

If it’s specifically the dashboard/control UI not connecting, also run:

openclaw gateway status --json

What you want to see:

#
  • Runtime: running
  • RPC probe: ok
  • the expected host/port in the probe/dashboard URL
  • no auth/token errors in logs

Common quick causes when it “was working a few minutes ago”:

  • gateway crashed or stopped
  • auth token mismatch
  • tunnel/Tailscale/port issue if remote
  • browser WebSocket state got wedged, I’ve seen a browser refresh/restart fix “offline” while the gateway itself was healthy

If the UI is the part that won’t load, also double-check the token in Control → Overview → Gateway Access.

If you paste the output from:

openclaw --version
#

Nice, we found it. This is not a gateway mystery, it’s a config parse failure.

Your gateway won’t start because this config value is invalid:

plugins.entries.openai.config.personality

In 2026.4.9, the allowed values are only:

  • "friendly"
  • "on"
  • "off"

So the fix is to open:

#
~/.openclaw/openclaw.json

and either:

  1. change that value to one of the allowed ones, or
  2. remove the personality line entirely if you don’t need it

Example:

plugins: {
  entries: {
    openai: {
      config: {
#
        personality: "friendly"
      }
    }
  }
}

Then run:

openclaw status
openclaw gateway restart
openclaw gateway status

If openclaw doctor --fix still won’t run before the config is valid, that’s expected, fix the file first.

#

Almost, there’s one typo, the extra " after off.

Use:

"openai": {
  "enabled": true,
  "config": {
    "personality": "off"
  }
},

So yes, personality: "off" is the right value.

After saving, run:

#
openclaw status
openclaw gateway status

If that comes back healthy, you’re good.

#

Yep, this is a different layer of failure.

Why this happened

Most likely, your earlier openai.config.personality error was blocking startup before plugin loading.

Once you fixed that, OpenClaw got further into startup and then hit the next problem:

  • the Discord plugin module loaded
  • but it did not expose the plugin entrypoint OpenClaw expected

That’s what missing register/activate export means. In plain English: OpenClaw found something it thinks is the Discord plugin, but that module looks wrong for this version.

So this was probably not caused by setting personality: "off".
That fix just unmasked the next issue.

Common causes

#

Usually one of these:

  1. Custom/overridden Discord plugin path or package

    • OpenClaw is loading a non-bundled Discord plugin module
  2. Version mismatch / partial update

    • core updated, but plugin code on disk is from an older/newer shape
  3. Broken local extension/plugin

    • especially if you were experimenting with custom plugins or extension roots

How to diagnose

Please run these and paste the raw output, especially the log lines around Discord:

#
openclaw --version
openclaw status --all
openclaw logs --follow

Also paste the relevant parts of your config:

  • the plugins block
  • the channels.discord block

What I’m looking for:

  • any custom Discord plugin override
  • any local extension root/path/package reference
  • a clean bundled Discord setup vs a custom plugin load

Likely solution

#

If you are not intentionally using a custom Discord plugin, the fix is usually:

  • remove the custom Discord plugin override from your config
  • keep your normal channels.discord config
  • restart the gateway

If you did update recently, do a clean update/reinstall so core + bundled plugin code match, then restart.

Short version

  • personality: "off" did not break Discord
  • fixing config let startup proceed farther
  • now startup is failing on a Discord plugin load mismatch

Docs:

#

If you paste the raw openclaw logs --follow error plus your plugins block, I can usually tell which of the 3 causes it is in one pass.

#

Yep, this is specific enough now. I think there are 2 separate problems:

What happened

1) A bad config patch wrote Discord accounts to the wrong place

This line is the smoking gun:

path":"plugins.entries.discord.config"
raw":"{\"accounts\":{...}}"

accounts does not belong under plugins.entries.discord.config.

It belongs under:

#
channels.discord.accounts

So that patch was wrong.

2) A bad/local discord plugin is probably shadowing the bundled one

This error:

[plugins] discord missing register/activate export

usually means OpenClaw is loading something named discord as a plugin, but that module is not a valid OpenClaw plugin entrypoint for this version.

That is usually caused by:

  • a custom/local discord plugin in an extension path
#
  • a partial/incompatible plugin install
  • a version mismatch between core and a locally loaded plugin

The discord-usage-footer warning is not the main issue.


Specific steps to diagnose and fix

Step 1: fix the config path first

Open ~/.openclaw/openclaw.json and look for this bad shape:

plugins: {
  entries: {
#
    discord: {
      config: {
        accounts: { ... }   // WRONG
      }
    }
  }
}

Remove that accounts block from plugins.entries.discord.config.

If you want multi-account Discord config, move it here instead:

channels: {
#
  discord: {
    accounts: {
      rrr: {
        token: {
          source: "file",
          provider: "discord_file",
          id: "/rrr",
        },
      },
    },
  },
}

If you only need one Discord account, keep it even simpler and use just:

#
channels: {
  discord: {
    enabled: true,
    token: {
      source: "file",
      provider: "discord_file",
      id: "/rrr",
    },
  },
}

Step 2: check whether a local/custom Discord plugin is being loaded

Inspect your config for:

  • plugins.load.paths
#
  • plugins.entries.discord

Then check whether you have a local extension/plugin named discord in:

  • ~/.openclaw/extensions
  • your workspace .openclaw/extensions
  • any path listed in plugins.load.paths

If you find a local/custom discord plugin and you did not mean to use it, disable it or move it aside so the bundled Discord plugin can load.

Step 3: restart and verify

After fixing the config/plugin situation, run:

openclaw status
openclaw gateway restart
#
openclaw gateway status
openclaw channels status --probe

Healthy result:

  • no missing register/activate export
  • Discord probe comes back clean
  • gateway starts normally

My best read of the root cause

The bad assistant/tool action patched the wrong config tree for Discord accounts, and you may also have a local Discord plugin override that is breaking plugin loading.

If you paste these 2 things, I can tell you the exact edit:

#

Thanks, that helps a lot.

From this plugins block, I don’t see a bad Discord plugin override. So you can stop hunting for a workspace /extensions folder for now.

What this means

Your plugins config looks basically fine. The remaining problems are likely:

  1. the Discord multi-account config was written to the wrong place
  2. your installed OpenClaw package is mismatched/corrupted, because the bundled discord plugin should not be missing its entrypoint on a normal install

Do this, in order

1) Make sure you do not have this anywhere

Remove this if it exists:

#
plugins.entries.discord.config.accounts

That path is wrong.

2) Put multi-account config under channels.discord.accounts

Use this shape instead:

channels: {
  discord: {
    enabled: true,
    accounts: {
      rrr: {
        token: {
#
          source: "file",
          provider: "discord_file",
          id: "/rrr",
        },
      },
    },
  },
}

If you also have a default account, it would look like:

channels: {
  discord: {
#
    enabled: true,
    accounts: {
      default: {
        token: {
          source: "env",
          provider: "default",
          id: "DISCORD_BOT_TOKEN",
        },
      },
      rrr: {
        token: {
          source: "file",
          provider: "discord_file",
          id: "/rrr",
        },
#
      },
    },
  },
}

3) Check that you are not using custom plugin load paths

Search your config for:

plugins.load.paths

If you are not intentionally loading custom plugins, remove that block.

4) Reinstall OpenClaw cleanly

#

Because your plugin block looks normal, the discord missing register/activate export error now points at the installed package, not your config.

Easiest fix:

curl -fsSL https://openclaw.ai/install.sh | bash

Or if you prefer global pnpm:

pnpm add -g openclaw@latest
pnpm approve-builds -g

5) Restart and verify

#
openclaw gateway restart
openclaw status
openclaw gateway status
openclaw channels status --probe

Expected result

After that:

  • no plugins.entries.discord.config.accounts
  • Discord accounts live under channels.discord.accounts
  • no discord missing register/activate export
  • gateway starts normally

My best read

#

Yep, paste this into Claude Code:

Please inspect and fix my OpenClaw config for Discord multi-account setup.

Context:
- My OpenClaw version is 2026.4.9
- My config file is: ~/.openclaw/openclaw.json
- I previously got this error:
  - [plugins] discord missing register/activate export
  - invalid config: <root>: Unrecognized key: "accounts"
  - raw_params showed a bad patch to path: plugins.entries.discord.config
- I want a Discord multi-account config
- There is no custom /extensions folder in the workspace
- My current plugins block looks normal, so do not assume I have a custom Discord plugin override unless you actually find one
#
What I want you to do:
1. Read ~/.openclaw/openclaw.json
2. Make a backup before editing
3. Find and remove any invalid Discord account config under:
   - plugins.entries.discord.config.accounts
4. Move or recreate the Discord multi-account config under the correct path:
   - channels.discord.accounts.<accountId>
5. Preserve all existing non-Discord config
6. Do NOT invent config keys
7. Keep plugins.entries.discord as-is unless you find a real reason it must change
8. Check whether plugins.load.paths exists
   - if it does not exist, do nothing
   - if it exists, inspect it and only change it if it is clearly causing Discord plugin shadowing
9. After editing, validate the config and tell me exactly what changed
#
Important schema rule:
- Discord multi-account config belongs under:
  - channels.discord.accounts
- NOT under:
  - plugins.entries.discord.config

What “correct” should look like conceptually:
- channels.discord.enabled = true
- channels.discord.accounts.<id>.token = SecretInput
- Example shape:

{
  channels: {
    discord: {
      enabled: true,
#
      accounts: {
        default: {
          token: {
            source: "env",
            provider: "default",
            id: "DISCORD_BOT_TOKEN"
          }
        },
        rrr: {
          token: {
            source: "file",
            provider: "discord_file",
            id: "/rrr"
          }
        }
#
      }
    }
  }
}

After edits, run these checks:
1. openclaw --version
2. openclaw status
3. openclaw gateway status
4. openclaw channels status --probe

Success criteria:
- no plugins.entries.discord.config.accounts remains
- Discord multi-account config is under channels.discord.accounts
- config parses successfully
#
- if “discord missing register/activate export” still remains after config is fixed, say clearly that this is likely an install/runtime problem rather than a config-shape problem

Before making changes, show me the exact diff you plan to apply.

If you want, I can also turn that into a shorter “just do it” version.

keen hawkBOT
#

This output shows the symptom, not the cause.

Diagnosis

What we know from gateway status:

  • systemd is fine
  • the service file is fine
  • the gateway process starts, then exits immediately during boot
  • so this is not a bind/port problem
  • it is most likely still a config/plugin startup failure, which matches the Discord/plugin issue you hit earlier

loopback is not the problem here.

Next step, get the real error

Run both and paste the output:

#
tail -n 120 /tmp/openclaw/openclaw-2026-04-09.log
journalctl --user -u openclaw-gateway.service -n 200 --no-pager

That will tell us whether it is:

  1. still the discord missing register/activate export error
  2. still a bad config key somewhere
  3. a new startup failure

Most likely fix

If the log still shows the earlier Discord/plugin failure, then the fix is:

  1. make sure no plugins.entries.discord.config.accounts exists in ~/.openclaw/openclaw.json
  2. keep Discord multi-account config under channels.discord.accounts
#
  1. cleanly reinstall OpenClaw, because at that point the remaining failure is likely install/runtime related, not just config

Reinstall options:

curl -fsSL https://openclaw.ai/install.sh | bash

or

pnpm add -g openclaw@latest
pnpm approve-builds -g

Then restart:

#

Yep, use this first:

journalctl --user -u openclaw-gateway.service -n 200 --no-pager | grep -Ei 'invalid config|plugin load failed|missing register/activate|discord|error|failed'

That should narrow it down to the startup failure lines we care about.

If that comes back empty or incomplete, use the file log version:

grep -Ei 'invalid config|plugin load failed|missing register/activate|discord|error|failed' /tmp/openclaw/openclaw-2026-04-09.log | tail -n 50

Paste whichever output you get.

#

Fair, don’t paste sensitive logs.

And yes, at this point we can take the straightforward no-log path.

Fastest diagnosis

Based on everything you’ve already shown, the likely issue is still one of these:

  1. Discord accounts are still configured in the wrong place
  2. the installed OpenClaw package is mismatched/corrupted

You already showed a normal-looking plugins block, so I would stop log-diving and do this instead:

Fix path

1) Open ~/.openclaw/openclaw.json

#

Check these two places manually:

A. Under plugins.entries.discord

This should not contain accounts.

Good:

plugins: {
  entries: {
    discord: {
      enabled: true
    }
  }
}
#

Bad:

plugins: {
  entries: {
    discord: {
      config: {
        accounts: { ... }
      }
    }
  }
}

B. Under channels.discord

This is where multi-account belongs:

#
channels: {
  discord: {
    enabled: true,
    accounts: {
      default: {
        token: {
          source: "env",
          provider: "default",
          id: "DISCORD_BOT_TOKEN"
        }
      },
      rrr: {
        token: {
          source: "file",
          provider: "discord_file",
#
          id: "/rrr"
        }
      }
    }
  }
}

2) Ignore /extensions unless you explicitly configured custom plugin load paths

If you do not have plugins.load.paths, then don’t worry about extension folders.

3) Reinstall OpenClaw cleanly

Since your plugins block itself looks fine, the remaining Discord plugin export error is most likely install/runtime related.

#

Use either:

curl -fsSL https://openclaw.ai/install.sh | bash

or

pnpm add -g openclaw@latest
pnpm approve-builds -g

4) Restart and check locally

#
openclaw gateway restart
openclaw gateway status

What to report back, without sharing secrets

Just tell me one of these:

  • “fixed, gateway stays up”
  • “still fails, same discord register/activate error”
  • “still fails, but now it’s a different error”

That’s enough to narrow the next step.

worn brook
#

write instructions for me to share with c laude code CLI so that it can process whatever needs to be done while looking at my system specifics.

keen hawkBOT
#

Yep, paste this into Claude Code CLI:

Please diagnose and fix my local OpenClaw Discord startup issue directly on this machine.

Goal:
- Get the OpenClaw gateway starting cleanly again
- Preserve my existing config as much as possible
- Keep my Discord setup as multi-account
- Do not expose or print secrets/tokens in full

Known context:
- OpenClaw version: 2026.4.9
- Config file: ~/.openclaw/openclaw.json
- Gateway is exiting immediately after restart
- Prior errors indicated:
#
  - invalid config caused by putting Discord `accounts` under the wrong path
  - `discord missing register/activate export`
- There is no custom `/extensions` folder in the workspace
- My `plugins` block looked normal, including:
  - `plugins.entries.discord.enabled = true`
  - no obvious custom Discord plugin override
- I want Discord multi-account config
- Correct schema target for multi-account is:
  - `channels.discord.accounts.<accountId>`
- Incorrect schema target is:
  - `plugins.entries.discord.config.accounts`

What I want you to do:
1. Read and back up `~/.openclaw/openclaw.json`
2. Inspect the current config and identify any invalid Discord account placement
#
3. Move/fix Discord multi-account config so it lives under `channels.discord.accounts`
4. Preserve all unrelated config
5. Check whether `plugins.load.paths` exists
   - if absent, do nothing
   - if present, inspect whether it is causing a bad Discord plugin shadowing issue
6. Inspect the local OpenClaw install and startup failure on this machine
7. Determine whether the remaining issue is:
   - config-shape problem
   - plugin shadowing problem
   - broken/mismatched OpenClaw install
8. If the install is broken/mismatched, perform the minimum clean reinstall/update needed
9. Restart the gateway and verify it stays up
10. Summarize exactly what changed and why

Important constraints:
#
- Do not invent config keys
- Do not delete unrelated settings
- Do not print full secrets
- Show me the planned diff before writing changes
- If reinstall/update is needed, explain why first
- Prefer the smallest safe fix that restores a healthy gateway

Useful local checks you should run yourself:
- `openclaw --version`
- `openclaw gateway status`
- inspect `~/.openclaw/openclaw.json`
- inspect the relevant OpenClaw startup logs locally
- verify whether `plugins.entries.discord.config.accounts` exists
- verify whether `channels.discord.accounts` is correct
- determine whether the installed Discord plugin/runtime is healthy
#

Success criteria:
- gateway starts successfully
- `openclaw gateway status` shows runtime running
- Discord multi-account config is under `channels.discord.accounts`
- no invalid `plugins.entries.discord.config.accounts`
- if the issue turns out to be install/runtime related, fix it and confirm the gateway stays up

Before making changes, tell me:
1. what you found
2. the exact diff you plan to apply
3. whether you think this is primarily config or install related

If you want, I can also make a shorter, more forceful “just inspect, fix, and verify” version.

#

It means:

  • the tool/model hit a rate limit
  • before that happened, it did not immediately get a schema validation error
  • so the agent is guessing that the shape was probably acceptable
  • but it is not proof that the config/path was correct or that anything was applied

So the important part is:

  • confirmed: request got rate limited
  • not confirmed: the approach is actually valid
  • not confirmed: the change succeeded

“Probably valid” there is just the agent inferring, not a reliable result.

If you want the safe interpretation, use this:

“The attempt was interrupted by rate limiting before we got a definitive success/failure signal.”

#

So I would not trust that message by itself.

worn brook
#

what cli command lists all potential models i can add to openclaw?

keen hawkBOT
#

Use:

openclaw models list

That shows the model catalog OpenClaw knows about.

If you want to see what’s actually usable with your current auth/providers, also run:

openclaw models status
openclaw models scan

Docs:

keen hawkBOT
#

For security/privacy stuff, please don’t rely on personal DMs here.

Use the private reporting path from the project’s security policy instead:

If it’s an OpenClaw vuln, report it privately there. If you’re not sure which repo it belongs to, the security email is the right catch-all.

And definitely don’t post the sensitive details in this thread.

warm nexus
#

Absolutely