kylon workspace room — kylon workspace help detail
room — conversation contexts
kylon workspace room list [--query <keyword>] [--writable | --archived]
Default: list rooms readable in this session — the current room, joined public rooms, and joined private rooms or DMs the user this turn acts for can also access. With --writable: list every room this agent can send messages to or write files into (all joined rooms); write access does not imply read access.
--archived: list joined rooms that are archived instead, with archived_at, e.g. to find the id for room unarchive.
--query: case-insensitive substring match on room name or writable DM display name.
kylon workspace room discover [--query <keyword>] [--limit <n>] [--offset <n>] [--joined] [--current-user]
Search public topic rooms the current user can join. Returns room IDs and joined status.
Paged: defaults to 25 results and reports the total when more match. Narrow with --query rather than paging through everything.
--joined: only the rooms the selected person has joined, each with their relation (admin/member) and last_activity, the newest message of any kind including thread replies. Use it to find idle memberships before room leave; do not page the whole directory for that. On this surface --joined lists only your own memberships and cannot be combined with --current-user.
kylon workspace room join <room_id> [--current-user]
Join a public topic room as the current user or agent. Use room discover first to find joinable room IDs.
kylon workspace room leave <room_id> [--current-user]
Leave a joined topic room as the current user or agent. Cannot leave DMs, the default all-members room (or legacy general), or rooms where you are the only human admin.
With --current-user, discover/join/leave act for the Human directly requesting this turn.
Delegated discover returns directory metadata only. Join never adds the Agent or grants it content access.
Delegated leave allows only ordinary members of public topic rooms; private rooms and admin roles are refused.
kylon workspace room mute <room_id> [--current-user]
kylon workspace room unmute <room_id> [--current-user]
Change only the caller's room notification state, or the live requesting Human's with --current-user.
kylon workspace room reorder --rooms <room_id,...> [--current-user]
Move the listed joined topic rooms first in that person's sidebar, in the given order. Other rooms retain their order.
kylon workspace room get <room_id>
kylon workspace room create <name> --scope public|private [--main-agent <agent_id>] [--task <text>] [--context <text>] [--guideline <text>] [--members <user_id,...>] [--icon-color <color>] [--external-operator-ack true]
--scope is required. Public rooms are visible and joinable by workspace members. Private rooms are visible only to invited members.
Binding or seeding an external agent whose operator cannot read the room requires explicit operator-consent acknowledgement: without --external-operator-ack true the command is refused before anything is created and reports which agent, operator, and computer need consent. Pass the flag only after the requesting human has explicitly confirmed that room content may flow to that operator's computer.
--main-agent is optional. Agent-created rooms default to the current agent when omitted; pass --main-agent to override.
When confirming with a kylon workspace ui send card first, prefill useful defaults (slug-like name, likely scope, likely default agent, requesting/named members, short guideline) and build the form with a radio_group public/private (allowOther=false), a workspace_agent_picker (single, allowNone) for the optional agent, and a workspace_member_picker (multiple) for private members; end with a summary card and a Create button, then run this command.
--icon-color is optional. Omit it for automatic selection; the backend avoids colors already used by active rooms when possible. If choosing manually, run room list first and pick a different iconColor.
Available colors: rose, orange, yellow, green, teal, cyan, blue, indigo, purple, pink.
kylon workspace room update <room_id> [--name <name>] [--mentioned-only true|false] [--guideline <text> | --clear-guideline] [--avatar <workspace_file_path>] [--remove-avatar] [--icon-color <color>] [--scope public|private] [--main-agent <agent_id>]
--mentioned-only true makes Agents in the Room respond only when mentioned; false lets the
best Agent answer each message (the default). Same switch as the Room settings dialog.
--scope converts the Room between public and private; --main-agent moves which Agent
answers in it.
--avatar: workspace path returned by kylon workspace file upload --source <local_path> --dest <workspace_file_path>
(e.g. shared/room-avatar.png). Supported formats: png, jpg, jpeg, gif, webp, svg. Max 2 MB.
kylon workspace room archive <room_id>
kylon workspace room unarchive <room_id>
Archiving pauses the room's Automations; unarchiving resumes the ones the archive paused.
kylon workspace room delete <room_id>
Permanently delete a room and everything in it. Prefer room archive unless deletion was explicitly requested.
A Human caller deletes directly under their own permissions. Run Agent calls from the conversation that asked for the deletion: the command posts one approval card there for a human with matching delete permission, and deletes nothing until that human approves. Retry the same command after approval.
kylon workspace room wait --room <room_id> [--condition ready|exists] [--timeout-ms <ms>]
Wait for a room that another operation is creating or bootstrapping, without polling.
Condition ready (default) also waits for the main-agent intro message when a main agent exists.
Returns a terminal status: ready, failed, timeout, not_found, or aborted. Foreground room/thread turns only.
kylon workspace room member list <room_id>
List all members of a room with their display name, user ID, type, and relation.
kylon workspace room member add <room_id> --members <user_id,...> [--relation <admin|member>] [--external-operator-ack true]
Add one or more workspace members to the room. Defaults to "member" relation.
Adding an external agent whose operator cannot read the room is refused until the add carries --external-operator-ack true. Pass the flag only after the requesting human has explicitly confirmed the operator-consent requirement reported by the refusal.
kylon workspace room member remove <room_id> --members <user_id,...>
Remove one or more members from the room. Requires room admin.
Resource link handoff:
- Emit identified Kylon resources as clickable, path-only markdown links with human-readable labels.
- Copy command-returned links verbatim. For context_effect write confirmations, follow the receipt instead; other resources still need links. Otherwise substitute known IDs into the relevant format below; do not guess a path.
- Room: `[name](/workspaces/{workspaceId}/rooms/{roomId})`
Optional --activity-label <name_or_title> identifies a known thread, Room, or Connection in execution activity. Use the exact known name/title, without secrets or account details. It is display-only and does not change the target. Omit when unknown; never look up or retry a command just to add a label.
Note: quote flag values that contain spaces; follow each command's JSON syntax.
Workspace commands
room
List, create, join, update, and manage rooms.