Browser automation clicks buttons. OpenTabs calls APIs.
$ npx -y skills add opentabs-dev/opentabs --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: opentabs-dev/opentabs
What's inside
Docs ย ยทย Plugins ย ยทย Discord
Your AI calls real web APIs through your browser session โ no screenshots, no DOM scraping.
No API keys. No OAuth setup. If you're logged in, your AI can use it.
Works with any MCP client. Don't want MCP? Use CLI mode instead.
Requires Node.js 22+ and Chrome.
npm install -g @opentabs-dev/cli
opentabs start
Load the extension from ~/.opentabs/extension in chrome://extensions/ (Developer mode โ Load unpacked).
opentabs plugin install <plugin-name>
Full walkthrough: Quick Start guide
100+ plugins, ~2,000 tools. Slack, Discord, GitHub, Jira, Notion, Figma, AWS, Stripe, and a lot more. One command to install, works immediately.
Built-in browser tools. Screenshots, clicking, typing, network capture โ works on any tab, no plugin needed.
Build your own. Scaffold a plugin in one command, publish to npm, anyone can install it. Or point your AI at any website โ it discovers the APIs and builds the plugin for you. Plugin Development guide
git clone https://github.com/opentabs-dev/opentabs.git
cd opentabs && npm install && npm run build
npm run dev # tsc watch + MCP server + extension
npm run check # build + type-check + lint + knip + test
Development Setup guide ย ยทย Discord
MIT โ Not affiliated with or endorsed by any third-party service. Full disclaimer.
.agents/
skills/
build-plugin/
__SKILL__.md
CLAUDE.md
SKILL.md
bump-version/
__SKILL__.md
CLAUDE.md
SKILL.md
ralph/
__SKILL__.md
CLAUDE.md
SKILL.md
.claude/
skills/
build-plugin/
__SKILL__.md
CLAUDE.md
SKILL.md
bump-version/
__SKILL__.md
CLAUDE.md
SKILL.md
ralph/
__SKILL__.md
CLAUDE.md
SKILL.md
.coderabbit.yaml
.dockerignore
.editorconfig
.gitattributes
.github/
CODEOWNERS
dependabot.yml
ISSUE_TEMPLATE/
bug_report.yml
config.yml
labeler.yml
workflows/
ci-docs.yml
ci.yml
codeql.yml
deploy-docs-preview.yml
deploy-docs.yml
pr-labeler.yml
publish-platform.yml
publish-plugins.yml
stale.yml
.gitignore
.npmrc
.ralph/
.push-ok
CLAUDE.md
docker-build.sh
Dockerfile
perfect-backend.sh
perfect-cli-platform-contributor.sh
perfect-cli-plugin-developer.sh
perfect-cli-user.sh
perfect-docs.sh
perfect-e2e.sh
perfect-extension.sh
perfect-perfect.sh
perfect-plugins.sh.disabled
perfect-prompt.md
perfect-sdk.sh
perfect.sh
RALPH.md
ralph.sh
run-prompt.sh
worker.sh
AGENTS.md
assets/
demo-claude-gemini-chatgpt.gif
demo-hero.gif
demo-install-plugin.gif
demo-quick-start-install-uninstall.gif
demo-todoist-permissions.gif
icon-round.png
icon-round.svg
icon.png
icon.svg
readme-banner-dark.svg
readme-banner-light.svg
biome.json
CLAUDE.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
DISCLAIMER.md
Dockerfile
docs/
.gitignore
app/
(docs)/
docs/
[[...slug]]/
page.tsx
layout.tsx
(marketing)/
page.tsx
global.css
icon.svg
layout.tsx
sitemap.ts
biome.json
CLAUDE.md
components/
CodeBlock.tsx
ComponentInstall.tsx
footer.tsx
HamburgerMenu.tsx
illustrations.tsx
MDX.tsx
retroui/
Alert.tsx
Badge.tsx
Button.tsx
Card.tsx
index.ts
Sonner.tsx
Table.tsx
Text.tsx
SideNav.tsx
TableOfContents.tsx
TopNav.tsx
config/
navigation.ts
content/
content-collections.ts
docs/
contributing/
architecture.mdx
dev-setup.mdx
publishing.mdx
first-plugin.mdx
guides/
error-handling.mdx
logging-debugging.mdx
plugin-development.mdx
streaming-progress.mdx
index.mdx
install/
index.mdx
quick-start.mdx
reference/
browser-tools.mdx
cli.mdx
configuration.mdx
mcp-server.mdx
telemetry.mdx
troubleshooting.mdx
sdk/
error-types.mdx
lifecycle-hooks.mdx
plugin-class.mdx
tools.mdx
utilities.mdx
contexts/
ThemeContext.tsx
globals.d.ts
knip.config.ts
lib/
toc.ts
utils.ts
next.config.mjs
package.json
postcss.config.mjs
public/
icon.svg
robots.txt
superpowers/
specs/
2026-04-30-plugin-usage-telemetry-design.md
tsconfig.configs.json
tsconfig.json
types/
index.d.ts
unist.d.ts
e2e/
adapter-files-eager.e2e.ts
adapter-hash.e2e.ts
additional-allowed-dirs.e2e.ts
analyze-site-test-server.ts
analyze-site.e2e.ts
audit-logging.e2e.ts
auth-bootstrap.e2e.ts
browser-cdp-manipulation.e2e.ts
browser-chrome-apis.e2e.ts
browser-notify.e2e.ts
browser-permission-persist.e2e.ts
browser-tools.e2e.ts
build-icons.e2e.ts
CLAUDE.md
config-migration.e2e.ts
config-watcher-prod.e2e.ts
config-watcher.e2e.ts
dev-proxy.e2e.ts
discovery-edge-cases.e2e.ts
dispatch-resilience.e2e.ts
execute-script-semantics.e2e.ts
fixtures.ts
global-setup.ts
global-teardown.ts
health-endpoint.e2e.ts
helpers.ts
hot-reload-dynamic.e2e.ts
iife-injection.e2e.ts
lifecycle-hooks.e2e.ts
lifecycle.e2e.ts
local-plugin-dirs.e2e.ts
mcp-gateway.e2e.ts
mcp-session-persistence.e2e.ts
mcp-session-protocol.e2e.ts
multi-connection.e2e.ts
multi-instance-robust.e2e.ts
multi-instance.e2e.ts
multi-profile-diagnostics.e2e.ts
multi-profile-routing.e2e.ts
multi-tab-targeting.e2e.ts
notify-readiness-changed.e2e.ts
npm-discovery.e2e.ts
oauth-discovery-compat.e2e.ts
onboarding.e2e.ts
orphan-guard.ts
permissions.e2e.ts
plugin-build-filter.e2e.ts
plugin-logging.e2e.ts
plugin-management.e2e.ts
plugin-review.e2e.ts
plugin-settings.e2e.ts
portable-paths.e2e.ts
pre-script-lifecycle.e2e.ts
pre-script-restart.e2e.ts
pre-script.e2e.ts
prescript-mock-server.ts
progress.e2e.ts
reload-coalescing.e2e.ts
sdk-fetch-errors.e2e.ts
sdk-utilities.e2e.ts
sdk-version.e2e.ts
secret-rotation.e2e.ts
security.e2e.ts
side-panel-accordion-persist.e2e.ts
side-panel-auth-failed.e2e.ts
side-panel-browser-tool-groups.e2e.ts
side-panel-data-flow.e2e.ts
side-panel-error-states.e2e.ts
side-panel-extension-update.e2e.ts
side-panel-failed-plugin-delete.e2e.ts
side-panel-group-transitions.e2e.ts
side-panel-icons.e2e.ts
side-panel-instant-startup.e2e.ts
side-panel-live-update.e2e.ts
side-panel-menu-version.e2e.ts
side-panel-npm-search.e2e.ts
side-panel-open-tab.e2e.ts
side-panel-plugin-toggle.e2e.ts
side-panel-plugin-tool-groups.e2e.ts
side-panel-plugin-update.e2e.ts
side-panel-port-change.e2e.ts
side-panel-realtime-state.e2e.ts
side-panel-reload.e2e.ts
side-panel-search-details.e2e.ts
side-panel-server-update.e2e.ts
side-panel-stress.e2e.ts
side-panel-theme.e2e.ts
stdio-bridge.e2e.ts
stress-adapter-injection.e2e.ts
stress-config-reload.e2e.ts
stress-cross-system.e2e.ts
stress-mcp-dispatch.e2e.ts
stress-network-auth.e2e.ts
strict-csp-test-server.ts
strict-csp.e2e.ts
structured-errors.e2e.ts
tab-state-sync.e2e.ts
test-server-utils.ts
test-server.ts
tool-call-large-payload.e2e.ts
tool-defaults.e2e.ts
tool-dispatch.e2e.ts
tool-http-api.e2e.ts
tsconfig.json
unknown-config-keys.e2e.ts
version-check-timing.e2e.ts
windows/
.gitignore
compose.yml
oem/
install.bat
run-tests.ps1
run-tests.ps1
run.sh
glama.json
knip.ts
lefthook.yml
LICENSE
marketing/
bluesky-outreach.sh.disabled
history.sh
hn-outreach.sh.disabled
outreach.sh
reddit-outreach.sh
x-outreach.sh.disabled
package-lock.json
package.json
platform/
browser-extension/
.storybook/
chrome-mock.mjs
globals.d.ts
main.ts
preview.css
preview.ts
build-extension.ts
build-side-panel.ts
CLAUDE.md
esbuild-plugin-babel.d.ts
manifest.json
offscreen/
offscreen.html
package.json
side-panel/
dark-mode.js
fonts/
fonts.css
archivo-black-latin.woff2
space-grotesk-latin.woff2
space-mono-400-latin.woff2
space-mono-700-latin.woff2
side-panel.html
trusted-types.js
src/
background-log-state.ts
background-message-handlers.test.ts
background-message-handlers.ts
background.ts
browser-commands/
bookmark-commands.test.ts
bookmark-commands.ts
browsing-data-commands.test.ts
browsing-data-commands.ts
content-commands.ts
cookie-commands.test.ts
cookie-commands.ts
css-commands.ts
download-commands.test.ts
download-commands.ts
emulation-commands.ts
extension-commands.test.ts
extension-commands.ts
helpers.test.ts
helpers.ts
history-commands.test.ts
history-commands.ts
index.ts
interaction-commands.test.ts
interaction-commands.ts
interception-commands.ts
key-press-command.test.ts
key-press-command.ts
network-commands.ts
notification-commands.test.ts
notification-commands.ts
resource-commands.ts
scroll-command.test.ts
scroll-command.ts
session-commands.test.ts
session-commands.ts
tab-commands.test.ts
tab-commands.ts
throttle-commands.ts
window-commands.test.ts
window-commands.ts
confirmation-badge.test.ts
confirmation-badge.ts
constants.ts
dev/
reload-background.js
reload-client.js
dispatch-helpers.test.ts
dispatch-helpers.ts
extension-messages.ts
iife-injection.test.ts
iife-injection.ts
json-rpc-errors.ts
known-methods.test.ts
known-methods.ts
last-seen-urls.test.ts
last-seen-urls.ts
log-collector.test.ts
log-collector.ts
message-router.test.ts
message-router.ts
messaging.ts
network-capture.test.ts
network-capture.ts
offscreen/
index.test.ts
... 1600 moreShowing a partial view of a very large repo.
FAQ
opentabs is a Claude Code plugin with 3 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes build-plugin, bump-version, ralph. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.