Terminal
The Hero Router has a built-in web terminal that lets you attach to shell sessions running inside hero_proc. Sessions survive page reloads and can be shared across browser tabs.
Sessions
Sessions are identified by a name (e.g. dev, router/main, proj/debug). Use / to group them into up to three levels — they appear as a collapsible tree in the left sidebar.
Creating a session — click + New session, enter a name and choose a shell type:
| Shell | Notes |
|---|---|
nushell | Default. Structured shell with rich output. |
bash | Standard POSIX shell. |
tmux | Multiplexer session — useful for persistent workspaces. |
Attaching — click any session in the sidebar to open it in the main pane. The header shows the session name and connection status (connecting…, attached, disconnected).
Detaching — click Detach in the toolbar or navigate away. The session keeps running in hero_proc; reattach at any time.
Deleting — right-click a session in the sidebar and choose Delete, or use the multi-select checkboxes and Close button.
Multi-pane
You can open up to six sessions side by side. Right-click a session in the sidebar and choose New child session to split the view. The grid layout adjusts automatically:
| Panes | Layout |
|---|---|
| 1 | Single full pane |
| 2 | Side by side |
| 3–4 | 2 × 2 grid |
| 5–6 | 2 × 3 grid |
Switch focus between panes with Ctrl+Shift+← / Ctrl+Shift+→.
Collapse back to a single pane with Single in the toolbar or Ctrl+Shift+1.
Close the focused pane with Ctrl+Shift+W.
Fullscreen
Click the fullscreen button in the toolbar or press Ctrl+Shift+F. The toolbar and sidebar hide, and the terminal fills the entire browser window.
To exit fullscreen: right-click → Exit fullscreen, or press Ctrl+Shift+F again.
To temporarily reveal the top navigation while in fullscreen, press Ctrl+Shift+N.
Font size
Adjust the terminal font size from the toolbar (− / + / reset ↺) or with keyboard shortcuts. The chosen size is remembered across page loads.
| Action | Shortcut |
|---|---|
| Larger font | Ctrl+= |
| Smaller font | Ctrl+- |
| Reset to default (14 px) | Ctrl+0 |
Font size can also be changed from the right-click context menu inside the terminal.
Copy / paste
| Action | How |
|---|---|
| Copy selection | Select text, then Ctrl+C (passes through as SIGINT when nothing is selected), or Ctrl+Insert |
| Paste | Ctrl+Shift+V, or right-click → Paste |
| Copy via menu | Right-click → Copy |
Right-click context menu
Right-clicking inside the terminal opens a context menu with:
- Copy — copies the current selection
- Paste — pastes from the clipboard
- Font smaller / Font larger — quick font size adjustment
- Exit fullscreen — only shown when in fullscreen mode
Keyboard shortcuts
| Shortcut | Action |
|---|---|
Ctrl+Shift+F | Toggle fullscreen |
Ctrl+Shift+N | Show / hide navigation bar in fullscreen |
Ctrl+Shift+W | Close the focused pane |
Ctrl+Shift+1 | Collapse to single pane |
Ctrl+Shift+← / → | Switch focused pane |
Ctrl+= | Increase font size |
Ctrl+- | Decrease font size |
Ctrl+0 | Reset font size |
Ctrl+C (with selection) | Copy selection |
Ctrl+Insert | Copy selection |
Ctrl+Shift+V | Paste |
? | Open shortcuts dialog |
Deep links
The terminal supports URL hash routing so you can bookmark or share a specific session state:
| Hash | Effect |
|---|---|
#session=router/main | Open and attach to session router/main |
#panes=a,b&focus=b | Open sessions a and b in split view, focus b |
#fullscreen=1 | Start in fullscreen mode |