Shell integration
The Ledger, the cards, history and the Running list all need your shell to say where each command begins and ends. Opsty sets that up by itself, without touching your dotfiles.
What it does
Opsty sets this up for zsh, the macOS default, and for bash. The shells it starts load small startup files from ~/.config/opsty/shim, then yours, as they always would. Your ~/.zshrc is neither read nor written by Opsty. Nothing it prints while your shell starts is visible, so Powerlevel10k’s instant prompt has nothing of Opsty’s to warn about.
Each shell Opsty starts is given a secret of its own, which leaves the shell’s environment before your startup files run, and Opsty listens only to the messages that carry it. So a file you cat, a server’s log or a remote host can’t pass itself off as your shell: it can’t rename the command that is running, which Restart
and the morning sheet would then type, or change what Opsty thinks is on your line. A copy of Opsty’s script pasted onto a server has no secret, so even then commands over ssh are not recorded as blocks.
Settings
▸ Advanced
▸ Shell integration
turns it off, from the next new tab; without it there are no marks beside commands and no command cards. Six completion styles
, on the same pane, are six zstyle lines that switch on descriptions and a menu for Tab, set only in shells Opsty starts. Nothing is written to disk, and anything you already set yourself is left alone.
When it did not load
The line under the grid says Opsty’s help did not load in this shell — no command cards and no blocks.
with See why
, which opens the diagnosis. It is also at Opsty
▸ Diagnose shell integration
and Settings
▸ Advanced
▸ Diagnosis
. It shows how far the shell got while starting, says where the chain broke, and offers Load it by hand
: one line to paste at the end of your ~/.zshrc, with Copy
. Opsty does not edit the file for you.
The usual causes:
- Another shell. fish and other shells are not supported yet: Opsty starts them as they are and loads nothing into them. Check with
echo $SHELL. - Your
~/.zshenvmovesZDOTDIR. zsh then reads.zshrcfrom there and never reaches Opsty’s files. It is a common arrangement, and the line to load by hand fixes it. - An rc file that exits or returns partway. The diagnosis shows the step it never reached.
- A prompt framework that replaces the hooks. Some themes rebuild zsh’s
precmdandpreexeclists on every prompt. Open a new tab after changing your.zshrc; if it persists, try a plain prompt to confirm. - You are on a server. Over
ssh, the remote shell is not set up by Opsty, so its commands are not marked; every terminal shares this limit. The tab’s lamp still turns blue, or red on production. - A shell started inside another, such as
exec bash,sudo -sornix-shell, does not inherit the setup. Exit back, or open a new tab.