Product overview
One durable session, many ways to reach it.
KalaReach is composed of a host, a command line client, and a companion. The companion application is built for Linux, macOS, Windows, iOS and Android. On a computer it works with the host on that computer, or with the first host it pairs with when it has none. A phone has no host of its own: it pairs with hosts and chooses the one to use.
Sessions
A worker process per session
Creating a session starts a worker on the host. It opens the pseudo-terminal before the shell starts, so a session created with --attach has the real size of its creating terminal at the first prompt. The worker owns the canonical terminal state, decides who currently holds input, records what was approved and keeps its own journal.
A control daemon sits beside the workers and handles device connections, grants and service routing. Restarting it does not close your shell, reset the screen or break a local attachment. A session moves through creating, live, closing and closed; a live session is allowed to have no attachments at all.
| Surface | What it gives you |
|---|---|
kr attach | The session in your own emulator, on the host it runs on. Direct mode forwards the approved bytes and preserves native mouse, keyboard and hyperlink behaviour; where that is not available, a bounded renderer draws the canonical screen instead. |
| Companion app terminal | A rendered projection of the canonical screen, for a session on the host the application is using: on a computer its own host (or, with none, the first host it pairs with), and on a phone the paired host it chose, within the grant the device holds. |
| Companion app conversation | A structured view of an agent supplied by its plugin: messages, diffs, attachments and controls. |
Attention inbox
Decisions, separated from output
Sessions produce far more output than decisions. The attention inbox is a collection of things that require you to make a decision. This includes requests for permissions, questions from agents, commands that have not been successful, work that needs to be reviewed and offline hosts. If a request does not get dealt with then it will escalate and announce itself again later. Mark as seen takes an item off your list.
Agent integrations
You launch an agent by typing its name
Where an agent exposes a native protocol or hooks, its package can read the agent’s state and present it beside the running process as a conversation with diffs and controls, and an approval is only ever created from the agent’s own protocol. What a package offers depends on the agent and its build. Where an agent has no such interface, the terminal path still works for everything.
An integration must declare what it can observe and what it can control. A convincing reconstruction of terminal text is not evidence that an operation was approved, and an integration never silently replaces a running agent with a replayed transcript of its conversation.
Plugins
Plugins update without a KalaReach release
Detection rules, event interpretation, buttons, commands, file handling and voice context all live in plugin packages. A vendor can publish support for its own tool without waiting for a KalaReach release. The first-party plugins use the same contract as everyone else’s.
Hosts synchronise the whole signed catalogue as metadata, so matching an application needs no network, and fetch an executable payload when you install or enable a package, when an already authorised match activates one, or when you deliberately mirror a repository in full. More about the catalogue.
Change sets
A change set names an exact version of the work
A change set captures the precise state of a working copy so a review, a test run or an approval has a stable subject. Projects hold repositories; workspaces are explicit shared or isolated working copies; change sets are immutable captures you can read, compare and apply under the grant for that project.
Security model
Where permission comes from
The host authorises every action against the session’s current state. Clients present that state and submit intents. Neither relay traffic nor model output creates permission. A local command-line client authenticates through operating-system peer credentials; a remote device carries a verified actor envelope and the revision of its grant.