CLI Anything Safari
HKUDS/CLI-Anything
Safari browser automation CLI on macOS via safari-mcp. An agent skill from HKUDS/CLI-Anything.
Diagnoses why the Claude in Chrome MCP tools report the browser extension as not connected, with macOS-specific checks and a fix for the Claude.app native host conflict.
$ npx skills add trailofbits/skills --skill chrome-mcp-troubleshooting -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install trailofbits/skills chrome-mcp-troubleshooting --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/trailofbits/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting .claude/skills/chrome-mcp-troubleshooting && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "chrome-mcp-troubleshooting" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting into .claude/skills/chrome-mcp-troubleshooting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chrome-mcp-troubleshooting", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/trailofbits/skills/tree/main/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshootingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add trailofbits/skills --skill chrome-mcp-troubleshooting -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install trailofbits/skills chrome-mcp-troubleshooting --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trailofbits/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting .agents/skills/chrome-mcp-troubleshooting && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "chrome-mcp-troubleshooting" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting into .agents/skills/chrome-mcp-troubleshooting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chrome-mcp-troubleshooting", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add trailofbits/skills --skill chrome-mcp-troubleshooting -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install trailofbits/skills chrome-mcp-troubleshooting --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trailofbits/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting .cursor/skills/chrome-mcp-troubleshooting && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "chrome-mcp-troubleshooting" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting into .cursor/skills/chrome-mcp-troubleshooting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chrome-mcp-troubleshooting", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/trailofbits/skills.git --path plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add trailofbits/skills --skill chrome-mcp-troubleshooting -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install trailofbits/skills chrome-mcp-troubleshooting --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trailofbits/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting .gemini/skills/chrome-mcp-troubleshooting && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "chrome-mcp-troubleshooting" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting into .gemini/skills/chrome-mcp-troubleshooting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chrome-mcp-troubleshooting", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install trailofbits/skills chrome-mcp-troubleshootingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add trailofbits/skills --skill chrome-mcp-troubleshooting -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/trailofbits/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting .github/skills/chrome-mcp-troubleshooting && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "chrome-mcp-troubleshooting" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting into .github/skills/chrome-mcp-troubleshooting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chrome-mcp-troubleshooting", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add trailofbits/skills --skill chrome-mcp-troubleshooting -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install trailofbits/skills chrome-mcp-troubleshooting --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trailofbits/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting .opencode/skills/chrome-mcp-troubleshooting && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "chrome-mcp-troubleshooting" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting into .opencode/skills/chrome-mcp-troubleshooting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chrome-mcp-troubleshooting", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
chrome-mcp-troubleshootingDiagnoses why the Claude in Chrome MCP tools report the browser extension as not connected, with macOS-specific checks and a fix for the Claude.app native host conflict.
A macOS troubleshooting guide for the moments when the mcp__claude-in-chrome tools fail with a not-connected error, time out or behave erratically. It singles out cases after updating Claude Code or Claude.app and after switching between the CLI and the desktop app's Cowork mode, and notes that native host processes can be running while the tools still fail.
The main diagnosis is a clash between two native messaging hosts. Claude.app and the Claude Code CLI each register their own config with Chrome and create sockets in different places and formats, so when the wrong config is active the MCP client cannot find the socket it expects. If you use the CLI for browser automation rather than Cowork, the fix is to rename the Claude.app native messaging config so it is disabled. Linux and Windows are out of scope, as are general Chrome automation, network and extension install problems.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 82fe822. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
osascriptFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Claude in Chrome MCP Troubleshooting loads about 2.6k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 585 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from trailofbits/skills at commit 82fe822, republished under its CC-BY-SA-4.0 licence (© trailofbits). 585 words, ~2,568 tokens.
.claude/skills/chrome-mcp-troubleshooting/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Use this skill when Claude in Chrome MCP tools fail to connect or work unreliably.
mcp__claude-in-chrome__* tools fail with "Browser extension is not connected"~/Library/Application Support/, osascript)Background: When Claude.app added Cowork support (browser automation from the desktop app), it introduced a competing native messaging host that conflicts with Claude Code CLI.
| Component | Native Host Binary | Socket Location |
|---|---|---|
| Claude.app (Cowork) | /Applications/Claude.app/Contents/Helpers/chrome-native-host | /tmp/claude-mcp-browser-bridge-$USER/<PID>.sock |
| Claude Code CLI | ~/.local/share/claude/versions/<version> --chrome-native-host | $TMPDIR/claude-mcp-browser-bridge-$USER (single file) |
Both register native messaging configs in Chrome:
com.anthropic.claude_browser_extension.json → Claude.app helpercom.anthropic.claude_code_browser_extension.json → Claude Code wrapperChrome extension requests a native host by name
If the wrong config is active, the wrong binary runs
The wrong binary creates sockets in a format/location the MCP client doesn't expect
Result: "Browser extension is not connected" even though everything appears to be running
If you use Claude Code CLI for browser automation (not Cowork):
# Disable the Claude.app native messaging config
mv ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json \
~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json.disabled
# Ensure the Claude Code config exists and points to the wrapper
cat ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.jsonIf you use Cowork (Claude.app) for browser automation:
# Disable the Claude Code native messaging config
mv ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json \
~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json.disabledYou cannot use both simultaneously. Pick one and disable the other.
Add this to ~/.zshrc or run directly:
chrome-mcp-toggle() {
local CONFIG_DIR=~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts
local CLAUDE_APP="$CONFIG_DIR/com.anthropic.claude_browser_extension.json"
local CLAUDE_CODE="$CONFIG_DIR/com.anthropic.claude_code_browser_extension.json"
if [[ -f "$CLAUDE_APP" && ! -f "$CLAUDE_APP.disabled" ]]; then
# Currently using Claude.app, switch to Claude Code
mv "$CLAUDE_APP" "$CLAUDE_APP.disabled"
[[ -f "$CLAUDE_CODE.disabled" ]] && mv "$CLAUDE_CODE.disabled" "$CLAUDE_CODE"
echo "Switched to Claude Code CLI"
echo "Restart Chrome and Claude Code to apply"
elif [[ -f "$CLAUDE_CODE" && ! -f "$CLAUDE_CODE.disabled" ]]; then
# Currently using Claude Code, switch to Claude.app
mv "$CLAUDE_CODE" "$CLAUDE_CODE.disabled"
[[ -f "$CLAUDE_APP.disabled" ]] && mv "$CLAUDE_APP.disabled" "$CLAUDE_APP"
echo "Switched to Claude.app (Cowork)"
echo "Restart Chrome to apply"
else
echo "Current state unclear. Check configs:"
ls -la "$CONFIG_DIR"/com.anthropic*.json* 2>/dev/null
fi
}Usage: chrome-mcp-toggle then restart Chrome (and Claude Code if switching to CLI).
# 1. Which native host binary is running?
ps aux | grep chrome-native-host | grep -v grep
# Claude.app: /Applications/Claude.app/Contents/Helpers/chrome-native-host
# Claude Code: ~/.local/share/claude/versions/X.X.X --chrome-native-host
# 2. Where is the socket?
# For Claude Code (single file in TMPDIR):
ls -la "$(getconf DARWIN_USER_TEMP_DIR)/claude-mcp-browser-bridge-$USER" 2>&1
# For Claude.app (directory with PID files):
ls -la /tmp/claude-mcp-browser-bridge-$USER/ 2>&1
# 3. What's the native host connected to?
lsof -U 2>&1 | grep claude-mcp-browser-bridge
# 4. Which configs are active?
ls ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic*.jsonMCP connects at startup. If the browser bridge wasn't ready when Claude Code started, the connection will fail for the entire session. The fix is usually: ensure Chrome + extension are running with correct config, THEN restart Claude Code.
# 1. Ensure correct config is active
mv ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json \
~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json.disabled 2>/dev/null
# 2. Update the wrapper to use latest Claude Code version
cat > ~/.claude/chrome/chrome-native-host << 'EOF'
#!/bin/bash
LATEST=$(ls -t ~/.local/share/claude/versions/ 2>/dev/null | head -1)
exec "$HOME/.local/share/claude/versions/$LATEST" --chrome-native-host
EOF
chmod +x ~/.claude/chrome/chrome-native-host
# 3. Kill existing native host and clean sockets
pkill -f chrome-native-host
rm -rf /tmp/claude-mcp-browser-bridge-$USER/
rm -f "$(getconf DARWIN_USER_TEMP_DIR)/claude-mcp-browser-bridge-$USER"
# 4. Restart Chrome
osascript -e 'quit app "Google Chrome"' && sleep 2 && open -a "Google Chrome"
# 5. Wait for Chrome, click Claude extension icon
# 6. Verify correct native host is running
ps aux | grep chrome-native-host | grep -v grep
# Should show: ~/.local/share/claude/versions/X.X.X --chrome-native-host
# 7. Verify socket exists
ls -la "$(getconf DARWIN_USER_TEMP_DIR)/claude-mcp-browser-bridge-$USER"
# 8. Restart Claude CodeIf you have the Claude extension installed in multiple Chrome profiles, each spawns its own native host and socket. This can cause confusion.
Fix: Only enable the Claude extension in ONE Chrome profile.
Running multiple Claude Code instances can cause socket conflicts.
Fix: Only run one Claude Code session at a time, or use /mcp to reconnect after closing other sessions.
The wrapper at ~/.claude/chrome/chrome-native-host may have a hardcoded version that becomes stale after updates.
Diagnosis:
cat ~/.claude/chrome/chrome-native-host
# Bad: exec "/Users/.../.local/share/claude/versions/2.0.76" --chrome-native-host
# Good: Uses $(ls -t ...) to find latestFix: Use the dynamic version wrapper shown in the Full Reset Procedure above.
Claude Code expects TMPDIR to be set to find the socket.
# Check
echo $TMPDIR
# Should show: /var/folders/XX/.../T/
# Fix: Add to ~/.zshrc
export TMPDIR="${TMPDIR:-$(getconf DARWIN_USER_TEMP_DIR)}"echo "=== Native Host Binary ==="
ps aux | grep chrome-native-host | grep -v grep
echo -e "\n=== Socket (Claude Code location) ==="
ls -la "$(getconf DARWIN_USER_TEMP_DIR)/claude-mcp-browser-bridge-$USER" 2>&1
echo -e "\n=== Socket (Claude.app location) ==="
ls -la /tmp/claude-mcp-browser-bridge-$USER/ 2>&1
echo -e "\n=== Native Host Open Files ==="
pgrep -f chrome-native-host | xargs -I {} lsof -p {} 2>/dev/null | grep -E "(sock|claude-mcp)"
echo -e "\n=== Active Native Messaging Configs ==="
ls ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic*.json 2>/dev/null
echo -e "\n=== Custom Wrapper Contents ==="
cat ~/.claude/chrome/chrome-native-host 2>/dev/null || echo "No custom wrapper"
echo -e "\n=== TMPDIR ==="
echo "TMPDIR=$TMPDIR"
echo "Expected: $(getconf DARWIN_USER_TEMP_DIR)"| File | Purpose |
|---|---|
~/.claude/chrome/chrome-native-host | Custom wrapper script for Claude Code |
/Applications/Claude.app/Contents/Helpers/chrome-native-host | Claude.app (Cowork) native host |
~/.local/share/claude/versions/<version> | Claude Code binary (run with --chrome-native-host) |
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json | Config for Claude.app native host |
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json | Config for Claude Code native host |
$TMPDIR/claude-mcp-browser-bridge-$USER | Socket file (Claude Code) |
/tmp/claude-mcp-browser-bridge-$USER/<PID>.sock | Socket files (Claude.app) |
Original skill by @jeffzwang from @ExaAILabs. Enhanced and updated for current versions of Claude Desktop and Claude Code.
© trailofbits, CC-BY-SA-4.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (assets) in plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting of trailofbits/skills.
Open the folder on GitHubat commit 82fe822
We found 6 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 4 other GitHub owners. This page covers the copy in trailofbits/skills, which our catalogue first saw on October 7, 2026.
Claude in Chrome MCP Troubleshooting next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Claude in Chrome MCP Troubleshooting this skilltrailofbits/skills | 7.4k | 4 repos | ~2.6k | Automated safety check: Pass | CC-BY-SA-4.0 | |
| CLI Anything SafariHKUDS/CLI-Anything | 52k | — | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| AIPex Browser ControlAIPexStudio/AIPex | 1.3k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Gearcoleco Debuggingdrhelius/Gearcoleco | 141 | — | ~3.5k | Automated safety check: Pass | GPL-3.0 | |
| Browser MCP Agentantibrow/anti-detect-browser-skills | 932 | 1 repos | ~4.2k | Automated safety check: Warn | MIT | |
| Altic Studioaltic-dev/altic-mcp | 173 | — | ~3.3k | Automated safety check: Pass | Apache-2.0 |
HKUDS/CLI-Anything
Safari browser automation CLI on macOS via safari-mcp. An agent skill from HKUDS/CLI-Anything.
AIPexStudio/AIPex
Lets an agent drive Chrome through the AIPex extension and its MCP bridge: navigation, clicking, form filling, screenshots, tab management and downloads.
drhelius/Gearcoleco
Debug and trace ColecoVision and Super Game Module games using the Gearcoleco emulator MCP server.
antibrow/anti-detect-browser-skills
Give an AI agent its own real browser over MCP tool calls - launch, navigate, click, fill, screenshot, extract text, run JS - with a kernel-level real-device fingerprint and a persistent profile, so…
altic-dev/altic-mcp
macOS automation skill for AppleScript actions and Chrome browser control via MCP CDP tools.
hanzili/hanzi-browse
Monitor competitor websites for changes. An agent skill from hanzili/hanzi-browse.
trailofbits/skills
Generates Mermaid diagrams from Trailmark code graphs, including call graphs, class hierarchies, module dependency maps, complexity heatmaps and attack surface data flows.
trailofbits/skills
Scans a codebase for vulnerabilities with CodeQL's data flow and taint tracking in run-all or important-only modes, including data extensions for project-specific sources and sinks.
trailofbits/skills
Compares Trailmark code graphs at two snapshots, such as commits, tags or directories, to surface attack paths, blast radius and taint changes that text diffs miss.
trailofbits/skills
Draws a 12 Houses tarot spread to break ties when a request is vague or casually delegated, then reads the cards to pick the next step.
trailofbits/skills
Searches and extracts data from Burp Suite project files on the command line: regex searches over responses, audit findings, proxy history and site map data.
trailofbits/skills
Detects languages, proposes rulesets for approval, then runs the approved Semgrep scan across a codebase and merges the output into one SARIF file.
Categories
Diagnoses why the Claude in Chrome MCP tools report the browser extension as not connected, with macOS-specific checks and a fix for the Claude.app native host conflict. A macOS troubleshooting guide for the moments when the mcp__claude-in-chrome tools fail with a not-connected error, time out or behave erratically.app and after switching between the CLI and the desktop app's Cowork mode, and notes that native host processes can be running while the tools still fail.
Claude in Chrome MCP Troubleshooting fits situations like: Claude in Chrome tools fail with a not-connected message even though Chrome is running; browser automation through the MCP extension times out or behaves erratically; connection problems that began after updating Claude Code or Claude.app; browser tools break after switching between the Claude Code CLI and Cowork.
Run `npx skills add trailofbits/skills --skill chrome-mcp-troubleshooting -a claude-code`. Or copy the skill folder (plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting in trailofbits/skills) into .claude/skills/chrome-mcp-troubleshooting in your project. Claude Code loads it when a task matches its description.
Run `npx skills add trailofbits/skills --skill chrome-mcp-troubleshooting -a codex`. Or copy the skill folder (plugins/claude-in-chrome-troubleshooting/skills/chrome-mcp-troubleshooting in trailofbits/skills) into .agents/skills/chrome-mcp-troubleshooting in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add trailofbits/skills --skill chrome-mcp-troubleshooting -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/chrome-mcp-troubleshooting, .gemini/skills/chrome-mcp-troubleshooting, .github/skills/chrome-mcp-troubleshooting and .opencode/skills/chrome-mcp-troubleshooting in your project.
Going by SKILL.md and its folder, Claude in Chrome MCP Troubleshooting needs the command-line tools its instructions call (osascript). Our summary lists: macOS; Chrome with the Claude in Chrome extension; Claude Code CLI or Claude.app.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Claude in Chrome MCP Troubleshooting is published under the CC-BY-SA-4.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Claude in Chrome MCP Troubleshooting: CLI Anything Safari (HKUDS/CLI-Anything, 52k stars), AIPex Browser Control (AIPexStudio/AIPex, 1.3k stars), Gearcoleco Debugging (drhelius/Gearcoleco, 141 stars) and Browser MCP Agent (antibrow/anti-detect-browser-skills, 932 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
trailofbits (a GitHub organization, an official publisher) maintains it in trailofbits/skills, which has 7,420 GitHub stars. The repository holds 79 skills in this directory. The repository was last updated on October 7, 2026.
Source: trailofbits/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.