Bulk-open every URL hiding in a chunk of text — Slack threads, release notes, notes docs, share-sheet dumps — without clicking each one. Handles web URLs, local file paths, custom URI schemes (obsidian://, vscode://), mailto:, markdown links, and bare domains.
Extracts every URL from the currently-selected text and opens them in your default browser (or a browser of your choice, set in preferences).
Same as above, but reads from your clipboard instead of selected text — useful when text isn't selectable (PDF, image OCR, etc.).
Browse the last 100 batches you've opened. Each entry shows the source, count, type breakdown, and timestamp. Replay, copy as a list, pin to protect from FIFO eviction, or delete.
Paste URL-rich text into your clipboard, then run this command to see extracted links grouped by host (web) and type (local files, mailto:, custom schemes). Multi-select with ⌘T, then Open Selected — useful for previewing before opening, or opening only the GitHub links from a long thread.
When a batch hits the confirm threshold (default 10), a dialog shows the count, type breakdown, and first 5 items. Open All or Cancel.
Executables always confirm. If any extracted item is a local file that runs code on open — an app bundle, installer (.app, .dmg, .pkg, .xip), or shell/automation script (.sh, .command, .scpt, .workflow) — a warning dialog appears regardless of the threshold or the confirmation toggle, even for a single item. This guards against untrusted pasted text silently launching something.
Extraction is intentionally permissive so it catches links that aren't fully-qualified URLs. Two things worth knowing:
mailto:, and custom schemes (obsidian://, vscode://, …) are opened alongside web URLs — that's the point of the extension. Turn off Open all URI types to restrict opening to http(s)/www. only.word.tld is treated as a website. Because some file extensions double as top-level domains (index.app, notes.io, demo.dev), a bare token like index.app is opened as https://index.app. To have such a token treated as a file instead, give it a path (./index.app or /full/path/index.app).0 = parallel (chunked at 10). Higher values help cold-start apps like Obsidian accept URIs.www. URLs open. Other extracted types are silently skipped.