After the Claude Code source leak, instead of digging through feature flags and anti-distillation defenses, I focused on what I could ship. I focused on reverse-engineering Claude in Chrome from its MCP tool schemas. Clean room, not a fork.
Claude in Chrome blocks 58 domains. Banks, Tinder, Reddit, Robinhood, Bloomberg. Also only works in Chrome and Edge. open-claude-in-chrome has none of that.
Same 18 tools, same performance. Claude doesn't know the difference because it was trained on these exact schemas.
Stuff I found running both extensions side-by-side:
- The official forces deviceScaleFactor: 1 via CDP. Without this, Retina displays make every click miss. Spent an afternoon staring at window.devicePixelRatio to figure that one out.
- It doesn't return screenshots on clicks or typing. Only on screenshot and scroll. I was returning one on every action and burning through the 20MB API limit in 15 calls.
After the Claude Code source leak, instead of digging through feature flags and anti-distillation defenses, I focused on what I could ship. I focused on reverse-engineering Claude in Chrome from its MCP tool schemas. Clean room, not a fork.
Claude in Chrome blocks 58 domains. Banks, Tinder, Reddit, Robinhood, Bloomberg. Also only works in Chrome and Edge. open-claude-in-chrome has none of that.
Same 18 tools, same performance. Claude doesn't know the difference because it was trained on these exact schemas.
Stuff I found running both extensions side-by-side:
- The official forces deviceScaleFactor: 1 via CDP. Without this, Retina displays make every click miss. Spent an afternoon staring at window.devicePixelRatio to figure that one out.
- It doesn't return screenshots on clicks or typing. Only on screenshot and scroll. I was returning one on every action and burning through the 20MB API limit in 15 calls.
Case study on how I built it: https://www.noemica.io/blog/reverse-engineered-claude-in-chr...