People need a quick way to choose an action or select a specific item.
Updated September 12, 2026
Problem
Describing an action or a specific file in a prompt can be slow and ambiguous. People need a direct way to choose what they mean.
Solution
Use slash commands to choose actions and @ mentions to select items such as files or pages. Show enough detail to distinguish items with similar names, and only list items the person is allowed to access.
Support keyboard navigation through the menu, including selecting an option and dismissing the menu. Expose its open state and selected option to screen readers. Escape should close the menu without deleting the typed character.
Provide a short hint or visible button so people can discover the shortcuts. Keep actions consistent whether they are chosen from the menu or requested in plain language.
Use when
The app has a defined set of actions or items that people need to select often.
Don’t use when
There are three commands and twelve documents. A menu over a small, stable set is slower than typing, and the trigger characters then only get in the way of people writing ordinary sentences.
Trade-offs
Keyboard shortcuts save space but can be hard to discover. Slash commands and plain-language requests create two paths that need consistent behavior. Long menus become harder to search and maintain as the app grows.
Checklist
Do slash and at-mention carry distinct meanings, and are they used consistently?
Is the menu operable entirely from the keyboard?
Does it follow the combobox pattern for state and focus?
Does Escape dismiss the menu and keep the typed character?
What happens when someone types a file path or an email address?
Is the object picker filtered by what the viewer is allowed to see?
How does a mentioned object appear once inserted, and can it be removed?
Is there a discoverable way in besides the trigger character?
Does a command behave identically to the equivalent sentence?
What does the menu look like with two hundred matching objects?
Compare
Notion uses @-mentions of pages, people and dates as the main way of giving its assistant context, so scope is composed in the prompt rather than configured elsewhere. Slack inherits its existing mention grammar, which means the AI is addressed with the same conventions as a colleague and the permission model comes along unchanged. Linear leans on a command palette that already governs the whole product, so the assistant is one more verb in a vocabulary users know. ChatGPT keeps the composer mostly free of trigger grammar and puts capability behind explicit controls instead. More discoverable, and slower for anyone using it all day.
Related
Composer is where the menu opens. Scoped context shows the material added through mentions. Prompt starters help people who do not yet know what to ask.
Attachment tray adds files from outside the app. AI entry point covers how people find AI features.
Wireframe — the pattern's anatomy, not any one product's version of it
Implementation
Two trigger characters doing two jobs. Slash opens verbs the product can execute; at-sign opens objects filtered by what the viewer is allowed to see. Both stay invisible until typed, which is what keeps them out of the way.