#I am getting the 429 budget error.

1 messages · Page 1 of 1 (latest)

shut radish
#

I am running OpenClaw on my Hostinger server and I have just been trying to get started. I am still on the default Open AI model that it was setup on and I got this error. Now I can't use the model at all. I am paying for the $20 a month for Claud and I would like to make in my main model but I'm am not able to prompt it to change because I get the error. Is there a way to change the main model using the terminal?

near lagoonBOT
#

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

timid ivyBOT
#

Yep — you can switch the default (“main”) model from the terminal, even if the current model is failing.

1) First, confirm what you’re running

On the Hostinger box (same machine as the Gateway):

openclaw --version
openclaw models status

If you can paste the output of openclaw models status here, it usually makes the issue obvious (missing auth vs quota vs allowlist).

2) Important: “$20/mo Claude” ≠ Anthropic API credits

Claude Pro/Max doesn’t come with an Anthropic API key. OpenClaw supports Claude subscriptions via an Anthropic setup-token (generated by the Claude Code CLI), or you can use a normal Anthropic API key.

Docs:

#

3) Set up Anthropic auth (subscription path)

Generate a setup-token on any machine that has Claude Code installed:

claude setup-token

Then on the gateway host (your VPS), paste it:

openclaw models auth paste-token --provider anthropic
# (or run the guided prompt)
openclaw models auth setup-token --provider anthropic
#

4) Switch the default model from CLI

List Anthropic models you have available, then set one:

openclaw models list --all --provider anthropic
openclaw models set anthropic/<pick-one-from-the-list>

(You can also just re-run the wizard and pick Anthropic there: openclaw onboard.)

5) Restart the gateway (sometimes not required, but usually helps)

openclaw gateway restart

#

If you reply with:

openclaw --version
openclaw models status

I’ll tell you exactly what to do next based on what it reports (missing auth vs “budget/quota” vs model allowlist, etc.).

shut radish
#

Thank you for your response. I think I might have messed up my server a little when I tried to follow somebodies advice on youtube about how to use tale scale and create a seperate user and not give my root level access to my account. I didn't worry about it because I was able to get my bot to intigrate things until I ran into the user limit error.

#

When I do step #1 I get openclaw: command not found

timid ivyBOT
#

Yeah, that “separate user + Tailscale” change very often creates a confusing situation where you now have two different OpenClaw state directories:

  • one under /root/.openclaw (when you run commands as root), and
  • one under /home/<newuser>/.openclaw (where the gateway service might actually be running)

So you think you changed the model/auth, but you changed it for the “other” user — meanwhile the running Gateway keeps using the old config and still hits the 429/budget limit.

Step 1: check if CLI vs service are using different configs

Run this on the server:

openclaw gateway status

In the output, look for Config (cli) vs Config (service). If those paths differ, that’s the problem.

Step 2: run OpenClaw commands as the same user the gateway runs under

#

If you created a dedicated user (often named openclaw), try:

sudo -iu openclaw openclaw models status
sudo -iu openclaw openclaw models list --all --provider anthropic

(Replace openclaw with whatever username you created.)

Step 3: switch default model from terminal (no chat prompt needed)

Once you’re running as the correct user:

  1. Add Anthropic subscription auth (Claude $20/mo uses setup-token, not an API key):
sudo -iu openclaw openclaw models auth paste-token --provider anthropic
#
  1. Set the default model:
sudo -iu openclaw openclaw models set anthropic/<model-from-the-list>
sudo -iu openclaw openclaw gateway restart

Docs for the CLI commands: https://docs.openclaw.ai/concepts/models


If you paste the output of just this (redact nothing except tokens if any appear, but it should already redact):

openclaw gateway status
#

…I can tell you exactly which user/config path the service is using and what command to run next.

#

That error is purely “your shell can’t find the openclaw executable” — usually because you’re now logged in as a different user than the one you installed OpenClaw under (or your PATH isn’t loading after the user change).

1) Find out where OpenClaw is (and which user has it)

Run these on the server:

whoami
command -v openclaw || echo "openclaw not on PATH"
node -v
npm -v
npm config get prefix
ls -la "$(npm config get prefix)/bin" | head

If ls .../bin shows an openclaw file in there, then it’s installed — just not on your PATH.

2) Quick fix: add npm’s global bin to PATH (current shell)

#
export PATH="$(npm config get prefix)/bin:$PATH"
command -v openclaw
openclaw --version

If that works, make it permanent by adding the same export PATH=... line to ~/.profile (or ~/.bashrc, depending on how you log in).

3) If you created a dedicated user (common), check that user

If the gateway is running as a user like openclaw, you want commands to run as that same user:

sudo -iu openclaw bash -lc 'command -v openclaw && openclaw --version'

(Replace openclaw with whatever username you created.)

#

If you paste the output of the commands in step 1 (especially npm config get prefix + the ls), I can tell you exactly what PATH line to add and which user you should be operating as.

shut radish
#

pretty much every command I have tried so far I get the response "openclaw: command not found"

timid ivyBOT
#

That’s not the 429/model issue anymore — it means your current shell/user simply doesn’t have the openclaw CLI installed (or on PATH). This commonly happens right after switching to a new non-root user.

Run these on the server and paste the output:

whoami
echo "$SHELL"
echo "$PATH"
node -v
npm -v

command -v openclaw || echo "openclaw not on PATH"
command -v clawdbot || echo "clawdbot not on PATH"   # older name, just in case

npm config get prefix
ls -la "$(npm config get prefix)/bin" | egrep "openclaw|clawdbot" || true
#

If you see openclaw in that .../bin folder

Then it’s installed, just not on PATH. Fix for the current session:

export PATH="$(npm config get prefix)/bin:$PATH"
command -v openclaw
openclaw --version

To make it permanent, add this line to ~/.profile (or ~/.bashrc depending on your setup):

export PATH="$(npm config get prefix)/bin:$PATH"

If you don’t see openclaw in that folder

Then OpenClaw was installed under a different user (often root), and your new user doesn’t have it. In that case we either:

#
  • run commands as the user that owns the gateway, or
  • reinstall openclaw for the current user.

Post the outputs above and I’ll tell you exactly which of those is true on your server and the shortest fix.

shut radish
#

I tried loging into the other user and now it says *that user@srv123123 instead of root

timid ivyBOT
#

Yep — seeing someuser@srv123123 instead of root@... just means you successfully switched users. That’s good (and exactly why openclaw “disappeared”: it was likely installed under root’s npm prefix, not this new user’s).

Now we need to answer one question: which user actually has the OpenClaw CLI installed (and which user is running the gateway service).

Run these as the user you’re currently logged in as:

whoami
echo "$PATH"
command -v openclaw || echo "openclaw not on PATH"

npm -v
npm config get prefix
ls -la "$(npm config get prefix)/bin" | egrep "openclaw|clawdbot" || true

Then also check as root (to see if that’s where it was installed):

#
sudo -i
command -v openclaw || echo "openclaw not on PATH (root)"
npm config get prefix
ls -la "$(npm config get prefix)/bin" | egrep "openclaw|clawdbot" || true

How to interpret the result

  • If openclaw shows up in $(npm prefix)/bin but command -v openclaw fails → it’s installed but your PATH isn’t loading. Quick fix:
    export PATH="$(npm config get prefix)/bin:$PATH"
    
  • If root has it but the new user doesn’t → you have two options:
    1. keep operating as root (not ideal), or
    2. reinstall OpenClaw under the dedicated user (recommended), then run openclaw doctor and restart the gateway so the service and CLI match.

Paste the output from those commands and I’ll tell you which case you’re in and the shortest clean fix.

shut radish
#

v22.22.0
10.9.4
openclaw not on PATH
clawdbot not on PATH

#

here's what I get when I run the command

timid ivyBOT
#

Cool — Node/npm are fine. That output means: for the user you’re logged in as right now, OpenClaw isn’t installed (or it’s installed somewhere your PATH can’t see).

Next we need to find where OpenClaw is installed (often it’s under root, and your new user can’t see it).

Run these as your current user and paste the output:

npm config get prefix
ls -la "$(npm config get prefix)/bin" | egrep "openclaw|clawdbot" || true
npm ls -g --depth=0 | egrep "openclaw|clawdbot" || true

Then run the same as root (this is the most common “aha” on VPSes):

sudo -i
#
npm config get prefix
ls -la "$(npm config get prefix)/bin" | egrep "openclaw|clawdbot" || true
npm ls -g --depth=0 | egrep "openclaw|clawdbot" || true

What this will tell us

  • If root shows openclaw but your user doesn’t: OpenClaw was installed under root, and your new user’s PATH/install is separate.
  • If neither user shows it: then your bot is probably running from a git checkout (pnpm openclaw ...) or another install method, and we’ll locate that next.

Once we can run openclaw, we can switch your default model via terminal (openclaw models set ...) and fix the Claude subscription auth (setup-token).

#

I don’t see the output yet (looks like it didn’t get included). Can you paste the exact terminal output you got, in a code block, and tell me which command you ran?

To keep this moving, please run + paste the results of these two blocks:

As your current user:

whoami
npm config get prefix
ls -la "$(npm config get prefix)/bin" | egrep "openclaw|clawdbot" || true
npm ls -g --depth=0 | egrep "openclaw|clawdbot" || true

As root:

sudo -i
whoami
#
npm config get prefix
ls -la "$(npm config get prefix)/bin" | egrep "openclaw|clawdbot" || true
npm ls -g --depth=0 | egrep "openclaw|clawdbot" || true

These will tell us immediately whether OpenClaw is installed under root (common on VPS) vs your new user, and then I can give you the one-line fix (PATH vs reinstall vs run as the gateway user).

shut radish
#

The output for the command under sudo -i is npm notice
npm notice New major version of npm available! 10.9.4 -> 11.10.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.10.1
npm notice To update run: npm install -g npm@11.10.1
npm notice

timid ivyBOT
#

That npm “notice” is just npm advertising an update — ignore it. It’s not the output we need.

Right now we still don’t know where OpenClaw is installed (or if it’s only available inside a service environment).

Can you run these exact commands and paste all output?

As your current user

set -x
whoami
echo "$PATH"
npm bin -g
ls -la "$(npm bin -g)" | egrep "openclaw|clawdbot" || true

As root (one command)

#
sudo bash -lc 'set -x; whoami; echo "$PATH"; npm bin -g; ls -la "$(npm bin -g)" | egrep "openclaw|clawdbot" || true'

What we’re looking for:

  • If ls -la .../bin shows openclaw under root, but not under your user → OpenClaw was installed as root, and your new user just doesn’t have it.
  • If it’s missing under both → the gateway might be running from a git checkout / pnpm install, and we’ll locate it via the running service process next.

(If you paste those outputs, I can tell you the exact fix: PATH export vs reinstall under the dedicated user vs “run commands as the gateway user”.)

shut radish
#

As Current user, the output I get is: + set -x

  • whoami
    root
  • echo /root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
    /root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
  • npm bin -g
    Unknown command: "bin"

To see a list of supported npm commands, run:
npm help

  • egrep --color=auto 'openclaw|clawdbot'
    ++ npm bin -g
  • ls --color=auto -la 'Unknown command: "bin"

To see a list of supported npm commands, run:
npm help'
ls: cannot access 'Unknown command: "bin"'$'\n\n''To see a list of supported npm commands, run:'$'\n'' npm help': No such fi
le or directory

  • true
    root@srv1381582:~#
timid ivyBOT
#

Got it — and good catch: your output shows you’re still root (whoami → root). So whatever “other user” switch you tried didn’t stick (or you switched back).

Also: with npm 10+, npm bin -g is gone — that’s why you got Unknown command: "bin".

1) Find where “global npm binaries” live (root)

Run:

npm prefix -g
ls -la "$(npm prefix -g)/bin" | egrep "openclaw|clawdbot" || true

If you see openclaw in that folder, run it by full path:

"$(npm prefix -g)/bin/openclaw" --version
#

…and then fix PATH for this shell:

export PATH="$(npm prefix -g)/bin:$PATH"
openclaw --version

2) If openclaw is NOT in that folder

Then it’s simply not installed for root. Check what’s globally installed:

npm ls -g --depth=0 | head -50

3) If you actually want to run OpenClaw under your non-root user

Tell me the username you created (or run cut -d: -f1 /etc/passwd | tail and pick it), and we’ll do the same checks as that user via:

#
sudo -iu <username> bash -lc 'whoami; npm prefix -g; ls -la "$(npm prefix -g)/bin" | egrep "openclaw|clawdbot" || true'

Paste the output of step 1 (prefix + ls). That’ll tell us immediately whether this is just a PATH issue vs “OpenClaw installed under a different user / not installed at all”, and then we can get you to openclaw models set anthropic/... to switch off the OpenAI model.

shut radish
#

Here is what I get for the first command: + npm prefix -g
/usr

  • egrep --color=auto 'openclaw|clawdbot'
    ++ npm prefix -g
  • ls --color=auto -la /usr/bin
  • true
timid ivyBOT
#

Perfect — that tells us something concrete:

  • your global npm prefix is /usr
  • and there is no openclaw (or clawdbot) binary in /usr/bin

So openclaw is either:

  1. installed in a different bin dir (very common: /usr/local/bin or ~/.local/bin), or
  2. installed under a different user (the “separate user” you created), or
  3. not installed anymore (gateway might be running from a different path, but your shell can’t access the CLI).

Run these and paste the output:

A) Check the common bin locations (as root)

ls -la /usr/local/bin | egrep "openclaw|clawdbot" || true
ls -la /root/.local/bin | egrep "openclaw|clawdbot" || true
#
ls -la /root/.npm-global/bin 2>/dev/null | egrep "openclaw|clawdbot" || true

B) Check if npm thinks it’s installed globally (root)

npm ls -g --depth=0 | egrep "openclaw|clawdbot" || true
npm root -g

C) Find the running service + the exact executable path (best clue)

sudo systemctl list-units --type=service | grep -i openclaw || true
sudo systemctl list-units --type=service | grep -i clawdbot || true
ps aux | grep -i openclaw | head -20
ps aux | grep -i clawdbot | head -20
#

Once we find where the binary is (or which user owns it), you can run it by full path (even without PATH), and then we’ll do:

  • openclaw models auth paste-token --provider anthropic
  • openclaw models set anthropic/...
  • restart gateway

Paste A+B+C output and I’ll tell you the exact next command.

shut radish
#

Also, what is a good resorse for me to be able to learn to navigate terminal, I am a total normie when it comes to this stuff.

timid ivyBOT
#

If you’re “terminal-normie”, the fastest way to get comfy is a mix of one beginner course + a cheat sheet tool + tiny daily reps.

Good beginner resources (Linux/VPS friendly)

  1. Linux Journey (super beginner)
  1. The Linux Command Line (book, free)
  1. explainshell (paste a command, it explains the parts)
  1. tldr pages (the “examples-first” manual)
#
  • Install: sudo apt-get update && sudo apt-get install tldr (if you’re on Ubuntu/Debian)
  • Use: tldr ls, tldr systemctl, tldr grep
    This is the quickest “what does this command do in practice?” helper.

A tiny “starter pack” of commands (safe)

These won’t break anything:

  • pwd (where am I)
  • ls -la (list files)
  • cd /path (change folder)
  • cat file / less file (view file; less is nicer)
  • tail -n 100 file (view last lines)
  • grep -i "text" file (search)
  • command -v thing (where is this command on PATH)
  • man thing / thing --help (help)

Rule of thumb: don’t run rm until you’re comfortable, and if you do later, prefer rm -i.

#

Back to your OpenClaw issue (why this matters)

Right now you’re blocked because the openclaw command isn’t installed anywhere your shell can see.

If you want, we can keep it very “guided” and low-stress: run these and paste output:

ls -la /usr/local/bin | egrep "openclaw|clawdbot" || true
ls -la /root/.local/bin | egrep "openclaw|clawdbot" || true
npm ls -g --depth=0 | egrep "openclaw|clawdbot" || true

That will tell us whether OpenClaw is installed under some other prefix/bin dir (super common on VPSes). Once we can actually run openclaw, switching your default model from terminal is straightforward.

shut radish
#

One thing to note, I installed OpenClaw using the one click installer on Hostinger's VPN service.

Here is the output

root@srv1381582:~# ls -la /usr/local/bin | egrep "openclaw|clawdbot" || true
ls -la /root/.local/bin | egrep "openclaw|clawdbot" || true
npm ls -g --depth=0 | egrep "openclaw|clawdbot" || true

  • egrep --color=auto 'openclaw|clawdbot'
  • ls --color=auto -la /usr/local/bin
  • true
  • ls --color=auto -la /root/.local/bin
  • egrep --color=auto 'openclaw|clawdbot'
    -rwxr-xr-x 1 root root 84 Feb 16 16:28 openclaw
  • npm ls -g --depth=0
  • egrep --color=auto 'openclaw|clawdbot'
  • true

General Question, Is there a risk to sharing the @srv1381582 number?

timid ivyBOT
#

Nice — that output is the breakthrough: you do have an openclaw executable, it’s here:

/root/.local/bin/openclaw

So the “command not found” is just one of these two things:

  1. you’re sometimes not actually running as root, or
  2. your PATH isn’t including ~/.local/bin in the shell/session you’re using (very common with sudo, non-login shells, or service shells)

Do this now (bypass PATH completely)

Run:

/root/.local/bin/openclaw --version
  • If that works, then fix PATH:
#
export PATH="$HOME/.local/bin:$PATH"
openclaw --version

To make it permanent, add this line to ~/.profile (and/or ~/.bashrc):

export PATH="$HOME/.local/bin:$PATH"
  • If /root/.local/bin/openclaw --version does NOT work, paste the exact error and also:
head -n 50 /root/.local/bin/openclaw
#

(That file is tiny, so it’s usually a wrapper that points to where the real OpenClaw install lives; sometimes that target moved.)

Re: your question about sharing srv1381582

Low risk. It’s basically just a hostname/label, not a secret by itself.

What you should not share publicly:

  • your server’s public IP (not catastrophic, but it invites noise)
  • any OpenClaw gateway token, Discord bot token, API keys, Tailscale auth keys, .env contents
  • full config files unless you’ve redacted secrets

If you paste command output here, it’s usually safe because OpenClaw redacts tokens in many commands — but still skim for sk-..., token=..., DISCORD_BOT_TOKEN, ANTHROPIC_API_KEY, etc.

Once openclaw runs, we’ll immediately do:

openclaw models status
openclaw models auth paste-token --provider anthropic
#
openclaw models set anthropic/<model>
openclaw gateway restart
shut radish
#

Here is everything that has been entered, since the last promnt:

root@srv1381582:~# /root/.local/bin/openclaw --version

  • /root/.local/bin/openclaw --version
    2026.2.16
    root@srv1381582:~# export PATH="$HOME/.local/bin:$PATH"
    openclaw --version
  • export PATH=/root/.local/bin:/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
  • PATH=/root/.local/bin:/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
  • openclaw --version
    2026.2.16
    root@srv1381582:~# export PATH="$HOME/.local/bin:$PATH"
    openclaw --version~/.bashrc
  • export PATH=/root/.local/bin:/root/.local/bin:/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    :/snap/bin
  • PATH=/root/.local/bin:/root/.local/bin:/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/
    bin
  • openclaw --version~/.bashrc
    error: unknown option '--version~/.bashrc'
    root@srv1381582:~# /root/.local/bin/openclaw --version
  • /root/.local/bin/openclaw --version
    2026.2.16
    root@srv1381582:~#
#

Where to from here

timid ivyBOT
#

Good — you’re unblocked now. openclaw works, and you’re on 2026.2.16.

That one error happened because you accidentally typed this as one command:

openclaw --version~/.bashrc

(~/.bashrc got stuck onto the end of --version.)

1) Make the PATH fix permanent (optional but recommended)

Run one of these (either is fine):

Option A (login shells):

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.profile
#

Option B (interactive shells):

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

Then reload:

source ~/.profile 2>/dev/null || true
source ~/.bashrc 2>/dev/null || true

2) Now switch your default model from terminal

First, show current model + auth situation:

openclaw models status
#

If you want to use your Claude $20/mo subscription

You need an Anthropic setup-token (Claude subscription ≠ API key). You can generate the token on any machine with Claude Code installed:

claude setup-token

Then paste it on the VPS:

openclaw models auth paste-token --provider anthropic

Now pick an Anthropic model and set it as default:

#
openclaw models list --all --provider anthropic
openclaw models set anthropic/<paste-the-model-id-from-the-list>
openclaw gateway restart

(Docs: https://docs.openclaw.ai/concepts/models and https://docs.openclaw.ai/providers/anthropic)

3) About the 429 “budget” error

That usually means your OpenAI API key is out of quota / rate limited. Switching to Anthropic will avoid it as long as Anthropic auth is configured and you aren’t hitting Anthropic limits.


Next message: paste the output of openclaw models status (it should redact secrets). I’ll tell you exactly which openclaw models set ... line to run based on what’s currently configured.

#

Next we do two things: (A) confirm what model/auth OpenClaw is currently using, then (B) add Claude (Anthropic) auth + set it as default.

A) Check current model + auth (paste the output)

Run:

openclaw models status

That output tells us whether you currently have any Anthropic credentials set up, and what your default model is.

B) If you want to use your Claude $20/mo subscription

You need an Anthropic setup-token.

  1. Generate the token on any machine with Claude Code installed: