BrowserShell maps browser state to a virtual filesystem. Use ls, cd, cat, pwd, and open like a Unix shell.

Root layout

ls /
tabs/        bookmarks/   history/     downloads/
current@     config/      scripts/     transcript/
notes/       audit/       workspaces/
PathContents
/tabsOpen tabs as entries
/bookmarksBookmark folder tree
/historyBrowsing history entries
/downloadsDownload metadata
/currentSymlink to active tab
/configShell configuration (rc, bangs, workspaces)
/config/rcKeybindings, aliases, bangs, settings
/config/bangs/Custom !bang URL templates
/config/workspaces/Saved multi-window layouts
/scriptsUser shell scripts
/transcriptSession transcripts
/notesUser notes (markdown)
/auditCommand audit log
pwd                         # show current vfs path
cd /bookmarks               # enter bookmarks root
cd Work/Projects            # descend (relative or absolute)
cd ..                       # parent directory
cd /                        # root

Reading files

cat /current/url.txt        # active tab URL
cat /current/title.txt      # active tab title
cat /current/content.txt    # page text content
cat /config/rc              # startup file
cat /notes/todo.md          # user note

Pipe content to other commands:

cat /current/content.txt | ai summarize
cat /current/content.txt | grep "error"

Opening paths

open /bookmarks/Work/Project    # open bookmark in new tab
open /tabs/3                    # switch to tab by vfs path

Listing with filters

ls /tabs
ls /bookmarks/Work
ls /history | head
ls /downloads

Transcript and audit

Every session can be logged:

ls /transcript
cat /transcript/2026-06-19.txt
ls /audit
log tail /audit/session.log

Useful for reviewing what you ran, sharing workflows, or debugging.

Notes & writable files

touch /notes/todo.md              # create empty file
edit /notes/todo.md               # edit in terminal (beta)
cat /notes/ideas.md
rm /notes/old-draft.md            # delete writable file
rm /scripts/tmp.sh -f

Writable paths: /notes/, /scripts/, /config/rc, /config/bangs/, /current/inputs/.

Notes and scripts persist in chrome.storage.local.

Note
The VFS is virtual — files don’t exist on disk. Paths are a uniform interface to browser APIs.