[HN Gopher] Show HN: A MitM proxy to see what your LLM tools are...
       ___________________________________________________________________
        
       Show HN: A MitM proxy to see what your LLM tools are sending
        
       I built this out of curiosity about what Claude Code was actually
       sending to the API. Turns out, watching your tokens tick up in
       real-time is oddly satisfying.  Sherlock sits between your LLM
       tools and the API, showing you every request with a live dashboard,
       and auto-saved copies of every prompt as markdown and json.
        
       Author : jmuncor
       Score  : 35 points
       Date   : 2026-01-28 18:52 UTC (4 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | david_shaw wrote:
       | Nice work! I'm sure the data gleaned here is illuminating for
       | many users.
       | 
       | I'm surprised that there isn't a stronger demand for enterprise-
       | wide tools like this. Yes, there are a few solutions, but when
       | you contrast the new standard of "give everyone at the company
       | agentic AI capabilities" with the prior paradigm of strong data
       | governance (at least at larger orgs), it's a stark difference.
       | 
       | I think we're not far from the pendulum swinging back a bit. Not
       | _just_ because AI can 't be used for everything, but because the
       | governance on widespread AI use (without severely limiting what
       | tools can actually do) is a difficult and ongoing problem.
        
         | LudwigNagasena wrote:
         | I had to vibe code a proxy to hide tokens from agents
         | (https://github.com/vladimirkras/prxlocal) because I haven't
         | found any good solution either. I planned to add genai otel
         | stuff that could be piped into some tool to view dialogues and
         | tool calls and so on, but I haven't found any good setup that
         | doesn't require lots of manual coding yet. It's really weird
         | that there are no solutions in that space.
        
       | EMM_386 wrote:
       | This is great.
       | 
       | When I work with AI on large, tricky code bases I try to do a
       | collaboration where it hands off things to me that may result in
       | large number of tokens (excess tool calls, unprecise searches,
       | verbose output, reading large files without a range specified,
       | etc.).
       | 
       | This will help narrow down exactly which to still handle manually
       | to best keep within token budgets.
       | 
       |  _Note: "yourusername" in install git clone instructions should
       | be replaced._
        
         | kej wrote:
         | Would you mind sharing more details about how you do this? What
         | do you add to your AI prompts to make it hand those tasks off
         | to you?
        
         | jmuncor wrote:
         | Hahahah just fixed it, thank you so much!!!! Think of extending
         | this to a prompt admin, Im sure there is a lot of trash that
         | the system sends on every query, I think we can improve this.
        
       | mrbluecoat wrote:
       | So is it just a wrapper around MitM Proxy?
        
         | guessmyname wrote:
         | > _So is it just a wrapper around MitM Proxy?_
         | 
         | Yes.
         | 
         | I created something similar months ago [*] but using Envoy
         | Proxy [1], mkcert [2], my own Go (golang) server, and Little
         | Snitch [3]. It works quite well. I was the first person to
         | notice that Codex CLI now sends telemetry to ab.chatgpt.com and
         | other curiosities like that, but I never bothered to open-
         | source my implementation because I know that anyone genuinely
         | interested could easily replicate it in an afternoon with their
         | favourite Agent CLI.
         | 
         | [1] https://www.envoyproxy.io/
         | 
         | [2] https://github.com/FiloSottile/mkcert
         | 
         | [3] https://www.obdev.at/products/littlesnitch/
         | 
         | [*] In reality, I created something like 6 years ago or so
         | before LLMs were popular, originally as a way to inspect all
         | outgoing HTTP(s) traffic from all app installed in my macOS
         | system. Then, a few months ago, when I started using Codex CLI,
         | I made some modifications to inspect Agent CLI calls too.
        
           | tkp-415 wrote:
           | Curious to see how you can get Gemini fully intercepted.
           | 
           | I've been intercepting its HTTP requests by running it inside
           | a docker container with:
           | 
           | -e HTTP_PROXY=http://127.0.0.1:8080 -e
           | HTTPS_PROXY=http://host.docker.internal:8080 -e
           | NO_PROXY=localhost,127.0.0.1
           | 
           | It was working with mitmproxy for a very brief period, then
           | the TLS handshake started failing and it kept requesting for
           | re-authentication when proxied.
           | 
           | You can get the whole auth flow and initial conversation
           | starters using Burp Suite and its certificate, but the Gemini
           | chat responses fail in the CLI, which I understand is due to
           | how Burp handles HTTP2 (you can see the valid responses
           | inside Burp Suite).
        
             | jmuncor wrote:
             | Tried with gemini and gave more headaches than anything
             | else, would love if you can help me adding it to
             | sherlock... I use claude and gemini, claude mainly for
             | coding, so wanted to set it up first. With gemini, ran into
             | the same problem that you did...
        
         | jmuncor wrote:
         | Kind of yes... But with a nice cli so that you don't have to
         | set it up just run "sherlock claude" and "sherlock start" on
         | two terminals and everything that claude sends in that session
         | then it will be stored. So no proxy set up or anything, just
         | simple terminal commands. :)
        
       | alickkk wrote:
       | Nice work! Do i need to update Claude Code config after start
       | this proxy service?
        
         | jmuncor wrote:
         | Nope... You just run "sherlock claude" and that sets up the
         | proxy for you. So you dont have to think about it... And just
         | use claude normally, every prompt you send in that session will
         | be stored in the files.
        
       | FEELmyAGI wrote:
       | Dang how will Tailscale make any money on its latest vibe coded
       | feature [0] when others can vibe code it themselves? I guess your
       | SaaS really is someones weekend vibe prompt.
       | 
       | [0]https://news.ycombinator.com/item?id=46782091
        
         | 3abiton wrote:
         | That's what LLMs enabled. Faster prototyping. Also lots of
         | exposed servers and apps. It's never been more fun to be a
         | cyber security researcher.
        
           | jmuncor wrote:
           | I think it just has been more fun being into computers
           | overall!
        
       ___________________________________________________________________
       (page generated 2026-01-28 23:00 UTC)