Skip to Content
Plural

Reference

Slash commands, keyboard shortcuts, the settings screen and the plural-host CLI.

Commands

What a command shows, like /help, /who, /skills or skills.sh search results, opens in a panel under the composer instead of the conversation: it is yours alone and never reaches the agent. esc or ✕ closes it. Search results are a picker: ↑↓ chooses, enter installs into the project and g for every project.

CommandWhat it does
/helpCommands and keys
/team <message>Write to the room, the agent does not see it. @name <message> writes to one person
/whoParticipants
/invite [link|once|viewer|revoke|open|approve]Copy the room link, make a one-time invite, or change who may join (host)
/mode open|reviewWho may prompt directly (host)
/policyShow the permission rules (host)
/policy allow|ask|deny <tool> <pattern>Add a rule (host)
/policy rm <id>Remove a rule (host)
/compactSummarize the older conversation now, keeping the newest turns as they are, or before the agent's next step when it is busy (host)
/skills [search|add|rm …]List, find and install skills, see Skills
/agents [rm <name>]The sub-agents; the host creates one with a short form, see Sub-agents
/mcp [add|import|on|off|restart|rm …]Connect and manage MCP servers, see MCP servers
/ask @nameA briefing from a teammate's agent, see Briefings
/access [allow|deny|revoke <name>]Ask for or grant write access, see Asking to write
/usageTokens spent in this session per model, for the conversation, summaries and each sub-agent
/contextWhat fills the agent's prompt now (system prompt sections, tool definitions, messages, each tool's results, summary), and how much of the latest request came from the cache
/plugins [new <name>|reload]List the host's plugins, create one or reload them (host), see Plugins
/<plugin command>Run a command a plugin added; they appear in the suggestions
/abortStop the current run (host)
/cancel <n>Remove a queued prompt, yours or any as the host
/copyCopy the last reply
/settingsOpen the settings
/quitLeave

Keys

KeyAction
enterSend
shift+enter, ctrl+jNew line
shift+tabCycle the permission mode (host)
escInterrupt the run (host)
pgup, pgdn, mouse wheelScroll the conversation
ctrl+fSearch the conversation; enter goes to an older match, shift+enter to a newer one, esc closes. Words must all match; is:failed, is:prompt, is:tool, is:chat, is:reply and by:name narrow it down
endJump to the latest message (when the input is empty)
alt+↑, alt+↓Previous or next prompt
ctrl+oExpand or collapse tool details
ctrl+bShow or hide the side panel
ctrl+yCopy the last reply
ctrl+vAttach the image on the clipboard to the next prompt; backspace in an empty input removes it
F2Settings
ctrl+cClear the input, press twice to quit

Selecting text with the mouse copies it. Hold the terminal's bypass key (shift, or option in some terminals) for the terminal's own selection.

The screen

The conversation is on the left. The panel on the right shows who is in the room and who is typing, what needs the host, the prompt queue and the state of the agent. ctrl+b hides it, and it hides itself on narrow terminals.

The line above the input says who will see what you type: → agent (the whole room sees the prompt), → room after /team and → @name for a private message, where the agent does not see it. If a message does not reach the host, the text comes back into the input with the reason, and ↑ recalls it even if you started typing something else.

Each tool call is one line with what it did and a short result: the lines a command printed, its exit code if it failed, or +added −removed for an edit. A running command shows its latest line next to the spinner. Click a line, or press ctrl+o for all of them, to see the command with its output or a numbered diff. Everyone sees how full the agent's context is, in the status bar and the side panel, green then yellow then red as it nears the point where the agent compacts on its own.

Settings

Open them with F2, the ⚙ settings button or /settings. On the first launch, when no model is set up, they open by themselves. They work with the keyboard and the mouse: tab switches the tab, ↑ ↓ select, ← → change, enter applies, esc closes.

Model (host only). Choose a provider, sign in or enter an API key, then use ← → on Model to cycle its built-in model list — see Models and providers for every option. The key is kept in ~/.plural/credentials.json, readable only by you, and is sent only to your own host through a local pipe, never over the network. Participants do not see this tab: the agent and its credentials belong to the host.

Session. Open: everyone prompts the agent directly. Host approves: participants propose and you approve, edit or reject every prompt. Also the typing indicator, the bell for requests that need the host and the bell for mentions and private messages.

Appearance. Four themes (Tokyo Night, Daylight, Gruvbox, High contrast), the side panel and copy on select, plus shortcuts to copy the last reply and the room link.

Preferences are kept in tui.json in the data directory.

The plural-host CLI

CommandDoes
plural-host relayRun the relay router
plural-host doctorCheck the environment, the workspace and the provider
plural-host export <room>Dump a session's event log to JSONL
plural-host hostServe a session without the client, for a remote machine
plural-host login [--no-browser]Link this computer to your account: opens the browser to approve it
plural-host login --code <code>The same from a code the web page shows, for a computer with no browser to open
plural-host whoami [--json]Show the account this computer is linked to
plural-host logoutForget the account on this computer

plural relay, plural doctor, plural export, plural login, plural whoami and plural logout run the same commands.

Linking a computer to an account

A relay may ask hosts to belong to an account. Run plural login: it opens the browser, where you sign in and confirm that the code in the page is the one in your terminal, and the terminal collects the result. With --no-browser, or when no browser can open (over SSH, say), it prints the address to open anywhere. Either way the computer proves it holds its host key by signing what it sends, and the accounts service answers with a certificate for that key, kept in entitlement.json and renewed on its own before it runs out. Nothing changes for a relay that does not ask, and nobody needs an account to join a room.