Skip to content

fix(cli): forward --port and --host to daemon auto-spawn#149

Open
MrAdonis wants to merge 1 commit intoepiral:mainfrom
MrAdonis:fix/pass-cdp-port-to-daemon
Open

fix(cli): forward --port and --host to daemon auto-spawn#149
MrAdonis wants to merge 1 commit intoepiral:mainfrom
MrAdonis:fix/pass-cdp-port-to-daemon

Conversation

@MrAdonis
Copy link
Copy Markdown

@MrAdonis MrAdonis commented Apr 2, 2026

Summary

  • When ensureDaemon() spawns a new daemon process, CLI flags --port and --host were silently dropped — the daemon always started with the default CDP port (19825)
  • This meant bb-browser --port 9222 tab list would fail with "Daemon did not start in time" if Chrome was on port 9222
  • Added setDaemonSpawnOptions() in daemon-manager to forward --cdp-port and --host to the detached daemon process
  • Added --host flag parsing in CLI (was only accepted by daemon.js directly)

Reproduction

# Chrome running with --remote-debugging-port=9222
bb-browser --port 9222 tab list
# Before: "Daemon did not start in time"
# After: works, daemon auto-spawns targeting port 9222

Changes

  • packages/cli/src/daemon-manager.ts: module-level spawn config + forward args in ensureDaemon()
  • packages/cli/src/index.ts: parse --host flag, call setDaemonSpawnOptions() before command dispatch, update help text

Test plan

  • bb-browser --port <custom> tab list auto-spawns daemon on correct CDP port
  • bb-browser --port <custom> --host 127.0.0.1 snapshot works on macOS (IPv6 workaround)
  • Without --port, default behavior unchanged (daemon targets 19825)
  • bb-browser daemon --cdp-port <custom> --host 127.0.0.1 foreground mode still works

When ensureDaemon() spawns a new daemon process, CLI flags --port and
--host were not forwarded. This meant `bb-browser --port 9222 tab list`
would spawn a daemon targeting the default CDP port (19825) instead of
the user-specified port.

Changes:
- daemon-manager: add setDaemonSpawnOptions() to configure --cdp-port
  and --host args for detached daemon spawn
- index: parse --host flag, call setDaemonSpawnOptions() in main()
  before any command dispatch
- help: document --host option
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant