New in 1.7 Tabs group by git repo and follow your cd

Your terminal,
at dusk.

the machine speaks back

A quake-style terminal with a real GUI tab bar. Native Rust, no Chromium, no apologies. It drops from the top edge on a keystroke, shows you what your machine is actually doing, and gets out of the way.

$ brew install hobo-ware/tap/stdusk copy
Download for macOS

Free and MIT licensed. macOS first, Apple Silicon and Intel.

to summon it. Try it here.
stdusk showing the repo chip, a pinned tab with the Claude badge, and a build in the terminal
1
native binary
0
Chromium processes
204
color schemes built in
6
AI CLIs it recognizes
What it does

Glance, don't babysit.

Everything a local-shell terminal should be, plus the few things that make stdusk worth summoning.

The crown jewel

Progress bars live on the tab.

apt, pip, npm, curl, cargo, your 3am migration. If it prints N% or speaks OSC 9;4, the tab wears a progress bar. Switch away, keep working, glance back.

  • The bar turns red when the app reports an error
  • Split tabs add up the progress of every pane
  • A notification when a long command finishes while stdusk is hidden
1server
2deploy
3notes
+
Ambient awareness

Know which agent is thinking.

Got a claude, a codex and a gemini spread across seven tabs? Each tab shows which one it runs, with that tool's own logo. No plugins, no config: stdusk reads the process tree.

  • Claude Code, Codex, Gemini, Copilot, Aider, Cursor
  • Paste a screenshot straight into Claude Code with Ctrl+V
  • Light/dark switches reach apps that cache colors (DEC mode 2031)
1apiA\
2web✦
3infra◯
+
claudethinking
codexidle
geminirunning
copilotidle
aideridle
cursoridle
New in 1.7

Tabs that know their repo.

Turn on group by repo and the tab bar shows only the repo you're in, behind a small chip. cd into another repo and the tab moves there with you. Git worktrees fold into their main repo.

  • Switch repos with CmdCtrl] or the palette
  • A dot on the chip when a hidden repo needs you
  • Lands on the tab you used last in that repo
stdusk 3 ▾
stdusk3 tabs
trakt-web4 tabs
work/api2 tabs
Other1 tab
Updates without the pain

Restart. Keep every shell.

stdusk checks for new releases and puts a dot on the gear; one click in Settings installs it through brew upgrade, or it can do so in the background. Then the gear offers a restart. The old window hands its live shells to the new one over a local socket, with the screen and recent scrollback replayed. Your running build, your SSH session, your agent: still there.

  • Same tabs, splits, titles, colors and folders
  • If anything goes wrong, the old window just stays up
  • Quitting still ends everything, as it should
stdusk 1.7.1
handing over
zsh - cargo build
ssh prod
claude
live ptys
stdusk 1.7.2
adopting
zsh - cargo build
ssh prod
claude
$ 3 shells reattached, 0 killed
Make it yours

A real settings screen.

Press Cmd, and browse 204 color schemes with a live preview. Filter light or dark, pick one for each, and let stdusk follow the system. Every scheme gets a contrast floor, so nothing turns unreadable.

  • Fonts, Nerd Fonts, ligatures, line spacing, opacity
  • Profiles with their own shell, folder, env and color
  • Remap every hotkey. Fully usable from the keyboard
The stdusk color scheme browser with a live preview
And the rest

Supreme defaults.

The things you only notice when a terminal gets them wrong.

↓

Quake or window

Drops from the top edge on a global hotkey, hides on blur, follows your Space and the screen with the mouse. Or set mode = "window".

◫

Split panes

Split right or down, drag to resize, zoom a pane, and broadcast typing to every pane at once.

/

Scrollback search

CmdF with regex, case and whole-word toggles. Every match highlighted.

>

Command palette

CmdShiftP, fuzzy search. Every action, profile and repo two keys away.

↻

Session restore

Tabs, splits, folders, names, colors and pins come back after a quit.

↩

Agent resume

After a relaunch, a pane that ran claude or codex reopens that exact conversation at its first prompt. Set resume_agents to auto, prefill or off. After a crash signal the command is typed and waits for Enter. Works in every shell, with no wrapper or hook. Codex needs one message sent first. A rare timing clash can leave a Codex pane as a plain shell, or on the conversation it had before a /new.

↗

Clickable links

URLs, file paths and IPs, even when they wrap over two lines. Cmd+click inside apps that take the mouse, and the key is yours to pick.

⇩

Drop files in

Drag files onto a pane and their paths land at the prompt, safely quoted.

~

Autosuggestions

Optional fish-style ghost text from your zsh history. Right arrow accepts.

✓

Shell integration

Injected for you. Tabs show when a command fails and new tabs open in the same folder.

⇄

Settings sync

Push your config to your own private git repo and pull it anywhere. No accounts.

1

One instance

Launch it again and you get a new tab in the running window, not a second app.

◉

Tab power tools

Color, rename, pin, drag to reorder, reopen closed tabs, close others. Choose where new tabs go.

☼

Follows the OS

Pick a light and a dark scheme. stdusk switches with macOS and tells your apps.

▣

Mouse that works

Select and copy, drag with auto-scroll, SGR mouse reporting for TUIs, middle-click paste.

Aa

Proper type

Truecolor, real bold faces, dim text, wide characters, emoji and ligatures that sit right.

●

Menu bar icon

No Dock clutter in quake mode. Show, hide, restart and quit from the menu bar.

→

Move to Tidewatch

One palette command hands every live shell in the window to Tidewatch, if you have it installed.

Muscle memory

Every action, two keys away.

macOS-native defaults. Remap any of them in Settings, or in config.toml.

Summon / hideCtrl`
New tabCmdT
Reopen closed tabCmdShiftT
Split rightCmdD
Split downCmdShiftD
Broadcast inputCmdShiftI
FindCmdF
Command paletteCmdShiftP
SettingsCmd,
Last tabCmdO
Next tabCmdShift]
Next repoCmdCtrl]
Clear everythingCmdK
The case

Refuse the tradeoff.

Text-grid terminals (tmux, kitty, ghostty) are fast, but they draw tabs as text. They can never look like a GUI. Electron terminals look gorgeous and charge you a few hundred megabytes of RAM for it. stdusk does both: egui paints real tabs, alacritty_terminal runs the grid, and it all ships as one native binary.

Text-grid terminalsElectron terminalsstdusk
Real GUI tab barno, text cellsyesyes
Native, no browser engineyesnoyes
Progress bars on tabsraresomeyes
AI-CLI badgesnonoyes
Quake drop-down built insomesomeyes
Get it

Three steps. One of them is a keystroke.

01

Install

Lands in /Applications and puts the stdusk CLI on your PATH.

$ brew install hobo-ware/tap/stdusk
02

Summon

Hit Ctrl` anywhere. It drops from the top edge. Hit it again and it's gone.

[quake] hotkey = "Ctrl+Grave"
03

Make it yours

Press Cmd, or edit the file by hand. Same thing, the GUI just saves it.

~/.config/stdusk/config.toml
std* meets dusk

stdin, stdout, stdusk.

A terminal stream at the faded end of the day. The machine speaks back.

Download for macOS Star on GitHub
Copied to clipboard