openclaw - ✅(Solved) Fix [Bug]: Browser enabled and running, but browser tool is missing from agent tool list [1 pull requests, 1 comments, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#58628Fetched 2026-04-08 01:59:57
View on GitHub
Comments
1
Participants
1
Timeline
3
Reactions
0
Participants
Timeline (top)
labeled ×2cross-referenced ×1

OpenClaw detects and runs the browser service successfully, but the agent session does not receive a browser tool in its available tools list.

Environment

  • OpenClaw app version: 2026.3.24
  • Update available: 2026.3.31
  • OS: linux 6.12.75+rpt-rpi-2712 (arm64)
  • Gateway mode: local
  • Surface/channel observed on: webchat and WhatsApp-connected session context
  • Model/runtime observed: main agent session

Config
From ~/.openclaw/openclaw.json:

  "browser": {                                                                                                                                                    
  "enabled": true,                                                                                                                                                
  "defaultProfile": "openclaw"                                                                                                                                    
  }

Also relevant:

  "tools": {                                                                                                                                                      
  "profile": "coding",                                                                                                                                            
  "web": {                                                                                                                                                        
  "search": {                                                                                                                                                     
  "enabled": true,                                                                                                                                                
  "provider": "duckduckgo"                                                                                                                                        
  }                                                                                                                                                               
  }                                                                                                                                                               
  }

Root Cause

OpenClaw detects and runs the browser service successfully, but the agent session does not receive a browser tool in its available tools list.

Environment

  • OpenClaw app version: 2026.3.24
  • Update available: 2026.3.31
  • OS: linux 6.12.75+rpt-rpi-2712 (arm64)
  • Gateway mode: local
  • Surface/channel observed on: webchat and WhatsApp-connected session context
  • Model/runtime observed: main agent session

Config
From ~/.openclaw/openclaw.json:

  "browser": {                                                                                                                                                    
  "enabled": true,                                                                                                                                                
  "defaultProfile": "openclaw"                                                                                                                                    
  }

Also relevant:

  "tools": {                                                                                                                                                      
  "profile": "coding",                                                                                                                                            
  "web": {                                                                                                                                                        
  "search": {                                                                                                                                                     
  "enabled": true,                                                                                                                                                
  "provider": "duckduckgo"                                                                                                                                        
  }                                                                                                                                                               
  }                                                                                                                                                               
  }

Fix Action

Fixed

PR fix notes

PR #58647: fix(agents): include browser in coding profile

Description (problem / solution / changelog)

Summary

  • Problem: sessions using tools.profile: "coding" could still miss the browser tool even when browser support was configured and auto-enabled.
  • Why it matters: browser-enabled coding sessions lost an expected tool surface, which made the browser integration look broken.
  • What changed: added browser to the coding profile allowlist and added focused regression coverage for the coding-profile + browser-configured path.
  • What did NOT change (scope boundary): browser plugin loading, browser service startup, and explicit plugin/tool disable behavior.

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor required for the fix
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #58628
  • Related #58628
  • This PR fixes a bug or regression

Root Cause / Regression History (if applicable)

  • Root cause: browser config already auto-enabled the bundled browser plugin, but the coding tool profile still omitted browser, so profile filtering removed it from the effective tool list.
  • Missing detection / guardrail: there was no regression test covering a browser-configured session running with tools.profile: "coding".
  • Prior context (git blame, prior PR, issue, or refactor if known): issue #58628 reported the mismatch between healthy browser runtime status and the missing runtime tool.
  • Why this regressed now: the browser tool sits behind the bundled plugin surface, but the coding profile definition did not include it when the effective tool list was filtered.
  • If unknown, what was ruled out: plugin auto-enable and bundled browser plugin resolution were both verified separately and still worked.

Regression Test Plan (if applicable)

  • Coverage level that should have caught this:
    • Unit test
    • Seam / integration test
    • End-to-end test
    • Existing coverage already sufficient
  • Target test or file: src/agents/openclaw-tools.browser-plugin.integration.test.ts
  • Scenario the test should lock in: when browser is configured and the coding profile is active, the effective coding tools should still include browser.
  • Why this is the smallest reliable guardrail: it exercises the real bundled browser plugin path plus the profile filtering path without requiring a full browser runtime.
  • Existing test that already covers this (if any): src/agents/tool-catalog.test.ts now also asserts the coding profile includes browser.
  • If no new test is added, why not: N/A

User-visible / Behavior Changes

  • Browser-enabled sessions using the coding profile now keep the browser tool available.

Diagram (if applicable)

Before:
[browser configured] -> [coding profile filtering] -> [browser tool dropped]

After:
[browser configured] -> [coding profile filtering includes browser] -> [browser tool available]

Security Impact (required)

  • New permissions/capabilities? (Yes/No): No
  • Secrets/tokens handling changed? (Yes/No): No
  • New/changed network calls? (Yes/No): No
  • Command/tool execution surface changed? (Yes/No): Yes
  • Data access scope changed? (Yes/No): No
  • If any Yes, explain risk + mitigation: this restores the intended browser tool exposure only for browser-configured coding sessions; explicit plugins.entries.browser.enabled = false, plugins.deny, and tool deny policies still block it.

Repro + Verification

Environment

  • OS: macOS 15 / darwin 25.3.0
  • Runtime/container: local repo checkout via pnpm
  • Model/provider: N/A
  • Integration/channel (if any): N/A
  • Relevant config (redacted): browser.enabled: true, browser.defaultProfile: "openclaw", tools.profile: "coding"

Steps

  1. Configure browser support and set tools.profile to coding.
  2. Build the effective coding tool list.
  3. Check whether browser is present.

Expected

  • browser is present in the effective coding tool list.

Actual

  • browser was filtered out even though browser support was configured.

Evidence

Attach at least one:

  • Failing test/log before + passing after
  • Trace/log snippets
  • Screenshot/recording
  • Perf numbers (if relevant)

Human Verification (required)

  • Verified scenarios:
    • Reproduced the missing browser tool with a coding-profile config before the fix.
    • Verified src/agents/tool-catalog.test.ts and src/agents/openclaw-tools.browser-plugin.integration.test.ts pass after the fix.
    • Verified pnpm build passes after the change.
  • Edge cases checked:
    • Browser remains omitted when the bundled browser plugin is explicitly disabled.
    • Messaging profile behavior remains unchanged.
  • What you did not verify:
    • A live browser roundtrip through a running OpenClaw browser service.
    • Full-repo pnpm check / pnpm test green state, because unrelated existing failures outside this change still block them.

Review Conversations

  • I replied to or resolved every bot review conversation I addressed in this PR.
  • I left unresolved only the conversations that still need reviewer or maintainer judgment.

If a bot review conversation is addressed by this PR, resolve that conversation yourself. Do not leave bot review conversation cleanup for maintainers.

Compatibility / Migration

  • Backward compatible? (Yes/No): Yes
  • Config/env changes? (Yes/No): No
  • Migration needed? (Yes/No): No
  • If yes, exact upgrade steps:

Risks and Mitigations

  • Risk: broadening the coding profile could expose browser where maintainers did not intend it.
    • Mitigation: the change is limited to the declared coding profile; browser still requires the plugin/config path to be enabled, and explicit deny/disable settings still take precedence.

Additional Notes

  • Broader repo verification is currently blocked by unrelated existing failures in extensions/diffs/src/language-hints.test.ts during pnpm check and src/config/schema.base.generated.test.ts during pnpm test.
  • AI-assisted: yes.
  • Testing degree: pnpm build, pnpm test -- src/agents/tool-catalog.test.ts src/agents/openclaw-tools.browser-plugin.integration.test.ts, plus direct local repro of the missing-tool behavior before the fix.

Made with Cursor

Changed files

  • src/agents/pi-tools.browser-plugin.integration.test.ts (added, +51/-0)
  • src/agents/tool-catalog.test.ts (modified, +2/-1)
  • src/agents/tool-catalog.ts (modified, +1/-1)

Code Example

"browser": {                                                                                                                                                    
   "enabled": true,                                                                                                                                                
   "defaultProfile": "openclaw"                                                                                                                                    
   }

---

"tools": {                                                                                                                                                      
   "profile": "coding",                                                                                                                                            
   "web": {                                                                                                                                                        
   "search": {                                                                                                                                                     
   "enabled": true,                                                                                                                                                
   "provider": "duckduckgo"                                                                                                                                        
   }                                                                                                                                                               
   }                                                                                                                                                               
   }

---

openclaw browser status

---

profile: openclaw                                                                                                                                               
   enabled: true                                                                                                                                                   
   running: true                                                                                                                                                   
   transport: cdp                                                                                                                                                  
   cdpPort: 18800                                                                                                                                                  
   cdpUrl: http://127.0.0.1:18800                                                                                                                                  
   browser: brave                                                                                                                                                  
   detectedBrowser: brave                                                                                                                                          
   detectedPath: /usr/bin/brave-browser                                                                                                                            
   profileColor: #FF4500

---

read                                                                                                                                                            
   write                                                                                                                                                           
   edit                                                                                                                                                            
   exec                                                                                                                                                            
   process                                                                                                                                                         
   web_search                                                                                                                                                      
   web_fetch                                                                                                                                                       
   cron                                                                                                                                                            
   sessions_list                                                                                                                                                   
   sessions_history                                                                                                                                                
   sessions_send                                                                                                                                                   
   subagents                                                                                                                                                       
   session_status                                                                                                                                                  
   memory_search                                                                                                                                                   
   memory_get                                                                                                                                                      
   sessions_spawn                                                                                                                                                  
   sessions_yield

---
RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

OpenClaw detects and runs the browser service successfully, but the agent session does not receive a browser tool in its available tools list.

Environment

  • OpenClaw app version: 2026.3.24
  • Update available: 2026.3.31
  • OS: linux 6.12.75+rpt-rpi-2712 (arm64)
  • Gateway mode: local
  • Surface/channel observed on: webchat and WhatsApp-connected session context
  • Model/runtime observed: main agent session

Config
From ~/.openclaw/openclaw.json:

  "browser": {                                                                                                                                                    
  "enabled": true,                                                                                                                                                
  "defaultProfile": "openclaw"                                                                                                                                    
  }

Also relevant:

  "tools": {                                                                                                                                                      
  "profile": "coding",                                                                                                                                            
  "web": {                                                                                                                                                        
  "search": {                                                                                                                                                     
  "enabled": true,                                                                                                                                                
  "provider": "duckduckgo"                                                                                                                                        
  }                                                                                                                                                               
  }                                                                                                                                                               
  }

Steps to reproduce

  1. Enable browser in ~/.openclaw/openclaw.json
  2. Confirm browser service is healthy with:
  openclaw browser status
  1. Start/use an agent session
  2. Ask the agent to list available tools
  3. Observe that browser is missing

Expected behavior

If browser support is enabled and running, the agent should either:

  1. receive a browser tool in its tool list, or
  2. surface a clear message/documented reason why browser is not available in this runtime/profile

Actual behavior

openclaw browser status shows browser support is live and Brave is detected/running:

  profile: openclaw                                                                                                                                               
  enabled: true                                                                                                                                                   
  running: true                                                                                                                                                   
  transport: cdp                                                                                                                                                  
  cdpPort: 18800                                                                                                                                                  
  cdpUrl: http://127.0.0.1:18800                                                                                                                                  
  browser: brave                                                                                                                                                  
  detectedBrowser: brave                                                                                                                                          
  detectedPath: /usr/bin/brave-browser                                                                                                                            
  profileColor: #FF4500

But in the agent session, the available tools are:

  read                                                                                                                                                            
  write                                                                                                                                                           
  edit                                                                                                                                                            
  exec                                                                                                                                                            
  process                                                                                                                                                         
  web_search                                                                                                                                                      
  web_fetch                                                                                                                                                       
  cron                                                                                                                                                            
  sessions_list                                                                                                                                                   
  sessions_history                                                                                                                                                
  sessions_send                                                                                                                                                   
  subagents                                                                                                                                                       
  session_status                                                                                                                                                  
  memory_search                                                                                                                                                   
  memory_get                                                                                                                                                      
  sessions_spawn                                                                                                                                                  
  sessions_yield

No browser tool is present.

OpenClaw version

2026.3.24

Operating system

linux 6.12.75+rpt-rpi-2712 (arm64)

Install method

npm global

Model

openai-codex/gpt-5.4

Provider / routing chain

openclaw local

Additional provider/model setup details

Notes / suspicion
This may be one of:

  • tool exposure/injection bug
  • stale session bootstrap/tool registry
  • tools.profile: "coding" accidentally excludes browser
  • mismatch between gateway/browser capability and agent runtime tool provisioning

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

extent analysis

TL;DR

The issue can be resolved by checking the tools.profile setting in the OpenClaw configuration and ensuring it includes the browser tool.

Guidance

  • Verify that the tools.profile setting in ~/.openclaw/openclaw.json is set to a profile that includes the browser tool, as the current setting "coding" may be excluding it.
  • Check the OpenClaw documentation to see if there are any specific requirements for enabling the browser tool in the agent session.
  • Try setting "tools.profile" to a different value, such as "default" or an empty string, to see if it affects the availability of the browser tool.
  • Investigate the possibility of a stale session bootstrap or tool registry, and try restarting the OpenClaw service or clearing any relevant caches.

Example

No specific code example is provided, as the issue appears to be related to configuration settings rather than code.

Notes

The issue may be specific to the openai-codex/gpt-5.4 model or the linux 6.12.75+rpt-rpi-2712 (arm64) operating system, and further investigation may be needed to determine the root cause.

Recommendation

Apply a workaround by modifying the tools.profile setting in the OpenClaw configuration to include the browser tool, as this is the most likely cause of the issue.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

If browser support is enabled and running, the agent should either:

  1. receive a browser tool in its tool list, or
  2. surface a clear message/documented reason why browser is not available in this runtime/profile

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix [Bug]: Browser enabled and running, but browser tool is missing from agent tool list [1 pull requests, 1 comments, 1 participants]