Kimi K3 in Crush: config with live cost tracking

Model: Kimi K3 · ✓ Verified on crush v0.98.1 · 2026-10-10

Most coding-agent TUIs treat cost as an afterthought. Crush, Charm's terminal agent with 28k stars, does something better: its config lets you register per-token prices alongside the model, so the interface can show what a session actually cost while you work. That feature is the reason we like pairing it with Wallaby, where cached input is a separate, cheaper rate. Disclosure: Wallaby Token sells API access to Kimi K3, and the endpoint used here is ours.

Setup is one crushrc file. No plugin, no fork.

What you need

  • A Wallaby Token account (sign up here; the $0.50 trial credit needs no card) and a key from the console
  • macOS, Linux, or Windows
  • Five minutes

Step 1: Install crush

brew install charmbracelet/tap/crush
# or: npm install -g @charmland/crush
crush --version    # v0.98.1 at the time of writing

Step 2: Write the crushrc

Crush reads a crushrc from your project root, or from ~/.config/crush/ if you want it everywhere. A crushrc is bash with a few built-in commands:

provider add wallaby --type openai-compat \
  --base-url "https://api.wallabytoken.com/v1" \
  --api-key "$WALLABY_API_KEY"

model add wallaby/kimi-k3 \
  --name "Kimi K3" \
  --context-window 262144 \
  --default-max-tokens 8192 \
  --price-input 2.70 \
  --price-output 13.50 \
  --price-cache-hit 0.27

Two details worth getting right:

  • --type openai-compat, not openai. Crush's own docs draw the line: openai is for proxying OpenAI itself; openai-compat is for non-OpenAI providers with a compatible API. Wallaby is the second kind. Note the base URL keeps its /v1 here; crush does not double it.
  • The three price fields are optional but are the point. With them set, crush's cost display reflects the real bill, including the $0.27 cached rate that agent loops hit constantly.

Step 3: Run it

crush run -m wallaby/kimi-k3 "Write a Python function that checks whether a string is a palindrome"

Verification run, terminal output unedited:

$ crush run -q -m wallaby/kimi-k3 "Reply with exactly: Wallaby K3 via crush OK, ..."
Wallaby K3 via crush OK. Standing by for your next task.

For the interactive TUI, run crush in a project and pick wallaby/kimi-k3 from the model list (ctrl+l):

Crush model picker — wallaby's Kimi K3 highlighted and marked Configured

Verify on the billing side

Crush's own cost display is leg one: open the sidebar with ctrl+b (it opens by itself on wide windows) and the session block shows the running total — context use, tokens, dollars.

Crush session sidebar — Kimi K3 via wallaby, 0% context (1.3K tokens), $0.19 session cost

Leg two is independent: open your console's Usage Logs and find the same request: model, token counts, cost, itemized per request. Our smoke prompt cost under two cents, and the two views agree.

Pricing

Per 1M tokens, as of October 2026 (current rates always on the pricing page):

Wallaby Official list
Input $2.70 $3.00
Cached input $0.27 $0.30
Output $13.50 $15.00

Run this whole guide on the $0.50 trial credit; the smoke prompt above cost under two cents.

FAQ

Does crush support custom providers? Yes, both OpenAI-compatible and Anthropic-compatible APIs, via provider add in a crushrc.

Where does crush's built-in model list come from? A community catalog called Catwalk. We have a PR in review (#614) that adds Wallaby to it — once merged, crush will know this endpoint with no crushrc at all. Until then, the block above is the way.

Aren't the other models in the list free? They are Charm Hyper's catalog — Hyper has a free tier (100 credits a month, about $5 as of October 2026) behind a Charm account, then subscriptions or prepaid bundles. The crushrc block above is the different animal: your own key, pay per request, and crush shows you what each session cost.

openai vs openai-compat — which one? openai-compat. The openai type assumes OpenAI's own API behaviors; compat is for everyone else.

Get started

Sign up at wallabytoken.com, mint a key, paste the crushrc block. You'll get Kimi K3 in one of the best-looking terminal agents around — with the price of every session visible while you work, not as a surprise at the end of the month.

Why Wallaby

Every request lands on your invoice as an itemized line with token counts — no content logs, no training on your data, no usage reports built from your traffic. We host open-weight models only, keep a public status page, and run our own work through the same gateway we sell.

Live pricing · Status · Why we built Wallaby

Did this help?