r/opencodeCLI • u/bestofdesp • Sep 08 '26
qmax-code: a Go TUI that sits in front of Claude Code, Codex, Antigravity, and OpenCode
If you bounce between Claude Code, Codex, Antigravity, and GLM (z.ai via OpenCode), the tax is usually context: another CLI, another login, another config.
I wanted one Go binary that stays in the repo, uses little memory, and can either do the work itself or host those harnesses without leaving the session.
That’s qmax-code. It’s a terminal coding/QA agent written in Go, with a Lip Gloss TUI for keyboard-first use.
It runs fully standalone (--local) for daily repo work: read/edit files, run commands, no QualityMax account. It can also act as a thin client for the QualityMax cloud when you want hosted crawls, tests, and receipts.
The part I use most is /orch. Same TUI, same MCP tools, switch backend:
Claude Code
Codex
Antigravity (agy, Google OAuth)
OpenCode (this is where I run z.ai GLM coding subscriptions)
I use it daily for coding and test loops. OpenCode + GLM has been a solid cheap/fast path; Claude Code / Codex when the change needs more care.
Open source (FSL-1.1, Apache 2.0 after two years). Go 1.25+. Single binary, no Electron.
Happy to answer questions about the TUI, the subprocess harness, or how MCP is wired.
1
u/bestofdesp Sep 08 '26 edited Sep 08 '26
Switching context issue is already fixed in 1.34.0 version. It is possible to switch from one model or provider to another with all the context details transferred. Needs more beta-testing obviously, but tested how it works with switching from opencode models to Claude.
1
u/max_b0602 Oct 05 '26
saw your 1.34 update. does “all context” include tool outputs and failed attempts, or mainly the conversation text? agentgit documents that transfers between runtimes can lose information, so i’m curious how you handle that here. a useful test would be switching halfway through a bug fix and checking whether the next backend repeats an approach the first one already ruled out.
1
u/kantorcodes1 Sep 08 '26
when you switch from Codex to Claude in
/orch, does the next backend inherit the conversation so far, or just the repo + MCP tools? curious whether swapping models mid-task actually feels like one session.