Skip to content

Glossary

kndl (said “kindle”, written lowercase): multiplayer agentic sessions. A self-hosted platform where a team runs Claude Code sessions in sandboxes and works in them together from the web: each Session’s Creator drives it, and the team watches it live.

Infrastructure

Hub

The central server that people sign in to. It knows every Session, Runner and Participant, and relays prompts and events between them. Avoid: server, backend, dashboard

Runner

A host machine connected to the Hub that runs Sessions, each on its Creator’s Claude credential. Avoid: worker, agent, node, host

Sysinfo

What a Runner reports of its host every 30 seconds: free and total disk of the volume holding its data, memory, CPU cores, load, OS, architecture and uptime. The Runners page warns on a Runner’s row when the disk is under 10 GiB or a tenth free, and the row’s Monitor shows the latest, and the free disk, available memory and 1-minute load of the last 7 days as charts. Display only: a low disk never stops a Session from starting. Avoid: health check, heartbeat, metrics

Claude credential

A person’s own Claude subscription token, made with claude setup-token, stored write-only and encrypted on the Hub. The Sessions they create run on it, on any Runner, and nobody else’s prompts reach it. Avoid: login, Runner login, OAuth token, Claude key, API key

Pairing code

A short-lived, single-use code that lets a machine become a Runner of the Hub, or take over an existing Runner’s place after it is reinstalled. Using it gives the machine its own lasting credential, and the code is spent. Avoid: join code, invite, enrollment token

Sandbox

The isolated, disposable virtual machine in which all of a Session’s file and command work happens. It is booted from a Build of its Repo’s Environment. Avoid: container, VM

Open port

A TCP port listening inside a Session’s Sandbox, which its Runner notices while the Session is awake and reports with the process holding it. Avoid: service, endpoint

Forward

A kndl forward connection from someone’s machine to a Session, which makes each of its Open ports reachable on that machine’s localhost, 1:1, through the Hub. A connected Forward counts as presence in the Session. Avoid: tunnel, port mapping, proxy

Preview

An Open port made reachable in the browser on its own domain, for Participants. Avoid: port forward, tunnel

CLI token

The long-lived credential the kndl CLI signs in to a Hub with, made by kndl login and listed and revocable on its owner’s Account page. Avoid: API key, access token, session cookie

Release

A version of kndl, a dated tag on main such as 2026.10.1, with notes on what changed since the last one. A fix is always a new Release. Avoid: version (alone), build, tag

Channel

What an install of kndl follows: stable, the latest Release, or dev, the head of main. A Hub’s Runners run what the Hub runs, whatever Channel each machine was installed with. Avoid: track, branch, ring

Who gets in

Member

A person the Hub let in: its Owner, or someone who used an Invite. Only a Member can sign in, to the web UI or the CLI. Being one grants no Repo access: that is GitHub’s to decide. A Member is a Participant only while in a Session. Avoid: user, account, Participant (for someone not in a Session)

Owner

The one Member who decides who gets in: they make Invites, and list and remove Members. They alone manage global Installations. The Owner can’t be removed, and has no other rights the other Members lack. Avoid: admin, operator, Creator

A one-time link, made on the Hub’s machine, that makes whoever signs in with it the Owner. Only a Hub without an Owner makes one, and a new one replaces the last. Avoid: bootstrap token, claim link

Invite

A link the Owner makes that admits one person as a Member, once, within 7 days: anyone with the link, or only the GitHub login it names. Using it, revoking it or its expiring ends it. Avoid: invitation code, Pairing code, join link

Sessions

Session

One ongoing Claude Code conversation working on one Repo, on a Work branch, driven by its Creator on their Claude credential. Who can see it is its Repo’s to decide. Avoid: chat, thread, agent, job

Subagent

A Claude Code agent that a Session’s Claude starts with the Agent tool. It runs in the Session’s Sandbox, is shown under the Session, and the Session’s Creator can message or stop it. Avoid: Child Session, sub-session, worker

Session name

A Session’s editable display name. It defaults to the Session’s Work branch, or, for a Session on its base branch itself, to that branch and the Session’s short id. Avoid: title, label

Creator

The person who started a Session, whose Claude credential it runs on. Only they drive it: they prompt it, answer it, stop it, control it and use its terminal. The git identity in its Sandbox is theirs. Avoid: owner

Participant

Anyone currently in a Session, the Creator included. A Participant who isn’t the Creator watches: they read the Session, live or Archived, and open its Previews and Forwards, but can’t drive it. Each is a Member of the Hub. Avoid: collaborator, viewer, guest

Turn

One prompt and Claude’s full response to it, including every tool call it made. Avoid: message, run, step

Prompt queue

The ordered prompts from the Creator waiting for the Session to finish its current Turn. A queued prompt waits unless the Creator steers it. Avoid: backlog, inbox

Attachment

A file a Participant attaches in the web UI, pasted, dropped or picked, to a prompt, a message to a subagent or a reply to an Open question: an image, such as a screenshot, or a PDF. The Hub keeps it for the life of its Session once it is sent, and deletes one nobody sent a day after upload; the prompt names it with a marker, [Image #1: shot.png (attachment <id>)] or [PDF #1: spec.pdf (attachment <id>)], and Claude opens it with a tool the mod registers (ADR 0024). Avoid: upload, paste, file (for what the prompt carries)

Steer

To take a queued prompt out of the Prompt queue and feed it into the running Turn, which reads it at its next step, as Claude Code does with a prompt typed while it works. The Turn stays the one its first prompt started. Avoid: interrupt, inject, push

Open question

A question Claude asked in a Turn, with AskUserQuestion, that no one has answered yet. The Creator answers it, from the web UI or at the terminal; the first answer is the one Claude reads. While it is open, the Session is waiting on its Creator and doesn’t go to sleep. Avoid: prompt, dialog, permission request

Workspace

The Session’s checkout of its Repo, which outlives any single Sandbox. Avoid: working directory, volume, clone

Work branch

The git branch a Session commits to: a new claude/<id> branch made from the base branch, a new branch the person named, or the base branch itself, as chosen when the Session started (ADR 0023). Avoid: session branch, feature branch

Base branch

The branch a Session’s Repo is cloned on when it starts, chosen in New Session. The Work branch is made from it, unless the Work branch is the base branch. Avoid: source branch, parent branch

Sandbox token

A short-lived GitHub App installation token for one Session’s Repo, kept in that Session’s Sandbox so plain git and gh reach GitHub. It has every permission the App’s installation has, so anything in the Sandbox can push and merge in that Repo; a GitHub ruleset on the default branch is the guardrail (ADR 0010). Avoid: GitHub credentials, PAT, git tools

Repo

A GitHub repository that Sessions work on. Access to a Repo decides who can see and join its Sessions. Its owner/name is case-insensitive, as on GitHub. Avoid: project, codebase

Environments

Environment

The recipe a Repo’s Sandboxes are built from: an image, a Bootstrap script, an optional Start script, Docker on or off, CPU and memory, dependency folders and Variables. Each Repo has exactly one. Avoid: image, template, config, devcontainer

Environment version

One applied state of an Environment, recording who applied it and when. A Session runs on one version and moves to a newer one when it wakes or restarts. Avoid: revision, release

Build

An Environment version made ready on one Runner: the image after the Bootstrap script ran, which Sandboxes boot from. Each Runner builds a version the first time it needs it. Avoid: image, snapshot, template

Test build

A Build of an unapplied Environment change on a chosen Runner, which also runs the Start script against a fresh clone. A change that affects the Build can only be applied once its Test build passes. Avoid: dry run, preview build

Bootstrap script

The Environment’s script that installs tools into a Build, with no Workspace present. Avoid: setup script, install script, Dockerfile

Start script

The Environment’s optional script that runs in each new Sandbox with the Workspace present. Avoid: init script, entrypoint, setup script

Login environment

The environment a login shell in a Sandbox ends with, after its profile and ~/.bashrc ran. The Build records it, and every process the Runner starts in the Sandbox gets it, under the Variables. Avoid: shell env, user env, dotfiles

Variable

A named value an Environment passes to the processes in its Sandboxes. It is Plain, or Sensitive: write-only once saved, encrypted on the Hub and redacted from everything it stores or shows. Avoid: Repo secret, secret, env var, credential

Shared variable

A Hub-wide Variable that Environments can use through a Link. Avoid: global secret, org secret

A Shared variable placed into one Environment under a name chosen there. Avoid: reference, import, binding

MCP servers

MCP server

A remote server, speaking MCP, that the Hub can add to Sessions: a package, identified by its package name, or one made on this Hub alone. They are managed on the MCP page. kndl’s own pieces that each Session’s Claude Code loads are the mod, not MCP servers. Avoid: plugin (in kndl, only ever a Claude Code plugin), integration, extension, connector, mod

MCP server icon

The small picture beside an MCP server on the MCP page. The Hub finds it, from the package’s manifest or the favicon of the MCP server’s URL, keeps it and serves it; browsers never fetch it from the third party. An MCP server with none shows a letter. Avoid: logo, favicon (a favicon is one place it may come from)

Upgrade

Moving a packaged MCP server to what its source holds now, once someone has seen what that changes. A packaged MCP server is pinned to its version, and changes only by an Upgrade. Avoid: update, sync, refresh

Installation

A named, configured copy of one MCP server, holding the credentials of the account it acts as: header secret values, or, for an OAuth MCP server, the tokens of the account someone connected it to and the client it connects with, which only the Hub holds. It is global, on in every Repo, or on in the Repos it lists, and a Repo has at most one Installation of each MCP server on: one that lists the Repo takes a global one’s place there, and a Repo can turn a global one off. Avoid: connection, instance, config

Header secret

A credential an MCP server declares it takes in an HTTP header, such as Authorization: Bearer {value}. Each Installation holds its own value, write-only and encrypted on the Hub, which the Gateway puts in the header. Avoid: API key setting, token field, header variable

Gateway

The Hub’s path from a Session to an Installation’s MCP server, which adds the Installation’s credentials on the way, so they never enter a Sandbox. Avoid: MCP proxy, credential proxy, mod relay

Session lifecycle

Active

A Session whose Sandbox is running.

Asleep

A Session whose Sandbox was stopped after being idle; it wakes on the next prompt, or a Forward, with its Workspace and service data intact. A Session is idle when it has no Turn or Running agent, nobody present, no connected Forward, and Keep awake off. Background commands and Open ports don’t keep it awake. Avoid: paused, suspended, stopped

Keep awake

A Session’s toggle that stops it going Asleep when idle, until someone turns it off or puts the Session to sleep. Anyone with access to its Repo can set it, and it shows who did. Avoid: pin, pinned, always on

Frozen

A Session whose Runner is offline. It stays readable, and prompts sent to it wait in its queue until the Runner returns. Avoid: orphaned, dead, offline

Archived

A deleted Session that can still be restored for 30 days, after which it is purged. Avoid: deleted, trashed

Purge

To delete an Archived Session for good: its history from the Hub, and its Workspace, with any work it never pushed, from its Runner. It happens when its 30 days are up, or sooner by the hand of anyone who can see it, to free its Runner’s disk (ADR 0027). A purged Session can’t be restored. Avoid: hard delete, destroy, empty trash

Move

Transferring a Frozen Session, with its Sandbox and Workspace, to another Runner so it continues there. Not part of v1. Avoid: adopt, migrate, transfer


Rendered from GLOSSARY.md at the root of the repository.

kndl is an independent project. It is not affiliated with or endorsed by Anthropic. Claude and Claude Code are trademarks of Anthropic, PBC. About kndl