Install it, point it at a model — local or cloud — and get it writing and running real code in your terminal. This page covers the basics; the README has the full reference for everything else (sub-agents, MCP, skills, sessions…).
One line. No Python, no Node, no runtime to manage.
$ curl -fsSL https://raw.githubusercontent.com/ipsupport-llc/ipsupport-code/main/scripts/install.sh | sh
PS> iex (irm https://ipsupport-llc.github.io/ipsupport-code/install.ps1)
Verifies the SHA-256 and drops one binary in ~/.local/bin.
Prefer a manual download? Grab an archive from
releases.
Pick one. You can switch any time with /ai — the session, tokens,
and mode all carry over.
Open LM Studio, download a model, load it, and start its local server (the "Developer" tab
→ Start Server). That's it — ipsupport-code talks to
localhost:1234 out of the box, nothing to configure.
❯ /model # lists what's loaded in LM Studio ❯ /model nemotron # switches to it (a substring is enough)
For the best tool-calling reliability, use a model fine-tuned specifically for this agent:
Nemotron-3.5-Lightning-30B-A3B — ipsupport-code LoRA.
Trained on ipsupport-code's own tool-call schema, so it emits the exact {"action","params"}
shape reliably instead of garbling it. Any instruct model in LM Studio's catalog works, though — this one is just tuned for less friction.
No command needed — add it straight to the config, no API key required:
{ "provider": "ollama",
"providers": { "ollama": {
"base_url": "http://localhost:11434/v1",
"model": "nemotron-3.5"
} } }
Then /ai ollama to switch to it (or /config to do
the same thing from the settings panel).
One command adds a key and you're switched:
❯ /ai key openrouter sk-… ❯ /ai openrouter ❯ /model sonnet # filters the catalog — great for OpenRouter's 300+
Keys are written chmod 600 to
~/.config/ipsupport-code/config.json, or fall back to the usual env var
(OPENAI_API_KEY, ANTHROPIC_API_KEY, …).
Don't want to remember the exact syntax? /config is the same
thing as a menu — ↑↓ to a field, Enter to cycle or jump into it (provider,
model, key, permissions, color…), esc to close. It saves as you go, no JSON to
hand-edit.
The whole loop, start to finish.
mkdir ~/hello && cd ~/hello && ipsupport-codewrite hello world in Go and run it and press Enter.❯ write hello world in Go and run it ⚙ file write main.go ⚙ run go run main.go → exit 0 Hello, world! Wrote main.go and ran it — printed "Hello, world!". NEXT: add a go.mod
Want the same task on a cloud model instead? Add a key and switch first — the task itself doesn't change:
❯ /ai key openai sk-… ❯ /ai openai ❯ write hello world in Go and run it ⚙ file write main.go ⚙ run go run main.go → exit 0 Hello, world!
On a plane, out of coverage, on a train through a tunnel — none of that matters when the model lives on your own machine. LM Studio, the model, and the agent are all local; there's no cloud round-trip to lose.
❯ /offline on # skip update checks, refuse the web tool cleanly ❯ fix the failing test in payments.go ⚙ file read payments.go ⚙ run go test ./... → exit 0 ok
/offline only stops the agent from reaching out
(the web tool, update checks) — it doesn't touch your model connection. Pair it
with a local LM Studio setup and the whole loop — read, edit, run, test — needs no
connectivity at all.
A handful of commands cover most of what you'll actually reach for day to day.
Type /help any time for the full list.
/goal <text>For anything bigger than one turn. A judge checks whether it's actually done before accepting the finish, and re-feeds it if not.
/goal add tests for the API and make them pass
/cd <dir>Change the working directory the agent operates in — everything (files, commands, git) stays inside it, a hard jail by default.
/cd ../other-project
/reasoning <level>Dial a reasoning-capable model's thinking effort — helps a slow local model answer faster, or a tricky task think harder.
/reasoning high
/modelList or switch models on the current provider — filters as you type, handy on a big catalog like OpenRouter.
/model nemotron
/plan · /autoPlan mode proposes without touching anything; auto executes. shift+tab flips between them mid-conversation.
shift+tab
/statusOne screen: provider, model, workspace, jail, permissions, session, and the standing goal if you have one.
/status
/configAll of the above (provider, model, key, permissions, color…) as an arrow-key menu instead of commands to memorize. Saves as you go.
/config
Sub-agents (delegate to another model), MCP servers, skills, budgets, sessions, rewind, and the full command reference are all in the README.