Docs
Command reference
Complete reference for all BrowserShell commands — auto-synced from the command registry.
Auto-generated from the command registry. Run
npm run generate-docs && npm run sync-websiteto update.
ai
ai
AI-powered summarization and explanation using built-in browser AI.
Usage: ai <summarize|explain> [target] [--length short|medium|long]
Examples:
ai summarizeai summarize current --length shortcat /current/content.txt | ai summarizeai explain "TypeError: Cannot read property"
See also: cat, grep
bookmarks
bookmark
Bookmark the current page, search, or open bookmarks.
Usage: bookmark | bookmark <query> | bookmark <#> | bookmark <add|search|open> [args]
Examples:
bookmarkbookmark reactbookmark 1bookmark open 1bookmark add "My Site"
See also: bookmarks, open
bookmarks
List bookmarks (alias for ls /bookmarks).
Usage: bookmarks [--json]
Examples:
bookmarksls /bookmarks
See also: bookmark, ls, open
builtin
alias
Define or list command aliases.
Usage: alias [name='command']
Examples:
alias ll='tabs'aliasalias gh='tab new https://github.com'
See also: export, source
apropos
Search commands by keyword in name, description, or examples.
Usage: apropos <keyword>
Examples:
apropos tabapropos bookmarkapropos ai
See also: help, man
cat
Display file contents from the virtual filesystem.
Usage: cat <path> [--raw]
Examples:
cat /current/meta.jsoncat /current/content.txtcat /config/rc
See also: ls, grep
clear
Clear the terminal screen.
Usage: clear
Examples:
clear
echo
Print arguments to stdout (supports $VAR expansion).
Usage: echo [text...]
Examples:
echo Helloecho $HOMEecho $USER
env
Show shell environment variables (set via export).
Usage: env [VAR] [--json]
Examples:
envenv API_URLexport FOO=bar && env FOO
See also: export, alias, config
export
Set an environment variable or export the session transcript.
Usage: export VAR=value | export log [path]
Examples:
export MY_VAR=helloexport HOME=/export logexport log ~/session.txt
See also: clip, cat
help
Show command overview or help for a specific command.
Usage: help [command|category]
Examples:
helphelp tabhelp privacyhelp downloadshelp ls | grep tab
See also: man, apropos, quick
ls
List directory contents in the virtual filesystem.
Usage: ls [path] [-1] [--json]
Examples:
lsls /tabsls -1 /tabs | grep githubls /bookmarks
See also: cd, cat, pwd, tabs
man
Display formatted manual page for a command or guide.
Usage: man <command|guide>
Examples:
man lsman tabman introman vfs
See also: help, apropos
rm
Remove user-writable VFS files (notes, scripts, custom bangs).
Usage: rm <path>... [-f] [--dry-run]
Examples:
rm /notes/old-draft.mdrm /scripts/tmp.shrm /config/bangs/mywiki.txt -fls /notes | grep draft | xargs rm -f
See also: touch, edit, ls, bang remove
source
Execute commands from a script file.
Usage: source <script>
Examples:
source /scripts/welcome.shsource /config/rc
See also: alias, export
touch
Create an empty file or update an existing writable VFS path.
Usage: touch <path>...
Examples:
touch /notes/todo.mdtouch /scripts/morning.shtouch /notes/ideas.txt && edit /notes/ideas.txt
See also: edit, cat, ls, mkdir
config
bind
List, add, or remove keybindings (stored in ~/.browsershellrc).
Usage: bind [list|add <keys> <action>|remove <keys>] [--json]
Examples:
bind listbind add f hints-currentbind add <leader>e editbind remove fedit /config/rc
See also: config, edit-bind, edit
config
View or edit shell configuration.
Usage: config <list|get|set|show|reload> [key] [value]
Examples:
config listconfig showconfig reloadconfig get themeconfig set overlayOpacity 0.9
See also: alias, export, bind, user
edit-bind
List, add, or remove editor keybindings (in ~/.browsershellrc).
Usage: edit-bind [list|add <keys> <action>|remove <keys>]
Examples:
edit-bind listedit-bind add i insert-modeedit /config/rc
See also: bind, edit, config
import-vimium-keys
Import common Vimium-style global keybindings into ~/.browsershellrc.
Usage: import-vimium-keys [--dry-run]
Examples:
import-vimium-keysimport-vimium-keys --dry-runconfig reload
See also: bind, config, edit
history
history
List, search, delete, or clear browsing history.
Usage: history [query] | history <today|yesterday|this-week> [query] | history delete <#|url|domain> -f | history clear <range|domain> -f
Examples:
historyhistory todayhistory yesterday githubhistory jamal.devhistory delete 3 -fhistory delete jamal.dev -fhistory clear day -fhistory clear today -fhistory clear jamal.dev -f
See also: forget, open, grep
navigation
back
Go back in the current tab history.
Usage: back [#]
Examples:
backback 2
bang
Manage site shortcut bangs (!gh, !yt, etc.).
Usage: bang <list|add|edit|remove> [args] [--json] [-f]
Examples:
bang listbang add mywiki https://wiki.example.com/search?q=%sbang edit gh!gh BrowserShellgo !yt lo-fi beats
See also: go, search, config
cd
Change the current working directory in the virtual filesystem.
Usage: cd [path]
Examples:
cd /tabscd /bookmarkscd /currentcd ..
See also: pwd, ls
close
Close the current tab, a tab by #, or remove a bookmark.
Usage: close [#|bookmark-path] [-f]
Examples:
closeclose 3close /bookmarks/Old -f
See also: tab, bookmark
forward
Go forward in the current tab history.
Usage: forward [#]
Examples:
forwardforward 2
go
Smart go: switch tab, open bookmark/URL/history, bang, or search.
Usage: go <query|url|!bang query>
Examples:
go githubgo !gh BrowserShellgo gmail.comgo https://example.com
See also: qf, open, tab, find, bang
here
Show the current tab (title, url, #, domain, status).
Usage: here [--json]
Examples:
herehere --jsonclip urldomain
See also: tabs, clip, domain
open
Open a URL, bookmark path, VFS path, or a new tab when called with no args.
Usage: open [url|path]
Examples:
openopen github.comopen https://example.comopen /bookmarks/Work/Project
See also: tab, bookmark, go
pwd
Print the current working directory.
Usage: pwd
Examples:
pwdcd /tabs && pwd
See also: cd, ls
reload
Reload the current tab (or tab #). Use –hard to bypass cache.
Usage: reload [#] [--hard]
Examples:
reloadreload 2reload --hardreload 3 --hard
See also: tab, back, forward, hard
search
Fuzzy search tabs, bookmarks, history, and downloads.
Usage: search <query> | search --tabs|--bookmarks|--history|--downloads <query>
Examples:
search githubsearch --tabs mailsearch --history reactsearch --downloads pdf
See also: go, find, qf, bookmark
page
hints
Show Vimium-style link hints on the current page.
Usage: hints [--newtab]
Examples:
hintshints --newtabbind list
See also: links, link, bind, scroll
process
kill
Close a tab by list number or tab ID (PID).
Usage: kill <n|tab-id> [-9] [--dry-run]
Examples:
pskill 3kill 142857 -9kill 7 --dry-run
See also: pkill, ps, tab close
pkill
Close tabs matching a title or URL pattern.
Usage: pkill <pattern> [-f] [--dry-run] [--json]
Examples:
pkill youtubepkill github -fpkill ads --dry-run
See also: kill, ps, tabs
ps
List open tabs as processes (PID = tab ID).
Usage: ps [aux] [--json] [--limit N]
Examples:
psps auxps --jsonkill 7pkill youtube
See also: top, kill, pkill, tabs, tab
renice
Change tab priority (pin/unpin as nice value proxy).
Usage: renice <n|tab-id> <priority>
Examples:
renice 3 -5renice 142857 10
See also: ps, pin, unpin
top
Live-updating tab process view (refreshes every 2s until Ctrl+C or watch stop).
Usage: top [--json] [--once]
Examples:
toptop --oncewatch 2 topps
See also: ps, watch, kill
tabs
detach
Move current tab (or #) into a new window.
Usage: detach [#]
Examples:
detachdetach 3tab move 2 new
See also: tab, window
discard
Unload a tab from memory (keeps tab, frees RAM). Reload to restore.
Usage: discard [#]
Examples:
discarddiscard 3tabs | grep old | discard
See also: tab, reload, close
domain
Show current domain or list tabs matching a domain.
Usage: domain [hostname]
Examples:
domaindomain github.comdomain google
See also: here, tabs, qf
find
Find a tab across all windows and switch to it.
Usage: find [-i] <pattern>
Examples:
find githubfind -i mailfind youtube
See also: qf, go, sessions
pin
Pin the current tab (shortcut for tab pin).
Usage: pin [#]
Examples:
pinpin 2
See also: unpin, tab, pinned
pinned
List all pinned tabs across windows.
Usage: pinned [--json]
Examples:
pinnedpinned --jsonpinned | tab switch
See also: tabs, tab, windows
qf
Quick-find: switch to the first tab matching a pattern.
Usage: qf <pattern> [--all]
Examples:
qf githubqf mailqf youtube --all
See also: go, find, tabs
recent
List and restore recently closed tabs or windows.
Usage: recent | recent restore <#>
Examples:
recentrecent restore 1
See also: session, tabs, open
sessions
Tree view of all windows and their tabs.
Usage: sessions [--json]
Examples:
sessionssessions | grep githubfind mail
See also: windows, tabs, find
tab
Manage browser tabs: list, switch, close, pin, and more.
Usage: tab [#|new|close|switch|move|next|prev|pin|unpin|duplicate] [args]
Examples:
tabtab 2tab switch 2tab switch 1@2tab move 3 2tab new github.com
See also: tabs, open, close
tabs
List tabs in the active shell window (same numbers as tab switch).
Usage: tabs [--all] [--json]
Examples:
tabstabs --alltabs --all --jsontab switch 2@2
See also: tab, pinned, domain, ls
title
Rename the current tab by setting the page title.
Usage: title <new-title> [#]
Examples:
title "Research Notes"title Inboxtitle "🔥 Urgent" 2
See also: here, tab
unpin
Unpin the current tab (shortcut for tab unpin).
Usage: unpin [#]
Examples:
unpinunpin 1
See also: pin, tab, pinned
window
List or manage browser windows: focus, new, close, tabs.
Usage: window | window <W#> | window <focus|new|close|tabs|position> [args] [-f]
Examples:
windowwindow 2window focus 2window position leftwindow position right 2 40%
See also: windows, tabs, tab, detach
windows
List browser windows (W#). Sets context for tabs/tab commands.
Usage: windows [--json]
Examples:
windowswindow focus 2tabstab switch 1@2
See also: window, tabs, sessions
utility
audible
List tabs currently playing audio across all windows.
Usage: audible [--json]
Examples:
audibleaudible --jsonaudible | tab switch
See also: mute, volume, find
audit
Page health snapshot: DOM size, load timing, storage, memory.
Usage: audit [--json] [#]
Examples:
auditaudit --jsonhere && auditaudit 2
See also: tech, reqs, meta, viewport
click
Alias for link find — click/open first matching link or button.
Usage: click <text|selector> [#]
Examples:
link find Homeclick Homeclick Sign inclick "#submit"
See also: link, links, fill
clip
Copy tab URL, title, markdown link, or page selection to clipboard.
Usage: clip [url|title|md|both|selection|log]
Examples:
clipclip mdclip bothclip selectionclip logpick | clip
See also: here, pick
cookies
List or clear cookies for the current page.
Usage: cookies [clear -f] [--json] [#]
Examples:
cookiescookies --jsoncookies clear -faudit && cookies
See also: storage, forget, audit
downloads
List, open, show, or remove browser downloads.
Usage: downloads [query] | downloads <open|show|delete> <#> | downloads clear -f
Examples:
downloadsdownloads pdfdownloads open 1downloads show 2downloads delete 1 -fdownloads clear -f
See also: open, grep
edit
Open the built-in terminal editor for a VFS path or stdin.
Usage: edit [path|-] [--help]
Examples:
edittouch /notes/todo.md && edit /notes/todo.mdedit /config/rccat /current/content.txt | edit -
See also: touch, cat, bang, config, edit-bind
extensions
List, enable, disable, or open options for browser extensions.
Usage: extensions [query] | extensions <enable|disable|options> <#|id|name>
Examples:
extensionsextensions shellextensions disable 2extensions enable uBlockextensions options 1
See also: config, help
fill
Fill an input or textarea on the page by CSS selector.
Usage: fill <selector> <text> [#]
Examples:
fill "#search" "react hooks"fill input[name=q] browsershell
See also: click, seek
forget
Forget site data — cookies, cache, storage — like clearing data for one site.
Usage: forget [domain] [cookies|cache|storage] | forget preset <name> [--history] [--all -f] [--dry-run]
Examples:
forgetforget --dry-runforget jamal.dev -fforget preset light -fforget preset full --dry-runforget cookies -fforget --history -fforget --all -f
See also: history delete, history clear, cookies, storage
frames
List iframes embedded on the page.
Usage: frames [--limit N] [--json] [#]
Examples:
framesframes --jsonaudit && frames
See also: audit, links, tech
grep
Filter lines matching a pattern from stdin or a file.
Usage: grep [-i] [-v] <pattern> [path]
Examples:
tabs | grep -i youtubehistory | grep githubtabs | grep -v example
See also: cat, tabs, head, wc
head
Output the first N lines of input.
Usage: head [-n N]
Examples:
tabs | head -n 5history | head -n 3
See also: tail, grep, wc
image
List or open/copy/show page images by number.
Usage: image | image <#> [open|copy|show] | image <action> <#>
Examples:
imageimage 1image 1 copyimage copy 2image show 1
See also: images, shot, clip
images
List images on the current page.
Usage: images [pattern] [--limit N] [#]
Examples:
imagesimages logoimages heroimages | head -n 5
See also: image, shot, meta
input
List, focus, fill, or clear page inputs by number.
Usage: input | input <#> [text] | input <#> <clear|show> | input <fill|clear|show> <#> [text]
Examples:
inputinput 1input 1 hello@mail.cominput fill 1 "query"input 1 clear
See also: inputs, fill, press, link
inputs
List form fields on the current page.
Usage: inputs [pattern] [--limit N] [#]
Examples:
inputsinputs emailinputs searchinputs && input fill 1 "query"
See also: input, fill, press
jsonld
Extract JSON-LD structured data blocks from the page.
Usage: jsonld [--limit N] [--json] [#]
Examples:
jsonldjsonld --jsonjsonld | head -n 20meta && jsonld
See also: meta, read, tech
link
List or interact with page links by number or text.
Usage: link | link <#> [open|copy|show|click|new] | link <action> <#> | link <text>
Examples:
linklink 1link 1 copylink copy 1 --mdlink Sign inlink click 4
See also: links, open, clip
links
List links on the current page.
Usage: links [pattern] [--limit N] [#]
Examples:
linkslinks homelinks githublinks | head -n 5links && link 1
See also: link, open, go
log
View or clear the session transcript.
Usage: log | log clear
Examples:
loglog clearcat /transcript/live.txtclip log
See also: export, clip, cat
meta
Show page metadata (title, description, OG tags, canonical).
Usage: meta [--json] [#]
Examples:
metameta --jsonclip mdhere
See also: here, read, clip
mute
Mute or unmute tab audio.
Usage: mute [on|off|toggle] [#]
Examples:
mutemute offmute on 2
See also: volume, audible, tab
notify
Show a desktop notification.
Usage: notify <message>
Examples:
notify Done!downloads | notify "Check downloads"wait 5000 && notify "Time's up"
See also: wait, echo
options
Open the BrowserShell settings / options page.
Usage: options
Examples:
options
See also: config, help, overlay
overlay
Control the Quake-style terminal overlay size and visibility.
Usage: overlay <half|full|show|hide|toggle|status> | overlay height <percent>
Examples:
overlay halfoverlay fulloverlay toggleoverlay showoverlay statusoverlay height 60
See also: config, quick
perf
Page performance snapshot: load time, transfer size, heap.
Usage: perf [--json] [#]
Examples:
perfperf --jsonreload --hard && perf
See also: audit, reqs, reload
permissions
View or set site content permissions for the active page.
Usage: permissions | permissions set <type> <allow|block|ask> | permissions reset <type>
Examples:
permissionspermissions set notifications blockpermissions set javascript allowpermissions reset location
See also: siteinfo, forget, cookies
pick
Print highlighted/selected text from the page.
Usage: pick [#]
Examples:
pickpick | wc -wpick | clip
See also: clip, seek, read
press
Send a keyboard key to the focused page element.
Usage: press <key> [#]
Examples:
press enterpress tabinput fill 1 "query" && press enterpress escape
See also: input, fill, link
quick
Cheat sheet of power-user shortcuts and workflows.
Usage: quick
Examples:
quick
read
Extract readable article text from the page (main content).
Usage: read [--limit N] [#]
Examples:
readread --limit 2000read | head -n 20read | ai summarize
See also: cat, ai, pick
reqs
Show network resource timing (slowest first).
Usage: reqs [pattern] [--slow] [--limit N] [--json] [#]
Examples:
reqsreqs --slowreqs jsreqs api --limit 30audit && reqs --slow
See also: audit, tech, reload
scroll
Show scroll position or scroll the page.
Usage: scroll | scroll [top|bottom|up|down|<px>] [#]
Examples:
scrollscroll downscroll topscroll 800scroll down 2
See also: viewport, seek, zoom
seek
Find text in the current page (like Ctrl+F). Highlights matches.
Usage: seek <text> [--next|--prev] [--grep] [#]
Examples:
seek loginseek error --nextseek TODO --grepcat /current/content.txt | seek --grep api
See also: grep, qf, links
session
Save and restore window/tab layouts.
Usage: session | session save <name> | session restore <name> | session delete <name> -f
Examples:
sessionsession save worksession restore worksession delete work -f
See also: sessions, windows, tabs
shot
Capture a screenshot of the current window.
Usage: shot [--copy] [#]
Examples:
shotshot --copy
See also: clip, here
siteinfo
Audit cookies, history, and storage footprint for a site.
Usage: siteinfo [domain] [--json] [--compare <domain>]
Examples:
siteinfositeinfo jamal.devsiteinfo --compare github.comsiteinfo --jsonforget --dry-run && siteinfo
See also: forget, cookies, history, storage
storage
List, read, or clear localStorage / sessionStorage on the page.
Usage: storage [local|session] [pattern] | storage get <key> | storage clear [local|session] -f
Examples:
storagestorage sessionstorage authstorage get tokenstorage clear -fstorage clear session -f
See also: cookies, forget, audit
tail
Output the last N lines of input.
Usage: tail [-n N]
Examples:
history | tail -n 5tabs | tail -n 3
See also: head, grep
tech
Detect frameworks, CMS, and third-party scripts on the page.
Usage: tech [--json] [#]
Examples:
techtech --jsonopen site.com && wait 1000 && tech
See also: audit, reqs, meta
user
Show or set the prompt username (\u in PS1).
Usage: user [set <name>]
Examples:
useruser set jamaluser set dev
See also: config, export, options
viewport
Show viewport size, scroll position, and page dimensions.
Usage: viewport [--json] [#]
Examples:
viewportvpviewport --jsonscroll bottom && viewport
See also: scroll, audit, zoom
volume
Control in-page media volume (video/audio elements). Tab mute: see mute.
Usage: volume [status|mute|unmute|0-100|+N|-N] [#]
Examples:
volumevolume 50volume mutevolume +10volume -20
See also: mute, audible
wait
Pause for milliseconds (useful in scripts and chained workflows).
Usage: wait <ms>
Examples:
wait 500wait 2000tab new example.com && wait 1000 && here
See also: source, reload
watch
Repeat a command on an interval (stop with watch stop).
Usage: watch <seconds> <command> | watch stop | watch status
Examples:
watch 5 tabs --allwatch 2 downloadswatch stop
See also: wait, tabs, downloads
wc
Count lines, words, or characters in input.
Usage: wc [-l] [-w] [path]
Examples:
tabs | wc -lhistory | wc -lwc -l /config/rc
See also: grep, head
zoom
Show, set, or adjust page zoom.
Usage: zoom [in|out|reset|<percent>] [#]
Examples:
zoomzoom inzoom 125zoom out 2
See also: here, scroll
workspace
layout
Tile browser windows using left/top/width/height geometry.
Usage: layout <side-by-side|main-left|main-right|top-bottom|left|right|full|reset> [ratio] [W# W#]
Examples:
layout side-by-sidelayout main-left 60%layout top-bottomlayout leftlayout right 1 2workspace save research
See also: split, window, workspace
split
Split view — tile current window and open URL in a second window.
Usage: split <vertical|horizontal> [url] [--side left|right|top|bottom]
Examples:
split verticalsplit vertical https://docs.example.comsplit horizontal github.comsplit v about:blank --side left
See also: layout, window, workspace
workspace
Save, load, list, or delete named multi-window workspaces.
Usage: workspace <save|load|list|delete> <name> [--json] [-f]
Examples:
workspace listworkspace save researchworkspace load researchworkspace delete old-setup -f
See also: session, sessions, recent, ps
workview
Alias for workspace — save and restore multi-window layouts.
Usage: workview <save|load|list|delete> <name>
Examples:
workview save codingworkview load codingworkview list
See also: workspace, layout, split