Repository navigation
Releases: cjber/kiln
Release list
kiln v0.15.0
- A live dashboard of every session.
kiln dashboardserves a page on 127.0.0.1 that shows each running session's progress: sessions running and finished, a bar per project split into Working, PR failing, PR checks running, PR green and Done, the checks of every open pull request, and a table of every session with its uncommitted files. It updates itself every few seconds without reloading, and reads pull requests from GitHub at most once a minute per branch, in the background.
kiln v0.14.1
- Only sessions kiln can open are listed. A session running in a terminal kiln cannot reach, such as a plain terminal or another tmux server, no longer shows up as a row that only says to open it in its terminal. It still comes back as
stoppedafter a restart, since that row resumes in kiln.
kiln v0.14.0
- Running agents can message each other.
kiln msg listshows every running session an agent can reach,kiln msg sendmessages one or all of them, andkiln msg inboxreads what could not be delivered. Kiln puts a message in front of an OpenCode, Pi, Codex or kiln-started Claude session as a new prompt that names the sender and how to reply, and waits until a session is idle before typing into it. The newkiln-agentsskill teaches agents to use it. - Agents can install kiln's skills without running kiln.
npx skills add cjber/kilnand the Claude Code plugin (/plugin marketplace add cjber/kiln) now installkiln-configandkiln-skills, which moved toskills/.kiln --helpand kiln.cjber.dev point agents to them, and the site serves anllms.txt. - A closed OpenCode session that is still running stays in the list. Closing a session archives it in OpenCode, which hides it, so anything the service kept doing afterwards had no row left and spent without anyone seeing it or stopping it. A conversation the service is still working on is now listed whatever its archive state, so it can be watched, opened or interrupted.
kiln v0.13.4
- A Claude session waiting on a background command is idle. Claude reports a session whose turn has ended while a shell it started keeps running as busy, so kiln listed it as working. Kiln now reads that session's own status record and lists it as idle until its next turn.
- Claude cloud sessions show working and needs input. Kiln matched Claude's cloud worker states against names Claude does not send, so a running cloud session showed no status and one asking for input was not flagged. It now reads
running,requires_actionandidle. - A crashed Claude background job stays listed. A job that crashed disappeared from the list. It is now shown as stopped, and opening it attaches to read what happened.
- Codex servers are not listed as sessions. A Codex app server started with an option before its subcommand, such as the one the ChatGPT desktop app runs (
codex -c ... app-server), was listed as a Codex session with no title or status. Kiln now skips option values when it reads the subcommand.
kiln v0.13.3
- OpenCode status costs almost nothing to read. kiln asked OpenCode's background service for each session's state by starting
opencode api, two calls per refresh plus two for every working session, about 0.15 s of CPU each. It now sends those requests straight to the service on this machine, so the list and the phone server no longer keep a core busy while OpenCode sessions run.
kiln v0.13.2
-
OpenCode on the phone needs no pairing. "Open in OpenCode" signs the phone's browser in through kiln's own address and lands on the session, so
kiln setupno longer prints a second QR code and the sign-in no longer runs out after 30 days. Each link works once, for 15 minutes. The phone app needs this release too. -
Sessions show the worktree they work in. An agent started in one checkout and working in a worktree was listed under the checkout it started in, with that checkout's branch, so most rows said
main. The list, the footer and the phone now show the checkout of the agent's latest file edit orcd, and its branch. Claude and OpenCode sessions are read this way; Codex already reported its own. Opening or resuming a session still starts it where it began.
kiln v0.13.1
- The phone server's address explains itself in a browser. Opening it showed
{"error":"Device is not paired"}, which read as a lost pairing. It now says it is the kiln phone server, that sessions are in the phone app, and thatkiln pairadds a phone.
kiln v0.13.0
- OpenCode sessions open on the phone.
kiln setupserves OpenCode's web UI on your tailnet and prints a QR code that signs the phone's browser in once. OpenCode rows then get an "Open in OpenCode" button that goes straight to the session. The Android app accepts these links only for the machine it paired with, so it needs this release too.
kiln v0.12.3
-
The phone server rests while no phone is watching.
kiln servelooked for sessions every two seconds whether or not a phone was connected, starting the Claude, OpenCode and kitty command-line tools each time, which kept about one CPU core busy. With no phone connected it now looks once a minute, enough to remember running sessions across a restart, and goes back to every two seconds as soon as the app opens. -
kiln servekeeps pairing codes out of the service log. Run as a service, it prints where the phone server is and thekiln paircommand for that address; the invitation and QR code appear only when it runs in a terminal. -
The footer shows relative time. The selected session's hint says "updated 2m" like the list, instead of a raw ISO timestamp.
kiln v0.12.2
-
The phone app looks like the terminal list. It is always dark, uses the terminal's colours and a monospace font, and shows each session as one line: the agent name in its colour, the title in its status colour (yellow needs input, green ready or completed) and the age in grey. Swiping to hide no longer leaves a green band behind every row.
-
A hidden session comes back when its status changes. Hide a long job while it works and it returns to the list once it finishes, stops or needs input, along with its parent and helpers. Losing sight of it for a moment does not count as a change.
-
The phone says when Tailscale is off. If no VPN is running, the list and the pairing screen say Tailscale is off and offer an Open Tailscale button, and the app reconnects as soon as it comes on. When Tailscale is on but the computer does not answer, it says to check that the computer is awake and
kiln serveis running. -
Pairing help names the right commands. The pairing screen points to
kiln setupfor the first phone andkiln pairfor another.