Wdym "sadly they don’t support using Claude Code"? For the longest time that's all Zai supported - Claude code. I'd run it via
export ZAI_ANTHROPIC_BASE_URL="https://api.z.ai/api/anthropic"
export ZAI_ANTHROPIC_AUTH_TOKEN="$ZAI_API_KEY"
claude-zai() {
{ local -; set -x; } 2>/dev/null
ANTHROPIC_BASE_URL="$ZAI_ANTHROPIC_BASE_URL" ANTHROPIC_AUTH_TOKEN="$ZAI_ANTHROPIC_AUTH_TOKEN" claude "$@"
}
$ claude-zai
I liked Claude Code to start with. But over time between 'CC cache thrashing undo' seetings (I see now accumulated in ~/.claude/settings.json) and Anthropic-anything becoming a liability - have not used it in while. ZCode is ok and use it to take advantage of the discount tokens on offer from time to time. But really glad to see that in omp (oh-my-pi) Zai is a 1st class provider, can be selected on it's own no configs shananigans needed. And fits in the overall picture. E.g. can select GLM-5.2 (now 5.3) assign role [plan] or glm-5-turbo [advisor].Got reminded now of glm-5v-turbo - that 'v' was for vision - will try assign it role [vision] now in omp. See what happens. :-) Often times it's handy when describing gui problems if the harness/model 'can see'.
I am not talking about GLM models being served through an Anthropic compatible API, that part is perfectly fine and I'm glad they support it!
I am talking about ZCode, the program, being unable to delegate to other harnesses, like using Claude Code (or even OpenCode) within their UI, so that an Anthropic subscription can be used, because Anthropic don't let you use 3rd party harnesses directly.
It's basically what Paseo: https://paseo.sh/ and Kepler https://www.gitkraken.com/kepler and Zed https://zed.dev/ support doing.
ZCode doesn't seem to work at that level, it instead feels comparable to OpenCode or Codex or Claude Code directly, while also being desktop oriented - you just make API calls directly within it.
It's okay if it's not a goal of theirs, it's just that their UI is really really nice and that would be a cool direction for them to also go in some day.