CLI

Interactive list keyboard guide

HarnessTap's TTY entity lists share one table browser: grouped tables, a search line, a dense folded footer, and a help line. Selection is shown only in the...

HarnessTap's TTY entity lists share one table browser: grouped tables, a search line, a dense folded footer, and a help line. Selection is shown only in the table (> marker and accent color)—there is no separate Active: / Show: line above the table.

Universal keys

These work in every interactive table browser prompt.

KeyBehavior
↑ / ↓Move the active item (stops at the first and last item)
Typeable charactersAppend to the search query, including uppercase; active item resets to the top
BackspaceDelete the last query character; active item resets to the top
Esc in detail viewReturn to the browse list (does not exit the prompt)

Chrome

Every browse frame follows the same layout:

? Filter resources
Search: skill:dbt

skill (3)
┌──────────┬───────────┬─────────┐
│ NAME     │ NAMESPACE │ UPDATED │
├──────────┼───────────┼─────────┤
│ > beta   │ …         │ 1d ago  │
└──────────┴───────────┴─────────┘
  ↑ 7 above · ↓ 4 more in skill · rule (1) · ↓ next type

↑↓ select · type search · ⏎ show · d delete · esc exit

Folded footer: When rows or sections overflow the viewport, hint segments join with · on one line when the terminal is wide enough (for example ↑ 7 above · ↓ 4 more in skill · rule (1) · ↓ next type). On narrow terminals, segments wrap at · boundaries onto additional indented lines.

Display behavior: Filter and pick prompts run on an alternate terminal screen so typing and scrolling do not leave ghost lines in your scrollback. When you exit, the main screen is restored. Tables reflow when you resize the terminal.

Search prefixes

Type section:text to scope search to a section or column family. Unknown prefixes are treated as plain text.

PrefixUsed byMatches
skill:dbtResource listSkills whose name or description contains dbt
rule:apiResource listRules matching api
name:prodEnvironment listEnvironment names
desc:stagingEnvironment listEnvironment descriptions
local:fooLayer / profile listLocally installed layers
remote:fullLayer / profile listRemote catalog layers

Free text (no prefix) matches across the default fields for that list.

Intents

Each prompt runs with one intent. Enter and Esc behavior depends on the intent.

filter — live search overlay

Used by: resource list, environment list (interactive env ls).

KeyBehavior
EnterOpen detail view for the active item (when one exists)
ctrl+eEdit the active environment (environment list only)
ctrl+xDelete the active row after an inline [y/N] confirm
Esc (browse)Commit the current query and exit

Esc always exits with whatever is typed. An empty query means "no filter" and shows the full list. Help label: esc exit.

Resource list: ctrl+x deletes the active resource (no edit shortcut — use resource show or re-import flows). Environment list: ctrl+e opens the environment editor; ctrl+x deletes after confirm.

Resource columns: NAME shows the bare resource name. NAMESPACE shows plugin or package provenance (marketplace-linked resources display as marketplace/plugin). Selectors and JSON output still use name@namespace where applicable.

Resource viewport: On height-constrained terminals, browse shows one resource type at a time with a sliding window of rows. Static resource list --no-interactive still prints all type sections.

Environment columns: NAME, VALUES, SECRETS, REFS counts.

pick-one — pick one item

Used by: resource show, resource delete, layer show, layer delete, profile show, environment show, environment delete.

KeyBehavior
EnterConfirm the active item and exit
ctrl+xDelete the active item after inline [y/N] confirm (when formatDeleteConfirm is set)
Esc (browse)Cancel the prompt

Help label: esc cancel.

pick-many — multi-select with detail view

Used by: layer edit interactive composition, catalog search apply (layer list apply mode).

KeyBehavior
EnterOpen detail view for the active item
Esc (browse)Cancel the prompt
Ctrl+SSubmit checked items
SpaceToggle the active item
Ctrl+ASelect all visible items
Ctrl+XClear selection on all visible items

When Enter opens a detail view, use Ctrl+S to save or apply. Help label: esc cancel.

install — layer / profile list browser

Used by: layer list, profile list (interactive browse with local + remote sections).

KeyBehavior
EnterOpen detail view for the active row
ctrl+eEdit the active local layer, or a manageable remote catalog layer (returns to the list after edit)
ctrl+xDelete the active local layer, or a manageable remote catalog entry, after inline [y/N] confirm
Esc (browse)Cancel the prompt

Detail view (local): e edit, d delete (with confirm), esc back to browse.

Detail view (remote): i install, a apply to project or globally, e edit catalog (pull + composition edit + optional publish) and d delete catalog entry when manageable, esc back to browse.

Remote edit/delete requires authentication with publish scope in the layer's owning organization. Deleting a catalog entry does not remove a local install.

Help label: esc cancel.

manage — row actions with shortcuts

Used by: environment edit.

KeyBehavior
EnterEdit the active row
Esc (browse)Cancel (returns without saving)
aAdd a row
dDelete the active row
qQuit and save

Help label: esc cancel.

Wizard multi-select (legacy)

Used by: wizard alias multi-select flows (promptForSearchableMultiSelect).

KeyBehavior
EnterSubmit checked items
Esc (browse)Go back to the previous wizard step
SpaceToggle the active item
Ctrl+ASelect all visible items
Ctrl+XClear selection on all visible items

Help label: esc back.

Help labels

Prompts use consistent labels so Esc behavior is predictable.

ActionHelp label
Commit filter and exitesc exit
Cancel promptesc cancel
Wizard step backesc back
Detail view back to browseesc back

Tips

  • Uppercase search — all prompts accept shift-modified characters in the query. Matching is case-insensitive.
  • Disable interactivity — pass --no-interactive on supported commands for scripting and CI.
  • JSON output — many list commands accept --format json as a non-interactive alternative.
  • Command referencelayer list, resource list, environment list, layer edit, and other commands that use these prompts
  • Getting started — first-run workflow