When something is wrong
Work down this page. Each section starts with what you would see and ends with what to do about it.
Start here: is the router up?
curl http://127.0.0.1:3300/v1/models
- A list of models — the router is fine. Your problem is in the app that is trying to reach it; jump to An app cannot connect.
- "Connection refused" — nothing is listening. Continue below.
Nothing is listening
Start it in a terminal so you can see what it says:
anz33 serve
Common endings:
| What it says | What it means |
|---|---|
address already in use | Something already has port 3300 — usually another copy of anz33. Find it below. |
trial expired | The evaluation period ended. anz33 license shows the state; anz33 activate <key> turns a subscription on. |
command not found | Installed, but your shell has not picked it up. Open a new terminal. Still nothing? See below. |
Two copies running
This happens when the app, a login service and a terminal all start one. The app and the tray icon detect a router that is already running and adopt it rather than starting a second — but a terminal will happily try.
# macOS and Linux
lsof -i :3300
# Windows
netstat -ano | findstr :3300
Then stop the one you did not mean to keep, or remove the login service with
anz33 uninstall.
Something else owns port 3300
Move anz33 instead of fighting over it — edit ~/.anz33/config.json:
"port": 3310
Then update the address in your apps. The dashboard, the CLI and both desktop apps read the port from that file, so they follow automatically.
An app cannot connect
The router answers curl but your app says it cannot reach it.
In order of how often it is the cause:
- The
/v1is missing. The address ishttp://127.0.0.1:3300/v1, not…:3300. - It says
https. There is no certificate on a loopback address; it must behttp. - The app wants a key and will not accept an empty one. Type
anything —
localwill do. - The app is in a container or a virtual machine. Inside
those,
127.0.0.1means the container, not your computer. Tryhttp://host.docker.internal:3300/v1, and runanz33 serve --lanso the router accepts it. - Keys are required. If you turned on
require-keys, every app needs a real profile key.anz33 profile listshows them.
macOS says the app "cannot be opened"
Right-click the app in Applications → Open → confirm. Once is enough. This is Gatekeeper reacting to a build that is not yet signed with an Apple certificate, not to anything about the app.
If the disk image itself will not mount, download it again — a partial download fails the same way — and check it against the published checksum:
shasum -a 256 -c SHA256SUMS
Windows shows "Windows protected your PC"
More info → Run anyway. SmartScreen warns about installers it has not seen often enough yet.
If your antivirus quarantines anz33.exe, that is a false positive
of a specific kind: the program is a Python application packed into one
executable, and some scanners flag every program packed that way. Allow it, or use
the portable zip.
No engines found
anz33 status
Everything says "not running". Check, in this order:
- Is the engine actually started? Ollama runs in the background; LM Studio needs its server switched on explicitly, in the developer or local-server tab.
- Does it have a model? An engine with nothing downloaded has
nothing to offer.
ollama pull llama3.2. - Is it on the usual port? Compare with
local_enginesin~/.anz33/config.jsonand correct the address if you moved it.
The command is not found
The program is installed but the shell cannot see it. It was put in one of these:
~/.local/bin # the shell installer's usual choice
/usr/local/bin # when that was writable
/opt/homebrew/bin # Homebrew on Apple Silicon
Add the right one to your PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
exec $SHELL
On the Mac app there is a menu item — Install Command Line Tool — that does this part for you.
Answers are slow
Covered in detail in Making it fast. The short list:
run anz33 bench so routing is based on measurements; try a smaller
model; check whether a cloud engine is answering; remember that the first request
after an idle period pays for loading the model.
Reading the log
When the desktop app says the router failed, the reason is here:
tail -n 40 ~/.anz33/logs/anz33-app.log
The login service writes to the same folder:
anz33.log and anz33.err.log.
Starting over
Everything anz33 knows is in one folder. To reset completely, stop the router and move it aside:
mv ~/.anz33 ~/.anz33-old
You lose your settings, rules, memories and statistics — which is why this moves the folder rather than deleting it. Start the router again and it rebuilds a default setup.
Still stuck
Email hello@anz33.com. Useful to include:
the output of anz33 --version and anz33 status, your
operating system, and the last twenty lines of the log.