Your First Five Minutes with Octomind: One Install, One Login, Zero API Keys Octomind launched a new AI coding tool called Hub that eliminates the need for API keys. The tool installs via a single curl command and allows developers to log in using a device flow, with each machine receiving its own revocable key. Octomind's Hub provides access to 21 curated models, including open-weights and premium options, with usage costs displayed per response. This post originally appeared on octomind.run/blog/octomind-hub-quickstart . Cross-posted to dev.to. Every AI coding tool starts the same way: sign up, grab an API key, paste it into a config file, forget it's there until it leaks. Octomind doesn't do that. One curl command, one browser click, and you're talking to an agent that reads your code, finds bugs, and fixes them — then proves the fix works. Total cost for the whole thing: under two cents. Here's the walkthrough. Everything below ran in a clean Ubuntu 24.04 container. No dotfiles, no cached credentials, no Node, no Python pre-installed. Just the agent and a real codebase. Octomind's Hub is an OpenAI-compatible gateway sitting in front of a curated model roster. Not a 400-model dropdown where half the entries are deprecated — 21 models that earn their place. Open-weights models DeepSeek, Qwen, Kimi, GLM, MiniMax, Gemma ship with every paid plan. Premium models Claude, GPT, Gemini bill per token from prepaid credits at published prices. There's a free model with a daily allowance, so a brand-new account can try everything without entering a card. The key part: you never handle an API key. Not once. octomind login runs a device flow — same pattern as gh auth login . The CLI shows a short code, you confirm in your browser, and the Hub mints a key scoped to that specific machine. No password in your terminal. No secret in your shell history. Every machine gets its own revocable key. Log in from your laptop and your server, and you'll see two keys in the panel named after each device. Revoke one, the other keeps working. Fair use is per account, not per key — past the parallelism limit, requests queue briefly instead of failing. And the meter is visible while you work. Every response prints what it cost. No end-of-month archaeology. Under the hood, it's all octohub — open source, Rust, one static binary. curl -fsSL https://octomind.run/install.sh | bash Or on macOS: brew install muvon/tap/octomind Here's what actually happened in the container: INFO Installing octomind... INFO Detected platform: x86 64-unknown-linux-musl INFO Latest version: 0.38.2 INFO Downloading octomind 0.38.2 for x86 64-unknown-linux-musl... INFO Extracting binary... INFO Installing to /root/.local/bin... SUCCESS octomind installed successfully SUCCESS Installation verified Static binary drops into ~/.local/bin . No runtime dependencies, no package manager churn, works identically on macOS and Linux. octomind login Output: ╭ login · octomind account │ code 6PVJ-NHW9 │ url https://octomind.run/app/login/cli │ │ Confirm the code in your browser to finish signing in. │ waiting… │ account don@muvon.io │ key octomind-cli-35f0c0f849cd │ stored /root/.local/share/octomind/config/.env ╰ ✓ login · signed in The CLI opened the panel URL, I confirmed the code, and it claimed a per-device Hub key. If you don't have an account yet, the same page signs you up first — free plan needs no card. The key shows up in the panel under Keys. Revoking it takes one click. This shipped in 0.38.0 because pasting long-lived secrets into terminals is exactly how keys end up in shell history and screen recordings. I dropped a Python file with a deliberate bug: python stats.py def median values : ordered = sorted values mid = len ordered // 2 if len ordered % 2 == 0: return ordered mid return ordered mid if name == " main ": print median 3, 1, 4, 1, 5 print median 3, 1, 4, 1, 5, 9 The bug: both branches return ordered mid . The even-length case should average the two middle values. If your directory isn't a git repo, run git init first — the code-search index works repo-per-repo. First run bootstraps its own tooling it installed Node for MCP servers unprompted , so give it a minute. Then: octomind run This starts the concierge orchestrator — it works out what you need, routes to the right specialist, and remembers across sessions. The header shows the agent, model setting octohub:auto — the Hub routes each request to a suitable model , working directory, and session ID. Or skip routing entirely: octomind run developer:general for direct specialist access. I asked: "Read stats.py and explain in a few sentences what it does. Is the median calculation correct?" The agent: median 3,1,4,1,5,9 → sorted 1,1,3,4,5,9 , mid=3, returns 4. Correct answer is 3+4 /2 = 3.5 return ordered mid-1 + ordered mid / 2 Cost: $0.00403 · 27K in · 518 out Here's where it gets interesting. I asked: "Fix the median bug, then run python3 stats.py to prove the fix works." The agent: str replace python3 stats.py 3 and 3.5 — fix verified. Even-length now yields 3.5 instead of 4.Cost: $0.00960 · 67K in · 525 out Total for review plus verified fix: under a cent and a half. Every run is a persistent session. octomind run --resume-recent picks up where you left off. -n mywork gives the session a name. You can pipe it for CI and scripting: echo "Fix the median bug, then run python3 stats.py to prove the fix." \ | octomind run developer:general --format plain A few things I learned from the transcripts: One task per message, with the file named. "Read stats.py and check the median calculation" beats "look around and tell me what's wrong." Specificity is free speed. Ask for proof, not confidence. The agent has a shell. End your request with "run it and show the output." A claim that compiles is worth ten that don't. Bound the answer. "In a few sentences" saved tokens on every single transcript in the walkthrough. Escalate when the task outgrows the shelf. -m on the command line or /model mid-session switches to any model. Premium ones bill per token from credits. Escalation is a flag, not a migration. The SWE-bench-Live numbers: 70% solved on the open-shelf model GLM at roughly $3.30 per solved task. The harness and baseline live in the repo under bench/ with committed history. Honest framing: it's their own harness, a pilot-sized suite 15 instances, two runs each , efficiency-first metric. Not a leaderboard submission. The claim is straightforward — an agent on open-weights pricing, resolving real issues, with a cost-per-solved you can actually reason about. Everything above ran on a local machine. That's the point — start where you are. Machines persistent Linux boxes with the full toolchain, real Docker inside, sessions that survive closing your laptop are invite-gated while the fleet scales. Subscribing unlocks access instantly. Free accounts earn invites through weekly usage. Every subscriber gets invites to hand out. It's bootstrapped — hardware bought with revenue, the gate widening at the pace they can genuinely serve. Free tier, no card required: curl -fsSL https://octomind.run/install.sh | bash octomind login octomind run Five minutes, two cents, no API keys. Ask it something concrete, make it prove its answer, then see how it goes.