The job
You have 15 tabs open from a research bender — papers, docs, GitHub threads, blog posts — and you need to know which of them mention a specific term. "Did I see CRDT come up anywhere?" "Which of these has the migration command?" Cmd+F only searches the current tab.
Why this is hard without Sephir
You'd cycle through tabs one by one, Cmd+F each, lose the thread. By tab 8 you've forgotten what tab 1 said. Closing them is risky — you don't want to lose the context, you just want the index of which tab has what.
How Sephir does it
- Have your research tabs open in the current window.
- Open the Sephir sidepanel.
- Ask: "Search all my open tabs for the phrase 'eventual consistency' — show me which tabs mention it and the surrounding context."
The agent calls grep_tabs once. Sephir greps every tab in parallel,
groups matches by tab, and returns:
3 of 15 tabs match "eventual consistency":
▸ Designing Data-Intensive Applications — Chapter 5
L:42 …trade-offs between strong and "eventual consistency"…
L:118 …in an "eventual consistency" model the system…
▸ CockroachDB docs — Architecture
L:87 …Cockroach offers stronger guarantees than "eventual consistency"…
▸ Hacker News thread — CRDTs in production
L:14 …"eventual consistency" is the bug, not the feature…
When to reach for regex
grep_tabs takes the same regex flag as grep_page. So "find every
mention of a date in YYYY-MM-DD format across all my open tabs"
becomes one call:
@grep_tabs(query: "\\b\\d{4}-\\d{2}-\\d{2}\\b", regex: true)
What you can chain it with
grep_tabs→extractPageText(tabId)— the agent finds which tab has the answer, then deep-reads just that tab.grep_tabs→openTab— the agent surfaces the matching tab to the front so you can pick up where it left off.grep_tabswith theincludeIframesflag — Slack web threads, embedded docs, anything in same-origin iframes gets walked too.
What it doesn't do
Cross-origin iframes stay out of reach — that's a browser security
boundary, not a Sephir limit. Tabs you haven't loaded yet (the agent
sees them as about:blank) get reported as empty rather than
silently retried; Sephir doesn't auto-load tabs as a side effect of a
read tool.