Coding
ACP
This tutorial configures Kimchi as an ACP (Agent Client Protocol) agent in your IDE — letting JetBrains and VS Code spawn Kimchi natively, with full tool call support, file edits, and smart model routing built in.
No provider URL configuration. No custom extension logic. Just Kimchi running as a first-class agent in your editor.
Overview
By the end of this tutorial, you'll have Kimchi available as a native agent in your JetBrains IDE or VS Code, selectable from the agent picker and ready to use without any additional configuration.
This tutorial is intended for developers familiar with command-line tools and JSON configuration files.
Prerequisites
Before starting, ensure you have:
- A Kimchi API key — Go to Kimchi → API Keys and click Create API key. Copy the key and store it securely.
- Kimchi harness v0.0.7 or later — Run the update command:Confirm your version:bash
kimchi updatebashkimchi --version
Step 1: Find your binary path
ACP configuration requires an absolute path to the kimchi binary. Run:
which kimchiThe path is usually ~/.local/bin/kimchi. Copy the full output — you'll need it in the next step.
Step 2: Register Kimchi as an ACP agent
JetBrains (IntelliJ, GoLand, PyCharm, WebStorm, ...)
Open or create your acp.json configuration file and add the following:
{
"agent_servers": {
"kimchi": {
"command": "/Users/YOUR_USERNAME/.local/bin/kimchi",
"args": ["--mode", "acp"],
"env": {
"KIMCHI_API_KEY": "YOUR_API_KEY"
}
}
}
}Replace command with the path from Step 1, and YOUR_API_KEY with the key you copied from the Kimchi console.
Restart your IDE for the configuration to take effect.
VS Code
Add the same block to your settings.json. Works with the Kimchi VS Code extension or any ACP-compatible VS Code extension.
{
"agent_servers": {
"kimchi": {
"command": "/Users/YOUR_USERNAME/.local/bin/kimchi",
"args": ["--mode", "acp"],
"env": {
"KIMCHI_API_KEY": "YOUR_API_KEY"
}
}
}
}OpenClaw
If you use OpenClaw as your AI assistant, you can register Kimchi as an ACP agent so it's available for coding sessions spawned directly from OpenClaw chat.
Add the following to your openclaw.json:
{
"plugins": {
"entries": {
"acpx": {
"config": {
"agents": {
"kimchi": {
"command": "/Users/YOUR_USERNAME/.local/bin/kimchi",
"args": ["--mode", "acp"],
"env": {
"KIMCHI_API_KEY": "YOUR_API_KEY"
}
}
}
}
}
}
}
}Replace command with the output of which kimchi, and YOUR_API_KEY with your Kimchi API key.
To set Kimchi as the default agent for all coding sessions, also add:
{
"acp": {
"defaultAgent": "kimchi"
}
}Once configured, you can spawn a Kimchi coding session from OpenClaw with:
/kimchiOr by asking OpenClaw to open a session in Kimchi.
Step 3: Start a session
Open your project, select Kimchi from the agent picker, and start chatting. Kimchi handles model routing automatically — no additional configuration needed.
MCP tools
Per-session MCP server registration is not supported in v0.0.7. Configure your MCP tools in Kimchi's config file before starting your IDE — they'll be available in all ACP sessions automatically.
Current limitations
This is an early release. The following features are not yet supported:
| Feature | Notes |
|---|---|
| Images and audio input | Non-text prompt blocks are silently dropped. You'll see a one-time warning in stderr. |
| Session persistence | Each session starts fresh. |
| Per-session MCP servers | Configure MCP tools via Kimchi's config file instead. |
| Non-text tool results | Tool outputs that are only images or resource blocks come through as completed with empty content. |
| Authentication RPC | authenticate() is a stub — returns {}. |
Troubleshooting
Kimchi doesn't appear in the agent picker
- Check that the
commandvalue is an absolute path —~/...won't work - Restart your IDE after editing the config
- Run
kimchi --versionin your terminal to confirm the binary is accessible
Connection errors
- Verify your
KIMCHI_API_KEYis correct - Confirm you're on harness v0.0.7+ (
kimchi update)
Tool results coming back empty
This is expected for tool outputs that return only images or MCP resource blocks — a known limitation in v0.0.7, addressed in an upcoming release.