Heads up: GitHub links are temporarily showing 404 while the chromeflow repository awaits review by GitHub Support. Install should be back within 24 hours.
Chromeflow

Chromeflow

Capture any API key directly to .env

The universal pattern. Stripe, Supabase, OpenAI, Anthropic, AWS, SendGrid, Twilio, Resend, Vercel — every SaaS dashboard hides keys behind a Reveal button, often only once, often auto-hiding after a few seconds. The agent reveals, captures, writes. Done.

Why a dedicated tool exists for this: Copying API keys from dashboards into .env by hand is the most-repeated tedious task in modern app development. Get a Stripe key, paste. Get a Supabase service-role key, paste. Get OpenAI, Anthropic, AWS, SendGrid, Twilio. Each one is 30 seconds of switching windows, revealing, copying, finding the right line in .env, pasting. Across a typical SaaS setup, you do this 5–15 times. write_to_env collapses it to a single tool call per key.

The four-tool dance

1. Open the keys page

open_page("https://dashboard.stripe.com/apikeys")
// or supabase.com/dashboard/project/abc/settings/api
// or platform.openai.com/api-keys
// or console.anthropic.com/settings/keys
// or aws/iam/users/security_credentials

2. Reveal the key with verification

click_element("Reveal test key", until_text_contains="sk_test_")

The until_text_contains clause verifies the reveal actually happened — if it silently failed, click_element returns success=false instead of moving on with stale state.

3. Capture the revealed value

const found = find_text("sk_test_", max=1)
const key = found[0].matchedText
// e.g. "sk_test_51AbCdEf...XyZ"

find_text returns the surrounding context and the exact matched text. Most dashboards auto-revert reveal after 30–60 seconds, so this needs to happen quickly — well within Chromeflow's per-call latency.

4. Write to .env

write_to_env(
  "STRIPE_SECRET_KEY",
  key,
  "/Users/you/myapp/.env"
)

write_to_env handles: file lock, append-vs-replace (if STRIPE_SECRET_KEY already exists in .env, it's updated in place), quoting (double-quoted if the value contains a space), and a final read-back to confirm the line landed correctly.

Works the same across every SaaS

The pattern is identical regardless of provider. Only the URL, reveal-button label, and key-prefix change. A representative sample:

ServiceDashboard URLKey prefixEnv var convention
Stripedashboard.stripe.com/apikeyssk_test_ / sk_live_STRIPE_SECRET_KEY
Supabasesupabase.com/dashboard/project/.../settings/apieyJ (JWT)SUPABASE_SERVICE_ROLE_KEY
OpenAIplatform.openai.com/api-keyssk-OPENAI_API_KEY
Anthropicconsole.anthropic.com/settings/keyssk-ant-ANTHROPIC_API_KEY
AWS IAMconsole.aws.amazon.com/iamAKIAAWS_ACCESS_KEY_ID
SendGridapp.sendgrid.com/settings/api_keysSG.SENDGRID_API_KEY
Twilioconsole.twilio.com/.../api-keysSKTWILIO_API_KEY
Vercelvercel.com/account/tokensopaque hexVERCEL_TOKEN
Resendresend.com/api-keysre_RESEND_API_KEY

The "you" path vs the agent path

You by hand: Switch to browser. Navigate to dashboard. Sign in if needed. Find API keys section. Click reveal. Click copy. Switch to terminal. Find the right project. Open .env. Find the right line or create a new one. Paste. Save. Switch back. Repeat for the next key. ~60–90 seconds per key, plus the context-switch tax.

Agent with Chromeflow: Single tool call sequence shown above. ~3 seconds of wall-clock. Your active engagement: zero (unless 2FA prompts, in which case ~10 seconds).

Security notes

← Back to all use cases