Get it for macOS

Open shells on any machine connected to bb from one sidebar page, and find them still running when you come back. Each tab is a terminal in that machine's home folder, with no project, thread or checkout needed; with several machines connected, the + button lists them so you pick one. Tabs reattach to their shells after a reload, the desktop app and bb in a browser show and type into the same shells, and a machine that goes offline picks up where it was when it reconnects. Select text in a terminal to put it in an open or new thread's message box as terminal output, for you to send yourself. Requires bb 0.48 or later and at least one machine connected to bb; a terminal runs that machine's own shell as the user bb runs as there.


Overview

View source

A Terminals page in the bb sidebar with tabs of shells on any machine connected to bb. No project, thread or checkout is needed: each terminal opens in that machine's home folder, as a new window in a terminal app does.

What you get

  • Press + at the end of the tab strip to open a terminal. With one machine connected it opens there at once; with several, pick one from the list.
  • Tabs look and work like bb's own: drag one to move it, close it with its ×, a middle click or its right-click menu (which can also close the others, or those to its right), and scroll them with the arrows when they do not fit. The order is shared by every window and kept across reloads.
  • Tabs are named after their machine; rename one by double-clicking its title, from its right-click menu or with F2, and every window shows the new name. Closing a tab ends its shell.
  • Leave the page and come back to find every tab, the one you were on, and each terminal's scrollback at the line you left it. Whatever was running kept running.
  • Reload or reopen the app and every tab reattaches to its shell, with its recent output replayed.
  • The same tabs in every window: the desktop app and bb in a browser through getbb.app show and drive the same shells.
  • A machine that goes offline is marked, and its shells carry on when it reconnects. A shell that ends keeps its output on screen with its exit code.
  • Select text and an Add to chat button appears, as in bb's own terminal. Pick an open thread, or a new thread in a project (the one the shell is in, when it says), and the selection lands in that chat's message box as terminal output naming its tab and machine, for you to send yourself.
  • Copy on select follows bb's own setting: a finished selection is copied with a "Selection copied" notice, and nothing is copied when the setting is off.
  • Colours and font follow bb's theme.

How it works

Each tab is one of bb's own terminal sessions, run by the chosen machine's bb host daemon, so a shell does not depend on the page or the app being open. The page draws it with xterm.js and streams it over bb's own terminal connection. No port is opened, and the plugin stores only the list of tabs: never output, keystrokes or credentials.

What it needs

bb 0.48 or newer, and at least one machine connected to bb. A terminal runs that machine's own shell as the user bb runs as there.

More from Gustavo Ambrozio

ChatGPT Realtime ConnectionRun Voice Mode's voice chats on your ChatGPT subscription instead of a separately billed OpenAI API key. It hands Voice Mode the ChatGPT sign-in that the Codex CLI already keeps on the machine running the bb server, reads it again for every chat, and never renews or rewrites it. Only the plugins you allow, Voice Mode to begin with, receive the token; the bb app, the command line and agents in threads never do. This is an undocumented use of the subscription that OpenAI could stop accepting at any time, nobody has checked whether OpenAI's terms allow it, and voice chats count against your ChatGPT plan. Requires bb 0.46 or later, Voice Mode 0.1.9 or later, and the Codex CLI signed in with Sign in with ChatGPT on a plan that includes Codex.NewDiff ReviewComment on a thread's changes line by line, then send the comments to its agent, which fixes the code and answers each one. A Review tab beside the thread shows the diff of its uncommitted, staged or unstaged changes, its branch, one commit or a range, and each comment follows its code as the code moves. The same tab reviews a GitHub pull request: answer its threads, mark files viewed in step with GitHub, and submit your comments as one review, posted as the GitHub CLI's signed-in account. An AI review leaves comments of its own, @reviewer answers a question inside a comment thread, and Fix in a new thread hands the comments to another agent; these runs start as threads under the one being reviewed, in the permission mode set in the settings (bb's Approve for me by default, or Accept edits), and in full permission mode with a provider that lacks that mode, such as opencode. Follows the review loop of the open-source diffity, credited in the plugin's third-party notices. Needs bb 0.48 or later with bb's Git plugin on, and the signed-in GitHub CLI (gh) for pull request review only; it is built on experimental bb plugin APIs that may change between bb releases.NewFirstMate CrewHand one agent your to-do list and it runs a crew of worker threads, each in its own git worktree, until the work lands. The first mate is a pinned thread in bb's own chat that writes each worker's instructions, supervises it, and brings back branches, pull requests, findings and only the decisions that are yours. A FirstMate tab shows the crew as a board of Queued, Working, Blocked, Parked, Done, Failed and Idle, with Steer, Interrupt, Relaunch and End on every card. A built-in watch tells the first mate within about five minutes when a pull request is merged, reviewed or changes check status. Requires bb 0.47 or later, git, and the logged-in gh CLI for the pull request watch; a capable model such as Claude Sonnet is recommended for the first mate.13GitHub BoardSee your GitHub issues, pull requests and discussions on one board, and hand any of them to an agent thread. Four columns cover what you wrote, what is open on repositories you own and what is assigned to you, and an issue that a pull request closes folds into that pull request's card. Pull request cards show CI checks and branch status, with an Update branch button wherever you can push. A detail panel shows the body, comments and images, and labels are added or removed from a right-click menu. Send to chat opens bb's new-thread composer on a card, with a prompt you set per column and per project, in the bb project that has the repository checked out. Add to chat puts the same prompt, the card's column template with the chat's project override, at the end of a chat's draft without sending it, from a menu of the chats on screen and your recent threads. Requires bb 0.47 or later, and the GitHub CLI (gh) installed and signed in on the machine running the bb server.9

More in Command Line 10

Work with shells and command-line programs inside bb.

View all