Login or device-code fails
Browser never opens
Browser never opens
The CLI prints a URL and code even if a browser does not launch automatically. Copy the URL manually, open it in any browser, paste the code.
Code expired
Code expired
Codes expire after a few minutes. Run
rubix login again to get a fresh code.Auth succeeds in browser but CLI hangs
Auth succeeds in browser but CLI hangs
Typically a local firewall blocking the token exchange callback. Check outbound HTTPS to
api.rubixkube.ai:443. Corporate proxies can also rewrite the request; set HTTPS_PROXY if needed.401 Unauthorized after a successful login
401 Unauthorized after a successful login
Stale or conflicting auth
If the CLI reports a workspace or user that is no longer correct:Command not found
`rubix: command not found` after install
`rubix: command not found` after install
Your global npm bin is not on Add the printed directory to your shell profile (
PATH. Find it:~/.zshrc, ~/.bashrc, or PowerShell profile) and reload.Using nvm or asdf
Using nvm or asdf
Rubix installs into the currently active Node version. If you switch Node versions, you may need to reinstall. Alternatively, install globally under a version manager setup that persists across Node switches (e.g. via
npm config set prefix).Node.js version errors
The CLI requires Node.js 18 or later. Check:Proxy, VPN, or strict egress
The CLI needs outbound HTTPS to:api.rubixkube.ai:443nats.rubixkube.ai:443
Chat is slow or unresponsive
Slow responses (5 seconds or more)
Slow responses (5 seconds or more)
Usually network latency between your terminal and
api.rubixkube.ai. Verify with a plain curl -I. If latency is fine but Chat feels slow, try /new to drop a long context, or /models to switch to a faster model.Responses stop mid-stream
Responses stop mid-stream
NATS connection dropped. Rubix reconnects automatically, but you may need to resubmit the last prompt. If drops are frequent, check for aggressive VPN or firewall idle timeouts.
Messages return empty
Messages return empty
Rare. Run
/status to confirm environment and agent are healthy. If they are, send /new to start a fresh session and retry.Terminal display glitches
Colours look wrong
Colours look wrong
Some terminals need truecolor enabled. Check
COLORTERM is set to truecolor or 24bit. Mainstream terminals (iTerm2, Alacritty, modern VS Code terminal, Windows Terminal) support it by default.Pasting long text gets truncated
Pasting long text gets truncated
Use
/paste inside chat. It bypasses the terminal’s paste buffer and uses the system clipboard directly.Unicode characters render as boxes
Unicode characters render as boxes
Install a font with broad Unicode coverage, like JetBrains Mono, Fira Code, or any Nerd Font variant.
CI-specific issues
Login prompt in a non-interactive run
Login prompt in a non-interactive run
Set
RUBIX_API_KEY in the environment. The CLI uses that token directly and skips the device-code prompt.Wrong environment scope
Wrong environment scope
Set
RUBIX_ENV_ID to pin the environment for the run.Caching issues with npx
Caching issues with npx
For repeat runs, install globally or cache
@rubixkube/rubix in the CI image. npx re-downloads on every run.Still stuck?
Email support
Include the output of
rubix --version, your Node version (node --version), a short description of what you were doing, and any error output. A human engineer will respond.Where to go next
Configuration
Where things live and how trust is scoped.
FAQ
Quick answers to common questions.