Terminal session list

One list for your agent sessions.

kiln opens native Claude, Codex, OpenCode and Pi terminal sessions and pairs with an Android phone. Each agent keeps its own terminal interface. kiln discovers the sessions, reads their status and gives you one place to find them.

  • Claude
  • Codex
  • OpenCode
  • Pi
$ paru -S kiln-agents-bin
# or: paru -S kiln-agents
$ bun install --frozen-lockfile
$ bun start
kiln's list showing Claude, Codex and OpenCode sessions grouped by directory, with working, needs input, ready and completed statuses
Sessions grouped by directory and task, with the provider's status and the time since its last update. Open full size.
  • Needs input
  • Ready
  • Working
  • Directory
01

Install

Arch, or from source with Bun

Arch package

The AUR package, from a terminal.

paru -S kiln-agents-bin # standalone binary
# or: paru -S kiln-agents # Bun source package

From source

Install Bun, fzf and tmux first, then:

bun install --frozen-lockfile
bun start

Install Claude Code, Codex CLI, OpenCode or Pi, and sign in through each provider's own CLI. Native commands and their arguments can be overridden in settings.

02

What it does

Native agents, one view

01

Keeps each agent's own TUI

Claude and Codex keep their terminal interfaces for messages, prompts and approvals. kiln opens them and steps back, without starting a second agent.

02

Status from the provider

kiln reads each provider's own status updates. Terminal output never establishes activity, and activity it cannot read stays unknown rather than guessed.

03

Grouped, filtered and counted

Sessions sit under their directory, with child sessions collapsed. The header counts input requests even when children are closed. Filter by title, directory, agent or status.

04

Survives a restart

Sessions running in a terminal stay in the list as stopped after a restart. Enter resumes the conversation in a new kiln session in the same directory.

05

Read-only cloud tasks

Codex Cloud tasks and optional Claude cloud sessions keep their provider status and verified HTTPS links. They cannot be closed or prompted from kiln.

06

Settings in one file

Press s to edit ~/.config/kiln/config.toml. Choose the sort order, the detach key, which agents appear and whether cloud listings are on. Unknown keys are errors.

03

Shared skills

Press S in a selected project to manage the skills your agents share. n creates a skill and opens SKILL.md in $EDITOR, and Enter edits it.

Conflicting content is backed up before repair, and kiln does not overwrite unowned same-name skills. The skills view shows what is shared, missing or in conflict.

kiln ships its own skills for agents: kiln-config changes its settings and kiln-skills repairs shared skills. kiln syncs them at start, or install them first with npx skills add cjber/kiln. Agents can read llms.txt for the short version.

kiln's shared skills view listing deploy and review, with shared, conflict and missing states for Claude and Pi
Shared skills, with each agent's state and where the skill comes from. Open full size.
04

On your phone

Android over Tailscale

The Android app lists native sessions and cloud tasks. Opening a linked session goes through the provider's installed app or browser using verified HTTPS links. Pair a phone with kiln setup, or with kiln pair for another device.

kiln on Android: sessions grouped by directory with status labels and branch names
Every session, with status and branch.
Session details on Android with an Open in Claude button
Details, then a handoff to the provider.
Pair with kiln screen on Android offering a QR scan or a pairing invitation
Pair once with a QR code or invitation.

Pairing invitations expire after five minutes and work once. Sign in to Tailscale before running kiln serve. OpenCode sessions open in OpenCode's own web UI on your PC, reached over Tailscale. The APK is on the releases page; add the repository to Obtainium for updates.

05

Keys and commands

The short version

Key Action
j k, arrowsSelect a session
EnterOpen a session or cloud task
nChoose an agent, then a directory through fzf
/Filter titles, directories, agent names and status
TabExpand children
oCycle list order
xClose a kiln-owned session after confirmation
sEdit settings
SOpen shared skills
rRefresh
qQuit the list

New sessions run inside kiln's private tmux server. Ctrl+Q returns to the list and leaves the session running.

  • kiln setup

    Installs a user service that survives reboots, configures Tailscale Serve and prints a pairing QR.

  • kiln serve

    Runs the phone server in the foreground until the terminal closes.

  • kiln serve --origin https://your-machine.example

    Uses your own HTTPS tunnel instead of Tailscale Serve.

  • kiln serve --local

    Listens on localhost only, without tunnel setup or a printed invitation.

  • kiln pair

    Generates another invitation while the server is running. The origin defaults to this machine's Tailscale HTTPS name.

  • kiln devices

    Lists paired devices.

  • kiln revoke <device-id>

    Disconnects a phone without affecting agent sessions.

  • kiln skills list

    Lists shared skills. Also: kiln skills share <name> and kiln skills sync.

Settings, sort orders, cloud behaviour, the phone server and the full verification steps are in the README. That is the place for anything not covered here.

Read the README