Terminal
Your apps, at the speed of a keyboard.
A full-screen console for the terminal: every app's numbers, errors, traces and experiments, the inbox and the waitlists, driven by a few keys and : commands.
A session in the terminal app
██╗ ██████╗ ██████╗ ███████╗██╗ ██╗██████╗ ███████╗ ██║ ██╔═══██╗██╔════╝ ██╔════╝██║ ██║██╔══██╗██╔════╝ ██║ ██║ ██║██║ ███╗███████╗██║ ██║██████╔╝█████╗ analytics · inbox · waitlists ██║ ██║ ██║██║ ██║╚════██║██║ ██║██╔══██╗██╔══╝ owner on work https://logsure.example.com ███████╗╚██████╔╝╚██████╔╝███████║╚██████╔╝██║ ██║███████╗ v0.7.0 · ? help · : command ╚══════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ LogSure work Example Shop Last 4 hours · updated now Visitors 289 +117% Visits 289 +117% Pageviews 307 -2% Views/visit 1.1 Bounce 96% Avg visit 1m 7s Now 0 Events 1 Visitors per hour █▆ ██ ▇██ ▂███▆ ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Top pages Visitors Sources Visitors Countries Visitors / 80 (none) 112 DE 46 /collections/summer 79 github.com 51 CA 45 /products/linen-shirt 75 google.com 44 US 42 /cart 61 duckduckgo.com 43 FR 36 /products/canvas-tote 2 news.ycombinator.com 37 IN 32 /checkout 2 bing.com 1 GB 31 /search 2 producthunt.com 1 JP 30 NL 24 BR 1 ES 1 range: Last 4 hours
- logsure login sign in
- ↓Enter open an app
- :range 4h any window
- :inbox bug the inbox
- Enter read a request
- r resolve it
- Esc back
Recorded from the terminal app itself, against a server with sample data.
Install in one go.
From the repository's own Homebrew tap, on macOS and Linux. It builds from source, so the first install takes a few minutes.
Cargo and other waysbrew tap logsure/terminal https://github.com/logsure/terminal
brew trust logsure/terminal
brew install logsureSign in once. Keep many servers.
Paste the code from Settings › Devices. The token goes to the system keychain, never a file, and :ctx switches between servers.
$ logsure login --name work Code from Settings › Mobile app (logsure://…): Signed in to https://logsure.example.com as "work" (device "Terminal", 4 apps). $ cat ~/.config/logsure/config.toml current = "work" range = "7d" [servers.work] url = "https://logsure.example.com"
Any window you can name.
:range takes presets, lengths, named stretches, days, months and spans, and every view follows.
4htoday14d6wlastmonththisyear2026-092026-09-01..2026-09-15
Script it.
Every view is also a one-shot command, and --json prints the server's answer as it came, ready for jq.
appsappeventsinboxticketwaitlist
$ logsure apps --range 7d --json | jq -r '.apps[] | "\(.appId)\t\(.visitors)"' acme-notes 4312 example-shop 6372 pocket-budget 1439 trailmap 2535 $ logsure inbox --status active --json | jq -r '.items[] | select(.kind == "bug") | .subject' Recurring expense created twice Offline maps fail to download Sync stalls after waking from sleep Coupon field rejects valid codes Export to PDF cuts off the last page $ logsure waitlist --list beta --json | jq .total 77
Errors, traces and experiments too.
Triage an app's errors, open a trace as a waterfall, follow its logs, and read an experiment's verdict, without leaving the keyboard.
Views
:errors [app] [status] issues; Enter for the stack
:traces [app] traces; Enter for the waterfall
:logs [app] [level] logs; f follows new ones
:services [app] p50, p95 and p99 per service
:lab [app] experiments and their results
:funnels [app] funnels, step by step
:dash [name] your saved dashboards
:features [app] feature switchesThe keys.
Press ? in the app for all of them.
Move and read
↑ ↓ PgUp PgDn move · Enter open · / filter as you type · Esc back · Tab complete a command · Ctrl-R refresh
Act
e an app's events · r resolve · n add a note · t s next kind or status · i j w invited, joined, waiting