-
released this
2026-08-20 07:56:48 -04:00 | 196 commits to main since this releaseevilcode v1.1.0 — persistent daemon, detached TUI, in-TUI start page
This is the first feature release on the 1.x line. The agent loop, tool surface, and session model are unchanged; what changed is how a session is hosted and how you reach it. The daemon now owns long-running sessions and the TUI is a thin client that attaches, detaches, and re-attaches to them.
What changed
A persistent daemon, separate from the TUI
- The daemon owns the session and any running turn; the TUI is a client that attaches to it. Quitting or detaching a client leaves the agent running — you re-attach later and the turn is still going.
- Remote attach state is synced to late-joining clients, and hidden prompts are tracked across the client/server protocol, so a client that attaches mid-turn sees the same state as one that was there from the start.
evilcode servehosts sessions on a socket;evilcode attach [session]connects a TUI to one;evilcode run --remote "…"submits into a running daemon. The standaloneevilcode/evilcode run -localpath still works without a daemon.- The protocol display version is shared by both frontends from a single
buildinfopackage.
In-TUI start page
- The resume window is replaced by an in-TUI start page. It lists recent and running sessions with a live preview of the selected session's most recent turns, a real message count, and stable ordering; selection follows the session you launch.
- The empty greeting packs at the top so the composer hugs it and the rows below stay blank — which is where the slash palette floats when it opens.
Ctrl+C detaches without stopping the agent
- Two Ctrl+C presses detach this window from the server: the client quits and the session (and any running turn) keeps going on the daemon. A single press only arms the second; Esc or typing clears it. Esc remains the way to stop a runaway agent.
TUI and operational polish
- Opening the slash palette never moves the transcript — the overlay splices in below the composer rather than being forced above it and covering the status line (plan.md §5.2 invariant, guarded by
TestPaletteReservesNoLayoutHeight). - Probe coverage and terminal goldens were refreshed for the v1.1.0 server/client header, the new start page, and the daemon/TUI separation, so visual regressions stay easy to catch.
Install or update
Fresh install:
curl -fsSL https://evileko.dev/evilcode | shExisting installations can update in place:
evilcode updateSource builds require Go 1.26 or newer. This release publishes the Linux/amd64 binary
evilcode-linux-amd64.Verification
go test ./...go test -race ./...go test -tags probe ./probe/...go vet ./...
SHA-256 for
evilcode-linux-amd64:04c645dd8d73686353594baef198dd0adf21dfd1c4583f36acc9905c5ca8b476Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads