Ace map · terminal

Terminal

Run commands beside a channel.

testedvisualpartialbrokenuntestedmissingplannednopen gap
^750

Open a terminal

visual
  1. ^751

    Choose Terminal from the New tab menu

    tested
    Channel header → + → Terminal

    A Terminal tab opens beside the chat and a shell starts in it.

  2. ^752

    Choose Terminal in a blank pane

    tested
    Channel header → Split right / Split down → Terminal

    Split the pane, then pick Terminal from the blank pane's choices.

  3. ^753

    Run commands

    tested

    Type in the tab; it's a login shell ($SHELL -l) run by the host as its user, with the host's environment.

    1 The font stack is fixed (terminal.tsx:150: ui-monospace, SFMono, Menlo…), so Nerd Font prompt glyphs show as boxes; Nate's Ghostty uses LilexNerdFontMono and his prompt renders □ in every shot here.

  4. ^754

    Work in the chat's lane

    tested

    The shell starts in the chat's lane worktree when it has one, otherwise in the project checkout.

^755

Work in a terminal

partial
  1. ^756

    Resize it

    tested

    Resize the window or drag a pane edge.

    The terminal refits and the shell gets the new size (stty size went from 48×125 to 34×76).

  2. ^757

    Copy and paste

    partial

    Select text and press Cmd+C; press Cmd+V to paste.

    2 A copied screen pasted as many commands and ran each line, with no multi-line paste warning; the headless clipboard couldn't be read.

  3. ^758

    Clear with Cmd+K

    tested

    The screen clears; the command palette doesn't open while the terminal has focus.

  4. ^759

    Interrupt with Ctrl+C

    tested

    The running command stops and the prompt returns.

  5. ^760

    Scroll back through output

    tested

    Scroll the wheel or press Shift+PageUp.

  6. ^761

    Follow the app's appearance

    tested

    The terminal takes its colors from the app theme, including a live dark → light switch.

  7. ^769

    Use a terminal at phone width

    tested
    Phone → channel → + → Terminal

    The terminal fills the screen and takes input.

    3 Tried in Playwright's mobile emulation at 390×844 with a hardware-style keyboard; a real phone's on-screen keyboard is untested.

    4 With three tabs (chat, Diff, Terminal) the Terminal title is cut to Termina under the machine icon.

^762

Use several terminals

visual
  1. ^763

    Open another terminal

    tested

    Tabs are renamed Terminal 1 and Terminal 2, each with its own shell.

  2. ^764

    Put terminals side by side

    tested
    Channel header → Split right / Split down

    Each pane's shell fits its own width.

  3. ^765

    Jump to a terminal from the palette

    partial
    Cmd+K → "Tab: Terminal"

    Other tabs in the window are listed; picking one shows it.

    5 The palette lists only tabs not on screen, and ⌘K in a focused terminal clears it instead.

  4. ^766

    List terminal tabs from the command line

    tested
    ace tabs --port <port>

    Each open window's tabs, with type terminal.

^767

Keep a terminal across reloads

visual
  1. ^768

    Reload or reopen the window

    tested

    The tab comes back and reattaches to the same shell, replaying up to 256 KB of earlier output. Restored tabs start or reattach only when shown.

    6 Tabs are saved in each browser's localStorage (ace:channel-layout:<id>), so a terminal opened in one browser or device isn't listed in another, although its shell keeps running on the host.

  2. ^770

    Ride out a lost connection

    tested

    A Disconnected from your host. Reconnecting… banner and a Disconnected chip; when the host comes back the tab attaches again. If the host lost the shell, the tab says The host no longer had this terminal's shell, so this is a new one. The previous shell's command and output are gone.

^771

End a terminal

partial
  1. ^772

    Exit the shell

    tested

    Run exit.

    Exited with code 0. Press any key to restart.

  2. ^773

    Restart it

    tested

    Press any key in the exited terminal.

    A new shell starts in the same tab.

  3. ^774

    Close the terminal tab

    tested

    Click the tab's ×, or focus it and press Backspace.

    The host hangs up the shell's process group, so commands it started stop too.

  4. ^775

    Leave a terminal unwatched

    tested

    A terminal no client has attached for 30 minutes is closed with its processes. A sleep left in a detached tab was gone between minutes 29 and 30.

  5. ^776

    Archive, kill or delete the channel

    tested

    Every terminal of the channel closes, from the app or the CLI: ace archive cli-one-1 ended its open shell within 2 s.

    7 Archive kills running terminals without asking (left by githubnext/ace#651).

  6. ^777

    Stop the host

    tested

    All terminals close, waiting up to 10 s for shells to exit. A sleep left running was gone within 2 s.

^778

Know where a terminal can't open

partial
  1. ^779

    Open a terminal on a teammate's or cloud channel

    tested

    Only the host owner gets terminals. A teammate's channel fails with "Terminals open on the channel's host"; a cloud workspace channel with "A cloud compute channel's shell is in its container, not on this host".

    8 Re-check, Canary 0.0.54.93: a teammate's channel's New tab menu offers only Chat and Diff, with nothing saying why; no old Terminal tab was left to check its message.