An AI-native IDE for running and repairing infrastructure: chat, an agent that proposes changes before it makes them, and terminals across your whole fleet at once.
Download the installerWhat you are downloading
Verify it
9232455E9D82E8316FE11E03394995075C17B299B693AB2C310096F530CA4DBA
Check yours with Get-FileHash .\KodarrSetup.exe -Algorithm SHA256 in PowerShell.
If it does not match, do not run it, tell us instead.
Before you run it
Why it warns
Code signing is deliberately deferred for this round. The certificate is real work and it was not worth blocking testers on, so it is weeks out rather than forgotten.
The publisher line is the one part of an unsigned install you can actually verify, because it comes from inside the file, alongside the version.
Using it with a coding agent
Connect a server in Kodarr and press Lend. Kodarr writes an
AGENTS.md into your workspace naming the SSH alias, plus a
CLAUDE.md pointer for Claude Code, which reads only that file. Both are removed
when you revoke. Codex, Claude Code and Kilo will then know the node exists and how to
reach it without you naming anything.
They read it when a session starts. An agent already running when you lend will not see it, will tell you there is no remote environment, and will look broken. Start it afterwards.
Tell it “the connected server”, “the router”, “the switch”, whatever the device is. It should not need the alias.
Letting an agent act, not just read
Beyond reading, an agent can run commands on a lent node through Kodarr, where a change of state is shown to you for approval before it happens. On the first lend Kodarr registers itself with the agents it knows: Claude Code, Codex, Kilo and Cline. You configure nothing. Kodarr: Remove Agent Integrations in the command palette undoes it.
Using a different agent? Kodarr writes a launcher on first lend at
~/.kodarr/mcp/kodarr-mcp.cmd (a .sh on macOS and Linux). Point any
MCP-capable tool at it. Most read a workspace .mcp.json, which is the standard
form and which Kodarr already writes:
{
"mcpServers": {
"kodarr": {
"command": "<path to kodarr-mcp.cmd>",
"args": ["your-tool"]
}
}
}
The one line to add anywhere else is that same command and argument, in whatever shape your tool’s MCP config takes. Universal does not mean Kodarr guesses every tool’s config path; it means every tool has a route, and the launcher is it.
Cline is a special case worth naming, because its config is one global file
rather than a workspace one. When you run Cline inside Kodarr, Kodarr writes that file
for you. Running Cline in a separate editor, add the same launcher command and the argument
cline to that editor’s own cline_mcp_settings.json. It is the
same one line, in the file Cline already keeps.
A weak model will do weak things in any agent: skip its own approval step, write a local file when you asked about a remote one, stall on empty replies. That is the model, not Kodarr. What Kodarr guarantees is the boundary underneath: a change to a server is shown to you before it runs, and a command it cannot analyse is refused rather than guessed. A confused agent stays confused on your screen; it does not get to be confused on your server.
Tell us what broke
Anything at all: a crash, a wrong answer, a button that does nothing, or a thing that was simply annoying. Rough notes are more useful than none.