# Libretto

> Toolkit for building, debugging, and maintaining browser automations.

## Best way to inspect these docs

Download all docs as markdown files and grep them locally:

```bash
curl -L https://libretto-docs.vercel.app/docs/docs.zip -o docs.zip
unzip docs.zip -d docs
grep -R "search term" docs/
```

Use this when you need to search across the whole documentation set. The zip contains every page as a .md file.

## Page index

You can also fetch individual markdown pages directly:

- [Quickstart](https://libretto-docs.vercel.app/docs/get-started/quickstart.md)
- [First workflow](https://libretto-docs.vercel.app/docs/get-started/first-workflow.md)
- [Deploying](https://libretto-docs.vercel.app/docs/get-started/deploying.md)
- [One-shot workflow generation](https://libretto-docs.vercel.app/docs/guides/one-shot-workflow-generation.md)
- [Interactive workflow building](https://libretto-docs.vercel.app/docs/guides/interactive-workflow-building.md)
- [Debugging workflows](https://libretto-docs.vercel.app/docs/guides/debugging-workflows.md)
- [Convert to network requests](https://libretto-docs.vercel.app/docs/guides/convert-to-network-requests.md)
- [Core concepts](https://libretto-docs.vercel.app/docs/understand-libretto/core-concepts.md)
- [How workflow generation works](https://libretto-docs.vercel.app/docs/understand-libretto/how-workflow-generation-works.md)
- [Configuration](https://libretto-docs.vercel.app/docs/understand-libretto/configuration.md)
- [Automation & bot detection](https://libretto-docs.vercel.app/docs/understand-libretto/automation-and-bot-detection.md)
- [Website authentication](https://libretto-docs.vercel.app/docs/understand-libretto/website-authentication.md)
- [Error recovery](https://libretto-docs.vercel.app/docs/understand-libretto/error-handling-and-recovery.md)
- [Playwright debugging agent](https://libretto-docs.vercel.app/docs/understand-libretto/autofix-debugging.md)
- [open & connect](https://libretto-docs.vercel.app/docs/reference/cli/open-and-connect.md)
- [sessions](https://libretto-docs.vercel.app/docs/reference/cli/sessions.md)
- [profiles](https://libretto-docs.vercel.app/docs/reference/cli/profiles.md)
- [snapshot](https://libretto-docs.vercel.app/docs/reference/cli/snapshot.md)
- [exec](https://libretto-docs.vercel.app/docs/reference/cli/exec.md)
- [run & resume](https://libretto-docs.vercel.app/docs/reference/cli/run-and-resume.md)
- [session logs](https://libretto-docs.vercel.app/docs/reference/cli/session-logs.md)
- [pages](https://libretto-docs.vercel.app/docs/reference/cli/pages.md)
- [Workflow](https://libretto-docs.vercel.app/docs/reference/runtime/workflow.md)
- [Authentication](https://libretto-docs.vercel.app/docs/reference/runtime/authentication.md)
- [SMS OTP](https://libretto-docs.vercel.app/docs/reference/runtime/sms-otp.md)
- [Network requests](https://libretto-docs.vercel.app/docs/reference/runtime/network-requests.md)
- [File downloads](https://libretto-docs.vercel.app/docs/reference/runtime/file-downloads.md)
- [Runtime recovery actions](https://libretto-docs.vercel.app/docs/reference/runtime/page-fallbacks.md)
- [Playwright debugging agent](https://libretto-docs.vercel.app/docs/reference/runtime/playwright-debugger.md)
- [Quickstart](https://libretto-docs.vercel.app/docs/browser-tools/quickstart.md)
- [Tools](https://libretto-docs.vercel.app/docs/browser-tools/tools.md)
- [Auth profiles](https://libretto-docs.vercel.app/docs/browser-tools/auth-profiles.md)
- [Advanced](https://libretto-docs.vercel.app/docs/browser-tools/advanced.md)
- [Vercel AI SDK](https://libretto-docs.vercel.app/docs/browser-tools/adapters/ai-sdk.md)
- [Pi](https://libretto-docs.vercel.app/docs/browser-tools/adapters/pi.md)
- [Model Context Protocol](https://libretto-docs.vercel.app/docs/browser-tools/adapters/mcp.md)
- [Custom](https://libretto-docs.vercel.app/docs/browser-tools/adapters/custom.md)
- [Hermes Agent](https://libretto-docs.vercel.app/docs/browser-tools/agents/hermes.md)
- [OpenClaw](https://libretto-docs.vercel.app/docs/browser-tools/agents/openclaw.md)
- [Providers](https://libretto-docs.vercel.app/docs/browser-tools/providers/overview.md)
- [Local](https://libretto-docs.vercel.app/docs/browser-tools/providers/local.md)
- [Libretto Cloud](https://libretto-docs.vercel.app/docs/browser-tools/providers/libretto-cloud.md)
- [Kernel](https://libretto-docs.vercel.app/docs/browser-tools/providers/kernel.md)
- [Browserbase](https://libretto-docs.vercel.app/docs/browser-tools/providers/browserbase.md)
- [Browser Use](https://libretto-docs.vercel.app/docs/browser-tools/providers/browser-use.md)
- [Steel](https://libretto-docs.vercel.app/docs/browser-tools/providers/steel.md)
- [Custom](https://libretto-docs.vercel.app/docs/browser-tools/providers/custom.md)
- [Libretto Cloud Hosting](https://libretto-docs.vercel.app/docs/libretto-cloud-hosting/overview.md)
- [Signing up](https://libretto-docs.vercel.app/docs/libretto-cloud-hosting/authentication.md)
- [Deployments](https://libretto-docs.vercel.app/docs/libretto-cloud-hosting/deployments.md)
- [Sharing workflows externally](https://libretto-docs.vercel.app/docs/libretto-cloud-hosting/sharing-workflows-externally.md)
- [Observability and Debugging](https://libretto-docs.vercel.app/docs/libretto-cloud-hosting/observability-and-debugging.md)
- [Data retention](https://libretto-docs.vercel.app/docs/libretto-cloud-hosting/data-retention.md)
- [Billing](https://libretto-docs.vercel.app/docs/libretto-cloud-hosting/billing.md)
- [Stealth](https://libretto-docs.vercel.app/docs/libretto-cloud-hosting/stealth.md)
- [Website authentication](https://libretto-docs.vercel.app/docs/libretto-cloud-hosting/website-authentication.md)
- [Alternative providers](https://libretto-docs.vercel.app/docs/alternative-providers/overview.md)
- [Kernel](https://libretto-docs.vercel.app/docs/alternative-providers/kernel.md)
- [Browserbase](https://libretto-docs.vercel.app/docs/alternative-providers/browserbase.md)
- [Steel](https://libretto-docs.vercel.app/docs/alternative-providers/steel.md)
- [Deploy on GCP](https://libretto-docs.vercel.app/docs/alternative-providers/gcp.md)
- [Deploy on AWS](https://libretto-docs.vercel.app/docs/alternative-providers/aws.md)
- [Libretto Cloud API](https://libretto-docs.vercel.app/docs/libretto-cloud-api/overview.md)
- [Sessions](https://libretto-docs.vercel.app/docs/libretto-cloud-api/sessions.md)
- [Recordings](https://libretto-docs.vercel.app/docs/libretto-cloud-api/recordings.md)
- [Deployments and workflows](https://libretto-docs.vercel.app/docs/libretto-cloud-api/deployments-and-workflows.md)
- [Workflow catalogue](https://libretto-docs.vercel.app/docs/libretto-cloud-api/catalogue.md)
- [SMS OTP](https://libretto-docs.vercel.app/docs/libretto-cloud-api/sms-otp.md)
- [Jobs and logs](https://libretto-docs.vercel.app/docs/libretto-cloud-api/jobs-and-logs.md)
- [Credentials](https://libretto-docs.vercel.app/docs/libretto-cloud-api/credentials.md)
- [Webhooks](https://libretto-docs.vercel.app/docs/libretto-cloud-api/webhooks.md)
- [Schedules](https://libretto-docs.vercel.app/docs/libretto-cloud-api/schedules.md)

## Links

- [GitHub](https://github.com/saffron-health/libretto)
- [Discord](https://discord.gg/NYrG56hVDt)
- [npm](https://www.npmjs.com/package/libretto)
- [Changelog](https://github.com/saffron-health/libretto/releases)
- [Talk to a dev](https://cal.com/team/libretto/demo)
- [LinkedIn](https://www.linkedin.com/company/saffron-health)