
# Gloomberb
**Open-source finance terminal. Fast, keyboard-driven, and extensible.**
Desktop app for macOS and Windows. Terminal UI for macOS, Linux, and Windows.
Download desktop
·
Install the TUI
·
简体中文
## Desktop App or TUI?
Gloomberb has two ways in:
| Surface | Best for | How it runs |
|---------|----------|-------------|
| Desktop app | A polished app window, pop-out panes, OS shortcuts, and built-in updates | Published for macOS and Windows. It also installs a `gloomberb` terminal command for the TUI. |
| Terminal UI | Fast keyboard workflows inside your terminal, SSH/dev boxes, Linux machines, and script-friendly setups | Runs with `gloomberb` on macOS, Linux, and Windows. |
| Browser app | The shared DOM interface without an install | Open [term.gloom.sh](https://term.gloom.sh). |
The desktop app and TUI share the full command language and plugin system. The browser app uses the same official DOM renderer and layout with a reviewed browser plugin catalog.
## Browser App
[term.gloom.sh](https://term.gloom.sh) works anonymously with configuration, tickers, layouts, session state, and plugin state stored in the browser. Anonymous sessions receive rate-limited, 15-minute-delayed Gloom Cloud market data and read-only chat. Login remains optional and enables sync and chat posting; Pro accounts receive realtime market data. Cloud REST and WebSocket traffic uses the same-origin `/api` path, which the Worker forwards only to `https://api.gloom.sh`; it is not an arbitrary network proxy.
The browser build intentionally omits brokers and native integrations, filesystem notes, local AI, external plugins, updater/debug tools, application menus, native window controls, pop-out native windows, and native context menus. Modules that still depend on desktop-only or CORS-blocked feeds are also absent for now: RSS/Substack, prediction markets and polls, market halts/heatmap/movers, dividend/ownership/SEC panes, earnings/IPO, and TV. Public shares open under `/s/:id` in a separate slim bundle. Share creation and owner deletion use the signed-in Gloom Cloud session through the same fixed API path; public reads require no account.
Local browser development:
```bash
bun run web:build
bunx wrangler dev
```
Validate the public artifacts with `bun run web:audit` and `bun run cloudflare:dry-run`. `wrangler.jsonc` is intentionally generic and contains no account, route, domain, namespace, or secret. Production routing and the private Gloom Cloud API deployment are configured separately.
## Install
### macOS
Install the desktop app and the `gloomberb` terminal command:
```bash
brew install --cask vincelwt/tap/gloomberb
# or
curl -fsSL gloom.sh/install | bash
```
Both install `Gloomberb.app` and a `gloomberb` command that runs the TUI through the app bundle, so the bundled runtime is stored once.
Prefer a direct download?
- [Download Gloomberb for Mac](https://gloom.sh/download/desktop)
### Linux
Install the standalone TUI binary:
```bash
curl -fsSL gloom.sh/install | bash
```
This installs `gloomberb` to `~/.local/bin` by default. A Linux desktop package is not published yet.
### Windows
Install the desktop app:
- [Download GloomberbSetup.exe for Windows](https://github.com/gloom-sh/gloomberb/releases/latest/download/stable-win-x64-GloomberbSetup.exe)
The installer supports Windows 11 on x64 and ARM64. On ARM64, the desktop app and its bundled `gloomberb` terminal command use Windows' built-in x64 emulation.
For a terminal-only setup on x64, install Bun and use the package:
```powershell
bun install -g gloomberb
```
### Terminal Package
Already have Bun installed on any supported OS?
```bash
bun install -g gloomberb
```
Then run:
```bash
gloomberb
```
On macOS and Windows, desktop updates replace the installed app in place and keep the terminal command pointing at the updated runtime. Homebrew users can also update through `brew upgrade --cask gloomberb`.
For the best terminal experience, use a [Kitty](https://sw.kovidgoyal.net/kitty/)-compatible terminal such as Ghostty, Kitty, or WezTerm.
Live TV in the terminal also requires `mpv` with Kitty video output. Gloomberb resolves the stream in JavaScript and runs `mpv` with its `yt-dlp` integration disabled, so `yt-dlp` is not required.
## Start
Open command mode with `Ctrl+P`, then type a command. Press `` ` `` to open ticker search directly.
| Try | Opens |
|-----|-------|
| `DES AAPL` | Security details |
| `GP NVDA` | Price chart |
| `G AAPL:price, MSFT:revenue` | Mixed-series chart |
| `TOP` | Ranked market stories |
| `HM` | Market heatmap |
| `MOST` | Market movers |
| `HILO` | New highs and new lows |
| `PF` | Portfolios and watchlists |
| `KELLY AAPL` | Position sizing |
| `HELP` | Full in-app shortcut list |
## What It Does
- Research companies with quotes, charts, financials, filings, holders, insiders, options, analyst ratings, events, and relative valuation.
- Follow markets with top stories, breaking news, sector feeds, Substack subscriptions, global indices, futures, FX, macro events, yield curves, Treasury auctions, market movers, new-high/new-low and options-flow scanners, and fear/greed.
- Track portfolios and watchlists, connect brokers, set alerts, keep notes, run AI screens, browse prediction markets, and use Gloom Cloud chat.
### Broker position sync
Use **New Portfolio** or **Add Broker Account** to connect a broker. Gloomberb can import positions from Interactive Brokers, Public, Robinhood, and SimpleFIN.
- Robinhood opens a browser sign-in page. Gloomberb uses only the read-only account and equity-position tools from the Robinhood Trading MCP server.
- Public needs an API secret from Public API settings. Gloomberb creates a short-lived access token and uses only the account and portfolio endpoints.
- SimpleFIN needs a one-time setup token from SimpleFIN Bridge. Gloomberb exchanges the token and imports only accounts that contain holdings.
Gloomberb saves the connection data on the local device. It does not include this data in Gloom Cloud synchronization. A later position sync updates the managed portfolios and removes positions that the broker no longer reports.
## CLI
Running `gloomberb` with no arguments launches the terminal UI. Normal commands run through a headless CLI path; use `gloomberb launch-ui` when a script should explicitly open the UI.
Human-readable output is the default. Automation can opt into structured output with `--json`, `--csv`, or `--ndjson`. JSON output favors the richest fetched model available and includes display-column metadata when a command has table columns; CSV and NDJSON use the command's tabular row view. Common global flags include `--limit`, `--refresh`, `--quiet`, `--no-color`, `--dry-run`, and `--yes`.
| Command | Use |
|---------|-----|
| `gloomberb` | Launch the terminal UI |
| `gloomberb launch-ui` | Explicitly launch the terminal UI |
| `gloomberb help` | Show all CLI commands |
| `gloomberb api list|get|invoke|subscribe` | Inspect and call plugin capabilities directly |
| `gloomberb quote