Novi
macOS, Linux & Windows

Keep your coding agent.Run it on Novita.

Launch Claude Code, Codex, OpenCode, Pi or DeepSeek Harness on Novita models with one command, already tuned for each agent.

curl -fsSL https://novita.ai/novi/install.sh | sh
  • SHA256-verified
  • No sudo
  • Uninstall anytime with novi uninstall
novi claude — ~/project
$ novi claude
✓ Claude Code → Novita · main kimi-k3 · mid glm-5.3 · background deepseek-v4.1-flash
Claude Code v2.1.295 · Kimi K3 · Novita · ~/project
> /model
Select model
Kimi K3 · Novita ✔
GLM 5.3 · Novita
DeepSeek V4.1 Flash · Novita
MiniMax M3 · Novita
Qwen3.8 Max · Novita
+38 more
Enter to confirm · Esc to exit

Works with

  • GA

    Claude Code

    $ novi claude

  • GA

    Codex

    $ novi codex

  • GA

    OpenCode

    $ novi opencode

  • GA

    Pi

    $ novi pi

  • GA

    DeepSeek Harness

    $ novi dsh

  • Beta

    Claude Desktop

    From the novi menu

  • Beta

    Codex Desktop

    From the novi menu

  • Coming soon
    • Hermes
    • Cline
    • Kilo
    • Command Code
How it works

Three steps, then just code

No config files to edit and no env vars to export. novi does the wiring every time you launch.

  1. 01

    Install

    One line installs a single, checksum-verified binary.

    $ curl -fsSL https://novita.ai/novi/install.sh | sh
    Downloading novi 0.4.0 (darwin/arm64)...
    ✓ installed ~/.local/bin/novi (novi 0.4.0)
  2. 02

    Sign in

    Paste your Novita API key once, or set NOVITA_API_KEY.

    Browser sign-in is coming soon.

    $ novi login
    Paste your Novita API key (https://novita.ai/settings/key-management): sk_7Fq…k2Ld
    ✓ key saved to ~/.config/novi/config.json
  3. 03

    Launch

    Start your agent through novi — or open the menu and pick one.

    OpenCode, Pi and DeepSeek Harness work the same way: novi opencode, novi pi, novi dsh.

    $ novi claude
    ✓ Claude Code → Novita · main kimi-k3 · mid glm-5.3 · background deepseek-v4.1-flash
    $ novi codex
    ✓ Codex → Novita · glm-5.3
    $ novi
novi
Novi · v0.4.0
API key sk_7Fq…k2Ld
HARNESS
▸ 1 Claude Code 2.1.295 ✓ READY
2 Codex 0.162.0 ✓ READY
3 OpenCode 1.18.40 ✓ READY
4 Pi 1.1.3 ✓ READY
5 DeepSeek Harness NOT INSTALLED
6 Codex Desktop · Beta INSTALLED Connect to Novita
7 Claude Desktop · Beta INSTALLED Connect to Novita
NOVITA
8 Models explore novita models
9 API Key manage your Novita API key
10 Billing balance & monthly bill
↑/↓ move · enter launch · u update · esc quit

Interactive menu

Or just type novi.

The menu shows which agents are installed and up to date, installs the missing ones once you confirm, and puts everything else one key away.

Tuned per model

Connected correctly, not just connected.

Agents need a dozen-plus settings to use a new provider. novi sets 34 of them for every Claude Code session and adapts each request to the model it's talking to.

By hand
~/.zshrc
$vim ~/.zshrc
  • ANTHROPIC_BASE_URL(guesswork)
  • ANTHROPIC_AUTH_TOKEN(raw key in the agent's env)
  • ANTHROPIC_DEFAULT_*_MODEL(guesswork)
  • ANTHROPIC_SMALL_FAST_MODEL(easy to miss)
…and what else?
guessworkeasy to missraw key in the agent's env
With novi
~/project
$novi claude
  • ANTHROPIC_BASE_URL
  • ANTHROPIC_AUTH_TOKEN
  • ANTHROPIC_DEFAULT_*_MODEL
  • ANTHROPIC_SMALL_FAST_MODEL
+ ANTHROPIC_MODEL · DO_NOT_TRACK · CLAUDE_CODE_USE_* …
34 settings · injected at launch · removed on exit
  • Tier mapping

    Main, mid and background slots map to the right Novita model.

    • mainkimi-k3
    • midglm-5.3
    • backgrounddeepseek-v4.1-flash
  • Subagents & web search

    Subagents inherit the session model. Web search runs through Novita AI Search.

    • subagentsinherit
    • web searchNovita AI Search
  • Long sessions

    1M-token context with compaction tuned to 200K, so long sessions keep going.

    compact 200Kcontext 1M
  • Request fixes

    The local relay clamps output limits and adapts tool calls per model, so requests don't fail silently.

    • max_tokensclamped
    • tool callsadapted
    • thinkingfixed
Default lineup

A lineup that works on the first launch.

Every compatible Novita model shows up in your agent's own /model picker, with its price and context window. Switch anytime with --model.

  • Main
    Kimi

    Kimi K3

    moonshotai/kimi-k3

    Input
    $3.00
    Output
    $15.00
    Context
    1M
  • Mid
    GLM 5.3

    GLM 5.3

    zai-org/glm-5.3

    Input
    $1.40
    Output
    $4.40
    Context
    1M
  • Background
    DeepSeek V4.1 Flash

    DeepSeek V4.1 Flash

    deepseek/deepseek-v4.1-flash

    Input
    $0.30
    Output
    $1.20
    Context
    1M

Input / output · USD per 1M tokens

Novita models in the /model picker

  • 40+Claude Code
  • 20+Codex

Default lineup · as of Oct 2026

Prefer another model? Start with it:

novi claude --model zai-org/glm-5.3
Browse all models
Model
"kimi-k3"
~/project · /model
>/model
Select model
  • ❯1. Kimi K3 · Novita✔1024K context · $3 in / $15 out
  • ❯2. GLM 5.3 · Novita1024K context · $1.4 in / $4.4 out
  • ❯3. DeepSeek V4.1 Flash · Novita1024K context · $0.3 in / $1.2 out
  • ❯4. MiniMax M3 · Novita976K context · $0.3 in / $1.2 out
+ 39 more
Security by design

Your key stays with novi.

Sessions run through a private relay on your machine. The agent gets a one-time token that only works there — never your API key.

Your machine
AgentYour agentClaude CodeCodex+3 more
Session token64-hex token, per session
Local relaynovi relay127.0.0.1:<port>Random port · loopback only
API keyOnly safe headers forwarded
NovitaNovita APIapi.novita.ai
~/project
$ novi claude --print-env
unset NOVITA_API_KEY
# novi writes at launch, removes on exit:
"ANTHROPIC_API_KEY": ""
"ANTHROPIC_AUTH_TOKEN": "<session token>"
"ANTHROPIC_BASE_URL": "http://127.0.0.1:<port>/s/<session token>/anthropic"
…
"DISABLE_TELEMETRY": "1"
"DO_NOT_TRACK": "1"
Forwarded to Novita
Authorization:Bearer sk_7Fq…k2Ld
X-Novita-Source:novi/<harness>/0.4.0
+5 safe headers

Agent credentials and every other header are dropped.

  • Loopback only

    The relay refuses any address other than 127.0.0.1 and rejects browser origins.

  • Sign-ins kept apart

    Signed in to Codex with OpenAI? Your original models still go to OpenAI on Codex's own credential. Novita requests carry only your Novita key.

  • Nothing left behind

    CLI sessions use temporary files removed on exit. novi uninstall restores desktop connections and removes what novi added, keeping your usage history and backups.

Desktop apps · Beta

Claude Desktop and Codex Desktop, too.

Launch either app from the novi menu with a long-term Novita setup. Every change is journaled, so one step puts your original setup back.

Written by novi · journaled
configLibrary/<novita profile>.json
+ "inferenceProvider": "gateway",
+ "inferenceGatewayBaseUrl": "http://127.0.0.1:17861/anthropic",
+ "inferenceGatewayApiKey": "<local relay token>",
+ "inferenceGatewayAuthScheme": "bearer",
+ "disableDeploymentModeChooser": true

Claude Desktop

Beta

Switches the app to third-party gateway mode with a Novita profile that points at a relay on your machine.

  • Your MCP servers come along, and one menu import brings plugins, personal skills and desktop extensions across, keeping files you already have.
  • Switch the app back to its official mode from the novi menu anytime; the Novita profile stays saved for later.
Written by novi · journaled
~/.codex/config.toml
+ model_provider = "novita-desktop"
+ [model_providers.novita-desktop]
+ base_url = "http://127.0.0.1:17861/openai/v1"
+ auth.command = "~/.local/bin/novi"
+ auth.args = ["_desktop", "token", …]

Codex Desktop

Beta

Adds a novita-desktop provider, served by the same local relay. Signed in with OpenAI? You stay signed in, and your original models share the picker with Novita's.

  • Credentials come from a helper command, so no secret lands in config.toml, which plain codex shares while connected.
  • Or try One-time use on macOS or Windows: an experimental isolated instance that leaves your config untouched.
In the novi menu

Same three steps for both apps.

  1. 01Launch desktop app
  2. 02Reopen desktop app
  3. 03Disconnect / restore settings

Beta. On macOS, Launch also starts the relay at login, so after a reboot you just open the app; on Windows it adds the NoviDesktopRelay entry at sign-in (Task Manager → Startup apps); on Linux, choose Connect / start again. novi desktop status shows each app and its connection. In Novita mode, Claude Desktop cloud sessions and Remote Control are unavailable.

In your terminal

The rest of Novita, right in your terminal.

Browse models, check your setup, keep novi current and see what your sessions cost — your balance and bill are one key away in the menu.

$novi models01

Browse the live catalog

Prices, context windows and which agents can run each model, straight from Novita's catalog.

$novi models
MODEL$/M IN$/M OUTdeepseek-v4.1-flash0.301.20glm-5.3-flash0.150.50glm-5.31.404.40qwen3.8-max2.006.00kimi-k33.0015.00deepseek-v4-pro1.603.20
…
$
$novi doctor / update02

Check your setup, stay current

Verifies your key, the Novita API and every agent, with the exact command to update or install each. novi update upgrades novi itself in place once the download's checksum and version check out.

$novi doctor
✓API keysk_7Fq…k2Ld
✓Novita APIhttps://api.novita.ai
✓Claude Code2.1.295 (up to date, latest channel)
↑Codex0.160.1 — 0.162.0 available (latest channel)update: codex update
✓OpenCode1.18.40 (up to date, latest channel)
✓Pi1.1.3 (up to date, latest channel)
✗DeepSeek Harnessnot installed: npm i -g @deepseek-ai/dsh
$novi update
novi 0.4.0 → latest release 0.4.0
novi is already up to date.
$
$novi usage --last 7d03

Know what each session cost

Every session ends with a receipt of tokens and estimated model cost, and novi usage adds up the last 7 days. Only metadata stays on your machine: no prompts, responses or keys. Estimates, not your Novita bill.

$novi usage --last 7d
novi usage · last 7d · 440 requests · input 6373057 · output 300592 · cache read 0 · cache write 0
Estimated model cost: $18.131740 (not the platform bill; search and other charges excluded)
deepseek/deepseek-v4.1-flash: 233 requests · input incl. cache 902117 · output 18452
moonshotai/kimi-k3: 146 requests · input incl. cache 4182530 · output 211904
zai-org/glm-5.3: 61 requests · input incl. cache 1288410 · output 70236
$
Roadmap

Shipping next.

novi is new and moving fast. Here's what's live and what's coming.

  1. Live now

    Available now on macOS, Linux and Windows.

    • Claude Code
    • Codex
    • OpenCode
    • Pi
    • DeepSeek Harness
    • Claude DesktopBeta
    • Codex DesktopBeta
    • Default lineup & per-model tuning
    • Models, doctor, usage, update and uninstall
    • Usage receipts & local usage history
    • Install missing CLI agents from the menu
  2. Next

    Coming soon

    Planned for upcoming releases.

    • Browser sign-in, including remote and headless machines
    • Hermes, Cline, Kilo, Command Code
    • Let your agent install novi itself
  3. Later

    Further out on the roadmap.

    • Auto routing
    • IDE integrations
    • Team budgets
    • Agent Sandbox integration
FAQ

Questions, answered.

Short answers on setup, safety and pricing. For anything else, the docs and our support team can help.

Not for CLI sessions. Settings and provider files are injected for the session and removed when the agent exits; anything it saves on its own mid-session is restored. To go back, just run your agent without novi (while Codex Desktop is connected, plain codex shares its setup). Desktop apps (Beta) do write config, but every change is journaled, and Disconnect / restore settings in the novi menu puts it back.

Claude Code, Codex, OpenCode, Pi and DeepSeek Harness. Claude Desktop and Codex Desktop are in Beta, and Hermes, Cline and Kilo are coming soon. If a CLI agent isn't installed yet, the novi menu can install it once you confirm.

No. If Codex has a saved OpenAI sign-in, it stays (one kept only in the system keychain isn't detected yet): your original models share the picker with Novita's and still go to OpenAI on Codex's own credential. Claude Code keeps your sign-in and custom model picker while the session runs on Novita. Either way, the agent only gets a per-session token for a relay on 127.0.0.1, never your Novita key.

Any Novita model your agent can drive: 40+ in Claude Code's /model picker and 20+ in Codex. Use --model to start with a specific one, or run novi models to browse prices. Tools, MCP servers, subagents and web search keep working on them.

novi is free. You pay standard Novita pay-as-you-go prices for the tokens you use. Web search runs through Novita AI Search and is billed to your account (turn it off with NOVI_NO_WEB_SEARCH=1). Each CLI session prints a usage receipt when it exits, and novi usage --last 7d sums the past week; both are local estimates, not your Novita bill.

macOS and Linux on Intel and ARM, and Windows 10/11 on x64 and ARM64 (install with irm https://novita.ai/novi/install.ps1 | iex in PowerShell). Tested with Claude Code 2.1.283–2.1.295 and Codex 0.153.4–0.162.0; novi doctor flags anything older. If your proxy can't reach Novita, NOVI_NOVITA_DIRECT=1 bypasses it for api.novita.ai only.

novi update checks the checksum and version, then replaces novi in place. novi uninstall restores desktop connections, then removes novi and its saved key. Your agent configs and history stay, and so do novi's usage history and backups.

You can point Claude Code at Novita's Anthropic-compatible endpoint yourself; see the Claude Code guide in Novita docs.

Install once.Launch on Novita every time.

Add your Novita key once, then start your coding agent on Novita whenever you want, with the tools and workflow you already have.

curl -fsSL https://novita.ai/novi/install.sh | sh
  • novi is free
  • Pay-as-you-go tokens
  • macOS, Linux & Windows