Skip to content

Releases: cjber/kiln

kiln v0.15.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 17:35
v0.15.0
2e183f2
  • A live dashboard of every session. kiln dashboard serves 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

Choose a tag to compare

@github-actions github-actions released this 03 Nov 12:08
v0.14.1
64abe10
  • 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 stopped after a restart, since that row resumes in kiln.

kiln v0.14.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 12:01
v0.14.0
077e8cf
  • Running agents can message each other. kiln msg list shows every running session an agent can reach, kiln msg send messages one or all of them, and kiln msg inbox reads 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 new kiln-agents skill teaches agents to use it.
  • Agents can install kiln's skills without running kiln. npx skills add cjber/kiln and the Claude Code plugin (/plugin marketplace add cjber/kiln) now install kiln-config and kiln-skills, which moved to skills/. kiln --help and kiln.cjber.dev point agents to them, and the site serves an llms.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

Choose a tag to compare

@github-actions github-actions released this 02 Nov 12:54
v0.13.4
e0220e7
  • 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_action and idle.
  • 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

Choose a tag to compare

@github-actions github-actions released this 02 Nov 12:29
v0.13.3
dbb481a
  • 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

Choose a tag to compare

@github-actions github-actions released this 02 Nov 12:09
v0.13.2
542e5b1
  • 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 setup no 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 or cd, 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

Choose a tag to compare

@github-actions github-actions released this 02 Nov 11:44
v0.13.1
4892d7f
  • 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 that kiln pair adds a phone.

kiln v0.13.0

Choose a tag to compare

@github-actions github-actions released this 02 Nov 11:23
v0.13.0
2df0776
  • OpenCode sessions open on the phone. kiln setup serves 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

Choose a tag to compare

@github-actions github-actions released this 02 Nov 11:06
v0.12.3
050f231
  • The phone server rests while no phone is watching. kiln serve looked 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 serve keeps pairing codes out of the service log. Run as a service, it prints where the phone server is and the kiln pair command 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

Choose a tag to compare

@github-actions github-actions released this 02 Nov 10:31
v0.12.2
d87368e
  • 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 serve is running.

  • Pairing help names the right commands. The pairing screen points to kiln setup for the first phone and kiln pair for another.