Commands
opal help lists these too. Most of the tools also have short aliases from the core plugin.
Setup
| Command | What it does |
opal setup | Adds opal to the startup file of every shell it finds. --dry-run shows what would change, --remove takes opal out again, and naming shells (opal setup zsh) limits it to those. |
opal init SHELL | Prints the startup code for zsh, bash, fish or pwsh. This is what the startup files run. |
opal doctor | Shows the system, shell, terminal, color support and clipboard opal detected, which features and plugins are active, and PowerShell aliases that clash with plugins. |
opal update | Downloads the latest release and replaces the running program, after checking it against SHA256SUMS.txt. A copy built from a clone rebuilds from that clone instead; --release forces a download. |
opal greet | Shows the banner that new terminals open with. |
opal terminal | Opens Opal Terminal, which the install scripts install next to opal, in the current folder. Its own flags pass through: -profile NAME picks the shell, -dir PATH another folder, and a command after them runs instead of a shell. |
opal config edit | Opens the config file in $VISUAL, $EDITOR, or Notepad or nano. |
Themes and plugins
| Command | What it does |
opal theme list | Lists the themes. |
opal theme preview [NAME] | Shows themes as each shell would draw them. --html and --svg write them for web pages. |
opal theme set NAME | Switches theme. |
opal plugin list | Lists plugins and whether each is active. |
opal plugin enable|disable NAME | Turns a plugin on or off. |
opal plugin install REPO | Installs a plugin from git. See Plugins. |
History and folders
| Command | What it does |
opal history | Opens the history search (the same as Ctrl+R). |
opal history list [N] | Prints the last N commands. |
opal history import | Imports the PowerShell, bash, zsh and fish history files again. |
opal jump list | Lists remembered folders, best match first. opal jump add DIR and opal jump remove DIR change the list. |
| Command | Alias | What it does |
opal open PATH | open | Opens a file, folder or URL with the default app. In WSL it opens it in Windows. |
opal clip copy [TEXT] | clipcopy | Copies text or standard input to the clipboard. Over SSH it uses OSC 52, so the text reaches the clipboard of the computer you're sitting at, if your terminal supports it. |
opal clip paste | clippaste | Prints the clipboard. |
opal extract FILE | x | Unpacks zip, tar, tar.gz and tar.bz2 itself, and hands xz, zst, 7z and rar to tar, 7-Zip or unrar. An archive with one top-level folder becomes that folder; anything else goes into a new folder named after the archive. A single compressed file, such as log.gz, is decompressed next to it. Existing files are never overwritten. |
opal ports [PORT] | ports | Lists listening TCP ports with the process behind each. |
opal path | paths | Prints PATH one folder per line, marking missing and duplicate entries. |
opal pkg VERB [NAMES] | pkg | Runs the system package manager. See the pkg plugin. |
opal js VERB [ARGS] | jsi, jsr... | Runs npm, pnpm, yarn or bun, picked from the project's lockfile. |
opal venv create [DIR] | mkvenv | Creates a Python virtualenv with this system's Python 3. |