Friends
Add friends by email, QR code, or link and send them tasks that run on their own computer; they approve the directories and permissions first, and the result comes back to the conversation you sent it from.
Friends let two different Klaus accounts hand work to each other. You send a friend one task, and it runs on your friend's own computer, in their Klaus, with their models and their files. Your friend first sees the full task text and decides how much access to give it; when it finishes, the reply comes back to the conversation you sent the request from.
This feature needs a Klaus account on both sides. While you are signed out the Friends entry is unavailable; everything else is unaffected. See Account and sign-in.
Adding a friend
"Friends" in the sidebar's fixed entries opens the Friends page. Click "Add friend" for three ways in:
- By email: enter the other person's registered email, click "Find", confirm it is the right person, then "Send request".
- My QR code: let them scan it. The code can be saved or shared, and "Copy link" gives you an add-me link. When they open the link, Klaus shows a request dialog prefilled with your email, and they still have to click send themselves; a link alone never adds anyone.
- Scan to add: "Use camera" to scan their code, or "Pick a QR image" to read a screenshot.
The other person sees a pending request and can "Accept" or "Decline"; the sender can withdraw it until then. Only after both sides confirm can you send each other tasks.
Sending a friend a task
Two ways, same result:
- Type
@in the composer; the mention menu lists your friends. Pick one, write the task, and send. - "Send task" on a friend's row in the Friends page puts that friend's mention into the composer for you.
Only an intact friend mention in the composer triggers forwarding; typing a name in plain text does not. What gets forwarded is only the text of that one message: your conversation history, attachments, and files are not sent along.
After sending, the "Sent" list on the Friends page tracks the task: delivered, replied, declined, cancelled, failed, or expired. A friend has to be online for delivery; there is no offline queue, so try again later if they are offline.
Receiving a task: authorization
A friend's task never starts on its own. It first appears in your pending list (with a notification). The authorization dialog shows who sent it, the full task text, which computer it will run on, and a resource risk summary. Here you decide its scope:
- Run in: "Plain conversation", a "Project", or a "Workspace". Plain conversation if you choose nothing.
- Directories: "Add directory" grants extra paths, each "Read only" or "Can edit"; new ones default to read only.
- Network: whether it may go online; off by default.
- Computer Use: "Allow Computer Use in selected apps", limited to the apps you tick; off by default.
Then "Allow this task" or "Decline task". By default the grant covers this task only; tick "Automatically run future tasks from {name} within this scope" and the scope is remembered, so that friend's later tasks start inside it without asking you each time.
The dialog does not pick an execution mode. Once the task runs it is an ordinary friend conversation, and its permission level (Manual / Accept Edits / Bypass Permissions) is changed in that conversation's composer, taking effect from the next turn. Whatever the level, the granted scope still holds: paths outside it are always refused and read-only directories stay read only. See How permissions are decided.
While running and afterwards
- No time limit: a friend task runs until it finishes naturally; it is never cut off by a per-turn time cap.
- Going outside the scope needs a separate request: if the task needs a directory outside its grant, it asks you separately instead of failing silently. The request waits up to ten minutes; once you approve, the scope is updated and the directory is reachable from the next turn.
- Replies are resent automatically: if the reply cannot be delivered (most often because the requester is offline), Klaus retries after 15 seconds, 1 minute, 5 minutes, 15 minutes, and 1 hour. A definite refusal from the server stops automatic retries; you can still retry by hand.
- Stopping: switching that friend to "Do not receive" in Friend settings, or removing the friend, revokes any remembered grant and cancels that friend's running tasks.
The reply returns to the requester's original conversation as a friend card: the friend's avatar and name, a "Friend" identity tag, and a link to the request it answers. Replies longer than 12 lines or 800 characters are folded into a summary, with "Expand full message", "Open in reader", and "Copy full message".
The friend's Tasks page
The Friends page itself only manages relationships: requests and the friend list. Tasks a given friend sent you are handled on a separate page reached from that friend's "Tasks" entry:
- Pending: authorize, decline, or ignore.
- Starting or running: "Cancel task".
- Already has a conversation: "Open conversation".
- Finished: can be authorized and run again.
To set pending tasks aside, "Ignore" them at three levels: one task, all of this friend's, or "Ignore all pending". Ignoring only tucks them away on this computer and stops reminders; your friend is not notified. If still unhandled after 24 hours, you get one expiry notice.
Shared folder, notes, and the sidebar
- Each friend has their own shared subfolder on this computer (
~/.klaus/friends/<friendship id>/), used as the base directory for their tasks; if you chose a project or workspace when authorizing, the process runs there instead. All friends' subfolders sit under the same parent directory, so do not treat them as strict isolation between friends. - In "Friend settings" you can write a note about a friend. The note is stored only on this computer, your friend never sees it, and it is used for display and search.
- In the sidebar's project area, each friend has a group holding the conversations their tasks created; these groups can be dragged into order alongside projects.
Settings → Friends
The "Friends" page under the account group manages two things:
- Receiving computer: which computer friend tasks go to. With nothing chosen it is "All online computers (default)", meaning every online computer that supports friend tasks; once you choose one, tasks always go there. Devices that do not support it cannot be selected.
- Default friend permission: the starting scope for new friend tasks. By default: ask every time, no network, no Computer Use, no extra directories or apps, nothing remembered. This default is stored only on this computer.
Whether a friend is "online" depends on whether they still have a valid desktop sign-in; a receiving computer's online state depends on whether its friend channel is connected.