Commit Graph

8459 Commits

Author SHA1 Message Date
Mert Unsal 6f403e5f32 Add cloud (#3692) 2025-11-29 14:23:03 -08:00
mertunsall fce911140e Add cloud 2025-11-29 14:22:44 -08:00
Mert Unsal 67ea744ca0 Bump dependency to 0.10.1 (#3691)
Bump version to 0.10.1.

---
[Slack
Thread](https://browser-use.slack.com/archives/D092QUQDC56/p1764454050532729?thread_ts=1764454050.532729&cid=D092QUQDC56)

<a
href="https://cursor.com/background-agent?bcId=bc-9b5469ea-517f-44fa-b792-b757fbfcc330"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/open-in-cursor-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/open-in-cursor-light.svg"><img alt="Open in
Cursor"
src="https://cursor.com/open-in-cursor.svg"></picture></a>&nbsp;<a
href="https://cursor.com/agents?id=bc-9b5469ea-517f-44fa-b792-b757fbfcc330"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/open-in-web-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/open-in-web-light.svg"><img alt="Open in Web"
src="https://cursor.com/open-in-web.svg"></picture></a>



<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Bump package version from 0.10.0 to 0.10.1 to prepare the next patch
release. Updates pyproject.toml so the published distribution reflects
the new version.

<sup>Written for commit 7f4f5cacbc.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
0.10.1
2025-11-29 14:09:28 -08:00
Cursor Agent 7f4f5cacbc Bump version to 0.10.1 2025-11-29 22:08:07 +00:00
Mert Unsal 340d1c9ef0 Bump pyproject to 0.10.0 (#3690)
Bump `pyproject.toml` version to 0.10.0.

---
[Slack
Thread](https://browser-use.slack.com/archives/D092QUQDC56/p1764453583572869?thread_ts=1764453583.572869&cid=D092QUQDC56)

<a
href="https://cursor.com/background-agent?bcId=bc-4cfc135f-4d82-45da-bfc7-21b66b344b0c"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/open-in-cursor-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/open-in-cursor-light.svg"><img alt="Open in
Cursor"
src="https://cursor.com/open-in-cursor.svg"></picture></a>&nbsp;<a
href="https://cursor.com/agents?id=bc-4cfc135f-4d82-45da-bfc7-21b66b344b0c"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/open-in-web-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/open-in-web-light.svg"><img alt="Open in Web"
src="https://cursor.com/open-in-web.svg"></picture></a>



<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Bump package version from 0.9.7 to 0.10.0 in pyproject.toml to prepare
the 0.10.0 release. Ensures consistent versioning across builds and
publishing.

<sup>Written for commit 879960a16a.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-11-29 14:05:39 -08:00
Cursor Agent 879960a16a Bump version to 0.10.0 2025-11-29 22:00:16 +00:00
Mert Unsal d90546a094 Update agent name in documentation (#3689)
Update "ClaudeS" to "Claude Code" as requested by the user.

---
[Slack
Thread](https://browser-use.slack.com/archives/D092QUQDC56/p1764452537589129?thread_ts=1764452537.589129&cid=D092QUQDC56)

<a
href="https://cursor.com/background-agent?bcId=bc-c4c7ed7e-1935-46dd-bf0c-471d51aa0e5a"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/open-in-cursor-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/open-in-cursor-light.svg"><img alt="Open in
Cursor"
src="https://cursor.com/open-in-cursor.svg"></picture></a>&nbsp;<a
href="https://cursor.com/agents?id=bc-c4c7ed7e-1935-46dd-bf0c-471d51aa0e5a"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/open-in-web-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/open-in-web-light.svg"><img alt="Open in Web"
src="https://cursor.com/open-in-web.svg"></picture></a>



<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Updated the README LLM Quickstart to rename “ClaudeS” to “Claude Code”
so the instructions reference the correct agent name. This removes an
outdated reference and prevents confusion during setup.

<sup>Written for commit 63292a26b5.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
0.10.0
2025-11-29 13:58:42 -08:00
Cursor Agent 63292a26b5 Fix: Update Claude Code in README
Co-authored-by: mailmertunsal <mailmertunsal@gmail.com>
2025-11-29 21:43:12 +00:00
Mert Unsal c1062cf45e Fix Regressions (#3688)
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Fixes typing and screenshot regressions to make interactions more
reliable. Adds a small delay between keystrokes, focuses the page before
screenshots, and clarifies text input usage.

- **Bug Fixes**
- Add 10ms delay between keystrokes in typing handlers to prevent missed
characters.
- Focus the target page when creating the CDP session for screenshots to
avoid incorrect captures.
- Clarify input action: only index-based text input; never use
coordinates.

<sup>Written for commit 0db058e41b.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-11-29 13:40:52 -08:00
Mert Unsal a299f83e57 Merge branch 'main' into mert/trytofixmain 2025-11-29 13:40:44 -08:00
Mert Unsal aba135a887 docs(sandbox): fix async sandbox example by adding asyncio.run and import asyncio (#3677)
**Description:**
This PR updates the Sandbox Quickstart example to make it fully runnable
when
copied into a standalone script.

**Changes:**
- Added `import asyncio`
- Wrapped the async sandbox entrypoint in:
  ```python
  if __name__ == "__main__":
      asyncio.run(production_task())
  ```
- Prevents the “coroutine was never awaited” runtime error.

**Issue:**
No related issue (minor documentation fix).

**Dependencies:**
None.

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Fixed the async Sandbox Quickstart example so it runs as a standalone
script without errors. Added import asyncio and a __main__ guard that
calls asyncio.run(production_task()), preventing the “coroutine was
never awaited” runtime error.

<sup>Written for commit 7fd4a38a2b.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-11-29 13:18:27 -08:00
Mert Unsal 2da9da6e83 Add provider options to ChatVercel for enhanced model routing (#3685)
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Added provider options to ChatVercel to control Vercel AI Gateway
routing and fallback order. Also improved handling for Anthropic models
and updated docs and examples.

- **New Features**
- Added provider_options to ChatVercel; passed as
extra_body.providerOptions.
  - Supports gateway routing order (e.g., ['vertex', 'anthropic']).
  - Anthropic models now follow the optimized structured-output path.
  - Updated docs and example to show basic and provider-order usage.

<sup>Written for commit 5c581c642e.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-11-29 13:17:54 -08:00
mertunsall 0db058e41b Merge branch 'main' into mert/trytofixmain 2025-11-29 13:16:49 -08:00
mertunsall 3fe94db8f2 try to fix stuff 2025-11-29 13:16:14 -08:00
Mert Unsal 6bded78269 Revert "Improve demo mode" (#3687)
Reverts browser-use/browser-use#3614

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Reverts the previous demo mode overhaul and restores a single, built-in
demo panel with simpler integration. Also streams step start and
completion summaries to the panel for clearer progress.

- **Refactors**
- Embedded the panel script directly in demo_mode.py; removed
browser_use/browser/demo_panel_scripts.py.
  - Removed the demo_mode_display option; a single panel mode is used.
- Simplified session integration by removing per-target demo overlay
registration.
- Added demo-mode logs for step start and completion (agent and
notebook).
  - Raised some logs from debug to info for better visibility.
  - Cleaned up codespell ignore list in pyproject.toml.

- **Migration**
- Remove any use of profile.demo_mode_display in configs. It’s no longer
supported.

<sup>Written for commit a742645416.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-11-29 13:14:14 -08:00
Mert Unsal a742645416 Revert "Improve demo mode" 2025-11-29 13:09:20 -08:00
AntonVishal 5c581c642e Add provider options to ChatVercel for enhanced model routing 2025-11-29 12:27:32 +05:30
Mert Unsal 77ed2b4313 Revert "allowing MUCH MORE with coordinates" (#3682)
Reverts browser-use/browser-use#3676
2025-11-28 04:00:32 -08:00
Mert Unsal 02cf38e864 Revert "allowing MUCH MORE with coordinates" 2025-11-28 04:00:22 -08:00
MagellaX d58ae80b50 Handle Mistral timeout defaults and fix pixtral mapping 2025-11-28 13:41:36 +05:30
MagellaX 71a1f12037 Format LLM exports after ruff suggestions 2025-11-28 13:32:20 +05:30
MagellaX 93a2bddb9c Fix provider branch ordering in llm models 2025-11-28 13:27:23 +05:30
TR-3B a90c3a0455 Merge branch 'main' into feature/mistral-support 2025-11-28 13:23:43 +05:30
MagellaX 09a83c97a4 Fix Mistral pyright warnings and schema test 2025-11-28 13:21:19 +05:30
Mert Unsal 24dff6f428 allowing MUCH MORE with coordinates (#3676)
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Adds precise coordinate-based scrolling via CDP gestures and updates
prompt templates to guide when to use coordinates. Also auto-sizes
screenshots for Claude and Gemini to improve coordinate scaling
accuracy.

- **New Features**
- Added ScrollAtCoordinateAction and ScrollAtCoordinateEvent using CDP
synthesizeScrollGesture.
- Scales coordinates and scroll deltas from LLM screenshot size to the
real viewport.
- Reworked scroll action: page = viewport height, removed index, memory
reports in px.
- Added Anthropic-specific system prompts and selection logic; prompts
now advise when to use coordinates.
- Auto-configured LLM screenshot sizes: Claude Sonnet 1400x850, Gemini
1024x720.

- **Refactors**
  - Shortened click action description.
  - History step label is now "step_{number}".
  - Included new Anthropic prompt files in packaging.

<sup>Written for commit 79df8fc818.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-11-27 23:44:06 -08:00
TR-3B 0b82aa7348 Merge branch 'main' into feature/mistral-support 2025-11-28 13:00:24 +05:30
MagellaX 5de9b99567 Add Mistral provider with schema optimizer and presets 2025-11-28 12:56:41 +05:30
Krishna 7fd4a38a2b Update quickstart.mdx 2025-11-27 20:41:36 -06:00
mertunsall 79df8fc818 hotfix 2025-11-27 15:03:48 -08:00
mertunsall 46cb1a0ae1 allowing MUCH MORE with coordinates 2025-11-27 14:48:23 -08:00
kalil0321 6dbdaab6b1 Attach watchdog only when record_har_path is provided 2025-11-27 20:26:23 +01:00
kalil0321 18ac299961 Merge branch 'main' into kalil0321/har_watchdog 2025-11-27 20:21:19 +01:00
Mert Unsal 7f76e4f133 now newlines are executed well with send keys (#3675)
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Fixes newline handling in SendKeys so Enter works reliably in forms and
text areas. Also increases typing timeouts and removes artificial delays
for faster, more reliable input.

- **Bug Fixes**
- Map '\n' and '\r' to Enter by dispatching rawKeyDown, char, and keyUp
(VK 13), ensuring correct submissions and line breaks.

- **Refactors**
- Increase default timeouts for TypeTextEvent and SendKeysEvent from 15s
to 60s.
  - Remove 18ms per-character delay in typing and send-keys loops.

<sup>Written for commit c4bb681058.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-11-26 18:14:57 -08:00
mertunsall c4bb681058 now newlines are executed well with send keys 2025-11-26 18:04:56 -08:00
Mert Unsal 8873194326 Copy profiles to temp for real browsers (fix #3329, #3301, #3184) (#3395)
[Chrome’s API was
updated](https://github.com/browser-use/browser-use/issues/1520) and no
longer permits direct access to user profiles.
To address this, the profile is now copied into a temporary directory
before launch. This prevents corruption or permission issues when using
persistent profiles. Tests have been updated accordingly to ensure
Chrome profiles are safely duplicated during runtime.

References:  
- https://github.com/browser-use/browser-use/issues/3329  
- https://github.com/browser-use/browser-use/issues/3301
- https://github.com/browser-use/browser-use/issues/3184  

**Follow-up**: If needed, adding an `update_profile` option to copy the
temporary profile back to the original directory after use could be
interesting?
2025-11-26 13:23:42 -08:00
Mert Unsal a048d97eab Merge branch 'main' into attempt-fix-real-browser 2025-11-26 13:22:22 -08:00
Mert Unsal 0cb6d7fc09 Add output format to Code Agent docs (#3505)
Added output format to Code Agent docs. Useful for llm code generation. 















<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Documented CodeAgent output format and return values so users can read
run() results and execution history. Added a new page and updated
parameter docs with current defaults and compatibility notes.

- **New Features**
- New Output Format page covering NotebookSession and CodeCell fields,
helper methods, task completion flags, and examples.
- Parameters doc updated: required/optional flags, defaults
(max_steps=100, use_vision=True), file_system, aliases (controller,
browser_session), and a return value section.
  - Added the new page to docs.json navigation.

<sup>Written for commit 0efd006527.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-11-26 13:21:28 -08:00
Mert Unsal 834cd85aae Merge branch 'main' into kalil/cu-docs 2025-11-26 13:19:54 -08:00
Mert Unsal c8d8c7e4b5 Add CodeAgentHistoryList for improved history management (#3510)
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Introduce CodeAgentHistoryList to standardize CodeAgent history with a
clear, typed, eval-compatible API. Replaces ad-hoc mocks and exposes
history directly on NotebookSession.

- **New Features**
- Added CodeAgentHistoryList with AgentHistoryList-compatible methods
(final_result, is_done, errors, urls, screenshots, action_results,
model_actions, save_to_file).
- NotebookSession.history now returns CodeAgentHistoryList; session
stores _complete_history and _usage_summary.
  - run() persists history and usage into the session for later access.

- **Refactors**
- Removed DictToObject/MockAgentHistoryList; service.history now returns
CodeAgentHistoryList.
  - Centralized history logic in views.py and simplified service.py.

<sup>Written for commit 7851657ded.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-11-26 13:19:26 -08:00
Mert Unsal 0efd006527 Merge branch 'main' into kalil/cu-docs 2025-11-26 13:19:07 -08:00
Mert Unsal 7851657ded Merge branch 'main' into kalil0321/codeagent-api-improv 2025-11-26 13:18:06 -08:00
Mert Unsal d03d403f30 env var to disable version check (#3673)
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Add an env var to control version checks at agent startup. Defaults to
true; set BROWSER_USE_VERSION_CHECK=false to skip the check and the
upgrade log.

- **New Features**
- Gate the latest-version lookup behind
CONFIG.BROWSER_USE_VERSION_CHECK.
- Document BROWSER_USE_VERSION_CHECK in .env.example with a short note.

<sup>Written for commit 9dc64f9b8b.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-11-26 13:08:04 -08:00
Mert Unsal 9dc64f9b8b Merge branch 'main' into mert/disable_version_check 2025-11-26 13:06:33 -08:00
mertunsall f98eb7a838 env var to disable version check 2025-11-26 13:06:03 -08:00
Mert Unsal 42bd2bbda4 Fix: Preserve in-use temporary user_data_dir during browser launch (#3638)
Previously, when browser launch succeeded after retry using a temporary
directory, the code immediately deleted ALL temporary directories
including the one actively being used by the running browser process.

The fix preserves the currently used temporary directory until browser
cleanup





<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Fixes a crash where a successful retry launch deleted the active
temporary user_data_dir, causing Chrome to write to a removed path. We
now keep the in-use temp profile until browser shutdown.

- **Bug Fixes**
  - Only remove unused temporary directories after a successful launch.
- Track and preserve the active user_data_dir for cleanup on browser
kill.

<sup>Written for commit 4a7334ae77.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->





<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Preserves the active temporary `user_data_dir` after a successful
launch, cleaning only unused temp dirs and deferring the in-use dir
cleanup to browser kill.
> 
> - **Watchdog
(`browser_use/browser/watchdogs/local_browser_watchdog.py`)**:
> - Only remove unused temporary `user_data_dir` directories after a
successful launch.
> - Identify the currently used directory and retain it in
`_temp_dirs_to_cleanup` (if temp) for cleanup on browser kill; otherwise
clear the list.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
4a7334ae77. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-11-26 12:49:55 -08:00
Mert Unsal bc332c2cf5 Merge branch 'main' into fix/temp-dir-cleanup-bug 2025-11-26 12:49:43 -08:00
Mert Unsal 6d2bb5b1a6 Update URL from localhost to 127.0.0.1 and fix typo (#3360)
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Switched the CDP URL from localhost to 127.0.0.1 in the local browser
watchdog to prevent IPv4/IPv6 connection issues, and fixed the
apply_to_job instructions (“Make sure to delegate…”).

<sup>Written for commit ca2bed58fe.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->



<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Switches CDP URL from localhost to 127.0.0.1 and cleans up example
instructions.
> 
> - **Browser watchdog
(`browser_use/browser/watchdogs/local_browser_watchdog.py`)**:
> - Update CDP readiness check to use `http://127.0.0.1:{port}` instead
of `http://localhost:{port}` for both request and returned base
`cdp_url`.
> - **Examples (`examples/use-cases/apply_to_job.py`)**:
> - Minor instruction copy edit: fix capitalization/grammar in the
step-by-step plan note.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
ca2bed58fe. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-11-26 12:49:16 -08:00
Mert Unsal ca11fbb80e Merge branch 'main' into main 2025-11-26 12:49:07 -08:00
Mert Unsal 4a7334ae77 Merge branch 'main' into fix/temp-dir-cleanup-bug 2025-11-26 12:45:53 -08:00
Mert Unsal 61d03cbd7b Fix Screenshot Problems with wrong focus (#3672)
Also dont change focus outside of get_or_create_cdp_session
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Restricts agent focus to page/tab targets via the session manager to
avoid iframes/workers. Screenshot capture validates the focused target
and falls back to a page target without changing focus; adds helpers to
inspect focus and page targets.

- **Bug Fixes**
- Gate focus updates to valid page/tab targets in SwitchTabEvent and
AgentFocusChangedEvent.
- Use get_or_create_cdp_session(..., focus=True) for focus changes;
remove direct agent_focus_target_id writes.
- ScreenshotWatchdog: capture only from page/tab targets; fallback to a
page target if focus is invalid; do not change focus (focus=False).

- **New Features**
  - get_focused_target(): returns the currently focused target.
- get_page_targets(): returns all page/tab targets, excluding
iframes/workers.

<sup>Written for commit 7e98622594.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-11-26 12:43:51 -08:00