Appearance
Cross-Platform Wrappers
These commands are the desktop portability layer for Fish, Bash, and PowerShell. They keep day-to-day names stable while each host uses its native opener, clipboard, path, and trash behavior.
| Command | Intent |
|---|---|
open [path-or-url] | Open a file, directory, or URL with the OS default app. |
edit <path> | Open paths in $VISUAL or $EDITOR, falling back to an installed editor. |
clip [text] | Copy arguments or pipeline/stdin text to the clipboard. |
paste | Print clipboard contents. |
reveal <path> | Show a path in the host file manager. |
path-win [path] | Convert POSIX paths to Windows paths on WSL. |
path-posix [path] | Convert Windows paths to POSIX paths on WSL; on native Windows, print slash-normalized Windows paths. |
trash <path> | Move paths to the desktop trash or recycle bin. It refuses to fall back to rm. |
zed [path...] | On WSL only, open Windows Zed after converting WSL paths for the Windows client. |
On WSL, open, reveal, and path-win explicitly use wslpath before crossing into Windows. The zed bridge uses Zed's WSL launch flag when the distro name is available, forces a new Zed window, and falls back to Windows path conversion only when it cannot identify the distro. Keep active repos, Codex state, Claude state, and development caches on the Linux filesystem; these wrappers are for launching host tools and copying paths, not for relocating working state under /mnt/c.
On Unix-like desktop lanes, trash uses a real trash provider such as gio trash, trash-put, or KDE's kioclient trash target. If none is available, it fails clearly instead of deleting anything.
The edit wrapper does not choose the default editor policy. It honors $VISUAL and $EDITOR first, then falls back to GUI editors when present and to micro as the safe terminal editor before older minimal editors.