{"record":{"id":"7d5ce277ffa71771","repo":"browser-use/browser-use","slug":"action-func-name-requires-browser-session-bu","errorCode":null,"errorMessage":"Action {func.__name__} requires browser_session but none provided.","messagePattern":"Action (.+?) requires browser_session but none provided\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"browser_use/tools/registry/service.py","lineNumber":213,"sourceCode":"\t\t\t\t\tif action_kwargs:\n\t\t\t\t\t\t# Use the param_model which has the correct types defined\n\t\t\t\t\t\tparams = param_model(**action_kwargs)\n\n\t\t\t# Build call_args by iterating through original function parameters in order\n\t\t\tparams_dict = params.model_dump() if params is not None else {}\n\n\t\t\tfor i, param in enumerate(parameters):\n\t\t\t\t# Skip first param for Type 1 pattern (it's the model itself)\n\t\t\t\tif param_model_provided and i == 0 and param.name not in special_param_names:\n\t\t\t\t\tcall_args.append(params)\n\t\t\t\telif param.name in special_param_names:\n\t\t\t\t\t# This is a special parameter\n\t\t\t\t\tif param.name in kwargs:\n\t\t\t\t\t\tvalue = kwargs[param.name]\n\t\t\t\t\t\t# Check if required special param is None\n\t\t\t\t\t\tif value is None and param.default == Parameter.empty:\n\t\t\t\t\t\t\tif param.name == 'browser_session':\n\t\t\t\t\t\t\t\traise ValueError(f'Action {func.__name__} requires browser_session but none provided.')\n\t\t\t\t\t\t\telif param.name == 'page_extraction_llm':\n\t\t\t\t\t\t\t\traise ValueError(f'Action {func.__name__} requires page_extraction_llm but none provided.')\n\t\t\t\t\t\t\telif param.name == 'file_system':\n\t\t\t\t\t\t\t\traise ValueError(f'Action {func.__name__} requires file_system but none provided.')\n\t\t\t\t\t\t\telif param.name == 'page':\n\t\t\t\t\t\t\t\traise ValueError(f'Action {func.__name__} requires page but none provided.')\n\t\t\t\t\t\t\telif param.name == 'available_file_paths':\n\t\t\t\t\t\t\t\traise ValueError(f'Action {func.__name__} requires available_file_paths but none provided.')\n\t\t\t\t\t\t\telif param.name == 'file_system':\n\t\t\t\t\t\t\t\traise ValueError(f'Action {func.__name__} requires file_system but none provided.')\n\t\t\t\t\t\t\telse:\n\t\t\t\t\t\t\t\traise ValueError(f\"{func.__name__}() missing required special parameter '{param.name}'\")\n\t\t\t\t\t\tcall_args.append(value)\n\t\t\t\t\telif param.default != Parameter.empty:\n\t\t\t\t\t\tcall_args.append(param.default)\n\t\t\t\t\telse:\n\t\t\t\t\t\t# Special param is required but not provided\n\t\t\t\t\t\tif param.name == 'browser_session':","sourceCodeStart":195,"sourceCodeEnd":231,"githubUrl":"https://github.com/browser-use/browser-use/blob/6c73fced2f6d45a11d88622fe56365a5fe18f28b/browser_use/tools/registry/service.py#L195-L231","documentation":"Error \"Action {func.__name__} requires browser_session but none provided.\" thrown in browser-use/browser-use.","triggerScenarios":"Action declares a browser_session parameter but none was injected by the registry.","commonSituations":"Using a Tools registry without an attached BrowserSession, or action run outside an Agent.","solutions":["Provide a browser_session to the Tools/Agent so the action can run."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c73fced2f6d45a11d88622fe56365a5fe18f28b","analyzedAt":"2026-08-14T19:42:40.557Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}