Skip to content

Use the terminal UI

Council Console is the full-screen interactive terminal UI (TUI). On an interactive terminal it now opens by default when you run council with no arguments — browse panels and experts, chat, convene a debate, conclude, and export without remembering a single subcommand. Everything you can do from the classic CLI is reachable here, with live navigation and contextual help.

On an interactive terminal, just run:

Terminal window
council

A bare council with no subcommand launches Council Console. To launch it explicitly — for example from a script alias, or after you’ve opted bare invocations out — use the dedicated command:

Terminal window
council ui

council ui always launches the TUI, regardless of the auto-launch default. See council ui in the command reference.

The TUI only takes over a bare, interactive invocation. Any of the following keeps you on the classic line-oriented CLI:

Escape hatchEffect
Run any subcommand (council convene …, council ask …)Subcommands never launch the TUI
council --no-tuiPer-invocation opt-out for a bare council
COUNCIL_NO_TUI=1Environment opt-out for every bare council
Non-interactive stdout (piped, redirected, or no TTY)Falls back to the classic CLI automatically
CI is setContinuous-integration environments never launch the TUI

Because Council detects a non-interactive stream, piping or redirecting works the way you’d expect — no flag required:

Terminal window
council | cat # non-TTY stdout → classic CLI
COUNCIL_NO_TUI=1 council # explicit opt-out → classic CLI

Council Console is keyboard-driven. The left sidebar lists the main destinations (Home, Panels, Experts, Sessions, Chats, Settings); the footer always shows the keys available on the current screen.

KeyAction
/ j kMove within a list
EnterSelect / confirm
TabSwitch focus between the sidebar and the main pane
\Show or hide the sidebar
Ctrl+KOpen the command palette (jump anywhere by name)
?Open contextual help
EscGo back one screen — and quit from Home
qQuit

Press ? on any screen to open the help overlay. It lists the global keys above plus the shortcuts specific to where you are — for example, on a panel’s detail screen it shows c Chat, m Edit members, d Delete, and v Convene. Press ? again or Esc to close it. If you ever feel lost, ? is the fastest way to see what the current screen can do.

Press Ctrl+K to open the command palette, type to filter, and press Enter to jump straight to a destination or action.

Council Console covers the full Council workflow. Each area exposes its actions through the contextual ? help, so this is a map rather than a script.

The landing screen summarizes your recent activity and offers quick actions: c convene, e new expert, p new panel, and , settings.

Browse and inspect your panels, then create or curate them in place:

  • Create a panel and pick its members, or auto-compose one from a topic.
  • From a panel’s detail screen: chat with the panel, edit members, delete, or convene a debate.

Browse experts and open one to see its definition and what it remembers:

  • Create a generic or persona expert and edit it. For example, a persona for Pedro Fuentes (VP of Engineering) with the slug pedro-fuentes.
  • Manage a persona’s documents and train it on them to build its memory.
  • An expert’s memory — its synthesized profile and extracted highlights — is shown inline on the detail screen.

See Persona Experts and the Memory Model for the concepts behind this.

Open a streaming conversation with a single expert (1:1) or with a whole panel:

  • In a panel chat, every expert responds by default. Address specific experts with @mention (for example @pedro-fuentes) to fan a message out to just them.
  • Trigger a structured debate inline with @convene — Council Console jumps straight into the convene flow for that panel.
  • Conversations persist, so you can resume them from the Chats list later.

The same directives work in the classic CLI — see In-Chat Directives.

Starting from a panel, Council estimates the cost first:

  1. A cost-confirmation modal shows the experts, rounds, and estimated premium requests — press y (or Enter) to run, or n to cancel.
  2. The debate streams live, round by round. Press Esc to cancel mid-stream; the partial transcript is preserved.
  3. From a session, conclude to synthesize the debate into a decision matrix.

The Sessions list shows your past debates. Open one to read its transcript, then conclude (c) or export (x) it. The export overlay previews a sanitized render before writing a file and supports four formats:

  • Markdown — readable transcript
  • JSON (NDJSON) — one record per line, for tooling
  • ADR — an Architecture Decision Record
  • Share — a redacted, shareable summary

See Output Formats for details.

The very first time you open Council Console, a short onboarding step helps you pick a default model. Use / to choose and Enter to confirm, or Esc to skip and keep the default. Your choice is saved to config.yaml and applied to the running session immediately.

Open Settings (or press , from Home) to view and edit your configuration without leaving the app. Move with /, edit a field with Enter, and save with Ctrl+S.

Council Console can keep a small local usage counter to help understand which screens and features get used. It is opt-in, off by default, local only, and content-free:

  • No network. Nothing is ever sent anywhere — there is no endpoint.
  • No content. It records only static counters such as screen.view:home and feature.used:export. It never records your prompts, responses, topics, panel or expert names, or file paths.

When enabled, the counters are written to a single local file at ~/.council/telemetry-counters.json.

Terminal window
council telemetry status # show whether telemetry is enabled
council telemetry enable # opt in
council telemetry disable # opt out (the file simply stops being updated)
council telemetry explain # print exactly what is and isn't recorded

To delete the collected counts, remove the file:

Terminal window
rm ~/.council/telemetry-counters.json

For the full privacy posture, see Security and Privacy and the council telemetry reference.

Council Console honors the same accessibility switches as the classic CLI and adapts to your terminal size:

  • NO_COLOR disables ANSI colors; COUNCIL_ASCII=1 (or TERM=dumb) forces an ASCII-only charset.
  • The layout is responsive — the sidebar collapses on narrow terminals, and below ~60 columns Council Console prompts you to widen the window.

See Environment Variables for the full list of rendering and launch switches.