Lanes
GitHub

Agents · Kilo Code

Kilo Code for teams, without collisions

In shortRun lanes init --agents kilo in your repository and commit the result. Lanes writes .kilo/plugin/lanes.js so that every Kilo Code edit is committed as you and published to a shared branch, after waiting for any teammate editing the same file. Add lanes mcp to Kilo Code so its agent can read the team brief and check a file before touching it.

Updated 2026-11-12 · Lanes 0.3.0 · Source on GitHub

Kilo Code on a team

Kilo Code runs agent modes inside the editor. When a team shares a repository, each person's Kilo agent works blind to the others. When two people's agents work in the same repository, one can overwrite the other's change in a shared file, or write new code against a function the other is renaming. Git shows the damage later, at merge time, after both agents have finished.

Lanes connects every agent on the team to one coordination server. Kilo Code gets heads-ups about teammates' changes, and the rest of the team's agents see what Kilo Code is changing.

What Lanes installs for Kilo Code

Kilo Code uses opencode's plugin API, so Lanes installs a plugin in .kilo/plugin/lanes.js that coordinates each edit: it waits for a teammate's edit of the same file, then commits and publishes.

The file is committed with lanes init, so every teammate gets it when they pull. lanes off removes only the Lanes entries and leaves your own settings alone.

WhatKilo Code with Lanes
Edits wait for a teammate's edit of the same fileYes
Each edit committed as you and published to lanes/mainYes
Team brief added to each promptNo, use the MCP tool team_brief
Heads-up before reading a teammate's fileNo
Check at the end of a turnNo
MCP team toolsYes

Set it up

  1. Get Lanes: git clone https://github.com/mfmatozza/lanes && cd lanes && npm ci && npm run build. The commands below write lanes for node /path/to/lanes/dist/lanes.cjs.
  2. In your repository, run lanes init --agents kilo and push the commit it makes.
  3. Turn on shared context once per repository: lanes team on, then commit .lanes/team.json.
  4. Add the MCP server to Kilo Code:

Add this to ~/.config/kilo/kilo.jsonc:

{ "mcp": { "lanes": { "type": "local", "command": ["node", "/path/to/lanes.cjs", "mcp"], "enabled": true } } }
  1. Check the machine with lanes doctor.

Working alone, the first session starts a local Lanes server. For a team, one person runs lanes server --host 0.0.0.0 and invites the others with lanes invite <name>.

Things to know about Kilo Code

  • Restart Kilo to load the plugin.

Status

Built from Kilo Code's published documentation and covered by Lanes' automated tests. It has not yet been run against the real Kilo Code. Issues and reports are welcome.

Mixed teams work: one person can use Kilo Code while teammates use Claude Code, Codex or Cursor. Every agent reports to the same server, so the brief and the heads-up name each teammate's task whatever agent they run.

Questions

How is this different from the opencode plugin?

It is the same plugin, written to Kilo's folder, because Kilo uses opencode's plugin API.

Do I need to restart Kilo?

Yes, once, after lanes init.

Where does the MCP config go?

~/.config/kilo/kilo.jsonc, in the mcp section.