During install, show "Installing core firecrawl skills..." and
"Installing skills to build with firecrawl..." instead of the raw repo
names firecrawl/cli and firecrawl/skills. SKILL_REPO_LABELS map drives
the friendly text.
In the next-steps summary, split into two distinct groupings:
1. "Connect & interact with the web (direct or in your AI agent)"
with scrape/search/interact examples showing the natural language
prompt next to the equivalent CLI command.
2. "Building with firecrawl?" at the bottom, pointing at the build
skills with a concrete business example.
MCP + --help entries sit between the two sections as general utilities.
Bumped to 1.14.7.
Parse '(Found|Installed) N skills' from captured npx skills output and
sum across both repos so the post-install summary shows
"✓ Installed 14 skills across your AI coding agents" instead of vague
text.
Collapse the next-steps block from 18 lines to 7: drop the 4 example
prompts in favor of one of each (AI prompt + direct CLI), plus the
MCP install hint and the --help pointer. Each entry uses padded labels
("Ask your AI:", "Run direct: ", "Add MCP: ", "All commands:") so
the commands align in a column.
stepIntegrations and runNonInteractive both thread the count through
to printNextSteps. Tests still mock execSync as undefined, so
parseSkillCount handles the empty case. Bumped to 1.14.3.
Replace the noisy 'npx skills add' inherited stdout (banner, +/symlink
table, security report, ~80 lines per repo) with a single line per repo:
" ✓ firecrawl/cli" / " ✓ firecrawl/skills". TTY runs get a transient
"↓ <repo>" indicator while the install is in flight; non-TTY runs (CI,
piped) get only the final line.
Replace the trailing "Setup complete!" line with a printNextSteps()
block that surfaces:
- what just happened (skills installed globally)
- what firecrawl is for (search, scrape, crawl, interact)
- 4 example prompts (2 build-skill triggers, 2 direct CLI calls)
- pointer to firecrawl --help
Both interactive and non-interactive init paths use the same helpers,
so output is consistent regardless of how users enter the flow.
Bumped to 1.14.2.
when this cli is launched via 'npx -y firecrawl-cli@VERSION', npm injects
npm_command/npm_lifecycle_event/npm_execpath/INIT_CWD into the process
env. those vars leak into nested execSync('npx -y skills add ...') calls
and cause the loop's second iteration to silently exit after the first
install completes — published 1.14.0 only installs from firecrawl/cli
even though SKILL_REPOS contains both repos.
cleanNpmEnv() in skills-install.ts strips those vars; init.ts and
setup.ts pass it as the env to every nested execSync. added a
regression test that primes process.env with the leaking vars and
asserts every install call sees a clean env. bumped to 1.14.1.
- build-binaries.sh: cross-compile via bun for darwin/linux/windows (x64+arm64)
- install.sh: curl|bash installer with checksum verification
- install.ps1: powershell installer for windows
- release-binaries.yml: github actions workflow to build + upload on release
- test.yml: cross-platform binary smoke tests on PRs
- homebrew formula: template for firecrawl/homebrew-firecrawl tap
Upgrade @mendable/firecrawl-js to v4.15.3 and remove the local workspace override. Revise README examples to use the unified firecrawl CLI commands and expand workflow examples. Update browser launch handling to use .liveViewUrl (and adjust jq examples) instead of the previous interactiveLiveViewUrl fallback.
Update package.json version to 1.8.0 and revise documentation (skills/firecrawl-cli/SKILL.md) to replace usages of --persistent-session with --profile. Adjust examples and the options list to reflect the new flag name; no functional code changes.
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 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>