## 3\.&#32;Find and focus the right tan

### Learn your actual bindings

**OMP slash command — Main only\:**

~~~text
/hotkeys
~~~

Use the displayed bindings rather than treating this workbook’s defaults as immutable\.

On macOS\,&#32;OMP may label&#32;**Alt**&#32;as&#32;**Option**\.&#32;Terminal applications\,&#32;multiplexers\,&#32;and custom bindings can intercept or change delivery of a chord\.&#32;Ctrl\+Enter is especially dependent on terminal support\;&#32;Ctrl\+Q is the alternative default\.

**A current documentation gap\:**&#32;the generated&#32;`/hotkeys`&#32;sheet shows the resolved Hub shortcuts and many other application actions\,&#32;but the supplied generator omits follow\-up and dequeue rows\.&#32;Their absence from that sheet does not mean the actions are disabled\.

For those bindings\,&#32;ask Main to inspect the effective configuration for\:

- `app.message.followUp`
- `app.message.dequeue`

The keybinding loader supports&#32;`keybindings.yml`\,&#32;`keybindings.yaml`\,&#32;and legacy&#32;`keybindings.json`\,&#32;with profile inheritance\.&#32;Do not infer an effective binding from one file without considering overrides\.

### Default controls by surface

| Surface | Default control | Effect |
| --- | --- | --- |
| Ordinary editor | **Alt\+A**&#32;or&#32;**Ctrl\+S** | Open the runtime Agent Hub\. |
| Hub roster | **Up\/Down**&#32;or&#32;**k\/j** | Select a row\. |
| Hub roster | **Enter** | Focus a local\,&#32;usable agent\;&#32;revive a parked one if possible\.&#32;Successful activation closes the Hub\. |
| Hub roster | **t** | Switch between Flat and By parent views\. |
| Narrow Hub | **Tab** | Toggle the selected\-agent details view\. |
| Visible Hub details | **Page Up\/Page Down** | Scroll details\. |
| Narrow details view | **Escape** | Return to the roster\.&#32;Use Escape rather than Left when the Hub is open over a focused tan\. |
| Hub roster | **Escape**\,&#32;or its Hub toggle key | Close the Hub\,&#32;revealing the prior chat view\. |
| Hub\,&#32;selected parked row | **r** | Attempt revival without submitting a new task\. |
| Hub\,&#32;selected agent row | **x** | Explicit kill\/release\.&#32;Inspect the target first\. |
| Focused tan chat | **Enter** | New prompt when idle\;&#32;steering when streaming\. |
| Focused tan chat | **Ctrl\+Q**&#32;or&#32;**Ctrl\+Enter** | Follow\-up when streaming\;&#32;ordinary new prompt when idle\. |
| Focused tan chat | **Escape** | Ordinary behavior\:&#32;clear text draft\,&#32;otherwise return to Main\. |
| Empty focused editor | Deliberate&#32;**Left\,&#32;Left** | Return directly to Main\. |

**Focused\-Hub caution\:**&#32;with a tan focused and an empty composer\,&#32;the global Left handler consumes the key before the Hub details view receives it\.&#32;Repeating Left can return the underlying chat to Main instead of dismissing details\.&#32;Left is a details\-back action only when that focused\-agent interceptor is inactive\;&#32;use Escape here and recheck the prompt recipient after closing the Hub\.

The Hub’s By parent view is&#32;**agent lineage**\,&#32;not Main’s&#32;`/tree`&#32;conversation\-branch selector\.&#32;Changing that display does not move files\,&#32;merge conversations\,&#32;or change the current prompt recipient\.

Main is the ambient chat and is excluded from the runtime Hub roster\.&#32;Do not look for a Main row as the normal way back\.

### Worked scenario\:&#32;inspect\,&#32;then focus

1. Open the runtime Hub\.
2. Select the row for the label audit\.
3. Read its&#32;**full Tan ID**\,&#32;lifecycle state\,&#32;task information when available\,&#32;and lineage\.
4. If the information is ambiguous\,&#32;use Main’s discovery procedure in&#32;[Observe jobs and read results](<https://present-sketch-tp94.here.now/chapters/tan-6-observe-jobs-and-read-results#tan-6-observe-jobs-and-read-results>)\.
5. Press Enter only once the intended row is identified\.
6. Wait for the focus notice identifying that exact agent\.

**Expected observation\:**&#32;the Hub closes and that agent’s conversation becomes the visible chat\.

**Failure recovery\:**&#32;if activation fails\,&#32;the Hub keeps the failure visible as a notice\.&#32;Do not type the task into an uncertain surface\.&#32;Diagnose the reported revival or session problem first\.

A parked row is not automatically a promise of revivability\.&#32;An aborted row opens a read\-only transcript viewer rather than becoming a writable focused session\.&#32;Advisor rows are also observation\-only\.

### The “parent” banner is misleading

The current focus notice includes\:

~~~text
Viewing agent <agent-id> — Esc returns to main, ←← hops to parent
~~~

The second clause is not the implemented key behavior\.

The focused double\-left handler calls&#32;`unfocusSession()`\.&#32;It goes&#32;**directly to Main**\,&#32;including when the focused agent has a non\-Main parent\.

To inspect another parent agent\,&#32;select its exact row in the Hub\.&#32;Do not use double\-left as a one\-level\-up navigation instruction\.

### Optional detail\:&#32;double\-left is a gesture\,&#32;not key repeat

From Main\,&#32;deliberate double\-left on an empty editor opens the Hub only when it has agent content to show\,&#32;including saved agents\.&#32;The explicit Hub shortcuts can open an empty roster\.

The editor detector rejects very rapid synthesized bursts and held\-arrow repetition\.&#32;Its accepted second\-tap interval is at least 40 ms and less than 500 ms\.&#32;You do not need to time this precisely\;&#32;use two deliberate taps\,&#32;or use the explicit Hub key\.

These are source\-backed input rules\.&#32;The supplied runtime proof did not test physical keyboard decoding\.

---
