NoLimitsAI CLI
Our open-source terminal agent. Read and edit files, run commands, and choose the access you authorize.
NoLimitsAI CLI setup ↓NoLimitsAI is a drop-in OpenAI-compatible API. If a tool speaks OpenAI, it speaks NOLIMITSAI. Choose Subscription or Crypto top-ups in Dashboard → Wallet. Every tool follows that funding choice.
Dedicated tool setup guides → · Machine catalog · API specification
Subscription credit has your plan's daily token limit. Crypto top-up credit is separate and has no subscription daily cap. Set your account default with Spend from in Dashboard → Wallet; it applies to web chat, CLI and API clients, including Hermes.
To override the default for one API request, add x-nolimitsai-funding: topup or x-nolimitsai-funding: subscription. An empty selected balance returns 402 and never silently spends the other balance. Per-minute rate limits still apply.
Base URL: https://nolimitsai.net/v1 API Key: sk-nl-... (Dashboard → API → Create key)
No key yet? Create one in the dashboard →
NoLimitsAI CLI
Our open-source terminal agent. Read and edit files, run commands, and choose the access you authorize.
NoLimitsAI CLI setup ↓OpenCode + NoLimitsAI API
If there are issues with our open-source CLI, such as stopping mid-conversation, use OpenCode instead with your NoLimitsAI API key.
Our open-source terminal agent — streaming chat plus a full tool kit: read/write/edit files, search code, run commands, open and fetch the web. Slash commands, plan mode, auto-approve, saved sessions. No telemetry. View source on GitHub (MIT) →
# macOS / Linux curl -fsSL https://nolimitsai.net/install.sh | sh # Windows (PowerShell) irm https://nolimitsai.net/install.ps1 | iex # any OS, via npm (Node.js 20+) npm install -g https://nolimitsai.net/download/nolimitsai-cli.tgz
Then run nolimitsai, type /login, and paste an API key (sk-nl-…) from the dashboard API tab. The key is checked live and saved to ~/.nolimitsai/config.json. Chats are saved locally for resume; set NOLIMITSAI_NO_HISTORY=1 to disable saving.
Full command list, keyboard shortcuts and env vars on the dashboard CLI tab.
curl https://nolimitsai.net/v1/chat/completions \
-H "Authorization: Bearer sk-nl-..." \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5.3",
"stream": true,
"messages": [
{"role": "user", "content": "hello"}
]
}'List all available model IDs, including uncensored and abliterated variants: curl https://nolimitsai.net/v1/models -H "Authorization: Bearer sk-nl-..."
pip install openai
from openai import OpenAI
client = OpenAI(
base_url="https://nolimitsai.net/v1",
api_key="sk-nl-...",
)
# streaming
stream = client.chat.completions.create(
model="glm-5.3",
messages=[{"role": "user", "content": "write me a rat poem"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")One config includes every NoLimitsAI catalog model, including uncensored and abliterated variants. Download it first, then choose any model inside OpenCode with /models.
Check opencode --version. Use the setup for your installed major version; OpenCode 1 and 2 use different configuration formats.
macOS/Linux: install with npm, then check the version.
npm install -g @opencode/cli
opencode --versionWindows 10/11: download the official Windows x64 CLI ZIP, extract it, then open PowerShell in that folder and run .\opencode.exe --version. Add its folder to PATH to use opencode from your project. Other platforms and baseline builds: official CLI installation guide.
If npm reports a blocked installation script, use the standalone CLI binary from the official installation guide.
Download opencode.json and put it in the root of your project (not opencode.json.txt). It lists our current models and asks before file changes or commands. If you already have a config, merge these entries into it; don't append a second JSON document or overwrite your settings.
{
"$schema": "https://opencode.ai/config.json",
"share": "disabled",
"providers": {
"nolimitsai": {
"name": "NoLimitsAI",
"env": [
"NOLIMITSAI_API_KEY"
],
"package": "@opencode/ai/providers/openai-compatible",
"settings": {
"baseURL": "https://nolimitsai.net/v1",
"apiKey": "{env:NOLIMITSAI_API_KEY}"
},
"models": {
"gpt-6-astra": {
"name": "GPT-6 Astra",
"modelID": "gpt-6-astra",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"gpt-6.1-sol": {
"name": "GPT-6.1 Sol",
"modelID": "gpt-6.1-sol",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"gpt-6-sol": {
"name": "GPT-6 Sol",
"modelID": "gpt-6-sol",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"gpt-6-luna": {
"name": "GPT-6 Luna",
"modelID": "gpt-6-luna",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"gpt-5.6-sol": {
"name": "GPT-5.6 Sol",
"modelID": "gpt-5.6-sol",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"gpt-5.6-terra": {
"name": "GPT-5.6 Terra",
"modelID": "gpt-5.6-terra",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"gpt-5.6-luna": {
"name": "GPT-5.6 Luna",
"modelID": "gpt-5.6-luna",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"gpt-5.5": {
"name": "GPT-5.5",
"modelID": "gpt-5.5",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"claude-haiku-5-5": {
"name": "Claude Haiku 5.5",
"modelID": "claude-haiku-5-5",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"claude-sonnet-5": {
"name": "Claude Sonnet 5",
"modelID": "claude-sonnet-5",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"claude-sonnet-5-5": {
"name": "Claude Sonnet 5.5",
"modelID": "claude-sonnet-5-5",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"claude-opus-4-6": {
"name": "Claude Opus 4.6",
"modelID": "claude-opus-4-6",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"claude-opus-4-7": {
"name": "Claude Opus 4.7",
"modelID": "claude-opus-4-7",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"claude-opus-4-8": {
"name": "Claude Opus 4.8",
"modelID": "claude-opus-4-8",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"claude-opus-5": {
"name": "Claude Opus 5",
"modelID": "claude-opus-5",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"claude-opus-5-5": {
"name": "Claude Opus 5.5",
"modelID": "claude-opus-5-5",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"claude-opus-5-5-max": {
"name": "Claude Opus 5.5 Max",
"modelID": "claude-opus-5-5-max",
"limit": {
"context": 128000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"glm-5.2": {
"name": "GLM-5.2",
"modelID": "glm-5.2",
"limit": {
"context": 1000000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"glm-5.3": {
"name": "GLM-5.3",
"modelID": "glm-5.3",
"limit": {
"context": 1000000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"glm-5.3-uncensored": {
"name": "GLM-5.3 Uncensored",
"modelID": "glm-5.3-uncensored",
"limit": {
"context": 1000000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"glm-5.3-flash": {
"name": "GLM-5.3 Flash",
"modelID": "glm-5.3-flash",
"limit": {
"context": 128000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"glm-5.3-flash-uncensored": {
"name": "GLM-5.3 Flash Uncensored",
"modelID": "glm-5.3-flash-uncensored",
"limit": {
"context": 128000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"glm-5.3-abliterated": {
"name": "GLM-5.3 Abliterated",
"modelID": "glm-5.3-abliterated",
"limit": {
"context": 1000000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"deepseek-v4.1-flash": {
"name": "DeepSeek V4.1 Flash",
"modelID": "deepseek-v4.1-flash",
"limit": {
"context": 1000000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"deepseek-v4.1-flash-1017": {
"name": "DeepSeek V4.1 Flash 1017",
"modelID": "deepseek-v4.1-flash-1017",
"limit": {
"context": 128000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"deepseek-v4.1-flash-1017-abliterated": {
"name": "DeepSeek V4.1 Flash 1017 Abliterated",
"modelID": "deepseek-v4.1-flash-1017-abliterated",
"limit": {
"context": 1000000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"deepseek-v4.1-flash-1017-abliterated-fast": {
"name": "DeepSeek V4.1 Flash 1017 Abliterated Fast",
"modelID": "deepseek-v4.1-flash-1017-abliterated-fast",
"limit": {
"context": 128000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"deepseek-v4-flash-0731": {
"name": "DeepSeek V4 Flash",
"modelID": "deepseek-v4-flash-0731",
"limit": {
"context": 1000000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"deepseek-v4-pro-0813": {
"name": "DeepSeek V4 Pro",
"modelID": "deepseek-v4-pro-0813",
"limit": {
"context": 256000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"deepseek-v4-pro-uncensored": {
"name": "DeepSeek V4 Pro Uncensored",
"modelID": "deepseek-v4-pro-uncensored",
"limit": {
"context": 256000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"grok-4.7": {
"name": "Grok 4.7",
"modelID": "grok-4.7",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"grok-4.6": {
"name": "Grok 4.6",
"modelID": "grok-4.6",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"grok-4.5": {
"name": "Grok 4.5",
"modelID": "grok-4.5",
"limit": {
"context": 400000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"mimo-v2.6-pro": {
"name": "MiMo V2.6 Pro",
"modelID": "mimo-v2.6-pro",
"limit": {
"context": 128000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"mimo-v2.6-flash": {
"name": "MiMo V2.6 Flash",
"modelID": "mimo-v2.6-flash",
"limit": {
"context": 128000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"kimi-k3": {
"name": "Kimi K3",
"modelID": "kimi-k3",
"limit": {
"context": 1000000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"kimi-k3.1-pro": {
"name": "Kimi K3.1 Pro",
"modelID": "kimi-k3.1-pro",
"limit": {
"context": 1000000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
},
"gemini-4-argon": {
"name": "Gemini 4 Argon",
"modelID": "gemini-4-argon",
"limit": {
"context": 128000,
"output": 8192
},
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"compatibility": {
"reasoningField": "reasoning_content"
}
}
}
}
},
"permissions": [
{
"action": "edit",
"resource": "*",
"effect": "ask"
},
{
"action": "shell",
"resource": "*",
"effect": "ask"
}
]
}
The template contains no API key. Your local OpenCode configuration and permission choices control access to your computer.
Create a key in Dashboard → API. Set NOLIMITSAI_API_KEY in your local shell, restart OpenCode from that shell, then run /models and choose any entry under NoLimitsAI. No model is preselected in the file.
# PowerShell — current terminal only
$env:NOLIMITSAI_API_KEY="YOUR_KEY"
# macOS / Linux — current terminal only
export NOLIMITSAI_API_KEY="YOUR_KEY"Replace YOUR_KEY locally. Keep the key out of project files and public screenshots. If you use a config from the Telegram bot containing a personal key, keep that file private.
Open your NoLimitsAI dashboard →Select the Build agent for file changes; Plan is for planning. Ask it to inspect your project, make a focused change, and run the relevant checks. Review its file-change and command approvals.
Read this project, create hello.py that prints 2 + 3, then run it and show the output.Usage is billed to your NoLimitsAI wallet at our model rates. Client features and model behavior vary. If both clients fail, send the model ID, client version and error privately to @basilisk28 on Telegram.
Setup sources: official provider documentation · permissions.
OpenAI-compatible tools can connect to NOLIMITSAI. Three things to fill in:
Base URL: https://nolimitsai.net/v1 API Key: sk-nl-... (Dashboard → API → Create key) Model: glm-5.3-abliterated (any model ID from /v1/models)
aichat -m nolimitsai/glm-5.3llm -m nolimitsai/glm-5.3 "hi"OpenAI Compatible + the URL above — same as the VS Code section belowCursor → Settings → Models → add an OpenAI-compatible override:
sk-nl-...https://nolimitsai.net/v1glm-5.3, kimi-k3.1-pro, kimi-k3, deepseek-v4.1-flash…No app needed — a shell one-liner loop:
# Linux / macOS
NG="sk-nl-..."
while true; do
read -r -p "you: " msg
[ -z "$msg" ] && break
curl -s https://nolimitsai.net/v1/chat/completions \
-H "Authorization: Bearer $NG" \
-H "Content-Type: application/json" \
-d "{"model":"glm-5.3","messages":[{"role":"user","content":"$msg"}]}" \
| python3 -c "import json,sys; print('ai: ', json.load(sys.stdin)['choices'][0]['message']['content'])"
done# Windows (PowerShell)
$ng = "sk-nl-" + "..."
while ($true) {
$msg = Read-Host "you"
if (-not $msg) { break }
$body = @{
model = "glm-5.3"
messages = @(@{ role = "user"; content = $msg })
} | ConvertTo-Json -Depth 5
$r = Invoke-RestMethod -Uri "https://nolimitsai.net/v1/chat/completions" `
-Headers @{ Authorization = "Bearer $ng" } `
-ContentType "application/json" -Method Post -Body $body
Write-Host "ai: $($r.choices[0].message.content)"
} Or use aichat / llm CLI — both take a custom OpenAI base URL: llm keys set nolimitsai sk-nl-... && llm -m nolimitsai/glm-5.3 "hi"
All three speak OpenAI. Add a connection with:
Base URL: https://nolimitsai.net/v1 API Key: sk-nl-...
OPENAI_REVERSE_PROXY=... or custom endpointIn the extension's provider settings choose OpenAI Compatible:
Base URL: https://nolimitsai.net/v1 API Key: sk-nl-... Model ID: glm-5.3 (or another standard model from /v1/models)
18+ only. Illegal content is prohibited on every model. Read the terms, privacy policy and safety & reporting details.
Questions, payment problems, account or key issues, bug reports: @basilisk28 on Telegram. New models, updates and outage announcements: Telegram channel — @nolimitsaiai.
When you message, include your username or account ID, the payment ID if it's about money, the time of the issue, and what you saw. Never send your API key or password.