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.
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.
Add an explicit integration: 'cli' flag to SDK call options across commands (agent, browser, crawl, map, scrape, search) so the backend knows the CLI origin. Update browser launch/quick-execute defaults to include integration and adjust scrape params typing. Update tests to assert the integration field. Persist API URL when only a custom --api-url is provided (no api-key) during login, and use global CLI options when handling login invocation. Bump package version to 1.9.4, add keywords and upgrade @mendable/firecrawl-js to 4.15.1, and add a "Testing Workflows Locally" section to README with examples for Claude, Codex, and OpenCode CLIs.
Allow scraping multiple URLs concurrently and save each result to .firecrawl/. Adds handleMultiScrapeCommand and urlToFilename helper in src/commands/scrape.ts to run concurrent scrapes, write outputs to .firecrawl/, emit progress/errors, and exit non-zero if all fail. Update CLI in src/index.ts to accept multiple positional URLs and --url, deduplicate inputs, infer formats from positional args or flags, and route single-URL requests to the existing handler. Update README.md and skills/firecrawl-cli/SKILL.md to document multiple-URL usage and examples.
Introduce a new CLI init command to install Firecrawl integrations. Adds src/commands/init.ts which implements handleInitCommand with subcommands 'skills' and 'mcp' (installSkills and installMcp). Both flows invoke npx helpers via execSync and accept --global and --agent options; installMcp requires an API key (getApiKey / FIRECRAWL_API_KEY) and injects it into the environment. Registers the command in src/index.ts and updates README.md with usage examples for `firecrawl init skills` and `firecrawl init mcp` (including the npx add-mcp invocation). Exits on failures to propagate errors to the caller.
* Add support for local/custom API URLs
For custom API URLs (e.g., local development with Docker), the CLI now:
- Skips API key requirement when using non-cloud URLs
- Allows optional API key input during login
- Skips browser auth flow for custom URLs
This enables use with local Firecrawl instances that have
USE_DB_AUTHENTICATION=false.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Add --api-url option to commands
Add --api-url flag at both global and command levels (scrape, crawl,
map, search, credit-usage) similar to --api-key. When a custom API URL
is provided, authentication is skipped allowing requests to local or
self-hosted Firecrawl instances without an API key.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* docs: Add --api-url option documentation
Document the --api-url option for self-hosted and local development
use cases in the README, including examples for environment variables
and CI/CD usage.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* docs: Add --api-url to login and config examples
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Introduces a new --status flag to the CLI, showing version, authentication status, concurrency limits, and credit usage. Updates documentation and skill instructions to reflect the new command. Increments package version to 1.1.0.