Introduce a centralized printError() in utils/output to standardize error logging and append an upgrade hint for 402/insufficient-credit errors. Replace console.error usages in command handlers (browser, agent, crawl, credit-usage, map, search, main, and scrape output) to call printError (some via dynamic import to avoid cycles). Export openBrowser from utils/auth and add a new upgrade command (src/commands/upgrade.ts) that opens the Firecrawl pricing page.
Bump firecrawl plugin version to 1.0.5 and expand the firecrawl-cli documentation. Clarifies that `search --scrape` already retrieves full page content (so avoid redundant scraping), adds a research-task example, warns against re-scraping URLs or using `--html` to re-extract metadata, and emphasizes reading existing scraped files before fetching more data. Changes in .claude-plugin/plugin.json and skills/firecrawl-cli/SKILL.md.
Instead of auto-bumping on every skill change, the workflow now only
triggers when plugin.json version is explicitly changed. The CLI repo
is the source of truth for versioning.
- Add sync-plugin.yml workflow that triggers on changes to skills/ or
.claude-plugin/ on main, copies files to firecrawl-claude-plugin,
bumps the patch version, and opens a PR
- Update plugin.json version to 1.0.3 to match the plugin repo
Introduce handleBrowserQuickExecute to auto-launch a browser session if none exists, save the session, print session info to stderr, auto-prefix commands with "agent-browser", and delegate execution to the existing execute handler. Wire a positional [code] argument and options into the browser CLI to support the one-step shorthand (launch+execute), and rename the existing "launch" subcommand to "launch-session" while updating help/examples. Tests were added to cover quick-execute behavior (skips launch when a session exists; auto-launches and saves when not).
Upgrade @mendable/firecrawl-js to 4.13.0-beta.3 and update CLI browser behavior. Change language handling to use 'node' (instead of 'js') and add automatic agent-browser prefixing for default commands; --python/--js now explicitly select Playwright modes. Improve session handling for bash execution by allowing a session ID to be resolved via the API if not stored locally, and rename TTL args mapping (ttlTotal -> ttl, ttlWithoutActivity -> activityTtl). Update help text and examples to reflect the new defaults.
Add documentation and CLI help updates to document the new bash/agent-browser workflow. skills/firecrawl-cli/SKILL.md: introduce a Bash Mode section with recommended agent-browser usage, example commands, and a core command table; clarify that agent-browser is pre-installed in sandboxes. src/index.ts: update the browser command help text and examples to highlight agent-browser usage, streamline examples, and update the --bash option description to indicate agent-browser and CDP_URL injection. These changes make it easier for AI agents and users to run browser interactions via pre-installed agent-browser tooling.
Make the browser list command accept an optional positional status argument (active|destroyed) instead of the --status option. Validate the status value and exit with an error for invalid inputs, and pass the status through to handleBrowserList. Update help text/examples to show `firecrawl browser list active` and `firecrawl browser list destroyed`. Also update SKILL.md to clarify listing all sessions and add a separate example for listing active sessions.
Remove the deprecated --pretty CLI flag and related handling throughout browser commands. When --json is used, output is now always pretty-printed (JSON.stringify(..., 2)). Add a --status option to the browser list command and pass it into listBrowsers to filter sessions by status. Clean up minor checks (e.g. liveViewUrl access) and update help examples to reflect the removed --pretty flag.
* Add agent command for AI-powered web data extraction
Implement the agent endpoint that allows users to extract data from the web
using natural language prompts. Supports structured output via JSON schemas,
URL targeting, credit limits, and async job handling with polling.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Add --model option to agent command
Support selecting between fire-1 (default) and fire-1-mini (faster, cheaper)
models for agent extraction tasks.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Update firecrawl-js SDK to 4.12.0 with model support
- Upgrade @mendable/firecrawl-js from 4.10.0 to 4.12.0
- Update model types to match SDK: spark-1-mini and spark-1-pro
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Add spinner animation for agent command
- Add spinner utility for CLI feedback
- Show animated spinner while agent is starting and processing
- Display success/fail indicators when complete
- Remove --progress flag (spinner now always shown)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Handle Ctrl+C gracefully in agent command
When user interrupts with Ctrl+C while waiting for agent completion,
show helpful message with the command to check job status later.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Allow --wait when checking agent job status
Now you can use `firecrawl agent <job-id> --wait` to continuously
poll an existing job until it completes, with the same spinner
animation and Ctrl+C handling.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Improve error handling in agent command
- Stop spinner before showing error messages
- Extract detailed error messages from API responses
- Show full error details to help debug issues
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Extract error details from Firecrawl SDK errors
Show helpful error messages like "Invalid option: expected one of
spark-1-pro|spark-1-mini" instead of just "Bad Request".
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Validate model option before API call
Show clear error message for invalid models instead of waiting
for API rejection.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* add agent to skill
* only command for now
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>