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
B080556A7C53D1B1AEE5044A1F52D1D8734436D43CF426F3772D974D5CE4E01F
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 and Kilo. 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.
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.