Koder · Terminal
One command to install.
Koder in your terminal.
Koder CLI and Koder TUI are each one command. No invite code. Install steps are in the project repository. The CLI takes a task in one line and also runs in scripts and CI. The TUI is a full-screen terminal interface. They share one model and language setup, and show changes. CLI uses smart approval for ordinary edits and low-risk commands; sensitive actions still require permission. SDK 0.1.1 is in the project repository, for TypeScript, JavaScript, and Python.
CLI, TUI, and SDK
None of the three is in the desktop installer, and none needs the desktop app. The desktop window has its own terminal at the bottom (⌘J / Ctrl+J), which is an ordinary terminal.
Koder CLI
The command is koder. Type koder to start a session. koder run takes one task, koder ask answers read-only, koder review reviews changes, and koder fix keeps fixing until a check passes. It works in pipes, scripts, and CI. Quick start
Koder TUI
The command is koder-tui. A status bar on top, the chat in the middle, a sidebar on the right, and the input at the bottom. A file change opens a diff first. Press y to accept, or n or Esc to turn it down. See the TUI
Koder SDK
Version 0.1.0. Call Koder on this computer from your own TypeScript, JavaScript, or Python program. The kernel is not in the repository. The license is MIT. github.com/KarmenLoop/koder-sdk
Install Koder CLI
No invite code. The install commands, what the scripts write, and what they download are in the project repository.
github.com/KarmenLoop/koder-cli
The published installer is 0.4.0-preview.22. These ordinary commands use that version’s scripts on GitHub. They do not use the stable-only /releases/latest feed. Read the software license, the consent and data guide, the package legal notice, and the copyright, license and international-use notice first.
macOS, Linux and WSL
Open Terminal and paste into that window. A piped install reads the answer from the controlling terminal. Type accept and press Enter to agree. Type decline, press Enter with no answer, or press Ctrl+C to cancel. Without interaction and without agreement, the installer exits. That exit is not an API or network error.
curl -fsSL https://raw.githubusercontent.com/KarmenLoop/koder-cli/main/install/koder-cli.sh | bash Windows PowerShell
Open Windows PowerShell and paste into that window. 0.4.0-preview.22 asks for agreement and protects redirected input. Type accept and press Enter to agree. An empty or unrecognized answer asks again; spaces around the answer are trimmed. Type decline or press Ctrl+C to cancel. After consent, the installer shows each check or download phase, progress and a deadline, using the official website mirror by default. Acceptance on user Windows devices remains pending. See the GitHub installation guide.
$ErrorActionPreference='Stop'; $ProgressPreference='SilentlyContinue'; [Net.ServicePointManager]::SecurityProtocol=[Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; $u='https://karmenloop.com/install/koder-cli.ps1'; Write-Host ('Koder: loading installer from '+([Uri]$u).Host+'...'); $limit=100000000; if($env:KODER_DOWNLOAD_TIMEOUT_SECONDS){$v=0; if([int]::TryParse($env:KODER_DOWNLOAD_TIMEOUT_SECONDS,[ref]$v) -and $v -ge 1 -and $v -le 100000000){$limit=$v}else{throw 'KODER_DOWNLOAD_TIMEOUT_SECONDS must be 1..100000000'}}; $connect=30; if($env:KODER_DOWNLOAD_CONNECT_TIMEOUT_SECONDS){$v=0; if([int]::TryParse($env:KODER_DOWNLOAD_CONNECT_TIMEOUT_SECONDS,[ref]$v) -and $v -ge 1 -and $v -le 3600){$connect=$v}else{throw 'KODER_DOWNLOAD_CONNECT_TIMEOUT_SECONDS must be 1..3600'}}; $bootstrapLimit=[Math]::Min($limit,$connect); $client=New-Object Net.WebClient; $client.Encoding=[Text.Encoding]::UTF8; $clock=[Diagnostics.Stopwatch]::StartNew(); $next=5; try{$task=$client.DownloadStringTaskAsync([Uri]$u); $wait=([IAsyncResult]$task).AsyncWaitHandle; while(-not $wait.WaitOne(200)){if($clock.Elapsed.TotalSeconds -ge $bootstrapLimit){if($limit -le $connect){throw ('Installer download timed out after '+$limit+'s')}; throw ('Installer bootstrap stalled after '+$connect+'s')}; if($clock.Elapsed.TotalSeconds -ge $next){Write-Host ('Still loading installer: '+[int]$clock.Elapsed.TotalSeconds+'s elapsed. Ctrl+C cancels.'); $next+=5}}; $script=$task.GetAwaiter().GetResult()}finally{$client.CancelAsync(); $client.Dispose()}; Invoke-Expression $scriptWindows CMD
Open Command Prompt and paste the entire command. The command immediately names the download host and reports progress every five seconds. Type accept only after reading the license. It uses the built-in PowerShell and does not require curl.
powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='Stop'; $ProgressPreference='SilentlyContinue'; [Net.ServicePointManager]::SecurityProtocol=[Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; $u='https://karmenloop.com/install/koder-cli.ps1'; Write-Host ('Koder: loading installer from '+([Uri]$u).Host+'...'); $limit=100000000; if($env:KODER_DOWNLOAD_TIMEOUT_SECONDS){$v=0; if([int]::TryParse($env:KODER_DOWNLOAD_TIMEOUT_SECONDS,[ref]$v) -and $v -ge 1 -and $v -le 100000000){$limit=$v}else{throw 'KODER_DOWNLOAD_TIMEOUT_SECONDS must be 1..100000000'}}; $connect=30; if($env:KODER_DOWNLOAD_CONNECT_TIMEOUT_SECONDS){$v=0; if([int]::TryParse($env:KODER_DOWNLOAD_CONNECT_TIMEOUT_SECONDS,[ref]$v) -and $v -ge 1 -and $v -le 3600){$connect=$v}else{throw 'KODER_DOWNLOAD_CONNECT_TIMEOUT_SECONDS must be 1..3600'}}; $bootstrapLimit=[Math]::Min($limit,$connect); $client=New-Object Net.WebClient; $client.Encoding=[Text.Encoding]::UTF8; $clock=[Diagnostics.Stopwatch]::StartNew(); $next=5; try{$task=$client.DownloadStringTaskAsync([Uri]$u); $wait=([IAsyncResult]$task).AsyncWaitHandle; while(-not $wait.WaitOne(200)){if($clock.Elapsed.TotalSeconds -ge $bootstrapLimit){if($limit -le $connect){throw ('Installer download timed out after '+$limit+'s')}; throw ('Installer bootstrap stalled after '+$connect+'s')}; if($clock.Elapsed.TotalSeconds -ge $next){Write-Host ('Still loading installer: '+[int]$clock.Elapsed.TotalSeconds+'s elapsed. Ctrl+C cancels.'); $next+=5}}; $script=$task.GetAwaiter().GetResult()}finally{$client.CancelAsync(); $client.Dispose()}; Invoke-Expression $script"Accepting the license does not grant administrator rights, full-disk access, uploads, preference learning, memory sync, app access, messages or paid calls. KARMENLOOP Official Team, Shanghai, China. Email info@karmenloop.com.
Unattended install after the license has been read
Only a person who has read the license and may agree sets KODER_EULA_ACCEPT=1, and only for a separate deployment. It does not replace the ordinary install above, and it must not be prefilled for someone who has not read the license. Clear the variable afterward.
curl -fsSL https://raw.githubusercontent.com/KarmenLoop/koder-cli/main/install/koder-cli.sh | KODER_EULA_ACCEPT=1 bash $env:KODER_EULA_ACCEPT = "1"
$ErrorActionPreference='Stop'; $ProgressPreference='SilentlyContinue'; [Net.ServicePointManager]::SecurityProtocol=[Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; $u='https://karmenloop.com/install/koder-cli.ps1'; Write-Host ('Koder: loading installer from '+([Uri]$u).Host+'...'); $limit=100000000; if($env:KODER_DOWNLOAD_TIMEOUT_SECONDS){$v=0; if([int]::TryParse($env:KODER_DOWNLOAD_TIMEOUT_SECONDS,[ref]$v) -and $v -ge 1 -and $v -le 100000000){$limit=$v}else{throw 'KODER_DOWNLOAD_TIMEOUT_SECONDS must be 1..100000000'}}; $connect=30; if($env:KODER_DOWNLOAD_CONNECT_TIMEOUT_SECONDS){$v=0; if([int]::TryParse($env:KODER_DOWNLOAD_CONNECT_TIMEOUT_SECONDS,[ref]$v) -and $v -ge 1 -and $v -le 3600){$connect=$v}else{throw 'KODER_DOWNLOAD_CONNECT_TIMEOUT_SECONDS must be 1..3600'}}; $bootstrapLimit=[Math]::Min($limit,$connect); $client=New-Object Net.WebClient; $client.Encoding=[Text.Encoding]::UTF8; $clock=[Diagnostics.Stopwatch]::StartNew(); $next=5; try{$task=$client.DownloadStringTaskAsync([Uri]$u); $wait=([IAsyncResult]$task).AsyncWaitHandle; while(-not $wait.WaitOne(200)){if($clock.Elapsed.TotalSeconds -ge $bootstrapLimit){if($limit -le $connect){throw ('Installer download timed out after '+$limit+'s')}; throw ('Installer bootstrap stalled after '+$connect+'s')}; if($clock.Elapsed.TotalSeconds -ge $next){Write-Host ('Still loading installer: '+[int]$clock.Elapsed.TotalSeconds+'s elapsed. Ctrl+C cancels.'); $next+=5}}; $script=$task.GetAwaiter().GetResult()}finally{$client.CancelAsync(); $client.Dispose()}; Invoke-Expression $script
Remove-Item Env:KODER_EULA_ACCEPTset "KODER_EULA_ACCEPT=1"
powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='Stop'; $ProgressPreference='SilentlyContinue'; [Net.ServicePointManager]::SecurityProtocol=[Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; $u='https://karmenloop.com/install/koder-cli.ps1'; Write-Host ('Koder: loading installer from '+([Uri]$u).Host+'...'); $limit=100000000; if($env:KODER_DOWNLOAD_TIMEOUT_SECONDS){$v=0; if([int]::TryParse($env:KODER_DOWNLOAD_TIMEOUT_SECONDS,[ref]$v) -and $v -ge 1 -and $v -le 100000000){$limit=$v}else{throw 'KODER_DOWNLOAD_TIMEOUT_SECONDS must be 1..100000000'}}; $connect=30; if($env:KODER_DOWNLOAD_CONNECT_TIMEOUT_SECONDS){$v=0; if([int]::TryParse($env:KODER_DOWNLOAD_CONNECT_TIMEOUT_SECONDS,[ref]$v) -and $v -ge 1 -and $v -le 3600){$connect=$v}else{throw 'KODER_DOWNLOAD_CONNECT_TIMEOUT_SECONDS must be 1..3600'}}; $bootstrapLimit=[Math]::Min($limit,$connect); $client=New-Object Net.WebClient; $client.Encoding=[Text.Encoding]::UTF8; $clock=[Diagnostics.Stopwatch]::StartNew(); $next=5; try{$task=$client.DownloadStringTaskAsync([Uri]$u); $wait=([IAsyncResult]$task).AsyncWaitHandle; while(-not $wait.WaitOne(200)){if($clock.Elapsed.TotalSeconds -ge $bootstrapLimit){if($limit -le $connect){throw ('Installer download timed out after '+$limit+'s')}; throw ('Installer bootstrap stalled after '+$connect+'s')}; if($clock.Elapsed.TotalSeconds -ge $next){Write-Host ('Still loading installer: '+[int]$clock.Elapsed.TotalSeconds+'s elapsed. Ctrl+C cancels.'); $next+=5}}; $script=$task.GetAwaiter().GetResult()}finally{$client.CancelAsync(); $client.Dispose()}; Invoke-Expression $script"
set "KODER_EULA_ACCEPT="Quick start
Six steps from opening a terminal to the first change. Every command has a copy button.
-
Install from the repository
The install commands and each step are in the project repository. When it is installed, type koder.
-
Open setup
Setup starts when the install finishes. Choose the language, model, and colors with the arrow keys or the mouse. Changes save themselves. Open it again any time, or switch only the language:
koder setupkoder lang zh -
Connect a model
Koder does not include a model. You choose a service, get a key, and pay that provider. Using OpenAI as the example, put the key in an environment variable, then tell Koder to read it:
export OPENAI_API_KEY="your-key"koder model set --preset chatgpt --key-env OPENAI_API_KEYIn Windows PowerShell, the first line is:
$env:OPENAI_API_KEY="your-key"For Ollama on this computer:
koder model set --preset local --model qwen3:8bThere are 36 presets. koder model presets lists them. The setup is saved in ~/.koder-cli/provider.json with mode 600. With --key-env the file keeps only the variable name. A key pasted in directly is saved as plain text. Then check everything:
koder doctor -
Go to your project folder and start
cd your-project-folder koderType what you want done and press Return. /help lists commands, /setup opens settings, /lang zh switches to Chinese, and /exit or Ctrl+D quits. By default it works in the current workspace. Access to the home directory or another directory needs a separate grant in koder permissions. The operating system still controls system permissions.

Screenshots: the settings menu that opens the first time you type koder. The model row says it is not set yet. Arrow keys or the mouse choose the next item. -
Approve the change
You can also give a task in one line, without a session:
koder run "npm test fails. Fix total() in cart.mjs"Smart approval handles ordinary project edits and low-risk commands automatically. To review each action, first run koder permissions execution ask. In ask mode, edits show a red/green diff; y accepts and other answers refuse. Sensitive actions still need permission.

Screenshots: koder run fixing cart.mjs, waiting at the accept question. The capture used a local test endpoint that replies from a script, not a real model. -
Follow the tutorial
The terminal has a 30-lesson interactive tutorial, and it remembers your place. --print shows the text only. --os switches the edition to powershell, cmd, mac, or linux. Lesson 16 is install and update.
koder learnkoder learn 3koder learn --print --os powershell
Commands
Every command has its own help. Type koder help and the command name.
koder ask
Read-only questions. It can list folders, read files, and search. It does not change files or run commands.
koder ask "Which file does the sign-in flow start in?"koder run
Runs one task. It can change files and run commands, using smart approval and saved permissions. Piped input goes to Koder as extra material.
npm test 2>&1 | koder run "Fix the tests using this failure output"koder review
Gathers the changes, the repository layout, rule files such as AGENTS.md, and recent commits. Each finding has a file, a line, a level, and a suggested fix.
koder review --base origin/main --format markdown --out review.md koder fix
Runs a check. If it fails, Koder gets the output and fixes it, then checks again until it passes or runs out of tries. The default is 3.
koder fix --check "npm test"koder test
Reads your existing tests first and follows their folders and style, then adds tests for the changes or the files you name.
koder test src/price.js --check "npm test" koder flow
Chains steps in one JSON flow file: shell, run, ask, review, fix, and test. Steps can have conditions, and read-only steps can run in parallel.
koder flow init pr-gatekoder ci init
Writes .github/workflows/koder.yml. It reviews and comments when a PR opens or changes. A PR comment such as /koder review or /koder fix runs that action. Commands that change code are accepted only from repository members.
koder ci initkoder update · koder uninstall
Updates to the latest version. Uninstalls Koder CLI. Add --purge to remove the setup too.
koder update
| Global option | What it does |
|---|---|
| -w --workspace | The workspace. The default is the current folder. |
| -y --yes | Handles file changes and commands under your execution settings. Sensitive actions still need permission; it does not answer questions or collect passwords. |
| --json | One JSON event per line, for scripts |
| --mode | standard, code, minimal, plan, execute, report, enhance |
| --lang | Chinese or English for this run |
| --no-color | Turns color off |
Koder TUI 0.1.0
A full-screen terminal interface
- The top bar shows the version, workspace, model, and mode. The chat is in the middle, with the input and status bar at the bottom.
- The sidebar on the right shows the session, usage, written files, and tools. It appears when the terminal is at least 110 columns wide. /sidebar hides it.
- A file change opens a diff first. Press y to accept, or n or Esc to turn it down. Commands ask first too.
- /yes approves only changes and commands. Questions for you still ask, and it never fills in a password.
- It shares the model and language setup with koder.

Install Koder TUI
It is not in the desktop installer and does not need an invite code. The install commands, the scripts, and what they download are in the same repository as the CLI.
TUI 0.1.0 has its own package and five-step /learn. CLI 0.4.0-preview.22 features do not imply a TUI upgrade. These steps install the published TUI.
Mac
- Step 1. Press Command-Space, type Terminal, and press Return.
- Step 2. Press Command-V to paste the line below, then press Return. It installs itself.
curl -fsSL https://karmenloop.com/ install/ koder-tui.sh | bash - Step 3. Wait until it says the install is finished. Open a new terminal, type koder-tui, and press Return.
Ubuntu
- Step 1. Press Ctrl+Alt+T, or open Terminal from the app list.
- Step 2. Paste with Ctrl+Shift+V, not Ctrl+V. Paste the line below and press Return. If it says curl is missing, type sudo apt install curl, press Return, type your login password (nothing shows as you type), then paste the line again.
curl -fsSL https://karmenloop.com/ install/ koder-tui.sh | bash - Step 3. Wait until it says the install is finished. Open a new terminal, type koder-tui, and press Return.
Other Linux
- Step 1. Open the terminal program.
- Step 2. Paste the line below and press Return. If Ctrl+V does nothing, use Ctrl+Shift+V. If curl is missing, install curl the way you install other programs, then do this step again.
curl -fsSL https://karmenloop.com/ install/ koder-tui.sh | bash - Step 3. Wait until it says the install is finished. Open a new terminal, type koder-tui, and press Return.
Windows 10 and Windows 11 · PowerShell
- Step 1. Open the Start menu, type PowerShell, and open Windows PowerShell. A normal window is enough.
- Step 2. Click inside the window. Press Ctrl+V to paste the line below. If that does nothing, right-click in the window and paste. Then press Enter.
irm https://karmenloop.com/ install/ koder-tui.ps1 | iex - Step 3. Wait until it says the install is finished. Open a new PowerShell window, type koder-tui, and press Enter.
Windows 10 and Windows 11 · cmd
- Step 1. Open the Start menu, type cmd, and open Command Prompt.
- Step 2. Click inside the window. Press Ctrl+V to paste the line below. If that does nothing, right-click and paste. Then press Enter.
curl -fsSL -o "%TEMP%\koder-tui.cmd" https:// karmenloop.com/ install/ koder-tui.cmd && call "%TEMP%\ koder-tui.cmd" - Step 3. Wait until it finishes. Open a new Command Prompt, type koder-tui, and press Enter.
Windows XP
- Step 1. Stop here. Windows XP cannot run this command.
TUI quick start
Five steps. Inside the app, /learn has a five-step tutorial too.
-
Install from the repository
The install commands are in the TUI section of the project repository. When it is installed, type koder-tui.
-
Connect a model
The TUI reads the model saved by koder setup. If that is already done, there is nothing more to do. Without the CLI, install it above and open koder setup, or run koder model set. You can also set these three environment variables before you open the TUI:
export KODER_MODEL="model-name" export KODER_BASE_URL="compatible-endpoint" export KODER_API_KEY="your-key" -
Go to your project folder and open the TUI
cd your-project-folder koder-tuiType a task. Enter sends and Ctrl+J starts a new line. Add --no-splash to skip the intro.
-
Type / for commands
Typing / opens the command palette. Keep typing to filter, and press Tab to complete.

Screenshots: after typing /m, the palette shows /mode and /model. -
Approve the change
When Koder wants to change a file, a diff opens. Press y to accept, n or Esc to turn it down, and ↑↓ to scroll. Esc also interrupts the current turn. Changes you already accepted stay.

Screenshots: the diff for a change to cart.mjs, with the status bar waiting for you. The capture used a local test endpoint that replies from a script. The model name scripted in the top bar is that endpoint, not a real model.
| Slash command | What it does |
|---|---|
| /help | All commands and keys |
| /learn | Five-step tutorial |
| /lang | Language: /lang zh or /lang en |
| /mode | Switch working mode |
| /yes | Toggle auto-approve (edits and commands only) |
| /new | Start a new session |
| /clear | Clear the screen log |
| /model | Show the model configuration |
| /sidebar | Show or hide the sidebar |
| /banner | Replay the prism intro |
| /exit | Quit Koder TUI |
| Key | What it does |
|---|---|
| Enter | Send |
| Ctrl+J Alt+Enter | New line |
| ↑ ↓ | Previous / next input |
| PgUp PgDn | Scroll the log (Ctrl+↑↓ by line) |
| Esc | Interrupt the current turn |
| Ctrl+C | Interrupt; twice when idle to quit |
| Ctrl+D | Quit when the input is empty |
| Ctrl+L | Redraw the screen |
| Tab | Complete a slash command |
Koder SDK 0.1.1 · public source
TypeScript, JavaScript, and Python can call Koder on this computer. The JavaScript package needs Node.js 22.13 or newer. The Python package needs Python 3.9 or newer. The KARMEN LOOP kernel is not in this repository. The license is MIT. Install and call instructions are in the project repository: github.com/KarmenLoop/koder-sdk. The public API application stays on the developer page. Without the SDK, two connections are already available:
- koder run --yes --json prints one JSON event per line: assistant, pause, decision, tool_result, and a final result. Scripts use smart approval too. Sensitive actions without a saved permission fail closed; --approval ask selects ask mode.
- Exit codes: 0 means finished, 1 means interrupted or the task failed, and 2 means it could not run, for example when the model is unreachable or an option is wrong.
- koder acp serves Koder over the ACP protocol on standard input and output. Zed, Neovim, and Emacs use it to chat, view diffs, and approve changes in the editor. koder editor shows the setup.
koder run --yes --json "Add install steps to the README"koder editor zed
Questions
Do I need an invite code?
No. The CLI and the TUI install directly. Only the desktop installer needs an invite code to download.
Do I need administrator or sudo?
No. The install notes are in the project repository.
Where is my key stored?
The model setup is in ~/.koder-cli/provider.json with mode 600, so only you can read it. With --key-env the file holds only the variable name, and the key stays in your environment.
Does it run on Windows XP?
No. Windows XP cannot run these commands. Windows needs version 10 or 11.
How does this relate to Koder for computers?
They are separate. The desktop app is a window, see Koder IDE. The CLI and the TUI live in the terminal and do not need the desktop app.
Celebrations return control promptly
Preview.22 removes an extra process wait after standalone celebrations. Full playback stays at six seconds; press any key to skip. Settings and celebrations in chat return to the same prompt.
preview.21: keep working when memory permissions need attention
A memory isolation check no longer stops every chat request. Unverifiable history stays untouched while tasks continue in temporary RAM. History reads and writes, personalization and synchronization stay paused; Koder does not silently choose another location. Closing or manually updating does not restore that temporary conversation. Automatic installation waits.
Use /memory diagnose or koder memory diagnose --json for the selected location and recovery guidance. Private inherited Windows permissions can be sealed without adding access. Broad or unverifiable roots remain protected. Account changes reset temporary context; execution approvals still apply.
preview.19: our autonomous learning method, built in
KARMEN LOOP personal-agent-growth 0.3.2 now ships with the CLI. Relevant tasks can use its preparation, failure analysis, review and recovery methods through the existing Skill tool. No separate Skill download is needed.
koder growth status checks the embedded version; koder growth show reads the method. koder growth off and koder growth on apply to the next CLI session. Task notes stay in the authorized workspace. This adds no background service, automatic profiling, synchronization or new execution authority. Timed continuation requires an actually available, separately authorized host backend.
Usage and host requirements. The eight unchanged method files retain their own license and notice. Synthetic tool-loop tests are distinct from real-model behavior and physical-device acceptance.
Preview.18: permissions that save, updates that report back
A damaged execution-permission record no longer ends the approval flow before you can answer. Valid UTF-8 BOM records load normally. For a damaged record, make a fresh choice: allow this action once, remember this action, or grant this workspace full access. Koder backs up the old bytes before saving a replacement and never trusts a damaged grant.
Celebrations now emit valid terminal RGB colors, while retaining six-second playback, any-key skipping and reduced-motion settings. Repeated Windows checks cover startup, WeChat update handoff and terminal animations with the original deadlines. Historical failures remain in the release record. Installer test fixtures now use the real installer's argument transport to avoid redirected-input stalls.
A failed background installation now displays a retry message while your current chat remains usable. Installed chats check at most once every six hours and wait for tasks, queued input and drafts before switching. Changed terms still require review. Use /update auto off or /update auto on. Users on preview.16 or earlier should run koder update once first.
Full access controls Koder's execution approvals; it does not grant Windows administrator rights. Repairing this permission-record error does not require changing the machine-wide PowerShell policy. Permission recovery and troubleshooting.
Known bugs: these integrations are temporarily unavailable
MiMo Token Plan, Kimi API, Kimi Code, DeepSeek, Alibaba Token Plan, Volcano Coding Plan and Volcano Ark API are disabled. Setup shows them in gray. Saved profiles are kept, but activation, tests and execution are blocked. Re-entering a key will not enable them. Koder never selects another service or backup engine automatically.
Koder connects directly through Chat Completions, Messages and Responses. The catalog was checked on October 20, 2026. Current task models include GPT-6.1 Sol, Claude Sonnet 5.5, Gemini 4 Argon, MiniMax-M3.1-Flash and Mistral Large 4. Stopped services and incompatible task choices are excluded. Run koder model test --tools to verify your account; local protocol tests do not prove account access. koder model refresh reads the configured account’s current model list without switching its model or keys.
0.4.0-preview.22: direct model adapters and Windows installation
This build retains streaming, tool-call and saved-session recovery repairs. MiMo metered API and Token Plan remain separate products; Token Plan is currently disabled. A greeting does not restart old work, while an explicit continuation can use saved history. Protocol fixtures do not establish paid-account access, and the reporting user’s Windows machine has not been verified.
After consent, the installer immediately identifies the Windows and Node.js check. An existing Node probe waits at most five seconds. Downloads report progress every five seconds, with a 100000000-second deadline; Ctrl+C cancels. The default route uses an identical official website mirror, then GitHub or Node.js if needed. A checksum mismatch still stops installation. The license text and digest remain unchanged.
Users on preview.7/8 can run koder update. If preview.6 or an earlier updater stops because its license digest differs, run the ordinary install command on this page, read the license, and explicitly type accept. KODER_EULA_ACCEPT does not bypass the old updater digest check. Overlay installation keeps configuration, memory and channel bindings; no uninstall or setup reset is needed.
Sessions started with preview.6 or later can restart at a safe point with workspace, session, pending input and channel bindings retained. Pending approvals delay switching; completed actions are not replayed. When moving from preview.5 or earlier, close the old session normally and reopen once.
Learning, daily state, evolution and proactive service each start off. Shared spaces require a compatible Core, account and explicit linking. Group members can use linked private-chat memory and see group replies. Model keys and computer grants are not memory-sync data.
Apps, Gamma and MCP need actual credentials or authorization; verify tools after connection. External writes follow local approval settings and existing app grants. Acceptance on users’ Windows devices, live channels and multiple physical devices remains pending. Read the 30 lessons in both languages and four shells.
Native CLI subscriptions, with the right billing route
Alibaba Token Plan and Volcano Coding Plan are currently gray and unavailable. Alibaba Coding Plan retains a separate entry and still requires verification with your own account. Ordinary API and subscription credentials are not interchangeable. A fallback never silently changes the billing endpoint. Native Koder is the default; the internal fallback is disabled and gray.
- Alibaba Token Plan (unavailable; endpoint identifies saved profiles):
https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1, with the key issued for that Token Plan. - Alibaba Coding Plan:
https://coding.dashscope.aliyuncs.com/v1, with its own Coding Plan key. It is a separate product. - Volcano Coding Plan (unavailable):
https://ark.cn-beijing.volces.com/api/coding/v3. Useark-code-latestto follow the console selection.
Your console determines models and quota. Explicitly run koder model test --tools to check continuation; it calls the API and may cost money. Full setup guide.
Optional features, with the full privacy text included
Use koder privacy consumer for the complete CLI consumer terms and koder privacy statement for the privacy statement. The complete official consumer originals are retained too, with desktop and CLI behavior distinguished.
Full CLI consumer privacy terms · CLI privacy statement · Chinese terms · Original sources and hashes
Say that you want to give feedback, or run koder feedback, for info@karmenloop.com and a blank template. Koder does not send email, logs, or chat history automatically.
Six seconds for a little celebration
koder celebrate offers code rain, confetti, fireworks, Christmas, Halloween, National Day, New Year, and birthday effects. They last about six seconds; any key skips. Enter leaves the menu. Scripts and JSON never animate.
Supported holidays receive one greeting on the local date. Automatic effects are a separate choice, and you can add your own annual occasion. A birthday stores only a confirmed month and day. Music and IP country lookup are off by default and confirmed separately. Chinese and English wishes come from the KARMEN LOOP team.
The default melody is generated locally. If a browser blocks autoplay, press Play; Koder does not bypass that policy or keep opening tabs. Your chosen language and enabled local language counts outrank the weak IP-country hint. koder celebrate auto off and koder celebrate music off turn off the corresponding features.
The tutorial now has 30 lessons, including subscriptions, MiMo tool continuation, privacy, feedback, and celebrations. Read the full tutorial.
Integration status and smart approval
Kimi and DeepSeek are temporarily unavailable. Retained protocol fixtures and recovery code do not mean these entries work. Re-enablement requires separate acceptance.
Smart approval runs low-risk checks and ordinary project edits automatically. Sensitive prompts offer one-time approval, Always allow, or full access. Inspect with koder permissions execution status. Save full access for this project with koder permissions execution full --confirm FULL; explicitly add --scope profile for all projects. Use koder permissions execution reset to revoke all execution settings. Full access can run code, modify/delete files and use authorized apps; it cannot supply passwords or grant OS access. Permissions stay on this computer and are never memory-synced.
Personal use and company licensing
New CLI distributions adopting Koder-EULA-1.1 are free for personal, noncommercial use. Commercial use, paid client work and organizational deployment require separate written authorization. The personal license grants no secondary development or proprietary code-modification rights. Earlier distributions and third-party components retain their own licenses.
The local KARMEN LOOP task kernel connects plans, permission checks, tools and saved results. Public descriptions cover capabilities without publishing private development source.
Company licensing + dedicated private repositories: info@karmenloop.com. A separate written agreement defines users, deployment, repository contents, maintenance, support and any development rights. An inquiry does not provision a repository or grant commercial rights.
Find Koder useful? An optional GitHub star helps others discover it. Skip freely; it never affects access.
Local private collections let Koder find skills and templates on demand. Model access is off by default; explicit authorization allows selected excerpts to reach the configured model. Original collections are excluded from public packages and the website, and bundled scripts never run on import. See private collection controls or run koder business for licensing inquiries.
The official encrypted reference library retrieves selected workflows without preloading the full library. Its first edition contains 1,004 licensed Koder adaptations, with required third-party notices. Search keywords and resource IDs reach the official service; keep queries free of private data. Disable with KODER_REMOTE_RESOURCES=0. Read the retrieval and privacy guide.