A terminal coding agent with MiniMax, your own models, and tools beyond code.
Important
This is a community fork of MiniMax-AI/minimax-code maintained at
tournierjc/kinetick-code. It merges upstream regularly and enforces
fork-specific boundaries (no telemetry, no managed-service clients — see Network egress).
The official filecdn.minimax.chat one-command installer and the public @minimax-ai/code npm package deliver
upstream builds — they do not contain this fork's changes. To run this fork, install the verified archive from
fork Releases or build from this source. See
docs/releasing.md#fork-release-process-tournierjckinetick-code for how releases are produced.
Renamed: this fork was tournierjc/minimax-code-fork and its command was mcode. GitHub redirects the old
URLs, but the current command is kcode and release archives are named kinetick-code-<version>.tar.gz.
An mcode launcher from an earlier install keeps working until you install a current archive; see
installation.
Get started · Documentation · Examples · Contributing
English · 简体中文
Understand a project, make changes, and run tests from your terminal. Use your MiniMax account or bring your own model, with search, plugins, and multimodal tools in the same workflow.
Watch the 20-second demo → · Real terminal output, with pauses shortened
This fork — GitHub Release archive (recommended). Download the archive and checksum from the
latest fork release, verify the checksum, and install
with npm. Node.js 22.19+ (22.x), 24.2+ (24.x), 25, or 26 is required; npm still needs network access to public
npm for runtime dependencies. For a vX.Y.Z release:
# Linux; on macOS use: shasum -a 256 -c kinetick-code-X.Y.Z.tar.gz.sha256
sha256sum -c kinetick-code-X.Y.Z.tar.gz.sha256
npm install --global ./kinetick-code-X.Y.Z.tar.gz --registry=https://registry.npmjs.org/ --include=optional --ignore-scripts=false --allow-scripts=better-sqlite3
kcode --versionThe archive passed the full CI verification and npm-install checks on Linux and macOS across the supported Node lines before publication, and its release notes carry the source commit and SHA-256. See install a fork release archive and fork release process.
Alternative — build from this source. See Build from source below.
Upstream channels (not this fork). The official installer and public npm package track upstream only:
- macOS / Linux / WSL:
curl -fsSL https://filecdn.minimax.chat/public/install.sh | bash - Windows (PowerShell):
irm https://filecdn.minimax.chat/public/install.ps1 | iex - npm:
npm install -g @minimax-ai/code@latest --registry=https://registry.npmjs.org/ --ignore-scripts=false --include=optional --allow-scripts=@minimax-ai/code,better-sqlite3
These install into ~/.minimax-code (POSIX) or %USERPROFILE%\.minimax-code (Windows) with launchers bin/kcode /
bin/mcode-tools. Use them only when you explicitly want an upstream build without this fork's changes; installing
through them replaces a fork installation. The built-in updater installs this fork's releases only, see
Updating. See Uninstall to remove the CLI.
Reopen your terminal and check the installation:
kcode --version
kcode --helpSee the official quick start, features, and troubleshooting.
For a mainland China account:
kcode loginFor a Global account:
kcode login --region globalComplete sign-in in your browser, then open kcode and use /status to check your account and /provider to choose a model. Run kcode logout to sign out.
Token Plan requires an account with available credits. Builds from this repository and the published npm CLI @minimax-ai/code@0.4.12 default to ~/.minimax for user data (or ~/.minimax-<profile> when a profile is selected). MINIMAX_DATA_DIR or MAVIS_DATA_DIR can override the data directory. The installer's ~/.minimax-code installation directory is separate from this choice. See Accounts and data before locating or removing configuration and sessions.
Use your own API key (BYOK)
BYOK does not require a MiniMax login. Set MCODE_PROVIDER_API_KEY in your current shell, then add a provider. Replace the example URL and model name with your provider's values:
kcode provider add --name my-provider --base-url https://example.com/v1 \
--api-format openai-completions --model my-model \
--api-key-env MCODE_PROVIDER_API_KEY --use
kcode--use tests the first listed model before saving and selecting it. A failed connection test saves nothing. Omit --use to save without testing or changing the default model. For custom/local models, add --context-limit 32768 --output-limit 4096 (use your server's actual limits). Each value must be a positive safe integer and applies to every repeated --model. Inspect configured limits with kcode provider list --json. Omitting these flags preserves the existing model-limit defaults.
Supported API formats: openai-completions, openai-responses, and anthropic-messages. An endpoint that needs no authentication — a server you run locally, typically — is a provider without a key: omit --api-key-env, leave MCODE_PROVIDER_API_KEY unset, and the connection is stored with no credential, so no request to it carries one. See the model examples for environment variable setup, connection checks, and model overrides for a single run.
Open the project you want to work on:
cd /path/to/your/project
kcodeDescribe your task in the TUI, or submit it directly when you launch KCode:
kcode "Find a failing test, fix the implementation, and run the relevant tests."Use kcode init . to generate or update project guidance in AGENTS.md. Describe the expected result, allowed changes, and how to verify the task.
| Entry point | Command | Use it for |
|---|---|---|
| Interactive TUI | kcode [prompt] |
Explore code, continue a conversation, and review changes or permissions. |
| Headless | kcode exec [prompt] |
Shell scripts, CI, batch work, and evaluations. |
| ACP | kcode acp |
Editors and clients supporting Agent Client Protocol. |
See harness integration for the exec and ACP
contracts a script, CI job, or client depends on: output formats, exit codes,
session continuation, and how approvals are answered.
# Resume the latest session in the current workspace
kcode --continue
# Open the session picker
kcode --sessionInside the TUI, use /sessions to find previous sessions and /help to see all commands and shortcuts.
| Action | Shortcut |
|---|---|
| Send a message or steer the running task | Enter |
| Queue a follow-up while a task is running | Alt+Enter |
| Insert a newline | Shift+Enter |
| Reference a workspace file or directory | @ |
| Toggle Plan Mode | Shift+Tab |
| Switch permission modes | Alt+M |
| Close a panel or interrupt a running task; interrupting before the model replies returns the message to the composer | Esc |
Close running KCode sessions, including editor integrations, before uninstalling. First locate the command with command -v kcode (macOS / Linux / WSL) or Get-Command kcode -All (PowerShell), then follow the matching installation method below. The current official install scripts do not provide an uninstall flag.
The commands below remove the default installation directory, including both launchers, downloaded releases, and any installer-managed Node.js runtime. If you used MCODE_INSTALL_DIR, substitute the actual installation directory. Inspect it first: earlier source builds used ~/.minimax-code for user data, and a custom data directory can overlap the installation. Back up any configuration or sessions you want to keep before deleting it.
macOS / Linux / WSL
rm -rf -- "$HOME/.minimax-code"Remove the # Kinetick Code CLI comment and its following PATH line from the shell file the installer updated: ~/.zshrc for zsh; the first existing file among ~/.bashrc, ~/.bash_profile, and ~/.profile for bash (or a newly created ~/.bashrc); ~/.config/fish/config.fish for fish; or ~/.profile for other shells. The line is export PATH="/absolute/install/path/bin:$PATH", or fish_add_path -g "/absolute/install/path/bin" for fish. Remove only the KCode entry, preserving other PATH settings. The installer skips this edit when MCODE_NO_MODIFY_PATH is set or the path is already present.
Windows (PowerShell)
Remove-Item -LiteralPath "$env:USERPROFILE\.minimax-code" -Recurse -ForceOpen Edit environment variables for your account, edit the user Path, and remove only the installation directory entry (by default %USERPROFILE%\.minimax-code, which may appear as an expanded absolute path). The Windows installer updates the user Path, not the PowerShell profile; MCODE_NO_MODIFY_PATH skips that persistent update.
For a global npm installation, use the same npm installation/prefix you used to install KCode:
npm uninstall -g kinetick-codeAn installation made before this product took its own name is @minimax-ai/code; uninstall that one the
same way if it is still on disk.
For a source build, save any work and remove only the checkout you created; see Update or remove.
After uninstalling, reopen your terminal (fully restart the editor for integrated terminals) and run command -v kcode or Get-Command kcode -All again. No result means the command is no longer on PATH. If another copy appears, identify its installation method before removing it.
Removing the program leaves separately stored user data in place. To also delete local login state, provider configuration, caches, and sessions, first confirm the selected directory using Accounts and data and back up anything you need. Other KCode installations can share this directory. For the default ~/.minimax directory only:
# macOS / Linux / WSL — permanently deletes the default user data
rm -rf -- "$HOME/.minimax"# Windows — permanently deletes the default user data
Remove-Item -LiteralPath "$env:USERPROFILE\.minimax" -Recurse -ForceA profile uses ~/.minimax-<profile>; MINIMAX_DATA_DIR or MAVIS_DATA_DIR can select a different location. Remove only the specific directories you intend to discard, without wildcard deletion. Remove any KCode-specific environment variable assignments you added to shell profiles or user environment settings if you no longer need them.
This fork ships no telemetry and no managed-service client, and it decides every
outbound connection before opening a socket. By default the MiniMax
managed-service and reporting hosts are refused; loopback and the model
endpoints you configured stay reachable. Use MCODE_EGRESS_MODE=allowlist to
reach only loopback, your providers, and MCODE_ALLOWED_ORIGINS. See
docs/egress-policy.md.
| Task | Capabilities |
|---|---|
| Edit and verify code | Read files, inspect diffs, run shell commands and tests, and control tool execution with permissions and sandboxing. |
| Choose your model | Use a MiniMax account / Token Plan, or custom providers with OpenAI- or Anthropic-compatible API formats. |
| Search and work with media | Use built-in search, mcode-tools media tools, MCP, and managed connectors, subject to account access and service credits. |
| Keep work moving | Resume sessions, plan tasks, use subagents, and extend the agent with official, local, or GitHub plugins and built-in skills. |
| Connect your workflow | Run scripted tasks with the headless CLI, or connect compatible editors and clients through ACP. |
Account features, updates, feedback, and diagnostics are also included. Managed tools require network access and the relevant authorization. See capabilities and service boundaries for details.
Start the TUI in a copy of the example project and enter:
Read clamp.mjs and clamp.test.mjs. Run node --test to reproduce the failure, fix clamp without changing the tests, then run the tests again.
The small, reproducible project is the same task used in the demo above. More examples cover switching models, calling real search, and using your own image inputs.
To develop KCode or run this fork's source, clone this repository (not upstream) and use Git, Node.js 22.19+ (22.x), 24.2+ (24.x), 25, or 26, and pnpm 9.12.0. On Windows, keep the checkout on a local NTFS volume and outside cloud-synced folders; the preflight command below checks the volume before pnpm creates workspace links.
git clone https://github.com/tournierjc/kinetick-code.git
cd minimax-code
node scripts/check-windows-source-location.mjs
pnpm install --frozen-lockfile
pnpm build
pnpm kcodeThe first build requires an internet connection. Dependencies and the integrity-checked mcode-tools bundle come from public npm. See the source installation guide for pnpm setup, system dependencies, and updates.
From the source directory, use pnpm kcode in place of kcode in the examples above. To work on your own project, open its directory and launch the built CLI:
node /absolute/path/to/kinetick-code/dist/cli.jsThis repository targets the 0.4.12 source preview. Installing the published package and building this checkout are separate paths. Matching versions do not prove identical build provenance; see the version and evidence baseline.
- Installation and updates · Examples · TUI status line
- Contributor guide · Report a bug or propose an idea · Report a security issue
- All documentation: architecture, capability coverage, verification records, source synchronization, and release preparation.
English is the primary documentation language. The Chinese README mirrors this page.
For now, code and documentation pull requests are accepted only from repository collaborators. If you are not a collaborator but have an idea or proposal, please open an issue so we can discuss it. Remove secrets, account details, and private project content from reports.
Download for macOS or Windows · Report a problem or ask a question
This repository also hosts issue reporting for the Kinetick Code desktop app. The published source covers the terminal TUI, headless CLI, and ACP; it does not include the desktop application's source. Select the affected product when filing an issue. For a desktop bug, include the app version, operating system, and a log upload ID if available from Settings → General → Upload logs. For a CLI bug, include kcode --version, your interface, and a minimal reproduction. Remove credentials and private project content from reports.
First-party code defaults to MIT. Existing file-level and package-level licenses remain in place. See third-party notices and license status for dependencies, assets, and mcode-tools.
