Even Claude for Web can do the full compile edit cycle.
It runs Debian and apt installs stuff on demand and can run anything its Debian has.
I built a Chrome extension so Claude can get the full rendered DOM via a socket for web stuff.
Why do you think it can’t?
Are you perhaps using Claude Chatbot?
Claude Code will run anything you instruct it to.
I have to tell it to stop more than to start!
Can Claude Code open Chrome to test its changes by default?
No, not running chatbot. Running Claude Code CLI/Codex CLI.
Are you saying yours cannot do this?
Nawin.Auth is running on 567. Let me write a quick test to capture exactly what bytes Nawin.Auth sends vs Crabbit (on 5670):
● Write(/tmp/compare_auth.py)
⎿ Wrote 83 lines to ../../../../tmp/compare_auth.py
1 #!/usr/bin/env python3
2 """Compare auth server responses byte-by-byte"""
3 import socket
4
5 def test_auth(host, port, name):
6 print(f"\n=== Testing {name} on {host}:{port} ===")
7
8 # Build AuthTreq request (141 bytes)
9 # type[1] + authid[28] + authdom[48] + chal[8] + hostid[28] + uid[28]
10 request = bytearray(141)
… +73 lines (ctrl+o to expand)
● Bash(sudo lsof -i :5670 2>/dev/null | head -3)
⎿ COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
run-auth- 95646 root 9u IPv4 139735 0t0 TCP \*:5670 (LISTEN)
● Bash(python3 /tmp/compare_auth.py 2>&1)
⎿ === Testing Nawin.Auth on 127.0.0.1:567 ===
Request (141 bytes):
Hex: 01676c656e6461000000000000000000000000000000000000000000006e6177696e00000000000000
… +53 lines (ctrl+o to expand)
● Both send 145 bytes, same format! Differences are only in the random session keys (bytes 64-72 and 136-144). The ticket encryption is identical.But how else would Claude see the live DOM ? The only way is through something running in the browser at runtime.
And yes, Google Chrome added an MCP into Chrome for doing it but I use Vivaldi.
When coding manually how would you check your code was working when it came to serving HTML?
Are you telling me your Claude / Codex cannot run curl to look at what was served?
If you need help with something you can ask, no need to be brusque.
chrome --headless --dump-dom "https://example.com" > dom.htmlI find that a critical step in agentic development is to close the loop for the LLM so it can get direct feedback without needing you to manually handle it.