AI Slop Code RIsk Monitor

browser-use/browser-use

Agents that use the browser.

34.3 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for browser-use/browser-use, a Python project with 117,542 GitHub stars. SynthScan examined 145,291 lines of code across 501 source files, recording 3597 pattern matches distributed across 25 syntactic categories. The legacy adjusted pattern signal is 34.3 (High pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

34.3
Adjusted Signal
34.3
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
117.5K
Stars
Python
Language
145.3K
Lines of Code
501
Files
3.6K
Pattern Hits
2026-10-12
Scan Date
0.52
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 56.3/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 2268 finding(s).

Hallucinated Dependency & Supply Chain Risk 25.4/100 · MEDIUM

Are imports declared and package/API names verified? 342 finding(s).

Agent Over-Engineering Ratio 64.1/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 2482 finding(s).

PR Review Velocity Impact 85.0/100 · CRITICAL

Which changes need focused human review? 3597 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 15HIGH 247MEDIUM 274LOW 3061

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 3597 distinct pattern matches across 25 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers1480 hits · 1242 pts
SeverityFileLineSnippetContext
LOWtests/ci/test_redact_cascade.py13def test_cascade_substring_secret():CODE
LOW⚡tests/ci/test_redact_cascade.py25def test_multiple_overlapping_secrets():CODE
LOW⚡tests/ci/test_redact_cascade.py32def test_empty_secrets_returns_original():CODE
LOW⚡tests/ci/test_redact_cascade.py37def test_secret_value_matches_tag_syntax():CODE
LOW⚡tests/ci/test_redact_cascade.py44def test_multiple_occurrences():CODE
LOWtests/ci/test_ai_step.py10async def test_execute_ai_step_basic():CODE
LOWtests/ci/test_ai_step.py46async def test_execute_ai_step_with_screenshot():CODE
LOWtests/ci/test_ai_step.py95async def test_execute_ai_step_error_handling():CODE
LOWtests/ci/test_browser_use_skill_install_docs.py21def _fake_browser_harness_tools(tmp_path: Path, skill_text: str) -> Path:CODE
LOWtests/ci/test_browser_use_skill_install_docs.py50def test_docs_install_browser_use_skill_from_package_alias():CODE
LOWtests/ci/test_browser_use_skill_install_docs.py71def test_remote_browser_skill_uses_current_cli():CODE
LOWtests/ci/test_browser_use_skill_install_docs.py105def test_browser_use_cli_installs_browser_harness_package_skill(tmp_path):CODE
LOWtests/ci/test_browser_use_skill_install_docs.py160def test_browser_use_cli_validates_destination_before_installing_harness(tmp_path):CODE
LOWtests/ci/test_screenshot_exclusion.py20def test_screenshot_excluded_with_use_vision_false():CODE
LOWtests/ci/test_screenshot_exclusion.py34def test_screenshot_excluded_with_use_vision_true():CODE
LOWtests/ci/test_screenshot_exclusion.py48def test_screenshot_included_with_use_vision_auto():CODE
LOWtests/ci/test_screenshot_exclusion.py62def test_screenshot_excluded_with_custom_tools_and_use_vision_false():CODE
LOWtests/ci/test_screenshot_exclusion.py89def test_screenshot_excluded_with_custom_tools_and_use_vision_true():CODE
LOWtests/ci/test_screenshot_exclusion.py121def test_screenshot_included_with_custom_tools_and_use_vision_auto():CODE
LOWtests/ci/test_screenshot_exclusion.py143def test_tools_exclude_action_method():CODE
LOWtests/ci/test_screenshot_exclusion.py158def test_exclude_action_prevents_re_registration():CODE
LOW⚡tests/ci/test_actor_mouse_scroll_anchor.py6def test_explicit_zero_x_is_honored_as_left_edge():CODE
LOW⚡tests/ci/test_actor_mouse_scroll_anchor.py12def test_explicit_zero_y_is_honored_as_top_edge():CODE
LOW⚡tests/ci/test_actor_mouse_scroll_anchor.py18def test_both_unset_falls_back_to_viewport_center():CODE
LOW⚡tests/ci/test_actor_mouse_scroll_anchor.py24def test_positive_coordinates_are_passed_through():CODE
LOWtests/ci/test_anthropic_serialized_tool_input.py37async def test_tool_call_rendered_as_xml_in_string_field_is_recovered(httpserver):CODE
LOWtests/ci/test_anthropic_serialized_tool_input.py54async def test_tool_call_rendered_as_json_in_string_field_is_recovered(httpserver):CODE
LOWtests/ci/test_anthropic_serialized_tool_input.py66async def test_double_serialized_field_still_repaired(httpserver):CODE
LOWtests/ci/test_anthropic_serialized_tool_input.py78async def test_valid_tool_input_is_untouched(httpserver):CODE
LOWtests/ci/test_anthropic_serialized_tool_input.py89async def test_valid_tool_input_wins_over_conflicting_serialized_thinking(httpserver):CODE
LOWtests/ci/test_anthropic_serialized_tool_input.py104async def test_serialized_tool_call_outside_thinking_is_not_recovered(httpserver):CODE
LOWtests/ci/test_anthropic_serialized_tool_input.py117async def test_unrecoverable_tool_input_still_raises(httpserver):CODE
LOWtests/ci/test_action_record.py65async def test_start_stop_recording_produces_video(browser_session: BrowserSession, page_url: str, tmp_path: Path):CODE
LOWtests/ci/test_action_record.py94async def test_start_recording_twice_raises(browser_session: BrowserSession, tmp_path: Path):CODE
LOWtests/ci/test_action_record.py106async def test_stop_without_start_returns_none(browser_session: BrowserSession):CODE
LOWtests/ci/test_action_record.py112async def test_on_browser_connected_degrades_gracefully_when_recording_fails(CODE
LOWtests/ci/test_action_record.py134async def test_profile_record_video_dir_still_works(page_url: str, tmp_path: Path):CODE
LOW⚡tests/ci/test_event_bus_resilience.py20def _tear_down_like_agent_close(bus: EventBus) -> None:CODE
LOW⚡tests/ci/test_event_bus_resilience.py26def test_browser_session_uses_resilient_event_bus():CODE
LOW⚡tests/ci/test_event_bus_resilience.py32def test_resilient_event_bus_keeps_event_bus_name_prefix():CODE
LOW⚡tests/ci/test_event_bus_resilience.py39async def test_step_on_torn_down_bus_is_noop_not_assertion():CODE
LOWtests/ci/test_event_bus_resilience.py52async def test_torn_down_bus_still_restarts_on_dispatch():CODE
LOWtests/ci/test_event_bus_resilience.py72async def test_stock_event_bus_reproduces_the_crash():CODE
LOWtests/ci/test_profile_args.py4def test_get_args_keeps_default_order_when_ignoring_default_args(tmp_path):CODE
LOWtests/ci/test_profile_args.py23def test_get_args_keeps_default_order_with_default_ignored_args(tmp_path):CODE
LOWtests/ci/test_mcp_tool_annotations.py50async def test_read_only_tools_advertise_read_only_hint(server: BrowserUseServer) -> None:CODE
LOWtests/ci/test_mcp_tool_annotations.py65async def test_mutating_tools_never_advertise_read_only_hint(server: BrowserUseServer) -> None:CODE
LOWtests/ci/test_mcp_tool_annotations.py77async def test_unknown_tool_is_reported_as_mcp_error(server: BrowserUseServer) -> None:CODE
LOWtests/ci/test_variable_substitution.py38def test_substitute_single_variable(mock_llm):CODE
LOWtests/ci/test_variable_substitution.py62def test_substitute_multiple_variables(mock_llm):CODE
LOWtests/ci/test_variable_substitution.py95def test_substitute_partial_variables(mock_llm):CODE
LOWtests/ci/test_variable_substitution.py121def test_substitute_nonexistent_variable(mock_llm):CODE
LOWtests/ci/test_variable_substitution.py145def test_substitute_in_nested_dict(mock_llm):CODE
LOWtests/ci/test_variable_substitution.py202def test_substitute_preserves_original_history(mock_llm):CODE
LOWtests/ci/test_variable_substitution.py227def test_substitute_empty_variables(mock_llm):CODE
LOWtests/ci/test_variable_substitution.py248def test_substitute_same_value_multiple_times(mock_llm):CODE
LOWtests/ci/test_ax_name_matching.py21async def test_ax_name_matching_succeeds_when_hash_fails(httpserver):CODE
LOWtests/ci/test_ax_name_matching.py157async def test_ax_name_matching_requires_same_node_type(httpserver):CODE
LOWtests/ci/test_ax_name_matching.py244def test_match_level_enum_includes_ax_name():CODE
LOWtests/ci/test_ax_name_matching.py251async def test_ax_name_matching_before_attribute_matching(httpserver):CODE
1420 more matches not shown…
Excessive Try-Catch Wrapping640 hits · 565 pts
SeverityFileLineSnippetContext
MEDIUMtests/ci/test_element_click_error.py56 print(f'Error message: {error_message}')CODE
LOWtests/ci/evaluate_tasks.py105 except Exception as browser_error:CODE
LOWtests/ci/evaluate_tasks.py118 except Exception as agent_error:CODE
LOWtests/ci/evaluate_tasks.py137 except Exception as llm_error:CODE
LOWtests/ci/evaluate_tasks.py187 except Exception as e:STRING
LOWtests/ci/evaluate_tasks.py191 except Exception:STRING
LOWtests/ci/evaluate_tasks.py269 except Exception as e:CODE
LOWtests/ci/evaluate_tasks.py356 except Exception as e:CODE
LOWtests/ci/interactions/test_dropdown_native.py515 except Exception as e:CODE
LOWtests/ci/models/test_azure_responses_api.py262 except Exception as e:CODE
LOWtests/ci/browser/test_true_cross_origin_click.py133 except Exception as e:STRING
LOWtests/ci/browser/test_cdp_headers.py74 except Exception:CODE
LOWtests/ci/browser/test_cdp_headers.py120 except Exception:CODE
LOWtests/ci/browser/test_cdp_headers.py164 except Exception:CODE
LOWtests/ci/browser/test_cross_origin_click.py135 except Exception as e:STRING
LOWtests/ci/infrastructure/test_registry_validation.py485 except Exception as e:CODE
LOWtests/ci/infrastructure/test_registry_validation.py497 except Exception as e:CODE
LOWtests/ci/infrastructure/test_registry_validation.py509 except Exception as e:CODE
LOWtests/ci/infrastructure/test_registry_validation.py546 except Exception as e:CODE
LOWtests/ci/infrastructure/test_filesystem.py266 except Exception:CODE
LOWtests/ci/infrastructure/test_filesystem.py277 except Exception:CODE
LOW⚡…astructure/test_registry_action_parameter_injection.py250 except Exception as e:CODE
LOWtests/scripts/test_frame_hierarchy.py54 except Exception:CODE
LOWtests/scripts/test_frame_hierarchy.py123 except Exception as e:CODE
LOWtests/scripts/test_frame_hierarchy.py139 except Exception:CODE
LOWtests/scripts/test_frame_hierarchy.py216 except Exception as e:CODE
LOWtests/scripts/test_frame_hierarchy.py229 except Exception:CODE
LOWexamples/ui/gradio_demo.py77 except Exception as e:CODE
MEDIUMexamples/features/add_image_context.py103 print(f'Error loading sample images: {e}')CODE
LOW⚡examples/custom-functions/action_filters.py70 except Exception:CODE
LOWexamples/custom-functions/cua.py52 except Exception as e:CODE
LOWexamples/custom-functions/cua.py174 except Exception as e:CODE
MEDIUMexamples/custom-functions/cua.py175 print(f'Error handling action {action}: {e}')CODE
LOWexamples/custom-functions/cua.py274 except Exception as e:STRING
LOWexamples/custom-functions/cua.py315 except Exception as e:STRING
LOWexamples/custom-functions/file_upload.py63 except Exception as e:CODE
LOWexamples/custom-functions/parallel_agents.py118 except Exception as e:STRING
MEDIUMexamples/custom-functions/parallel_agents.py119 print(f'Error creating subtasks: {e}')STRING
LOWexamples/custom-functions/parallel_agents.py186 except Exception as e:CODE
LOW⚡examples/custom-functions/parallel_agents.py205 except Exception as e:CODE
LOW⚡examples/custom-functions/parallel_agents.py214 except Exception as e:CODE
LOW⚡examples/custom-functions/parallel_agents.py221 except Exception as e:CODE
LOWexamples/custom-functions/parallel_agents.py238 except Exception:CODE
LOWexamples/models/oci_models.py117 except Exception as e:CODE
LOWexamples/models/oci_models.py149 except Exception as e:CODE
LOWexamples/models/oci_models.py175 except Exception as e:CODE
LOWexamples/models/oci_models.py202 except Exception as e:CODE
LOWexamples/models/oci_models.py241 except Exception as e:CODE
LOWexamples/models/aws.py91 except Exception as e:CODE
LOWexamples/models/langchain/chat.py178 except Exception as e:CODE
LOWexamples/models/langchain/chat.py190 except Exception as e:CODE
LOWexamples/integrations/gmail_2fa_integration.py77 except Exception as e:CODE
LOWexamples/integrations/gmail_2fa_integration.py151 except Exception as e:CODE
LOWexamples/integrations/gmail_2fa_integration.py174 except Exception as e:CODE
LOW⚡examples/integrations/gmail_2fa_integration.py264 except Exception as e:CODE
LOWexamples/integrations/discord/discord_api.py74 except Exception as e:CODE
MEDIUMexamples/integrations/discord/discord_api.py75 print(f'Error during bot startup: {e}')CODE
LOW⚡examples/integrations/discord/discord_api.py89 except Exception as e:CODE
MEDIUM⚡examples/integrations/discord/discord_api.py90 print(f'Error sending start message: {e}')CODE
LOW⚡examples/integrations/discord/discord_api.py95 except Exception as e:CODE
580 more matches not shown…
Empty Error Handlers112 hits · 560 pts
SeverityFileLineSnippetContext
HIGHtests/ci/test_rerun_ai_summary.py1265except RuntimeError:CODE
HIGHtests/ci/evaluate_tasks.py191except Exception:CODE
HIGHtests/ci/integrations/test_anthropic_browser_use.py220except ProcessLookupError:CODE
HIGHtests/ci/integrations/test_anthropic_browser_use.py251except ProcessLookupError:CODE
HIGHtests/ci/browser/test_cdp_headers.py74except Exception:CODE
HIGHtests/ci/browser/test_cdp_headers.py120except Exception:CODE
HIGHtests/ci/browser/test_cdp_headers.py164except Exception:CODE
HIGHtests/ci/infrastructure/test_filesystem.py266except Exception:CODE
HIGHtests/ci/infrastructure/test_filesystem.py277except Exception:CODE
HIGHtests/scripts/test_frame_hierarchy.py139except Exception:CODE
HIGHtests/scripts/test_frame_hierarchy.py229except Exception:CODE
HIGHexamples/models/bu_oss.py28except ImportError:CODE
HIGHexamples/browser/playwright_integration.py117except Exception:CODE
HIGHexamples/apps/msg-use/scheduler.py113except json.JSONDecodeError:CODE
HIGHbrowser_use/config.py25except Exception:CODE
HIGHbrowser_use/config.py34except Exception:CODE
HIGHbrowser_use/config.py41except Exception:CODE
HIGHbrowser_use/logging_config.py77except AttributeError:CODE
HIGHbrowser_use/logging_config.py277except Exception:CODE
HIGHbrowser_use/logging_config.py269except Exception:CODE
HIGHbrowser_use/cli.py56except Exception:CODE
HIGHbrowser_use/utils.py724except Exception:CODE
HIGHbrowser_use/utils.py242except Exception:CODE
HIGHbrowser_use/utils.py415except ValueError:CODE
HIGHbrowser_use/utils.py878except asyncio.CancelledError:CODE
HIGHbrowser_use/utils.py446except Exception:CODE
HIGHbrowser_use/beta/service.py6796except (TypeError, ValueError, AttributeError):CODE
HIGHbrowser_use/beta/service.py5958except InterruptedError:CODE
HIGHbrowser_use/tools/service.py652except Exception:CODE
HIGHbrowser_use/tools/registry/service.py363except Exception:CODE
HIGHbrowser_use/llm/__init__.py130except (AttributeError, ImportError):CODE
HIGHbrowser_use/llm/groq/parser.py101except json.JSONDecodeError:CODE
HIGHbrowser_use/llm/anthropic/chat.py297except json.JSONDecodeError:CODE
HIGHbrowser_use/llm/aws/chat_anthropic.py254except json.JSONDecodeError:CODE
HIGHbrowser_use/llm/aws/chat_bedrock.py245except json.JSONDecodeError:CODE
HIGHbrowser_use/llm/mistral/chat.py141except Exception:CODE
HIGHbrowser_use/agent/service.py2266except InterruptedError:CODE
HIGHbrowser_use/agent/service.py2584except InterruptedError:CODE
HIGHbrowser_use/agent/service.py1278except TimeoutError:CODE
HIGHbrowser_use/agent/service.py3996except Exception:CODE
HIGHbrowser_use/mcp/server.py170except (psutil.AccessDenied, psutil.NoSuchProcess):CODE
HIGHbrowser_use/mcp/controller.py88except asyncio.CancelledError:CODE
HIGHbrowser_use/mcp/client.py187except asyncio.CancelledError:CODE
HIGHbrowser_use/mcp/cli_mcp.py171except BrokenPipeError:CODE
HIGHbrowser_use/integrations/anthropic/browser_use.py174except Exception:CODE
HIGHbrowser_use/integrations/anthropic/browser_use.py875except Exception:CODE
HIGHbrowser_use/integrations/anthropic/browser_use.py612except Exception:CODE
HIGHbrowser_use/browser/profile.py254except Exception:CODE
HIGHbrowser_use/browser/profile.py266except Exception:CODE
HIGHbrowser_use/browser/session_manager.py877except asyncio.CancelledError:CODE
HIGHbrowser_use/browser/session.py1565except Exception:CODE
HIGHbrowser_use/browser/session.py4027except ValueError:CODE
HIGHbrowser_use/browser/session.py1312except Exception:CODE
HIGHbrowser_use/browser/session.py2128except Exception:CODE
HIGHbrowser_use/browser/session.py2385except Exception:CODE
HIGHbrowser_use/browser/session.py3916except Exception:CODE
HIGHbrowser_use/browser/session.py851except Exception:CODE
HIGHbrowser_use/browser/session.py858except Exception:CODE
HIGHbrowser_use/browser/watchdog_base.py306except Exception:CODE
HIGHbrowser_use/browser/watchdog_base.py316except Exception:CODE
52 more matches not shown…
Cross-Language Confusion88 hits · 436 pts
SeverityFileLineSnippetContext
HIGHtests/ci/test_beta_agent.py1072 'arguments': {'cmd': 'sleep 60 && echo done', 'yield_time_ms': 250},CODE
HIGHtests/ci/browser/test_dom_listener_detection.py38 element.addEventListener('click', () => undefined);CODE
HIGHtests/scripts/debug_iframe_scrolling.py36 "evaluation_previous_goal": null,STRING
HIGH⚡browser_use/tools/service.py233 while ((match = re.exec(fullText)) !== null) {CODE
HIGH⚡browser_use/tools/service.py242 if (no.offset <= match.index && no.offset + no.length > match.index) {CODE
HIGH⚡browser_use/tools/service.py247 matches.push({CODE
HIGHbrowser_use/tools/service.py214 if (text && text.trim()) {CODE
HIGHbrowser_use/tools/service.py215 nodeOffsets.push({offset: fullText.length, length: text.length, node: node});CODE
HIGHbrowser_use/tools/service.py263 while (current && current !== document.body && current !== document) {CODE
HIGHbrowser_use/tools/service.py267 else if (current.className && typeof current.className === 'string') {CODE
HIGHbrowser_use/tools/service.py296 if (ATTRIBUTES && ATTRIBUTES.length > 0) {CODE
HIGHbrowser_use/tools/service.py307 if (val !== null) {CODE
HIGHbrowser_use/tools/service.py313 results.push(item);CODE
HIGHbrowser_use/tools/service.py951 params={'expression': 'window.scrollY || window.pageYOffset || 0'}, session_id=cdp_session.session_idCODE
HIGHbrowser_use/tools/extraction/schema_utils.py121 # so absent fields serialize as null, not an out-of-set value.COMMENT
HIGHbrowser_use/mcp/server.py959 f'(function(){{ const el = document.querySelector({json.dumps(selector)}); return el ? el.outerHTML : null; }})()'CODE
HIGHbrowser_use/integrations/anthropic/browser_use.py495 if (!r.width || !r.height || getComputedStyle(e).visibility === 'hidden')STRING
HIGH⚡browser_use/browser/profile.py1135 if (checkInitialized && initialized) {CODE
HIGHbrowser_use/browser/profile.py1147 const result = await chrome.storage.local.get({{ settings: null }});CODE
HIGHbrowser_use/browser/profile.py1158 if (checkInitialized && initialized) {{CODE
HIGHbrowser_use/browser/session.py2986 const scrollX = window.pageXOffset || document.documentElement.scrollLeft || 0;CODE
HIGHbrowser_use/browser/session.py2987 const scrollY = window.pageYOffset || document.documentElement.scrollTop || 0;CODE
HIGHbrowser_use/browser/session.py3108 const scrollX = window.pageXOffset || document.documentElement.scrollLeft || 0;CODE
HIGHbrowser_use/browser/session.py3109 const scrollY = window.pageYOffset || document.documentElement.scrollTop || 0;CODE
HIGH⚡browser_use/browser/demo_mode.py53 panel: null,CODE
HIGH⚡browser_use/browser/demo_mode.py54 list: null,CODE
HIGH⚡browser_use/browser/demo_mode.py57 toggleButton: null,CODE
HIGHbrowser_use/browser/demo_mode.py93 const host = document.body || document.documentElement;CODE
HIGHbrowser_use/browser/demo_mode.py102 if (document.body && node.parentNode !== document.body) {CODE
HIGHbrowser_use/browser/demo_mode.py577 return saved ? Number(saved) : null;CODE
HIGHbrowser_use/browser/demo_mode.py579 return null;CODE
HIGH⚡browser_use/browser/demo_mode.py630 if (!detail) return null;CODE
HIGH⚡browser_use/browser/demo_mode.py638 if (!entry.metadata || typeof entry.metadata !== 'object') {CODE
HIGH⚡browser_use/browser/demo_mode.py642 entry.timestamp = entry.timestamp || new Date().toISOString();CODE
HIGH⚡browser_use/browser/demo_mode.py649 state.messages.push(entry);CODE
HIGHbrowser_use/browser/demo_mode.py717 if (id && expanded.has(id)) {CODE
HIGHbrowser_use/browser/demo_mode.py760 frame = requestAnimationFrame(() => fn.apply(null, args));CODE
HIGHbrowser_use/browser/watchdogs/aboutblank_watchdog.py203 const imgWidth = img.offsetWidth || 300;CODE
HIGHbrowser_use/browser/watchdogs/aboutblank_watchdog.py204 const imgHeight = img.offsetHeight || 300;CODE
HIGHbrowser_use/browser/watchdogs/storage_state_watchdog.py283 f' if (window.location && window.location.origin !== {json.dumps(origin_value)}) return;\n'CODE
HIGHbrowser_use/browser/watchdogs/storage_state_watchdog.py299 f' if (window.location && window.location.origin !== {json.dumps(origin_value)}) return;\n'CODE
HIGHbrowser_use/browser/watchdogs/dom_watchdog.py174 if (isImageUrl && loadingDuration > 3000) continue;CODE
HIGHbrowser_use/browser/watchdogs/dom_watchdog.py176 pending.push({CODE
HIGH⚡…owser_use/browser/watchdogs/default_action_watchdog.py636 if (assocLabel && (assocLabel === atPoint || assocLabel.contains(atPoint))) {CODE
HIGH⚡…owser_use/browser/watchdogs/default_action_watchdog.py642 if (!isClickable && target.tagName === 'INPUT') {CODE
HIGH⚡…owser_use/browser/watchdogs/default_action_watchdog.py644 for (let i = 0; i < 3 && ancestor; i++) {CODE
HIGH⚡…owser_use/browser/watchdogs/default_action_watchdog.py654 if (!isClickable && target.tagName === 'LABEL') {CODE
HIGH⚡…owser_use/browser/watchdogs/default_action_watchdog.py655 if (target.htmlFor && atPoint.tagName === 'INPUT' && atPoint.id === target.htmlFor) {CODE
HIGH⚡…owser_use/browser/watchdogs/default_action_watchdog.py659 if (!isClickable && atPoint.tagName === 'INPUT' && target.contains(atPoint)) {CODE
HIGH⚡…owser_use/browser/watchdogs/default_action_watchdog.py2044 if (this.value !== undefined) {CODE
HIGH⚡…owser_use/browser/watchdogs/default_action_watchdog.py2048 var desc = null;CODE
HIGH⚡…owser_use/browser/watchdogs/default_action_watchdog.py2054 if (desc && desc.set) {CODE
HIGH…owser_use/browser/watchdogs/default_action_watchdog.py1384 } else if (this.value !== undefined) {CODE
HIGH…owser_use/browser/watchdogs/default_action_watchdog.py1398 if (this instanceof HTMLInputElement || this instanceof HTMLTextAreaElement) {CODE
HIGH…owser_use/browser/watchdogs/default_action_watchdog.py2154 if (element._reactInternalFiber || element._reactInternalInstance || element.__reactInternalInstance) {CODE
HIGH…owser_use/browser/watchdogs/default_action_watchdog.py2173 if (element.__vue__ || element._vnode || element.__vueParentComponent) {CODE
HIGH…owser_use/browser/watchdogs/default_action_watchdog.py2286 const doc = this.contentDocument || this.contentWindow.document;CODE
HIGH…owser_use/browser/watchdogs/default_action_watchdog.py2288 const scrollElement = doc.documentElement || doc.body;CODE
HIGH…owser_use/browser/watchdogs/default_action_watchdog.py2303 return {{success: false, error: e.toString()}};CODE
HIGH…owser_use/browser/watchdogs/default_action_watchdog.py2794 null,CODE
28 more matches not shown…
Decorative Section Separators109 hits · 374 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/ci/test_markdown_chunking.py8# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_markdown_chunking.py10# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_markdown_chunking.py274# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_markdown_chunking.py276# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_markdown_chunking.py307# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_markdown_chunking.py309# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py44# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py46# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py64# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py66# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py88# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py90# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py111# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py113# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py134# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py136# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py152# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py154# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py172# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py174# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py189# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py191# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py205# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py207# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py223# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py225# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py255# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py257# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py266# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py268# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py282# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py284# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py297# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py299# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py316# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py318# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py332# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py334# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py348# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py350# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py364# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py366# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py380# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_agent_planning.py382# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_agent_planning.py15# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_agent_planning.py17# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_structured_extraction.py21# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_structured_extraction.py23# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_structured_extraction.py283# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_structured_extraction.py285# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_structured_extraction.py311# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_structured_extraction.py313# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_structured_extraction.py483# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_structured_extraction.py485# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_action_blank_page.py19# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_action_blank_page.py21# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_action_blank_page.py87# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/ci/test_action_blank_page.py89# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_action_blank_page.py111# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/ci/test_action_blank_page.py113# ---------------------------------------------------------------------------COMMENT
49 more matches not shown…
Self-Referential Comments102 hits · 318 pts
SeverityFileLineSnippetContext
MEDIUMtests/ci/conftest.py47 # Create a temporary directory for test config (but not for extensions)COMMENT
MEDIUMtests/ci/test_variable_substitution.py149 # Create a more complex action with nested structureCOMMENT
MEDIUMtests/ci/test_ax_name_matching.py39 # Create a mock LLM for summaryCOMMENT
MEDIUMtests/ci/test_ax_name_matching.py61 # Create an element with DIFFERENT hash/xpath but SAME ax_name as the real elementCOMMENT
MEDIUMtests/ci/test_file_system_docx.py49 # Create an external DOCX fileCOMMENT
MEDIUMtests/ci/test_file_system_docx.py111 # Create a corrupted DOCX fileCOMMENT
MEDIUM⚡tests/ci/test_markdown_extractor.py62 # Create a JSON blob > 100 charsCOMMENT
MEDIUMtests/ci/test_element_click_error.py28 # Create a mock browser sessionCOMMENT
MEDIUMtests/ci/test_file_system_images.py27 # Create an external image fileCOMMENT
MEDIUMtests/ci/test_file_system_images.py51 # Create an external image fileCOMMENT
MEDIUMtests/ci/test_file_system_images.py110 # Create a large image (2000x2000)COMMENT
MEDIUMtests/ci/test_rerun_ai_summary.py177 # Create a mock LLM for summaryCOMMENT
MEDIUMtests/ci/test_rerun_ai_summary.py209 # Create a step that originally had an error (using navigate action which doesn't require element matching)COMMENT
MEDIUMtests/ci/test_rerun_ai_summary.py259 # Create a mock LLM for summary (will be reached after the step succeeds)COMMENT
MEDIUMtests/ci/test_rerun_ai_summary.py291 # Create a step that originally had an error but uses navigate (which will work on rerun)COMMENT
MEDIUMtests/ci/test_rerun_ai_summary.py460 # Create a mock LLM for summary that returns partial successCOMMENT
MEDIUMtests/ci/test_rerun_ai_summary.py599 # Create a mock LLM for summaryCOMMENT
MEDIUMtests/ci/test_rerun_ai_summary.py621 # Create an interacted element that matches the button on the pageCOMMENT
MEDIUMtests/ci/test_rerun_ai_summary.py746 # Create an interacted elementCOMMENT
MEDIUMtests/ci/test_rerun_ai_summary.py1075 # Create a mock LLM for summaryCOMMENT
MEDIUMtests/ci/test_rerun_ai_summary.py1097 # Create an element that matches the pageCOMMENT
MEDIUMtests/ci/test_rerun_ai_summary.py1201 # Create an element that WON'T match (different identifiers)COMMENT
MEDIUM⚡tests/ci/test_fallback_llm.py359 # Create a failing primary and succeeding fallbackCOMMENT
MEDIUMtests/ci/test_tools.py115 # Define a custom actionCOMMENT
MEDIUMtests/ci/test_tools.py274 # Create a temporary directory for the file systemCOMMENT
MEDIUMtests/ci/security/test_upload_file_containment.py158 # Create a local managed file with a basename that collides with theCOMMENT
MEDIUMtests/ci/security/test_domain_filtering.py13 # Create a context config with a sample allowed domainCOMMENT
MEDIUMtests/ci/security/test_domain_filtering.py475 # Create a list of 100 domainsCOMMENT
MEDIUMtests/ci/security/test_domain_filtering.py502 # Create a list with 100 domains (some with www, some without)COMMENT
MEDIUMtests/ci/security/test_domain_filtering.py531 # Create a large allowlistCOMMENT
MEDIUMtests/ci/security/test_sensitive_data.py56 # Create a simple Pydantic model with sensitive data placeholdersCOMMENT
MEDIUMtests/ci/security/test_sensitive_data.py112 # Create a simple Pydantic model with sensitive data placeholdersCOMMENT
MEDIUMtests/ci/browser/test_true_cross_origin_click.py39 # Create main page with TRUE cross-origin iframe pointing to example.comCOMMENT
MEDIUMtests/ci/browser/test_session_start.py89 # # Create a new tab explicitlyCOMMENT
MEDIUMtests/ci/browser/test_session_start.py152 # Create a reusable profileCOMMENT
MEDIUMtests/ci/browser/test_session_start.py188 # Create a reusable session with keep_aliveCOMMENT
MEDIUMtests/ci/browser/test_cross_origin_click.py48 # Create main page with iframe pointing to our test serverSTRING
MEDIUMtests/ci/infrastructure/test_registry_validation.py416 # Create a custom param model for select_cell_or_rangeCOMMENT
MEDIUMtests/ci/infrastructure/test_registry_validation.py425 # Define the function without using our registry - this will be a helper functionCOMMENT
MEDIUMtests/ci/infrastructure/test_registry_validation.py515 # Create the model instanceCOMMENT
MEDIUMtests/ci/infrastructure/test_filesystem.py803 # Create a large fileCOMMENT
MEDIUMtests/ci/infrastructure/test_filesystem.py903 # Create a products CSV fileCOMMENT
MEDIUMtests/ci/infrastructure/test_filesystem.py1037 # Create a file to ensure directory has contentCOMMENT
MEDIUMtests/ci/infrastructure/test_filesystem.py1115 # Create a state with unknown file typeCOMMENT
MEDIUMtests/ci/infrastructure/test_filesystem.py1424 # Create a notes fileCOMMENT
MEDIUM⚡…astructure/test_registry_action_parameter_injection.py263 # Create a new tabCOMMENT
MEDIUM…astructure/test_registry_action_parameter_injection.py343 # Create a registryCOMMENT
MEDIUM…astructure/test_registry_action_parameter_injection.py370 # Create an instance with the simple_actionCOMMENT
MEDIUMtests/scripts/debug_iframe_scrolling.py29 # Create the sequence of actions for the mock LLMCOMMENT
MEDIUMtests/scripts/debug_iframe_scrolling.py122 # Create an agent with the mock LLMCOMMENT
MEDIUMtests/scripts/debug_iframe_scrolling.py178 # Create the action model for navigationCOMMENT
MEDIUM⚡examples/features/sensitive_data.py22# Define a single credential set that can be reusedCOMMENT
MEDIUMexamples/custom-functions/action_filters.py100 # Create the agentCOMMENT
MEDIUMexamples/custom-functions/file_upload.py88 # Create the agent with file upload capabilityCOMMENT
MEDIUMexamples/custom-functions/parallel_agents.py156 # Create a unique temp directory for this agent's browser dataCOMMENT
MEDIUMexamples/custom-functions/parallel_agents.py178 # Create a new browser session for each agent with the custom profileCOMMENT
MEDIUMexamples/models/oci_models.py192 # Create a simple agent to test the modelCOMMENT
MEDIUMexamples/models/langchain/example.py23 # Create a LangChain model (OpenAI)COMMENT
MEDIUMexamples/models/langchain/example.py32 # Create a simple taskCOMMENT
MEDIUMexamples/getting_started/04_multi_step_task.py35 # Define a multi-step taskCOMMENT
42 more matches not shown…
Redundant / Tautological Comments166 hits · 220 pts
SeverityFileLineSnippetContext
LOWtests/ci/test_ai_step.py57 # Check if any message has image contentCOMMENT
LOWtests/ci/conftest.py131 # Check if output_format is provided (2nd argument or in kwargs)STRING
LOWtests/ci/evaluate_tasks.py72 # Check if Google API key is available for judge LLMCOMMENT
LOWtests/ci/evaluate_tasks.py205 # Set environment to reduce noise in subprocessCOMMENT
LOWtests/ci/evaluate_tasks.py325 # Output results for GitHub ActionsCOMMENT
LOWtests/ci/models/model_test_helper.py104 # Check if SUCCESS appears in any step (indicating button was clicked)STRING
LOWtests/ci/browser/test_true_cross_origin_click.py81 # Check if element is from cross-origin iframe (example.com)STRING
LOWtests/ci/browser/test_true_cross_origin_click.py97 # Check if cross-origin iframe loadedSTRING
LOWtests/ci/browser/test_screenshot.py146 # Check if browser state has screenshot pathSTRING
LOWtests/ci/browser/test_dom_serializer.py162 # Check if this is an iframe tag (not content inside iframe)STRING
LOWtests/ci/browser/test_dom_serializer.py165 # Check if element has an ID attributeSTRING
LOWtests/ci/browser/test_session_start.py312 # Check if BrowserConnectedEvent was dispatchedCOMMENT
LOWtests/ci/browser/test_cross_origin_click.py93 # Check if element is from iframe (identified by id attributes we set)STRING
LOWtests/ci/browser/test_cross_origin_click.py106 # Check if iframe elements were foundSTRING
LOWtests/ci/infrastructure/test_filesystem.py552 # Read file with invalid name - gets auto-sanitized to invalidname.md, but file doesn't existCOMMENT
LOWtests/scripts/test_frame_hierarchy.py50 # Check if target has active sessions using the public APICOMMENT
LOWtests/scripts/test_frame_hierarchy.py177 # Check if this should be the main frameCOMMENT
LOWtests/scripts/debug_iframe_scrolling.py260 # Check if lower form fields appear after scrollCOMMENT
LOW⚡examples/custom-functions/action_filters.py78 # Check if it's a login pageCOMMENT
LOWexamples/custom-functions/cua.py342 # Check if OpenAI API key is availableSTRING
LOWexamples/custom-functions/file_upload.py49 # Check if it's a file input elementCOMMENT
LOWexamples/custom-functions/parallel_agents.py271 # Print resultsCOMMENT
LOWexamples/custom-functions/parallel_agents.py287 # Check if Google API key is availableCOMMENT
LOWexamples/custom-functions/parallel_agents.py295 # Check if API key looks valid (Google API keys are typically 39 characters)COMMENT
LOWexamples/sandbox/example.py49 # Check if API keys are setCOMMENT
LOW.github/workflows/eval-on-pr.yml48 # Check if trigger was was successfulCOMMENT
LOWbrowser_use/config.py329 # Check if it's already in DB-style formatCOMMENT
LOWbrowser_use/config.py333 # Check if the values are DB-style entries (have UUIDs as keys)COMMENT
LOWbrowser_use/logging_config.py82 # Check if handlers are already set upCOMMENT
LOW⚡browser_use/init_cmd.py172 # Check if file already existsCOMMENT
LOW⚡browser_use/init_cmd.py182 # Write fileCOMMENT
LOWbrowser_use/init_cmd.py354 # Write fileCOMMENT
LOWbrowser_use/__init__.py30 # Check if the event loop is closed before calling the originalCOMMENT
LOWbrowser_use/observability.py30# Check if we're in debug modeCOMMENT
LOWbrowser_use/utils.py407 # Set flag to indicate we're waiting for inputCOMMENT
LOWbrowser_use/tools/service.py560 # Check if it's specifically a RuntimeError about CDP clientCOMMENT
LOWbrowser_use/tools/service.py736 # Check if result contains validation error (e.g., trying to click <select> or file input)COMMENT
LOWbrowser_use/tools/service.py867 # Check if file is in available_file_paths (user-provided or downloaded files)COMMENT
LOWbrowser_use/tools/service.py880 # Check if the file is actually managed by the FileSystem serviceCOMMENT
LOWbrowser_use/tools/service.py1729 # Check if the selection was successfulCOMMENT
LOWbrowser_use/tools/service.py2273 # Check if this is a registered actionCOMMENT
LOWbrowser_use/tools/utils.py52 # Check if hiddenCOMMENT
LOW⚡browser_use/tools/registry/service.py108 # Check if this is a Type 1 pattern (first param is BaseModel)COMMENT
LOWbrowser_use/tools/registry/service.py125 # Check if types are compatible (exact match, subclass, or generic list)COMMENT
LOWbrowser_use/tools/registry/service.py210 # Check if required special param is NoneCOMMENT
LOWbrowser_use/llm/browser_use/chat.py184 # Check if this is a retryable errorCOMMENT
LOWbrowser_use/llm/anthropic/serializer.py298 # Set cache to False for all messages except the last cached oneCOMMENT
LOW⚡browser_use/agent/service.py707 # Check if we should restore from existing state firstCOMMENT
LOW⚡browser_use/agent/service.py3229 # Check if this is a "Could not find matching element" error for a menu itemCOMMENT
LOW⚡browser_use/agent/service.py3237 # Check if current step targets a menu item elementCOMMENT
LOWbrowser_use/agent/service.py496 # Check if LLM is ChatAnthropic instanceCOMMENT
LOWbrowser_use/agent/service.py501 # Check if model is a browser-use fine-tuned model (uses simplified prompts)COMMENT
LOWbrowser_use/agent/service.py534 # Check if sensitive_data has domain-specific credentialsCOMMENT
LOWbrowser_use/agent/service.py564 # Check if pattern is covered by an allowed domainCOMMENT
LOWbrowser_use/agent/service.py888 # Check if it's a MissingCookieExceptionCOMMENT
LOWbrowser_use/agent/service.py1281 # Check if reconnection succeededCOMMENT
LOWbrowser_use/agent/service.py1976 # Check if we can switch to a fallback LLMCOMMENT
LOWbrowser_use/agent/service.py1997 # Check if error is retryable (rate limit, auth errors, or server errors)COMMENT
LOWbrowser_use/agent/service.py2011 # Check if we have a fallback LLM configuredCOMMENT
LOWbrowser_use/agent/service.py2166 # Check if agent failedCOMMENT
106 more matches not shown…
Deep Nesting280 hits · 211 pts
SeverityFileLineSnippetContext
LOWtests/ci/test_ai_step.py46CODE
LOWtests/ci/test_ai_step.py50CODE
LOWtests/ci/test_beta_agent.py116CODE
LOWtests/ci/evaluate_tasks.py201CODE
LOWtests/ci/test_extract_images.py202CODE
LOWtests/ci/test_extract_images.py250CODE
LOWtests/ci/test_extract_images.py222CODE
LOWtests/ci/test_extract_images.py270CODE
LOWtests/ci/security/test_sensitive_data.py311CODE
LOWtests/ci/security/test_sensitive_data.py403CODE
LOWtests/ci/browser/test_true_cross_origin_click.py32CODE
LOWtests/ci/browser/test_dom_serializer.py76CODE
LOWtests/ci/browser/test_dom_serializer.py267CODE
LOWtests/ci/browser/test_dom_serializer.py347CODE
LOWtests/ci/browser/test_cdp_headers.py131CODE
LOWtests/ci/browser/test_cross_origin_click.py32CODE
LOWtests/scripts/test_frame_hierarchy.py12CODE
LOWtests/scripts/debug_iframe_scrolling.py24CODE
LOWtests/scripts/debug_iframe_scrolling.py130CODE
LOWexamples/features/rerun_history.py58CODE
LOWexamples/custom-functions/cua.py38CODE
LOWexamples/custom-functions/parallel_agents.py35CODE
LOWexamples/models/langchain/chat.py35CODE
LOWexamples/models/langchain/chat.py100CODE
LOWexamples/integrations/gmail_2fa_integration.py80CODE
LOWexamples/integrations/discord/discord_api.py77CODE
LOWexamples/integrations/slack/slack_api.py48CODE
LOWexamples/apps/ad-use/ad_generator.py184CODE
LOWexamples/apps/news-use/news_monitor.py66CODE
LOWexamples/apps/news-use/news_monitor.py251CODE
LOWexamples/apps/news-use/news_monitor.py118CODE
LOWexamples/apps/msg-use/scheduler.py44CODE
LOWexamples/apps/msg-use/scheduler.py175CODE
LOWbrowser_use/config.py371CODE
LOWbrowser_use/logging_config.py64CODE
LOWbrowser_use/logging_config.py95CODE
LOWbrowser_use/init_cmd.py217CODE
LOWbrowser_use/utils.py91CODE
LOWbrowser_use/utils.py458CODE
LOWbrowser_use/utils.py484CODE
LOWbrowser_use/utils.py563CODE
LOWbrowser_use/utils.py665CODE
LOWbrowser_use/utils.py680CODE
LOWbrowser_use/utils.py459CODE
LOWbrowser_use/utils.py487CODE
LOWbrowser_use/utils.py461CODE
LOWbrowser_use/utils.py489CODE
LOWbrowser_use/beta/service.py916CODE
LOWbrowser_use/beta/service.py1219CODE
LOWbrowser_use/beta/service.py1398CODE
LOWbrowser_use/beta/service.py1590CODE
LOWbrowser_use/beta/service.py1638CODE
LOWbrowser_use/beta/service.py1702CODE
LOWbrowser_use/beta/service.py2087CODE
LOWbrowser_use/beta/service.py2170CODE
LOWbrowser_use/beta/service.py2355CODE
LOWbrowser_use/beta/service.py2459CODE
LOWbrowser_use/beta/service.py2563CODE
LOWbrowser_use/beta/service.py2743CODE
LOWbrowser_use/beta/service.py2845CODE
220 more matches not shown…
Unused Imports194 hits · 176 pts
SeverityFileLineSnippetContext
LOWtests/ci/test_action_record.py8CODE
LOWtests/ci/test_cdp_timeout.py10CODE
LOWtests/ci/test_beta_agent.py1CODE
LOWtests/ci/test_remote_download_complete_callback.py18CODE
LOW…sts/ci/security/test_download_filename_sanitization.py21CODE
LOWtests/ci/security/test_upload_file_containment.py18CODE
LOWtests/ci/integrations/test_anthropic_browser_use.py1CODE
LOWexamples/models/langchain/chat.py13CODE
LOWscripts/sync_browser_harness_skill.py1CODE
LOWbrowser_use/__init__.py48CODE
LOWbrowser_use/__init__.py49CODE
LOWbrowser_use/__init__.py50CODE
LOWbrowser_use/__init__.py50CODE
LOWbrowser_use/__init__.py50CODE
LOWbrowser_use/__init__.py51CODE
LOWbrowser_use/__init__.py51CODE
LOWbrowser_use/__init__.py52CODE
LOWbrowser_use/__init__.py53CODE
LOWbrowser_use/__init__.py54CODE
LOWbrowser_use/__init__.py55CODE
LOWbrowser_use/__init__.py56CODE
LOWbrowser_use/__init__.py57CODE
LOWbrowser_use/__init__.py58CODE
LOWbrowser_use/__init__.py59CODE
LOWbrowser_use/__init__.py60CODE
LOWbrowser_use/__init__.py61CODE
LOWbrowser_use/__init__.py62CODE
LOWbrowser_use/__init__.py63CODE
LOWbrowser_use/__init__.py64CODE
LOWbrowser_use/__init__.py65CODE
LOWbrowser_use/__init__.py66CODE
LOWbrowser_use/__init__.py67CODE
LOWbrowser_use/__init__.py68CODE
LOWbrowser_use/__init__.py69CODE
LOWbrowser_use/__init__.py70CODE
LOWbrowser_use/__init__.py71CODE
LOWbrowser_use/__init__.py72CODE
LOWbrowser_use/__init__.py73CODE
LOWbrowser_use/__init__.py73CODE
LOWbrowser_use/cli.py3CODE
LOWbrowser_use/beta/service.py1CODE
LOWbrowser_use/beta/__init__.py3CODE
LOWbrowser_use/beta/__init__.py7CODE
LOWbrowser_use/beta/__init__.py7CODE
LOWbrowser_use/beta/__init__.py7CODE
LOWbrowser_use/beta/__init__.py10CODE
LOWbrowser_use/beta/__init__.py10CODE
LOWbrowser_use/beta/__init__.py11CODE
LOWbrowser_use/beta/__init__.py12CODE
LOWbrowser_use/beta/__init__.py13CODE
LOWbrowser_use/beta/__init__.py14CODE
LOWbrowser_use/beta/__init__.py15CODE
LOWbrowser_use/beta/__init__.py16CODE
LOWbrowser_use/beta/__init__.py17CODE
LOWbrowser_use/beta/__init__.py18CODE
LOWbrowser_use/beta/__init__.py19CODE
LOWbrowser_use/beta/__init__.py20CODE
LOWbrowser_use/beta/__init__.py21CODE
LOWbrowser_use/beta/__init__.py22CODE
LOWbrowser_use/tools/extraction/__init__.py1CODE
134 more matches not shown…
Hallucination Indicators15 hits · 165 pts
SeverityFileLineSnippetContext
CRITICALbrowser_use/agent/service.py2815 registered_action = self.tools.registry.registry.actions.get(action_name)CODE
CRITICAL⚡browser_use/browser/session_manager.py506 await self.browser_session._cdp_client_root.send.Runtime.runIfWaitingForDebugger(session_id=session_id)CODE
CRITICALbrowser_use/browser/session_manager.py428 await self.browser_session._cdp_client_root.send.Target.setAutoAttach(CODE
CRITICALbrowser_use/browser/session_manager.py728 await self.browser_session._cdp_client_root.send.Target.activateTarget(params={'targetId': new_target_id})CODE
CRITICALbrowser_use/browser/watchdogs/permissions_watchdog.py37 await self.browser_session.cdp_client.send.Browser.grantPermissions(CODE
CRITICAL⚡browser_use/browser/watchdogs/popups_watchdog.py56 await self.browser_session._cdp_client_root.send.Page.enable()CODE
CRITICALbrowser_use/browser/watchdogs/popups_watchdog.py91 self.browser_session._cdp_client_root.send.Page.handleJavaScriptDialog(CODE
CRITICALbrowser_use/browser/watchdogs/popups_watchdog.py111 self.browser_session._cdp_client_root.send.Page.handleJavaScriptDialog(CODE
CRITICAL⚡browser_use/browser/watchdogs/popups_watchdog.py134 self.browser_session._cdp_client_root.register.Page.javascriptDialogOpening(handle_dialog) # type: ignore[arg-typeCODE
CRITICALbrowser_use/browser/watchdogs/recording_watchdog.py83 self.browser_session.cdp_client.register.Page.screencastFrame(self.on_screencastFrame)CODE
CRITICALbrowser_use/browser/watchdogs/recording_watchdog.py111 await self.browser_session.cdp_client.send.Page.stopScreencast(session_id=session_id)CODE
CRITICALbrowser_use/browser/watchdogs/recording_watchdog.py150 await self.browser_session.cdp_client.send.Page.stopScreencast(session_id=self._current_session_id)CODE
CRITICALbrowser_use/browser/watchdogs/recording_watchdog.py211 await self.browser_session.cdp_client.send.Page.screencastFrameAck(CODE
CRITICALbrowser_use/browser/watchdogs/har_recording_watchdog.py178 version_info = await self.browser_session.cdp_client.send.Browser.getVersion()CODE
CRITICALbrowser_use/browser/watchdogs/har_recording_watchdog.py393 resp = await self_ref.browser_session.cdp_client.send.Network.getResponseBody(CODE
Cross-File Repetition26 hits · 130 pts
SeverityFileLineSnippetContext
HIGHtests/ci/test_tools.py0create and provide a test http server that serves static content.STRING
HIGHtests/ci/interactions/test_dropdown_native.py0create and provide a test http server that serves static content.STRING
HIGHtests/ci/interactions/test_dropdown_aria_menus.py0create and provide a test http server that serves static content.STRING
HIGHtests/ci/infrastructure/test_registry_core.py0create and provide a test http server that serves static content.STRING
HIGH…astructure/test_registry_action_parameter_injection.py0create and provide a test http server that serves static content.STRING
HIGHtests/ci/test_tools.py0create and provide a browser instance with security disabled.STRING
HIGHtests/ci/interactions/test_dropdown_native.py0create and provide a browser instance with security disabled.STRING
HIGHtests/ci/interactions/test_dropdown_aria_menus.py0create and provide a browser instance with security disabled.STRING
HIGHexamples/simple.py0setup: 1. get your api key from https://cloud.browser-use.com/new-api-key 2. set environment variable: export browser_usSTRING
HIGHexamples/features/judge_trace.py0setup: 1. get your api key from https://cloud.browser-use.com/new-api-key 2. set environment variable: export browser_usSTRING
HIGHexamples/getting_started/01_basic_search.py0setup: 1. get your api key from https://cloud.browser-use.com/new-api-key 2. set environment variable: export browser_usSTRING
HIGHexamples/features/multi_tab.py0simple try of the agent. @dev you need to add modelscope_api_key to your environment variables.STRING
HIGHexamples/models/gpt-4.1.py0simple try of the agent. @dev you need to add modelscope_api_key to your environment variables.STRING
HIGHexamples/models/gpt-5-mini.py0simple try of the agent. @dev you need to add modelscope_api_key to your environment variables.STRING
HIGHexamples/models/openrouter.py0simple try of the agent. @dev you need to add modelscope_api_key to your environment variables.STRING
HIGHexamples/models/novita.py0simple try of the agent. @dev you need to add modelscope_api_key to your environment variables.STRING
HIGHexamples/models/modelscope_example.py0simple try of the agent. @dev you need to add modelscope_api_key to your environment variables.STRING
HIGHbrowser_use/llm/vercel/chat.py0invoke the aws bedrock model with the given messages. args: messages: list of chat messages output_format: optional pydaSTRING
HIGHbrowser_use/llm/openrouter/chat.py0invoke the aws bedrock model with the given messages. args: messages: list of chat messages output_format: optional pydaSTRING
HIGHbrowser_use/llm/google/chat.py0invoke the aws bedrock model with the given messages. args: messages: list of chat messages output_format: optional pydaSTRING
HIGHbrowser_use/llm/openai/chat.py0invoke the aws bedrock model with the given messages. args: messages: list of chat messages output_format: optional pydaSTRING
HIGHbrowser_use/llm/orcarouter/chat.py0invoke the aws bedrock model with the given messages. args: messages: list of chat messages output_format: optional pydaSTRING
HIGHbrowser_use/llm/aws/chat_bedrock.py0invoke the aws bedrock model with the given messages. args: messages: list of chat messages output_format: optional pydaSTRING
HIGHbrowser_use/llm/groq/serializer.py0serialize content for user messages (text and images allowed).STRING
HIGHbrowser_use/llm/openai/responses_serializer.py0serialize content for user messages (text and images allowed).STRING
HIGHbrowser_use/llm/openai/serializer.py0serialize content for user messages (text and images allowed).STRING
Verbosity Indicators70 hits · 108 pts
SeverityFileLineSnippetContext
LOWtests/ci/test_ax_name_matching.py81 # Step 1: Navigate to test pageCOMMENT
LOWtests/ci/test_ax_name_matching.py104 # Step 2: Click on element that has different hash/xpath but same ax_nameCOMMENT
LOWtests/ci/test_rerun_ai_summary.py357 # Step 1: Navigate to test pageCOMMENT
LOWtests/ci/test_rerun_ai_summary.py380 # Step 2: Click on element that won't be found (different identifiers)COMMENT
LOWtests/ci/test_rerun_ai_summary.py486 # Step 1: Navigate to test pageCOMMENT
LOWtests/ci/test_rerun_ai_summary.py509 # Step 2: Click on element that won't exist on current page (different hash/attributes)COMMENT
LOWtests/ci/test_rerun_ai_summary.py636 # Step 1: Navigate to test pageCOMMENT
LOWtests/ci/test_rerun_ai_summary.py659 # Step 2: Click login button (first click)COMMENT
LOWtests/ci/test_rerun_ai_summary.py682 # Step 3: Click login button AGAIN (redundant retry - same element, same action)COMMENT
LOWtests/ci/test_rerun_ai_summary.py1112 # Step 1: Navigate to test pageCOMMENT
LOWtests/ci/test_rerun_ai_summary.py1135 # Step 2: Click button (needs element matching, should wait for elements)COMMENT
LOWtests/ci/test_rerun_ai_summary.py1216 # Step 1: NavigateCOMMENT
LOWtests/ci/test_rerun_ai_summary.py1234 # Step 2: Click non-matching element (will fail and retry)COMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py299 # Step 1: Create external imageCOMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py304 # Step 2: Read via FileSystemCOMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py310 # Step 3: Create ActionResult (simulating tools/service.py)COMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py318 # Step 4: Process in MessageManagerCOMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py328 # Step 5: Create message with AgentMessagePromptCOMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py357 # Step 1: Create DOCXCOMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py364 # Step 2: Read itCOMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py367 # Step 3: Create ActionResult (simulating tools/service.py)COMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py374 # Step 4: Process in MessageManagerCOMMENT
LOW⚡tests/ci/infrastructure/test_url_shortening.py121 # Step 1: Input processing with URL shorteningCOMMENT
LOWtests/ci/infrastructure/test_url_shortening.py134 # Step 2: Simulate agent output with shortened URLCOMMENT
LOWtests/ci/infrastructure/test_url_shortening.py149 # Step 3: Output processing with URL restoration (modifies agent_output in-place)COMMENT
LOW⚡examples/features/rerun_history.py73 # Step 1: Run the agent and save historyCOMMENT
LOW⚡examples/features/rerun_history.py80 # Step 2: Detect variables in the saved historyCOMMENT
LOWexamples/features/rerun_history.py91 # Step 3: Rerun the history with substituted valuesCOMMENT
LOWexamples/integrations/gmail_2fa_integration.py208 # Step 1: Check and validate credentialsCOMMENT
LOWexamples/integrations/gmail_2fa_integration.py228 # Step 2: Initialize Gmail service and test authenticationCOMMENT
LOWexamples/integrations/gmail_2fa_integration.py242 # Step 3: Initialize tools with authenticated serviceCOMMENT
LOW⚡examples/integrations/gmail_2fa_integration.py256 # Step 4: Test Gmail functionalityCOMMENT
LOWexamples/integrations/gmail_2fa_integration.py278 # Step 5: Demonstrate 2FA code findingCOMMENT
LOWexamples/integrations/gmail_2fa_integration.py292 # Step 6: Simulate complete login flowCOMMENT
LOW⚡examples/browser/playwright_integration.py314 # Step 1: Start Chrome with CDP debuggingCOMMENT
LOW⚡examples/browser/playwright_integration.py318 # Step 2: Connect Playwright to the same Chrome instanceCOMMENT
LOW⚡examples/browser/playwright_integration.py321 # Step 3: Create Browser-Use session connected to same ChromeCOMMENT
LOW⚡examples/browser/playwright_integration.py324 # Step 4: Create AI agent with our custom Playwright-powered toolsCOMMENT
LOW⚡examples/browser/playwright_integration.py348 # Step 5: Run the agent - it will use both Browser-Use actions and our custom Playwright actionsSTRING
LOW⚡examples/use-cases/shopping.py25### Step 1: Navigate to the WebsiteCOMMENT
LOW⚡examples/use-cases/shopping.py31### Step 2: Add Items to the BasketCOMMENT
LOWexamples/use-cases/shopping.py66### Step 3: Handling Unavailable ItemsCOMMENT
LOW⚡examples/use-cases/shopping.py79### Step 4: Adjusting for Minimum Order RequirementCOMMENT
LOW⚡examples/use-cases/shopping.py87### Step 5: Select Delivery WindowCOMMENT
LOW⚡examples/use-cases/shopping.py93### Step 6: CheckoutCOMMENT
LOW⚡examples/use-cases/shopping.py102### Step 7: Confirm Order & Output SummaryCOMMENT
LOW⚡browser_use/tools/registry/service.py93 # Step 1: Validate no **kwargs in original function signatureCOMMENT
LOW⚡browser_use/tools/registry/service.py102 # Step 2: Separate special and action parametersCOMMENT
LOWbrowser_use/tools/registry/service.py149 # Step 3: Create or validate param modelCOMMENT
LOWbrowser_use/tools/registry/service.py168 # Step 4: Create normalized wrapper functionCOMMENT
LOW⚡browser_use/agent/service.py1785 # Step 1: Remove well-formed <think>...</think>COMMENT
LOW⚡browser_use/agent/service.py1787 # Step 2: If there's an unmatched closing tag </think>,COMMENT
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py1834 # Step 1: Focus the element using simple strategySTRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py1839 # Step 2: Check if this element requires direct value assignment (date/time inputs)STRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py1852 # Step 3: Clear existing text if requested (only for regular inputs that support typing)STRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py1858 # Step 4: Type the text character by character using proper human-like key eventsSTRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py1937 # Step 2: Send char event (WITH text parameter) - this is crucial for text inputSTRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py1947 # Step 3: Send keyUp event (NO text parameter)STRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py2000 # Step 4: Trigger framework-aware DOM events after typing completionSTRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py2005 # Step 5: Read back actual value for verification (skip for sensitive data)STRING
10 more matches not shown…
Structural Annotation Overuse70 hits · 108 pts
SeverityFileLineSnippetContext
LOWtests/ci/test_ax_name_matching.py81 # Step 1: Navigate to test pageCOMMENT
LOWtests/ci/test_ax_name_matching.py104 # Step 2: Click on element that has different hash/xpath but same ax_nameCOMMENT
LOWtests/ci/test_rerun_ai_summary.py357 # Step 1: Navigate to test pageCOMMENT
LOWtests/ci/test_rerun_ai_summary.py380 # Step 2: Click on element that won't be found (different identifiers)COMMENT
LOWtests/ci/test_rerun_ai_summary.py486 # Step 1: Navigate to test pageCOMMENT
LOWtests/ci/test_rerun_ai_summary.py509 # Step 2: Click on element that won't exist on current page (different hash/attributes)COMMENT
LOWtests/ci/test_rerun_ai_summary.py636 # Step 1: Navigate to test pageCOMMENT
LOWtests/ci/test_rerun_ai_summary.py659 # Step 2: Click login button (first click)COMMENT
LOWtests/ci/test_rerun_ai_summary.py682 # Step 3: Click login button AGAIN (redundant retry - same element, same action)COMMENT
LOWtests/ci/test_rerun_ai_summary.py1112 # Step 1: Navigate to test pageCOMMENT
LOWtests/ci/test_rerun_ai_summary.py1135 # Step 2: Click button (needs element matching, should wait for elements)COMMENT
LOWtests/ci/test_rerun_ai_summary.py1216 # Step 1: NavigateCOMMENT
LOWtests/ci/test_rerun_ai_summary.py1234 # Step 2: Click non-matching element (will fail and retry)COMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py299 # Step 1: Create external imageCOMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py304 # Step 2: Read via FileSystemCOMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py310 # Step 3: Create ActionResult (simulating tools/service.py)COMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py318 # Step 4: Process in MessageManagerCOMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py328 # Step 5: Create message with AgentMessagePromptCOMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py357 # Step 1: Create DOCXCOMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py364 # Step 2: Read itCOMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py367 # Step 3: Create ActionResult (simulating tools/service.py)COMMENT
LOW⚡tests/ci/test_file_system_llm_integration.py374 # Step 4: Process in MessageManagerCOMMENT
LOW⚡tests/ci/infrastructure/test_url_shortening.py121 # Step 1: Input processing with URL shorteningCOMMENT
LOWtests/ci/infrastructure/test_url_shortening.py134 # Step 2: Simulate agent output with shortened URLCOMMENT
LOWtests/ci/infrastructure/test_url_shortening.py149 # Step 3: Output processing with URL restoration (modifies agent_output in-place)COMMENT
LOW⚡examples/features/rerun_history.py73 # Step 1: Run the agent and save historyCOMMENT
LOW⚡examples/features/rerun_history.py80 # Step 2: Detect variables in the saved historyCOMMENT
LOWexamples/features/rerun_history.py91 # Step 3: Rerun the history with substituted valuesCOMMENT
LOWexamples/integrations/gmail_2fa_integration.py208 # Step 1: Check and validate credentialsCOMMENT
LOWexamples/integrations/gmail_2fa_integration.py228 # Step 2: Initialize Gmail service and test authenticationCOMMENT
LOWexamples/integrations/gmail_2fa_integration.py242 # Step 3: Initialize tools with authenticated serviceCOMMENT
LOW⚡examples/integrations/gmail_2fa_integration.py256 # Step 4: Test Gmail functionalityCOMMENT
LOWexamples/integrations/gmail_2fa_integration.py278 # Step 5: Demonstrate 2FA code findingCOMMENT
LOWexamples/integrations/gmail_2fa_integration.py292 # Step 6: Simulate complete login flowCOMMENT
LOW⚡examples/browser/playwright_integration.py314 # Step 1: Start Chrome with CDP debuggingCOMMENT
LOW⚡examples/browser/playwright_integration.py318 # Step 2: Connect Playwright to the same Chrome instanceCOMMENT
LOW⚡examples/browser/playwright_integration.py321 # Step 3: Create Browser-Use session connected to same ChromeCOMMENT
LOW⚡examples/browser/playwright_integration.py324 # Step 4: Create AI agent with our custom Playwright-powered toolsCOMMENT
LOW⚡examples/browser/playwright_integration.py348 # Step 5: Run the agent - it will use both Browser-Use actions and our custom Playwright actionsSTRING
LOW⚡examples/use-cases/shopping.py25### Step 1: Navigate to the WebsiteCOMMENT
LOW⚡examples/use-cases/shopping.py31### Step 2: Add Items to the BasketCOMMENT
LOWexamples/use-cases/shopping.py66### Step 3: Handling Unavailable ItemsCOMMENT
LOW⚡examples/use-cases/shopping.py79### Step 4: Adjusting for Minimum Order RequirementCOMMENT
LOW⚡examples/use-cases/shopping.py87### Step 5: Select Delivery WindowCOMMENT
LOW⚡examples/use-cases/shopping.py93### Step 6: CheckoutCOMMENT
LOW⚡examples/use-cases/shopping.py102### Step 7: Confirm Order & Output SummaryCOMMENT
LOW⚡browser_use/tools/registry/service.py93 # Step 1: Validate no **kwargs in original function signatureCOMMENT
LOW⚡browser_use/tools/registry/service.py102 # Step 2: Separate special and action parametersCOMMENT
LOWbrowser_use/tools/registry/service.py149 # Step 3: Create or validate param modelCOMMENT
LOWbrowser_use/tools/registry/service.py168 # Step 4: Create normalized wrapper functionCOMMENT
LOW⚡browser_use/agent/service.py1785 # Step 1: Remove well-formed <think>...</think>COMMENT
LOW⚡browser_use/agent/service.py1787 # Step 2: If there's an unmatched closing tag </think>,COMMENT
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py1834 # Step 1: Focus the element using simple strategySTRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py1839 # Step 2: Check if this element requires direct value assignment (date/time inputs)STRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py1852 # Step 3: Clear existing text if requested (only for regular inputs that support typing)STRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py1858 # Step 4: Type the text character by character using proper human-like key eventsSTRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py1937 # Step 2: Send char event (WITH text parameter) - this is crucial for text inputSTRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py1947 # Step 3: Send keyUp event (NO text parameter)STRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py2000 # Step 4: Trigger framework-aware DOM events after typing completionSTRING
LOW⚡…owser_use/browser/watchdogs/default_action_watchdog.py2005 # Step 5: Read back actual value for verification (skip for sensitive data)STRING
10 more matches not shown…
Modern Structural Boilerplate100 hits · 92 pts
SeverityFileLineSnippetContext
LOWtests/ci/infrastructure/test_registry_validation.py26logger = logging.getLogger(__name__)CODE
LOWtests/ci/infrastructure/test_registry_core.py36logger = logging.getLogger(__name__)CODE
LOWexamples/custom-functions/onepassword_2fa.py18logger = logging.getLogger(__name__)CODE
LOWexamples/custom-functions/advanced_search.py20logger = logging.getLogger(__name__)CODE
LOWexamples/custom-functions/file_upload.py26logger = logging.getLogger(__name__)CODE
LOWexamples/integrations/agentmail/email_tools.py19logger = logging.getLogger(__name__)CODE
LOWexamples/use-cases/extract_pdf_content.py21logger = logging.getLogger(__name__)CODE
LOW⚡browser_use/config.py16logger = logging.getLogger(__name__)CODE
LOWbrowser_use/__init__.py140__all__ = [CODE
LOWbrowser_use/observability.py21logger = logging.getLogger(__name__)CODE
LOWbrowser_use/cli.py27def _set_harness_client_env() -> None:CODE
LOWbrowser_use/utils.py26logger = logging.getLogger(__name__)CODE
LOW⚡browser_use/beta/service.py4547 def _set_file_system(self, file_system_path: str | None = None) -> None:CODE
LOW⚡browser_use/beta/service.py4551 def _set_screenshot_service(self) -> None:CODE
LOW⚡browser_use/beta/service.py4555 def _set_browser_use_version_and_source(self, source_override: str | None = None) -> None:CODE
LOW⚡browser_use/beta/service.py5567 def _setup_action_models(self) -> None:CODE
LOW⚡browser_use/beta/service.py5571 def _setup_action_models_for_page(self, page_url: str | None) -> None:CODE
LOW⚡browser_use/beta/service.py5643 def _update_available_file_paths(self, downloads: list[str]) -> None:CODE
LOWbrowser_use/beta/service.py90logger = logging.getLogger(__name__)CODE
LOWbrowser_use/beta/service.py5595 async def _update_action_models_for_page(self, page_url: str) -> None:CODE
LOWbrowser_use/beta/__init__.py54__all__ = [CODE
LOWbrowser_use/tools/service.py64logger = logging.getLogger(__name__)CODE
LOWbrowser_use/tools/service.py2152 def set_coordinate_clicking(self, enabled: bool) -> None:CODE
LOWbrowser_use/tools/registry/service.py30logger = logging.getLogger(__name__)CODE
LOWbrowser_use/tools/extraction/schema_utils.py8logger = logging.getLogger(__name__)CODE
LOWbrowser_use/tools/extraction/__init__.py4__all__ = ['schema_dict_to_pydantic_model', 'ExtractionResult']CODE
LOWbrowser_use/llm/models.py259__all__ = [CODE
LOWbrowser_use/llm/__init__.py136__all__ = [CODE
LOWbrowser_use/llm/oci_raw/__init__.py10__all__ = ['ChatOCIRaw']CODE
LOWbrowser_use/llm/vercel/__init__.py3__all__ = ['ChatVercel']CODE
LOWbrowser_use/llm/google/__init__.py3__all__ = ['ChatGoogle']CODE
LOWbrowser_use/llm/tests/test_single_step.py29logger = logging.getLogger(__name__)CODE
LOWbrowser_use/llm/tests/test_anthropic_cache.py19logger = logging.getLogger(__name__)CODE
LOWbrowser_use/llm/groq/parser.py9logger = logging.getLogger(__name__)CODE
LOWbrowser_use/llm/groq/chat.py52logger = logging.getLogger(__name__)CODE
LOWbrowser_use/llm/browser_use/__init__.py3__all__ = ['ChatBrowserUse']CODE
LOWbrowser_use/llm/browser_use/chat.py25logger = logging.getLogger(__name__)CODE
LOWbrowser_use/llm/aws/__init__.py33__all__ = [CODE
LOWbrowser_use/llm/ollama/chat.py19logger = logging.getLogger(__name__)CODE
LOWbrowser_use/llm/litellm/__init__.py3__all__ = ['ChatLiteLLM']CODE
LOWbrowser_use/llm/litellm/chat.py24logger = logging.getLogger(__name__)CODE
LOWbrowser_use/llm/mistral/__init__.py5__all__ = ['ChatMistral']CODE
LOWbrowser_use/llm/mistral/chat.py20logger = logging.getLogger(__name__)CODE
LOW⚡browser_use/agent/service.py675 def _update_available_file_paths(self, downloads: list[str]) -> None:CODE
LOW⚡browser_use/agent/service.py699 def _set_file_system(self, file_system_path: str | None = None) -> None:CODE
LOW⚡browser_use/agent/service.py738 def _set_screenshot_service(self) -> None:CODE
LOW⚡browser_use/agent/service.py4024 async def _update_action_models_for_page(self, page_url: str) -> None:CODE
LOWbrowser_use/agent/service.py87logger = logging.getLogger(__name__)CODE
LOWbrowser_use/agent/service.py757 def _set_browser_use_version_and_source(self, source_override: str | None = None) -> None:CODE
LOWbrowser_use/agent/service.py780 def _setup_action_models(self) -> None:CODE
LOWbrowser_use/agent/service.py1417 def _update_plan_from_model_output(self, model_output: AgentOutput) -> None:CODE
LOWbrowser_use/agent/service.py1508 def _update_loop_detector_actions(self) -> None:CODE
LOWbrowser_use/agent/service.py1527 def _update_loop_detector_page_state(self, browser_state_summary: BrowserStateSummary) -> None:CODE
LOWbrowser_use/agent/gif.py17logger = logging.getLogger(__name__)CODE
LOWbrowser_use/agent/__init__.py29__all__ = [CODE
LOWbrowser_use/agent/judge.py18logger = logging.getLogger(__name__)CODE
LOWbrowser_use/agent/views.py32logger = logging.getLogger(__name__)CODE
LOWbrowser_use/agent/views.py199 def _update_repetition_stats(self) -> None:CODE
LOWbrowser_use/agent/message_manager/service.py35logger = logging.getLogger(__name__)CODE
LOWbrowser_use/agent/message_manager/service.py556 def _set_message_with_type(self, message: BaseMessage, message_type: Literal['system', 'state']) -> None:CODE
40 more matches not shown…
Docstring Block Structure12 hits · 60 pts
SeverityFileLineSnippetContext
HIGHexamples/features/add_image_context.py21 Convert image file to base64 string. Args: image_path: Path to the image file Returns: Base64 encoded stSTRING
HIGHbrowser_use/llm/models.py90 Factory function to create LLM instances from string names with API keys from environment. Args: model_name: StSTRING
HIGHbrowser_use/agent/service.py802Generate a clean slug from skill title for action names Converts title to lowercase, removes special characters, replSTRING
HIGHbrowser_use/browser/events.py17 Safely parse environment variable timeout values with robust error handling. Args: env_var: Environment variable nSTRING
HIGHbrowser_use/browser/session.py1483Get CDP session for a target from the event-driven pool. With autoAttach=True, sessions are created automatically by STRING
HIGHbrowser_use/browser/session.py3939Get a CDP client attached to the target containing the specified frame. Builds a unified frame hierarchy from all tarSTRING
HIGHbrowser_use/browser/cloud/cloud.py150Stop a cloud browser session. Args: session_id: Session ID to stop. If None, uses current session. Returns: STRING
HIGHbrowser_use/sandbox/views.py88Parse SSE event from JSON string with proper type discrimination Args: event_json: JSON string from SSE stream STRING
HIGHbrowser_use/dom/markdown_extractor.py30Extract clean markdown from browser content using enhanced DOM tree. This unified function can extract markdown using STRING
HIGHbrowser_use/dom/serializer/html_serializer.py250Serialize element attributes to HTML attribute string. Args: attributes: Dictionary of attribute names to values STRING
HIGHbrowser_use/skills/service.py168Execute a skill with the provided parameters. Auto-initializes if not already initialized. Parameters are validated aSTRING
HIGHbrowser_use/skills/utils.py11Convert a list of ParameterSchema to a pydantic model for structured output Args: parameters: List of parameter scheSTRING
AI Slop Vocabulary30 hits · 55 pts
SeverityFileLineSnippetContext
MEDIUM.pre-commit-config.yaml59 # best practices enforcementCOMMENT
LOW⚡examples/custom-functions/action_filters.py74# Note: page_filter is not directly supported anymore, so we'll just use domainsCOMMENT
MEDIUMexamples/browser/playwright_integration.py271 # Use Playwright's robust element selection and text extractionCOMMENT
LOWbrowser_use/tools/registry/views.py165 # browser-use code doesn't use this at all, we just pass it down to your actions for convenienceCOMMENT
LOWbrowser_use/llm/schema.py127 # No $ref, just return the optimized objectCOMMENT
MEDIUMbrowser_use/agent/service.py3615 # Level 4: ax_name (accessible name) match - robust for dynamic SPAs with menusCOMMENT
MEDIUMbrowser_use/agent/service.py2071 """Log a comprehensive summary of the next action(s)"""STRING
LOW⚡browser_use/agent/views.py518 # If there are no valid sensitive data entries, just return the original valueCOMMENT
LOWbrowser_use/agent/message_manager/service.py171 # If we have fewer items than the limit, just return all itemsCOMMENT
LOWbrowser_use/agent/message_manager/service.py586 # If there are no valid sensitive data entries, just return the original valueCOMMENT
LOWbrowser_use/mcp/server.py182 # If we can't get parent process info, just return NoneCOMMENT
LOW⚡browser_use/mcp/client.py526 # Object without properties - just return dictCOMMENT
LOWbrowser_use/browser/session.py3953 # If cross-origin iframes are disabled, just use the main sessionCOMMENT
MEDIUMbrowser_use/browser/watchdogs/downloads_watchdog.py798 # Download using JavaScript fetch to leverage browser cacheCOMMENT
MEDIUMbrowser_use/browser/watchdogs/downloads_watchdog.py1360 # Download using JavaScript fetch to leverage browser cacheSTRING
MEDIUM⚡browser_use/browser/watchdogs/dom_watchdog.py446 # Get comprehensive page info from CDP with timeoutSTRING
MEDIUMbrowser_use/browser/watchdogs/dom_watchdog.py761 """Get comprehensive page information using a single CDP call.STRING
MEDIUM…owser_use/browser/watchdogs/default_action_watchdog.py1686 # Set the value using JavaScript with comprehensive event dispatchingCOMMENT
MEDIUM…owser_use/browser/watchdogs/default_action_watchdog.py2105 # Execute JavaScript to trigger comprehensive event sequenceSTRING
MEDIUM…owser_use/browser/watchdogs/default_action_watchdog.py3118 # Use more robust expansion: dispatch proper DOM events that trigger event listenersSTRING
MEDIUMbrowser_use/sandbox/sandbox.py305 # 4. Pickle parameters using cloudpickle for robust serializationCOMMENT
LOWbrowser_use/dom/views.py504 # just pass through shadow rootsCOMMENT
MEDIUMbrowser_use/dom/serializer/eval_serializer.py12# NOTE: Removed 'id' and 'class' to force more robust structural selectorsCOMMENT
MEDIUMbrowser_use/skills/browser_use.py69 body = body.replace('# browser-harness', '# Browser Use', 1).replace('# Browser Harness', '# Browser Use', 1)CODE
MEDIUMbrowser_use/skills/browser_use.py70 # Rebrand every mention except repo URLs (github.com/browser-use/browser-harness/...)COMMENT
MEDIUM⚡browser_use/actor/element.py997 """Focus element using multiple strategies with robust fallbacks."""STRING
MEDIUMbrowser_use/actor/mouse.py129 """Scroll the page using robust CDP methods."""STRING
MEDIUMbrowser_use/actor/playground/playground.py93 # Test element interactions with robust implementationsCOMMENT
MEDIUMbrowser_use/actor/playground/playground.py102 # Click the link using robust click methodCOMMENT
MEDIUMbrowser_use/tokens/service.py516 """Log a comprehensive usage summary per model with colors and nice formatting"""STRING
Fake / Example Data38 hits · 39 pts
SeverityFileLineSnippetContext
LOW⚡tests/ci/test_variable_detection.py110 attributes = {'name': 'first_name', 'placeholder': 'Enter your first name'}CODE
LOW⚡tests/ci/test_variable_detection.py131 result = _detect_from_value_pattern('John Doe')CODE
LOW⚡tests/ci/test_variable_detection.py152 attributes = {'name': 'billing_address', 'placeholder': 'Billing street address'}CODE
LOW⚡tests/ci/test_variable_detection.py163 attributes = {'name': 'comment', 'placeholder': 'Enter your comment'}CODE
LOW⚡tests/ci/test_variable_detection.py207 attributes = {'name': 'zip_code', 'placeholder': 'Zip or postal code'}CODE
LOW⚡tests/ci/test_fallback_llm.py356 placeholder = create_mock_llm('placeholder')CODE
LOWtests/ci/test_fallback_llm.py390 placeholder = create_mock_llm('placeholder')CODE
LOWtests/ci/test_fallback_llm.py418 placeholder = create_mock_llm('placeholder')CODE
LOWtests/ci/security/test_sensitive_data.py284 'google.com': {'email': 'user@example.com', 'password': 'google_pass'},CODE
LOW⚡examples/features/sensitive_data.py23company_credentials: dict[str, str] = {'telephone': '9123456789', 'email': 'user@example.com', 'name': 'John Doe'}CODE
LOW⚡examples/features/sensitive_data.py23company_credentials: dict[str, str] = {'telephone': '9123456789', 'email': 'user@example.com', 'name': 'John Doe'}CODE
LOW⚡examples/browser/playwright_integration.py332 - Phone: "555-9876"CODE
LOWexamples/use-cases/apply_to_job.py30 "address": "123 Main St",STRING
LOWbrowser_use/llm/tests/test_single_step.py141 'model_id': os.getenv('OCI_MODEL_ID', 'placeholder'),CODE
LOWbrowser_use/llm/tests/test_single_step.py145 'compartment_id': os.getenv('OCI_COMPARTMENT_ID', 'placeholder'),CODE
LOWbrowser_use/agent/variable_detector.py149 attributes.get('placeholder', ''),CODE
LOWbrowser_use/mcp/server.py927 if element.attributes.get('placeholder'):CODE
LOWbrowser_use/mcp/server.py928 elem_info['placeholder'] = element.attributes['placeholder']CODE
LOWbrowser_use/dom/service.py119 subtree_root.attributes.get('placeholder', '')CODE
LOWbrowser_use/dom/utils.py60 'placeholder',CODE
LOWbrowser_use/dom/views.py27 'placeholder',CODE
LOWbrowser_use/dom/views.py89 'placeholder',CODE
LOWbrowser_use/dom/views.py616 for attr in ['value', 'aria-label', 'title', 'placeholder', 'alt']:CODE
LOW⚡browser_use/dom/serializer/serializer.py1244 if 'placeholder' in include_attributes and 'placeholder' not in attributes_to_include:CODE
LOW⚡browser_use/dom/serializer/serializer.py1247 attributes_to_include['placeholder'] = 'YYYY-MM-DD'CODE
LOW⚡browser_use/dom/serializer/serializer.py1249 attributes_to_include['placeholder'] = 'HH:MM'CODE
LOW⚡browser_use/dom/serializer/serializer.py1251 attributes_to_include['placeholder'] = 'YYYY-MM-DDTHH:MM'CODE
LOW⚡browser_use/dom/serializer/serializer.py1253 attributes_to_include['placeholder'] = 'YYYY-MM'CODE
LOW⚡browser_use/dom/serializer/serializer.py1255 attributes_to_include['placeholder'] = 'YYYY-W##'CODE
LOW⚡browser_use/dom/serializer/serializer.py1258 attributes_to_include['placeholder'] = '123-456-7890'CODE
LOW⚡browser_use/dom/serializer/serializer.py1278 attributes_to_include['placeholder'] = date_formatCODE
LOW⚡browser_use/dom/serializer/serializer.py1282 attributes_to_include['placeholder'] = 'mm/dd/yyyy'CODE
LOW⚡browser_use/dom/serializer/serializer.py1288 attributes_to_include['placeholder'] = date_formatCODE
LOW⚡browser_use/dom/serializer/serializer.py1291 attributes_to_include['placeholder'] = 'mm/dd/yyyy'CODE
LOWbrowser_use/dom/serializer/serializer.py1354 protected_attrs = {'format', 'expected_format', 'placeholder', 'value', 'aria-label', 'title'}CODE
LOWbrowser_use/dom/serializer/serializer.py1389 attrs_to_remove_if_text_matches = ['aria-label', 'placeholder', 'title']CODE
LOWbrowser_use/dom/serializer/eval_serializer.py18 'placeholder',CODE
LOWskills/cloud/references/browser-api.md74await page.fill("#email", "user@example.com")CODE
Magic Placeholder Names7 hits · 35 pts
SeverityFileLineSnippetContext
HIGHexamples/apps/news-use/news_monitor.py48 print(" Then run: export GEMINI_API_KEY='your-api-key-here'")CODE
HIGHexamples/apps/msg-use/login.py22 print("Please set it with: export GOOGLE_API_KEY='your-api-key-here'")CODE
HIGHbrowser_use/skills/README.md15 service = SkillService(skill_ids=skill_ids, api_key='your-api-key')CODE
HIGHskills/open-source/references/integrations.md148 "headers": { "x-browser-use-api-key": "your-api-key" }CODE
HIGHskills/open-source/references/integrations.md161 "headers": { "x-browser-use-api-key": "your-api-key" }CODE
HIGHskills/open-source/references/integrations.md174 "headers": { "x-browser-use-api-key": "your-api-key" }CODE
HIGHskills/cloud/references/browser-api.md24https://connect.browser-use.com/json/version?apiKey=YOUR_API_KEYCODE
Over-Commented Block27 hits · 24 pts
SeverityFileLineSnippetContext
LOWbin/lint.sh1#!/usr/bin/env bashCOMMENT
LOWtests/ci/browser/test_session_start.py61 # @pytest.mark.skip(reason="Race condition - DOMWatchdog tries to inject scripts into tab that's being closed")COMMENT
LOWtests/ci/browser/test_session_start.py81COMMENT
LOWtests/ci/browser/test_session_start.py361 # Both should complete successfullyCOMMENT
LOWtests/ci/browser/test_session_start.py381 # ),COMMENT
LOWtests/ci/browser/test_session_start.py401 # ),COMMENT
LOWtests/ci/browser/test_session_start.py421 # assert browser_session._cdp_client_root is not NoneCOMMENT
LOWtests/ci/browser/test_session_start.py441 # assert browser_session._cdp_client_root is not NoneCOMMENT
LOW…astructure/test_registry_action_parameter_injection.py301 # # Add a highlight via JavaScriptCOMMENT
LOW…astructure/test_registry_action_parameter_injection.py321 # # Call remove_highlightsCOMMENT
LOWexamples/features/sensitive_data.py21# Advanced case: domain-specific credentials with reusable dataCOMMENT
LOWexamples/models/cerebras_example.py41COMMENT
LOWexamples/apps/ad-use/ad_generator.py221COMMENT
LOW.github/workflows/publish.yml121 # - name: Detect installed Playwright versionCOMMENT
LOW.github/workflows/claude.yml41COMMENT
LOWbrowser_use/agent/views.py641 # Args:COMMENT
LOWbrowser_use/agent/message_manager/service.py521 # total_input_tokens += m.metadata.tokensCOMMENT
LOWbrowser_use/browser/events.py81 ax_node=None,COMMENT
LOWbrowser_use/browser/events.py341# TODO: add this and use the old BrowserProfile.viewport options to set itCOMMENT
LOWbrowser_use/browser/events.py661COMMENT
LOWbrowser_use/browser/profile.py521 # storage_state is not supported in launch_persistent_context()COMMENT
LOWbrowser_use/browser/profile.py1041 {COMMENT
LOWbrowser_use/browser/session.py1781 # self.event_bus.on(TabCreatedEvent, self._popups_watchdog.on_TabCreatedEvent)COMMENT
LOWbrowser_use/dom/views.py361COMMENT
LOWbrowser_use/dom/serializer/clickable_elements.py161 # if node.attributes:COMMENT
LOWbrowser_use/sync/service.py101 passCOMMENT
LOWbrowser_use/sync/service.py121 # for line in content.splitlines():COMMENT
Modern AI Meta-Vocabulary8 hits · 24 pts
SeverityFileLineSnippetContext
MEDIUMbrowser_use/browser/session_manager.py58 # Focus recovery coordination - event-driven instead of pollingCOMMENT
MEDIUMbrowser_use/browser/session_manager.py370 # Wait for recovery complete event (event-driven, not polling!)COMMENT
MEDIUMbrowser_use/browser/session_manager.py821 # Use event-driven approach instead of polling for better performanceCOMMENT
MEDIUMbrowser_use/browser/session.py819 # Launch local browser using event-driven approachCOMMENT
MEDIUMbrowser_use/browser/session.py1910 # Initialize event-driven session manager FIRST (before enabling autoAttach)COMMENT
MEDIUMbrowser_use/browser/session.py1923 # This is the foundation of event-driven session managementCOMMENT
MEDIUMbrowser_use/browser/watchdog_base.py180 # With event-driven sessions, Chrome will send detach/attach eventsCOMMENT
MEDIUMskills/open-source/references/examples.md173 # 5. Agent orchestrates using bothCOMMENT
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHexamples/features/rerun_history.py129 # Display AI-generated summary (last result)COMMENT
HIGHexamples/models/langchain/serializer.py137 # as requested by the userCOMMENT
AI Structural Patterns15 hits · 12 pts
SeverityFileLineSnippetContext
LOWexamples/use-cases/buy_groceries.py53CODE
LOWexamples/use-cases/phone_comparison.py65CODE
LOWbrowser_use/beta/service.py4238CODE
LOWbrowser_use/agent/service.py136CODE
LOWbrowser_use/agent/gif.py35CODE
LOWbrowser_use/agent/prompts.py29CODE
LOWbrowser_use/agent/prompts.py107CODE
LOWbrowser_use/agent/message_manager/service.py107CODE
LOWbrowser_use/agent/message_manager/service.py424CODE
LOWbrowser_use/browser/session.py165CODE
LOWbrowser_use/browser/session.py201CODE
LOWbrowser_use/browser/session.py262CODE
LOWbrowser_use/browser/session.py3421CODE
LOWbrowser_use/browser/session.py3678CODE
LOWbrowser_use/sandbox/sandbox.py215CODE
Example Usage Blocks3 hits · 4 pts
SeverityFileLineSnippetContext
LOWbin/setup.sh3# Usage:COMMENT
LOWbin/lint.sh3# Usage:COMMENT
LOWbin/test.sh3# Usage:COMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMexamples/use-cases/find_influencer_profiles.py39 # you can also use other apis like exa, xAI, perplexity, etc.COMMENT
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/ci/models/test_llm_openrouter.py27 def handle_request(request: httpx.Request) -> httpx.Response:CODE
LOWbrowser_use/observability.py113 def my_function(param1, param2):STRING